.auth-screen h2{margin:22px 0 12px}.auth-screen>p{font-size:12px;color:var(--muted)}.auth-screen .primary{margin-top:18px}.dashboard-greeting{display:flex;justify-content:space-between;align-items:center;margin:10px 0 22px}.dashboard-greeting h2{margin-top:6px}.notification-card{margin-top:13px}.offer-actions{display:flex;gap:10px;margin-top:15px}.offer-actions>*{flex:1}.offer-card{border-color:#166143}.admin-actions{display:flex;gap:8px}.admin-actions button{font-size:11px;min-height:36px;padding:7px 11px}.danger{background:#52241e;color:#ffd8d0;border:1px solid #8c4538;border-radius:9px;min-height:42px;padding:10px 14px}.location-text{display:flex;align-items:center;gap:8px;background:none;border:0;padding:12px 0 0;color:#66dfb3;font-size:12px}.location-text svg{width:17px}.point-confirmations{display:flex;justify-content:space-between}.point-confirmations .plain{font-size:10px;padding:8px 0}.point-dialog,.delete-dialog{width:420px;max-width:calc(100vw - 24px);max-height:92dvh;overflow:auto;padding:22px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px}.point-dialog::backdrop,.delete-dialog::backdrop{background:#000b}.point-dialog h2,.delete-dialog h2{font-size:19px}.point-dialog p,.delete-dialog p{font-size:12px;margin-top:10px}#point-map{height:280px;margin-top:15px;border-radius:10px;overflow:hidden}.point-dialog .primary,.point-dialog .secondary{font-size:12px}.leaflet-control-attribution svg{width:12px!important;height:8px!important}.conversation{margin-bottom:9px}
.incoming-offer-dialog{width:min(380px,calc(100vw - 28px));margin:auto;padding:25px 22px;background:var(--surface);color:var(--text);border:1px solid #28664b;border-radius:20px;box-shadow:0 18px 70px #000b;text-align:center}.incoming-offer-dialog::backdrop{background:#020604c9;backdrop-filter:blur(4px)}.incoming-offer-mark{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#004a35;color:#00d58c;font-size:24px;box-shadow:0 0 0 8px #00c98216;animation:offer-pulse 1.5s ease-in-out infinite}.incoming-offer-eyebrow{color:#4be0a7;font-size:11px;font-weight:700;letter-spacing:1.8px}.incoming-offer-dialog h2{margin:9px 0;font-size:21px}.incoming-offer-distance{font-size:17px;font-weight:600;color:#fff;margin:14px 0}.incoming-offer-distance span{color:var(--muted);padding:0 4px}.incoming-offer-hint{font-size:12px;color:var(--muted);line-height:1.55}.incoming-offer-dialog .offer-actions{margin-top:22px}.incoming-offer-dialog .primary,.incoming-offer-dialog .secondary{min-height:50px}@keyframes offer-pulse{50%{transform:scale(1.07);box-shadow:0 0 0 13px #00c98208}}


/* Chamada recebida e ações de estado do motorista. */
.incoming-offer-dialog{width:min(430px,calc(100vw - 28px));max-width:none;margin:auto;padding:26px 22px;color:var(--text);background:linear-gradient(160deg,#10271f,var(--surface) 58%);border:2px solid #04d68a;border-radius:22px;box-shadow:0 18px 70px #000b;text-align:center}.incoming-offer-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.incoming-offer-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:50%;background:#03c77d;color:#052016;font-size:30px;box-shadow:0 0 0 10px #03c77d22;animation:offer-pulse 1.4s infinite}.incoming-offer-eyebrow{margin:16px 0 4px;color:#50e6ac;font-size:12px;font-weight:800;letter-spacing:.15em}.incoming-offer-dialog h2{margin:5px 0 10px;font-size:24px}.incoming-offer-distance{margin:14px 0;font-size:21px;font-weight:800}.incoming-offer-distance span{color:var(--muted)}.incoming-offer-hint{font-size:13px;line-height:1.5;color:var(--muted)}.incoming-offer-dialog .offer-actions{margin-top:22px}.incoming-offer-dialog .offer-actions button{min-height:54px;font-size:15px;font-weight:800}.offer-card{border-width:2px;box-shadow:0 0 0 1px #04d68a22}.offer-card .sectiontop strong{font-size:18px;color:#55e7af}.offer-card .offer-actions button:last-child{min-height:50px;font-size:15px;font-weight:800}.danger{display:inline-flex;align-items:center;justify-content:center;background:#b4232b;color:#fff;border:1px solid #f16a6f;border-radius:9px;min-height:42px;padding:10px 14px;font-weight:800}.driver-toggle{width:100%;min-height:54px;font-size:16px;font-weight:800;letter-spacing:.01em}.danger.driver-toggle{background:#b4232b;border-color:#f16a6f;color:#fff}.primary.driver-toggle{background:#04b979;border-color:#11e39a;color:#062116}
@keyframes offer-pulse{50%{box-shadow:0 0 0 15px #03c77d10;transform:scale(1.04)}}


/* Chamada recebida e ações de estado do motorista. */
.incoming-offer-dialog{width:min(430px,calc(100vw - 28px));max-width:none;margin:auto;padding:26px 22px;color:var(--text);background:linear-gradient(160deg,#10271f,var(--surface) 58%);border:2px solid #04d68a;border-radius:22px;box-shadow:0 18px 70px #000b;text-align:center}.incoming-offer-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.incoming-offer-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:50%;background:#03c77d;color:#052016;font-size:30px;box-shadow:0 0 0 10px #03c77d22;animation:offer-pulse 1.4s infinite}.incoming-offer-eyebrow{margin:16px 0 4px;color:#50e6ac;font-size:12px;font-weight:800;letter-spacing:.15em}.incoming-offer-dialog h2{margin:5px 0 10px;font-size:24px}.incoming-offer-distance{margin:14px 0;font-size:21px;font-weight:800}.incoming-offer-distance span{color:var(--muted)}.incoming-offer-hint{font-size:13px;line-height:1.5;color:var(--muted)}.incoming-offer-dialog .offer-actions{margin-top:22px}.incoming-offer-dialog .offer-actions button{min-height:54px;font-size:15px;font-weight:800}.offer-card{border-width:2px;box-shadow:0 0 0 1px #04d68a22}.offer-card .sectiontop strong{font-size:18px;color:#55e7af}.offer-card .offer-actions button:last-child{min-height:50px;font-size:15px;font-weight:800}.danger{display:inline-flex;align-items:center;justify-content:center;background:#b4232b;color:#fff;border:1px solid #f16a6f;border-radius:9px;min-height:42px;padding:10px 14px;font-weight:800}.driver-toggle{width:100%;min-height:54px;font-size:16px;font-weight:800;letter-spacing:.01em}.danger.driver-toggle{background:#b4232b;border-color:#f16a6f;color:#fff}.primary.driver-toggle{background:#04b979;border-color:#11e39a;color:#062116}
@keyframes offer-pulse{50%{box-shadow:0 0 0 15px #03c77d10;transform:scale(1.04)}}

/* Evita o zoom automático do Safari ao focar campos de formulário. */
input,textarea,select{font-size:16px!important}


.message-alert{position:fixed;z-index:9999;left:50%;bottom:90px;transform:translateX(-50%);width:min(420px,calc(100vw - 28px));box-sizing:border-box;padding:18px;background:#102b21;border:1px solid #04d68a;border-radius:16px;box-shadow:0 12px 40px #000b;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.message-alert strong{width:100%;color:#fff}.message-alert .primary{flex:1;min-height:44px}

.dashboard-greeting{gap:12px;flex-wrap:wrap}.dashboard-greeting .status{white-space:nowrap}.driver-waiting{text-align:center;padding:32px 18px;border:1px solid #244238;border-radius:20px;background:linear-gradient(160deg,#11251e,#101512);margin:16px 0 24px}.driver-waiting h3{margin:22px 0 10px;font-size:21px}.driver-waiting p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.driver-radar{position:relative;margin:auto;width:90px;height:90px;border:1px solid #45554d;border-radius:50%;display:grid;place-items:center}.driver-radar i{width:16px;height:16px;background:#87948c;border-radius:50%}.is-waiting .driver-radar{border-color:#00ca8033;background:#00ca800c}.is-waiting .driver-radar i{background:#00d68a;box-shadow:0 0 20px #00d68a77}.is-waiting .driver-radar:before,.is-waiting .driver-radar:after{content:"";position:absolute;inset:12px;border:1px solid #00d68a;border-radius:50%;animation:driver-radar-pulse 2.8s ease-out infinite}.is-waiting .driver-radar:after{animation-delay:1.4s}@keyframes driver-radar-pulse{0%{transform:scale(.35);opacity:.8}100%{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){.is-waiting .driver-radar:before,.is-waiting .driver-radar:after,.incoming-offer-mark{animation:none}}

.driver-identity{text-align:center;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);margin-bottom:24px}.driver-photo{width:88px;height:88px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 14px;border:2px solid #14b97c}.driver-identity h2{font-size:21px;margin:8px 0}.driver-identity p{color:var(--muted);margin:8px 0 14px}.driver-identity .wide{margin-top:18px}.driver-identity .plate{display:inline-block}#driver-profile-dialog{margin:auto}#driver-profile-dialog input[type=file]{padding:10px;width:100%}

.notification-intro{margin:16px;padding:18px;border:1px solid #227451;border-radius:14px;background:#10261d}.notification-intro strong{font-size:16px}.notification-intro p{font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0 14px}.notification-intro .primary{min-height:44px}

.install-guide{margin:auto}.install-guide ol{padding-left:24px;margin:22px 0}.install-guide li{line-height:1.6;margin-bottom:14px;font-size:15px}.install-guide .wide{margin-top:12px}

.bottom-nav button{position:relative}.nav-count{display:inline-flex;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:12px;background:#ed474f;color:#fff;font-size:10px;line-height:1;font-weight:800}.bottom-nav .nav-count{position:absolute;top:0;left:calc(50% + 7px);border:2px solid #080b0a;height:21px}.conversation>.nav-count{flex-shrink:0;margin-left:auto}.history-context{margin:14px 0}.home-landscape{left:0;right:0;background-size:100% 100%,contain;background-position:center,center;background-repeat:no-repeat;mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}

.signup-driver-link{position:absolute;left:0;top:0;transform:translateY(-100%);width:100%;padding:13px 12px;border:0;background:linear-gradient(0deg,#080b0a,transparent);color:#a3f2cc;text-decoration:underline;font-size:13px;min-height:44px}.signup-driver-link:active{transform:translateY(-100%)}.ride-status-animation{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:24px;pointer-events:none;background:#0006;animation:ride-status-flash 3.2s both}.ride-status-animation-card{width:min(350px,100%);text-align:center;border:1px solid #37dba0;border-radius:24px;padding:30px 22px;background:#10281ff5;box-shadow:0 16px 70px #0008}.ride-status-animation-card strong{display:block;font-size:24px;line-height:1.3;margin:16px 0 10px;color:#fff}.ride-status-animation-card span{display:block;font-size:13px;line-height:1.5;color:#c0dace}.ride-status-animation-icon{height:56px;display:grid;place-items:center;color:#35e59c;overflow:hidden}.ride-status-animation-icon svg{width:48px!important;height:48px!important;animation:ride-status-car 1.1s ease-out both}@keyframes ride-status-flash{0%{opacity:0;transform:scale(.96)}12%,84%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}@keyframes ride-status-car{0%{transform:translateX(-75px);opacity:0}100%{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){.ride-status-animation,.ride-status-animation-icon svg{animation:none}}
.signup-driver-link{left:20px;width:calc(100% - 40px);top:-10px;min-height:44px;padding:12px 14px;border:1px solid #36cb96;border-radius:11px;background:#12362a;color:#c7ffe6;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 3px 12px #0004}.signup-driver-link:hover{background:#194b39}.signup-driver-link:focus-visible{outline:2px solid #7dffcc;outline-offset:3px}

.driver-home-content{padding-top:calc(26px + env(safe-area-inset-top,0px))}.driver-home-content .dashboard-greeting{margin-top:0}

.driver-home-brand{display:flex;justify-content:center;align-items:center;margin:0 0 28px;min-height:54px;overflow:visible}.driver-home-brand .wordmark{width:150px;max-width:60%;height:auto;overflow:visible;margin:0}.driver-home-brand img{max-width:100%;height:auto;object-fit:contain}
.is-waiting .driver-radar>span{position:absolute;inset:6px;border-radius:50%;animation:driver-search-orbit 2.4s linear infinite}.is-waiting .driver-radar>span:before,.is-waiting .driver-radar>span:after{content:"";position:absolute;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:#38efad;box-shadow:0 0 12px #00d68a88}.is-waiting .driver-radar>span:before{right:-4px}.is-waiting .driver-radar>span:after{left:-4px;opacity:.45;width:6px;height:6px;margin-top:-3px}@keyframes driver-search-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.is-waiting .driver-radar>span{animation:none}}

.install-guide .install-visual-steps{padding:0;list-style:none;display:grid;gap:16px;margin:24px 0}.install-visual-steps li{display:flex;align-items:flex-start;gap:16px;margin:0;padding:16px 12px;border:1px solid #294438;border-radius:14px;background:#102219}.install-step-drawing{position:relative;flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;background:#174532;border-radius:12px;color:#7effc0}.install-step-drawing svg{width:32px!important;height:32px!important}.install-step-drawing b{position:absolute;right:-6px;top:-6px;background:#00c982;color:#052318;border:2px solid #102219;border-radius:50%;width:22px;height:22px;text-align:center;line-height:18px;font-size:11px}.install-visual-steps strong{font-size:15px}.install-guide .install-visual-steps p{margin-top:7px;font-size:13px;color:var(--muted);line-height:1.5}

.chat-location-card{display:grid;gap:16px;padding:16px;background:#10271e;border:1px solid #28563f;border-radius:14px;margin-bottom:16px}.chat-location-card p{margin:5px 0 10px;overflow-wrap:anywhere}.chat-location-card a{display:inline-block;text-decoration:none;font-size:13px;padding:8px 12px}

.driver-entry-links{position:absolute;left:20px;right:20px;top:-10px;transform:translateY(-100%);display:flex;gap:8px}.driver-entry-links .signup-driver-link,.driver-entry-links .primary{position:static;transform:none;width:auto;flex:1;min-height:46px;padding:9px 8px;font-size:12px;text-decoration:none}.is-waiting .driver-radar>span{display:block;transform-origin:50% 50%;will-change:transform}@keyframes driver-search-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

.home-action{display:flex;flex-direction:column}.home-action>.city-line{order:1}.home-action>.primary{order:2}.home-action>.driver-entry-links{position:static;transform:none;order:3;margin-top:12px;display:flex;gap:8px;width:100%}.home-action>.driver-entry-links>button{justify-content:center}


/* Explicitly requested continuous search indicator; overrides the generic reduced-motion reset only here. */
.is-waiting .driver-radar>span{animation:driver-search-orbit 2.4s linear infinite!important}@media(prefers-reduced-motion:reduce){.is-waiting .driver-radar>span{animation-duration:6s!important}}


.stats>.completed-rides-stat{background:#123d2a;border:1px solid #258753}.stats>.completed-rides-stat strong{color:#79f2af}.stats>.completed-rides-stat small{color:#c2e9d2}

.dashboard-greeting{align-items:flex-start;gap:14px}.dashboard-greeting>div>small{display:block;font-size:18px;line-height:1.4}.dashboard-greeting h2{font-size:30px;line-height:1.2;margin-top:5px}.driver-presence{display:inline-flex;align-items:center;gap:9px;font-size:17px;font-weight:700;line-height:1.4;flex-basis:100%}.driver-presence i{width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:currentColor}.driver-presence.is-online{color:#54e3a0}.driver-presence.is-offline{color:#ff7d85}

.chat-location-card.compact{gap:10px;padding:12px 14px;margin-bottom:12px}.chat-location-row{display:flex;align-items:flex-start;gap:10px}.chat-location-row>div{min-width:0}.chat-location-icon{flex:0 0 18px;text-align:center;font-size:15px;line-height:20px;color:#51dfa2}.chat-location-icon.arrival{color:#d7e7df}.chat-location-card.compact strong{font-size:11px;color:var(--muted);font-weight:600}.chat-location-card.compact p{font-size:13px;line-height:1.35;margin:2px 0 0}.chat-location-card.compact .chat-route-link{font-size:12px;min-height:38px;padding:8px 10px;margin-top:2px}

.passenger-search-heading{display:flex;align-items:center;gap:18px;margin:8px 0 26px}.passenger-search-heading h2{font-size:27px;line-height:1.2;margin:0 0 9px}.passenger-search-heading p{font-size:13px;line-height:1.5;color:var(--muted)}.passenger-search-indicator.driver-waiting{flex:0 0 74px;padding:0;margin:0;border:0;background:none}.passenger-search-indicator .driver-radar{width:70px;height:70px}.passenger-waiting-help{margin-top:18px;line-height:1.65}.passenger-waiting .passenger-cancel{margin-top:32px}@media(max-width:350px){.passenger-search-heading{gap:12px}.passenger-search-heading h2{font-size:24px}}

/* Compatibility for the previous passenger waiting markup still loaded in installed clients. */
.loading-line>.spinner{display:inline-block;flex-shrink:0;animation:mobi-passenger-spin 1.3s linear infinite!important;transform-origin:center}@keyframes mobi-passenger-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-line>.spinner{animation-duration:3s!important}}


.communication-panel{max-width:700px}.communication-panel>p{margin:12px 0}.communication-panel form{display:grid;gap:10px;margin-top:22px}.communication-panel textarea{width:100%;resize:vertical;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:16px}.communication-panel input{width:100%}
