:root{--bg:#070b10;--surface:#10161d;--surface2:#161d25;--line:#252d36;--text:#f4f7fa;--muted:#99a4b0;--green:#55d65a;--green2:#36b94a;--danger:#ff5d62;--yellow:#ffc83d;--radius:22px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body{min-height:100dvh;background:radial-gradient(circle at 50% -10%,#142032 0,transparent 36%),var(--bg)}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}.phone-shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:#090d12;position:relative;padding-bottom:94px;box-shadow:0 0 70px #0008}
.page{padding:24px 20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.topbar h1,.topbar h2{margin:0}.back,.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--surface);border-radius:50%;display:grid;place-items:center;color:white}
.logo{font-size:54px;font-weight:950;font-style:italic;line-height:.82;letter-spacing:-3px}.logo span{color:var(--green);display:block}.tagline{font-size:20px;font-weight:700;margin:20px 0 4px}.muted{color:var(--muted)}
.hero{min-height:100vh;padding:58px 24px 28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,transparent 15%,#07111b88 45%,#090d12 75%),url("/static/login-background.png") center/cover}
.hero .brand{margin-bottom:auto}.btn{border:0;border-radius:16px;padding:16px 18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--green),#43c74c);color:#051007}.btn-dark{background:var(--surface2);color:#fff}.btn-outline{background:transparent;border:1px solid var(--line);color:#fff}.btn-danger{background:#451a1e;color:#ff8c90}.btn-block{width:100%}.stack{display:grid;gap:12px}.card{background:linear-gradient(145deg,var(--surface2),#0f151c);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 12px 32px #0003}.small-card{padding:14px;border-radius:16px}
.input{width:100%;background:#0d131a;border:1px solid var(--line);border-radius:15px;color:#fff;padding:15px 16px;outline:none}.input:focus{border-color:var(--green)}label{display:block;color:#cbd2d9;font-size:13px;margin:14px 0 7px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.searchbox{display:flex;gap:12px;align-items:center;background:#171c23;border:1px solid #303741;border-radius:28px;padding:16px 18px;font-size:18px;color:#b8c0c8}.searchbox input{flex:1;background:none;border:0;color:#fff;outline:0;min-width:0}
.quick-list{overflow:hidden;padding:0}.quick-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.quick-row:last-child{border:0}.quick-icon{width:46px;height:46px;border-radius:14px;background:#222932;display:grid;place-items:center;font-size:20px}.quick-row .grow{flex:1}.quick-row strong{display:block}.quick-row small{color:var(--muted)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.section-title h2{margin:0;font-size:25px}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.category{background:#151b22;border:1px solid var(--line);border-radius:20px;padding:14px;text-align:center}.category.selected{border-color:var(--green);box-shadow:0 0 0 2px #55d65a22}.category .emoji{font-size:38px}.price{font-weight:900;font-size:18px;color:var(--green)}
.map{height:340px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#111}.map.large{height:52vh;border-radius:0}.leaflet-control-attribution{font-size:8px!important}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);height:78px;background:#11161ceF;backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:999;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#7f8b97;font-size:11px}.nav-item.active{color:#fff}.nav-item.active .nav-icon{background:#232b34;color:var(--green)}.nav-icon{width:42px;height:36px;border-radius:16px;display:grid;place-items:center;font-size:19px}
.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;background:#1c242d;color:#bdc7d0;font-size:13px}.dot{width:9px;height:9px;border-radius:50%;background:var(--green)}
.route-card{position:relative;overflow:hidden}.ride-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.ride-row:last-child{border:0}.car-thumb{width:72px;height:62px;background:#252c34;border-radius:16px;display:grid;place-items:center;font-size:35px}.ride-info{flex:1}.ride-info strong{display:block;font-size:16px}.ride-info small{display:block;color:var(--muted);margin-top:4px}
.profile-head{display:flex;gap:16px;align-items:center}.avatar{width:82px;height:82px;border-radius:50%;background:linear-gradient(135deg,#fff,#c7ced6);color:#707780;display:grid;place-items:center;font-size:40px}.profile-name{font-size:28px;font-weight:900;line-height:1.1}.menu-list{overflow:hidden;padding:0}.menu-row{display:flex;align-items:center;gap:14px;padding:17px;border-bottom:1px solid var(--line)}.menu-row:last-child{border:0}.menu-row .grow{flex:1}.badge{font-size:12px;background:#443132;color:#ff8a90;border-radius:999px;padding:5px 9px}.badge.green{background:#193620;color:#6fe276}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{text-align:center;background:#0e141a;border:1px solid var(--line);padding:16px 8px;border-radius:16px}.metric strong{display:block;font-size:18px}.metric small{color:var(--muted)}
.money-hero{text-align:center;padding:26px}.money-hero .amount{font-size:35px;font-weight:900}.tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#0b1016;border-radius:14px;padding:4px}.tab{padding:10px;border-radius:11px;text-align:center;color:var(--muted);font-size:13px}.tab.active{background:var(--green);color:#061008;font-weight:800}
.qr{width:230px;max-width:100%;background:white;padding:12px;border-radius:18px;margin:18px auto;display:block}.flash-stack{position:fixed;z-index:7000;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(92%,440px);pointer-events:none}.alert{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;gap:10px;padding:13px 48px 13px 15px;border-radius:14px;margin:0 0 10px;box-shadow:0 12px 34px #0007;pointer-events:auto;transition:opacity .22s ease,transform .22s ease}.alert>span{flex:1;line-height:1.4}.alert.success{background:#173920;color:#8aef9a}.alert.error{background:#401d22;color:#ff9da2}.alert-close{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:#ffffff12;color:currentColor;font-size:22px;line-height:1;cursor:pointer}.alert-close:active{transform:translateY(-50%) scale(.92)}.alert.is-leaving{opacity:0;transform:translateY(-8px)}
.floating-card{margin:-70px 16px 0;position:relative;z-index:500}.driver-card{display:flex;align-items:center;gap:14px}.driver-card .avatar{width:60px;height:60px;font-size:28px}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.action{text-align:center;background:#1b222b;border-radius:16px;padding:12px;font-size:12px}
.timeline{display:grid;gap:15px}.point{display:grid;grid-template-columns:18px 1fr;gap:10px}.point-mark{width:12px;height:12px;border-radius:50%;background:var(--green);margin-top:4px}.point:last-child .point-mark{background:var(--yellow)}
.admin-shell{max-width:1200px;margin:auto;padding:26px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{color:var(--muted);font-size:12px}
@media(max-width:720px){.admin-grid{grid-template-columns:1fr 1fr}.admin-shell{padding:18px}.grid2{grid-template-columns:1fr}}


/* Acesso e cadastro */
.password-wrap{
  position:relative;
}
.password-input{
  padding-right:58px;
}
.password-toggle{
  position:absolute;
  right:8px;
  top:7px;
  width:42px;
  height:42px;
  border:0;
  border-radius:12px;
  background:#202832;
  color:#fff;
  font-size:21px;
  cursor:pointer;
  display:grid;
  place-items:center;
  z-index:2;
}
.password-toggle:hover,
.password-toggle.showing{
  background:#2c3945;
  color:var(--green);
}
.forgot-link{
  display:block;
  margin-top:13px;
  text-align:right;
  color:var(--green);
  font-weight:700;
}
.role-choice{
  display:flex;
  align-items:center;
  gap:16px;
  transition:.18s ease;
}
.role-choice:hover{
  border-color:var(--green);
  transform:translateY(-2px);
}
.role-icon{
  min-width:62px;
  height:62px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#222a33;
  font-size:31px;
}
.role-choice h3{
  margin:0 0 5px;
}
.role-choice p{
  margin:0;
}
.role-arrow{
  font-size:32px;
  color:var(--green);
}

/* Categorias de corrida */
.ride-options{
  display:grid;
  gap:12px;
}
.ride-option{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(145deg,var(--surface2),#0f151c);
  cursor:pointer;
  transition:.18s ease;
}
.ride-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ride-option:hover{
  border-color:#3d4b57;
}
.ride-option.selected{
  border-color:var(--green);
  box-shadow:0 0 0 2px rgba(85,214,90,.18);
  background:linear-gradient(145deg,#16241d,#0f1814);
}
.ride-price{
  margin-left:auto;
  text-align:right;
}
.ride-price strong{
  display:block;
  font-size:17px;
}
.selected-label{
  display:inline-block;
  margin-top:6px;
  font-size:11px;
  color:var(--muted);
}
.ride-option.selected .selected-label{
  color:var(--green);
  font-weight:800;
}
.payment-option{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  cursor:pointer;
}
.payment-option:last-of-type{
  border-bottom:0;
}
.payment-option input{
  accent-color:var(--green);
  width:19px;
  height:19px;
}
.payment-option.selected{
  color:#fff;
}
.payment-icon{
  font-size:20px;
  color:var(--green);
}
.category{color:inherit;font:inherit;cursor:pointer;width:100%}.category:hover,.quick-row:hover,.metric:hover,.action:hover{border-color:var(--green);filter:brightness(1.08)}
.grow{flex:1}.route-summary{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}.route-summary strong{color:var(--green)}
.car-marker{background:#fff;border:3px solid var(--green);border-radius:50%;display:grid!important;place-items:center;font-size:22px;box-shadow:0 5px 18px #0008}.car-marker.moving{transition:transform .8s linear}.danger-dot{background:var(--danger)!important}
.accept-btn{padding:9px 12px;margin-top:7px}.promo-card{cursor:pointer}.empty-rides{text-align:center;padding:18px}.quick-row{transition:.15s ease}.metric{display:block;color:inherit}.action{display:block;color:inherit;transition:.15s ease}

/* ===== Experiência de mapa profissional v14 ===== */
.app-map-shell{position:relative;width:min(100%,520px);height:100dvh;min-height:640px;margin:auto;overflow:hidden;background:#dce3ec;box-shadow:0 0 70px #0008}.full-map{position:absolute;inset:0;z-index:1}.full-map .leaflet-tile{filter:saturate(.72) contrast(.96) brightness(.92)}.map-topbar{position:absolute;z-index:700;top:max(14px,env(safe-area-inset-top));left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.map-topbar>*{pointer-events:auto}.map-circle{width:48px;height:48px;border:0;border-radius:50%;background:#111820eF;color:#fff;display:grid;place-items:center;font-size:21px;font-weight:900;box-shadow:0 8px 28px #0005}.brand-pill,.online-control,.tracking-title{background:#10161def;border:1px solid #2b343e;border-radius:999px;box-shadow:0 8px 28px #0004}.brand-pill{padding:12px 18px;font-style:italic;letter-spacing:-1px}.brand-pill span{color:var(--green);font-weight:950}.online-control{padding:12px 18px;display:flex;align-items:center;gap:9px;font-weight:800}.online-control.is-online{background:#0b2113ef;border-color:#245c34}.online-dot{width:10px;height:10px;border-radius:50%;background:#68737e}.is-online .online-dot{background:#35d05b;box-shadow:0 0 0 5px #35d05b22}.tracking-title{padding:9px 18px;text-align:center;max-width:260px}.tracking-title strong,.tracking-title small{display:block}.tracking-title small{color:#aab5c0;font-size:12px;margin-top:2px}.recenter-button{position:absolute;z-index:650;right:18px;top:var(--passenger-recenter-top,150px);bottom:auto;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#111;font-size:23px;box-shadow:0 8px 25px #0004;transition:top .18s ease;pointer-events:auto}.recenter-button.recenter-moving{transition:none}.map-sheet{position:absolute;z-index:600;left:0;right:0;bottom:0;background:#0d1116f7;backdrop-filter:blur(20px);border-radius:28px 28px 0 0;border-top:1px solid #303842;padding:10px 22px max(105px,calc(92px + env(safe-area-inset-bottom)));box-shadow:0 -18px 45px #0006;max-height:76dvh;overflow:auto}.sheet-handle{width:54px;height:5px;border-radius:999px;background:#58616b;margin:0 auto 18px}.floating-bottom-nav{position:absolute;z-index:900;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100% - 34px);height:72px;border:1px solid #313943;background:#11171eeF;backdrop-filter:blur(18px);border-radius:28px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 16px 34px #0008}.floating-bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#8f9aa6;font-size:21px}.floating-bottom-nav a small{font-size:10px}.floating-bottom-nav a.active{color:#fff}.floating-bottom-nav a.active small{color:var(--green)}

/* Passageiro início */
.passenger-home-sheet{padding-bottom:max(105px,calc(92px + env(safe-area-inset-bottom)));max-height:65dvh}.passenger-home-sheet h1{font-size:31px;margin:0 0 15px}.uber-search{height:60px;border-radius:18px;background:#20262d;border:1px solid #353d46;display:flex;align-items:center;gap:12px;padding:0 12px 0 18px}.uber-search>span{font-size:25px}.uber-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:18px}.uber-search button{border:0;border-radius:14px;background:#11171e;color:#fff;padding:10px 12px;font-size:12px}.address-results{background:#151b22;border:1px solid #313943;border-radius:18px;margin-top:8px;max-height:245px;overflow:auto}.address-results a,.address-results .address-result-link{display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #29313a}.address-results a:last-child,.address-results .address-result-link:last-child{border:0}.address-results strong,.address-results small{display:block}.address-results small{font-size:11px;color:#98a3ae;margin-top:3px}.result-icon{width:38px;height:38px;background:#252d36;border-radius:50%;display:grid;place-items:center}.no-result{padding:18px;color:#abb5bf}.recent-destinations{margin:12px 0 16px}.recent-place{width:100%;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:42px 1fr 20px;text-align:left;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid #252c34}.recent-place>span{width:38px;height:38px;border-radius:50%;background:#222931;display:grid;place-items:center}.recent-place strong,.recent-place small{display:block}.recent-place small{color:#8e9aa6;font-size:11px}.for-you-title{margin:14px 0 10px}.service-bubbles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-bubble{border:1px solid transparent;border-radius:18px;background:#1a2027;color:#fff;padding:12px 4px}.service-bubble span,.service-bubble strong{display:block}.service-bubble span{font-size:30px}.service-bubble strong{font-size:11px;margin-top:6px}.service-bubble.selected{border-color:var(--green);background:#15231a}.active-trip-banner{display:grid;grid-template-columns:18px 1fr 20px;align-items:center;gap:10px;margin-top:15px;padding:13px;border-radius:16px;background:#17341f;border:1px solid #275f35}.active-trip-banner strong,.active-trip-banner small{display:block}.active-trip-banner small{color:#a8c9ae;font-size:11px}.pulse-dot{width:11px;height:11px;border-radius:50%;background:#39d65a;box-shadow:0 0 0 0 #39d65a88;animation:pulse 1.7s infinite}@keyframes pulse{70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* Motorista */
.search-sheet{max-height:48dvh}.searching-title{display:grid;grid-template-columns:48px 1fr 40px;align-items:center;gap:13px}.searching-title h2,.searching-title p{margin:0}.searching-title p{font-size:12px;margin-top:4px}.filter-circle{width:46px;height:46px;border:0;border-radius:50%;background:#202831;color:#fff;font-size:21px}.count-badge{width:38px;height:38px;border-radius:50%;background:#202831;display:grid;place-items:center;font-weight:900}.request-list{margin-top:15px}.request-card{background:#151b22;border:1px solid #303842;border-radius:20px;padding:16px;margin-bottom:12px}.request-head,.request-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.request-head h3{margin:3px 0 0}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#75e688;font-weight:900}.request-price{font-size:22px}.request-route{margin:14px 0;display:grid;gap:10px}.request-route>div{display:grid;grid-template-columns:16px 1fr;gap:10px}.request-route p{margin:0;font-size:13px}.request-route p small{display:block;color:#8f9aa6;font-size:10px}.request-footer>span{font-size:12px;color:#9ba6b1}.empty-map-state{text-align:center;padding:18px 10px 22px;color:#9ca7b2;display:grid;justify-items:center;gap:9px}.empty-map-state strong{color:#fff}.empty-map-state small{max-width:310px;line-height:1.45}.driver-search-radar{position:relative;width:92px;height:92px;margin:3px auto 8px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,#163823 0 18%,#10251a 19% 37%,#0d1813 38% 63%,#0b1110 64%);border:1px solid #42dc7138;box-shadow:0 12px 34px #0006,inset 0 0 30px #25d85b14}.driver-search-radar:before,.driver-search-radar:after{content:"";position:absolute;background:#55e77b20;pointer-events:none}.driver-search-radar:before{left:50%;top:8px;bottom:8px;width:1px}.driver-search-radar:after{top:50%;left:8px;right:8px;height:1px}.driver-search-wave{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;border:1.5px solid #52e97a;border-radius:50%;opacity:0;animation:driverSearchWave 2.4s cubic-bezier(.1,.35,.25,1) infinite}.driver-search-wave.wave-two{animation-delay:.8s}.driver-search-wave.wave-three{animation-delay:1.6s}.driver-search-sweep{position:absolute;inset:5px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 285deg,#43dc6a08 305deg,#43dc6a73 358deg,transparent 360deg);animation:driverSearchSweep 2.1s linear infinite}.driver-search-core{position:relative;z-index:2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#4be473,#21ad4c);color:#06140b;border:4px solid #10271a;box-shadow:0 0 0 4px #3add6520,0 5px 18px #0007}.driver-search-core svg{width:20px;height:20px;fill:#06140b}.driver-search-radar.is-paused{filter:grayscale(1);opacity:.5}.driver-search-radar.is-paused .driver-search-wave,.driver-search-radar.is-paused .driver-search-sweep{animation-play-state:paused}@keyframes driverSearchWave{0%{transform:scale(.55);opacity:.9}78%,100%{transform:scale(3.25);opacity:0}}@keyframes driverSearchSweep{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.driver-search-wave,.driver-search-sweep{animation:none}.driver-search-wave.wave-one{transform:scale(2.4);opacity:.28}}.ride-sheet{max-height:58dvh}.sheet-status-row{display:flex;justify-content:space-between;align-items:center}.sheet-status-row h2{margin:5px 0 0}.eta-bubble{width:62px;height:62px;border-radius:50%;background:#1d2730;display:grid;place-items:center;align-content:center}.eta-bubble strong{font-size:22px}.eta-bubble small{font-size:10px;color:#9ba6b1}.route-points.professional{margin:18px 0;padding:14px;background:#151b22;border-radius:18px}.route-points.compact{margin:0 0 12px}.route-point{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}.route-point small,.route-point strong{display:block}.route-point small{color:#8e9aa6;font-size:10px}.route-point strong{font-size:13px;margin-top:3px}.route-pin{width:12px;height:12px;margin-top:3px;display:block}.route-pin.pickup{border-radius:50%;background:#fff;border:3px solid #111;box-shadow:0 0 0 1px #fff}.route-pin.destination{background:#22c55e;border-radius:2px}.route-connector{height:18px;border-left:2px dotted #59636d;margin-left:5px}.ride-meta{display:flex;justify-content:space-around;padding:12px 0;color:#a6b0ba;font-size:12px;border-top:1px solid #2a323b;border-bottom:1px solid #2a323b}.driver-action-grid{display:grid;grid-template-columns:58px 58px 1fr;gap:10px;margin-top:14px}.secondary-action{border-radius:16px;background:#202832;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px}.secondary-action small{font-size:9px;margin-top:3px}.main-action-form{min-width:0}.btn.xl{min-height:58px;font-size:16px}

/* Confirmação e acompanhamento */
.confirm-sheet{max-height:67dvh}.modern-options{max-height:260px;overflow:auto}.nearby-strip{display:flex;align-items:center;gap:10px;background:#17251b;border:1px solid #2a5734;border-radius:15px;padding:11px;margin-bottom:12px}.nearby-strip strong,.nearby-strip small{display:block}.nearby-strip small{margin-left:auto;color:#9fc2a6;font-size:10px}.payment-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.payment-inline label{margin:0;background:#181f26;border:1px solid #303842;border-radius:14px;padding:12px;text-align:center}.payment-inline input{accent-color:var(--green)}.tracking-sheet{max-height:47dvh}.waiting-professional,.finish-state{text-align:center}.waiting-professional h2,.finish-state h2{margin:12px 0 6px}.waiting-professional p,.finish-state p{color:#98a3ae}.radar-loader{width:66px;height:66px;border-radius:50%;margin:auto;border:2px solid #2a4431;position:relative;display:grid;place-items:center;animation:radar 1.6s infinite}.radar-loader span{width:16px;height:16px;border-radius:50%;background:#38d65a}.radar-loader:before,.radar-loader:after{content:"";position:absolute;border:1px solid #35d45a;border-radius:50%;inset:10px}.radar-loader:after{inset:22px}@keyframes radar{50%{box-shadow:0 0 0 14px #35d45a08}}.driver-arrival{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px}.driver-arrival h2,.driver-arrival p{margin:2px 0}.driver-arrival p{font-size:12px;color:#9ba6b1}.driver-avatar{width:58px;height:58px;border-radius:50%;background:#edf1f5;color:#69727b;display:grid;place-items:center;font-size:28px}.plate-box{padding:9px;border-radius:8px;background:#f4f5f6;color:#111;font-weight:950;letter-spacing:1px}.track-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.track-actions a,.track-actions button{border:0;border-radius:16px;background:#202832;color:#fff;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px}.track-actions small{font-size:9px;margin-top:3px}.destination-summary{display:grid;grid-template-columns:18px 1fr;gap:10px;padding-top:13px;border-top:1px solid #2b333c}.destination-summary small,.destination-summary strong{display:block}.destination-summary small{color:#8e9aa6;font-size:10px}.finish-state>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#1e4d2a;color:#75ea8a;font-size:28px}.vehicle-map-marker{background:#111;border:4px solid #fff;border-radius:50%;display:grid!important;place-items:center;box-shadow:0 8px 24px #0008}.vehicle-arrow{color:#22c55e;font-size:25px;transition:transform .5s linear}.destination-marker{background:#111;color:#22c55e;border:3px solid #fff;border-radius:8px;display:grid!important;place-items:center;box-shadow:0 7px 18px #0006}.small-car-marker{background:#fff;border:2px solid #111;border-radius:50%;display:grid!important;place-items:center;font-size:17px;box-shadow:0 6px 15px #0005}.user-location-marker{border-radius:50%;background:#fff;border:2px solid #1f6feb;box-shadow:0 0 0 8px #1f6feb26;display:grid!important;place-items:center}.user-location-marker span{width:12px;height:12px;border-radius:50%;background:#1f6feb}
@media(max-width:390px){.map-sheet{padding-left:16px;padding-right:16px}.service-bubbles{gap:6px}.driver-action-grid{grid-template-columns:50px 50px 1fr}.passenger-home-sheet{max-height:68dvh}.confirm-sheet{max-height:72dvh}}

/* v15: oferta exclusiva e navegação do motorista */
.route-recenter{position:absolute;right:18px;top:92px;z-index:900;border:1px solid rgba(255,255,255,.16);background:#111820;color:#fff;border-radius:999px;padding:11px 15px;display:flex;align-items:center;gap:8px;font-weight:800;box-shadow:0 8px 28px rgba(0,0,0,.3)}
.route-recenter span{font-size:13px}.offer-actions{display:flex;gap:9px;align-items:center}.offer-actions form{margin:0}.btn-ghost-danger{background:transparent;color:#ff7474;border:1px solid rgba(255,116,116,.55)}
@media(max-width:600px){.route-recenter{top:84px;right:12px;padding:10px 12px}.route-recenter span{display:none}.request-footer{align-items:center}.offer-actions .btn{padding:11px 14px}}


/* v16: modo de navegação aproximada do motorista */
.navigation-active .map-topbar{display:none}
.navigation-instruction{position:absolute;z-index:920;top:max(14px,env(safe-area-inset-top));left:12px;right:12px;min-height:86px;border-radius:22px;background:#086b62;color:#fff;display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px;padding:14px 18px;box-shadow:0 10px 32px #0007}
.navigation-arrow{font-size:42px;font-weight:950;line-height:1;text-align:center}
.navigation-instruction small,.navigation-instruction strong{display:block}.navigation-instruction small{font-size:10px;letter-spacing:1.1px;opacity:.8;font-weight:900}.navigation-instruction strong{font-size:20px;line-height:1.15;margin-top:4px}
.navigation-active .route-recenter{top:116px;right:14px;width:52px;height:52px;border-radius:50%;padding:0;justify-content:center;background:#fff;color:#111;border:0}.navigation-active .route-recenter span{display:none}
.navigation-active .ride-sheet{max-height:39dvh;padding:8px 18px max(90px,calc(82px + env(safe-area-inset-bottom)));border-radius:24px 24px 0 0}
.navigation-active .ride-sheet .sheet-handle{margin-bottom:10px}.navigation-active .route-points.professional{display:none}.navigation-active .sheet-status-row h2{font-size:22px}.navigation-active .ride-meta{padding:8px 0}.navigation-active .driver-action-grid{margin-top:10px}.navigation-active .floating-bottom-nav{display:none}
.navigation-active .vehicle-map-marker{transform-origin:center center}
@media(max-height:760px){.navigation-active .ride-sheet{max-height:43dvh}.navigation-instruction{min-height:74px}.navigation-instruction strong{font-size:17px}}


/* Chat da corrida */
.chat-page{height:100dvh;background:#0c1117;color:#fff;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.chat-header{min-height:72px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;background:#151c24;border-bottom:1px solid #29323c;z-index:2}.chat-back{width:42px;height:42px;border-radius:50%;background:#252e38;display:grid;place-items:center;font-size:24px}.chat-person{display:flex;align-items:center;gap:10px;min-width:0}.chat-person>div{min-width:0}.chat-person strong,.chat-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-person small{color:#9aa7b4;font-size:11px;margin-top:3px}.chat-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1f7a3a;font-weight:900}.chat-status{font-size:11px;color:#61dc7d}.chat-messages{overflow-y:auto;padding:18px 14px 24px;background:linear-gradient(#0d1319e8,#0d1319e8),radial-gradient(circle at 20% 20%,#263a2c 1px,transparent 1px);background-size:auto,22px 22px}.chat-system{max-width:520px;margin:0 auto 18px;padding:9px 12px;border-radius:12px;background:#202a34;color:#b7c1cb;text-align:center;font-size:11px}.chat-row{display:flex;margin:7px 0}.chat-row.mine{justify-content:flex-end}.chat-bubble{max-width:min(78%,520px);padding:9px 11px 6px;border-radius:17px 17px 17px 5px;background:#222c36;box-shadow:0 3px 10px #0002}.chat-row.mine .chat-bubble{background:#176c35;border-radius:17px 17px 5px 17px}.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35}.chat-bubble time{display:block;text-align:right;color:#c0cbd4;font-size:9px;margin-top:4px}.chat-compose{padding:10px 12px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 48px;gap:9px;background:#151c24;border-top:1px solid #29323c}.chat-compose textarea{resize:none;max-height:110px;border:0;border-radius:24px;background:#252e38;color:#fff;padding:14px 17px;font:inherit;outline:none}.chat-compose button{width:48px;height:48px;border:0;border-radius:50%;background:#22c55e;color:#08210f;font-size:22px;font-weight:950}.chat-action{background:#173f27!important;color:#7cec94!important}
.chat-action{position:relative}
.route-letter-point,.route-letter-map-marker{width:24px;height:24px;border-radius:50%;display:grid!important;place-items:center;background:#f4b942;color:#171006;font-size:11px;font-weight:950;border:2px solid #fff;box-shadow:0 4px 12px #0006}.route-letter-point.destination-letter{background:#ef3340;color:#fff}.route-letter-map-marker{width:28px!important;height:28px!important;background:#f4b942;border:3px solid #fff;color:#171006}.route-letter-map-marker.origin-route-letter{background:#34c759;color:#06130a}.route-letter-map-marker.destination-route-letter{background:#ef3340;color:#fff}.route-point>.route-letter-point{margin-top:0}.offer-route-compact>div{grid-template-columns:26px minmax(0,1fr)}.offer-letter{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f4b942;color:#171006;font-size:10px;font-style:normal;font-weight:950;border:2px solid #fff}.offer-letter.pickup{background:#34c759}.offer-letter.destination{background:#ef3340;color:#fff}.offer-route-compact .offer-line{margin-left:11px}
.driver-offer-card{max-height:calc(100dvh - 118px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.driver-offer-card::-webkit-scrollbar{width:4px}.driver-offer-card::-webkit-scrollbar-thumb{background:#475766;border-radius:99px}
/* Modal profissional para inclusão de paradas */
.stop-modal[hidden]{display:none!important}.stop-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center}.stop-modal-backdrop{position:absolute;inset:0;background:#03080dcc;backdrop-filter:blur(5px)}.stop-modal-card{position:relative;z-index:1;box-sizing:border-box;width:min(100%,520px);max-height:min(78dvh,680px);overflow:auto;padding:22px 18px max(24px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#111a23;color:#fff;border:1px solid #2d3945;box-shadow:0 -20px 60px #000a}.stop-modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#24303b;color:#fff;font-size:25px}.stop-modal-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#173f27;color:#50df78}.stop-modal-card h2{margin:14px 0 7px}.stop-modal-card>p{margin:0 40px 17px 0;color:#a8b5c2;font-size:12px;line-height:1.45}.stop-search-row{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:8px}.stop-search-row .input{margin:0;min-width:0}.stop-search-row button{border:0;border-radius:14px;background:#43d354;color:#061009;font-weight:900}.stop-search-row button:disabled{opacity:.55}.stop-search-hint{display:block;min-height:17px;margin:9px 3px;color:#9cadba}.stop-search-results{display:grid;gap:8px;margin-top:8px}.stop-search-results>button{width:100%;border:1px solid #2d3c49;border-radius:15px;background:#17222c;color:#fff;padding:12px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;text-align:left;align-items:center}.stop-search-results>button span{color:#43d354}.stop-search-results>button strong{font-size:12px;line-height:1.35}.intermediate-stop{position:relative;grid-template-columns:24px minmax(0,1fr) 32px!important;margin:8px 0;padding:8px;border-radius:13px;background:#172029}.intermediate-stop>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f4b942;color:#171006;font-size:11px;font-weight:900}.intermediate-stop>button{width:30px;height:30px;border:0;border-radius:50%;background:#3b2228;color:#ff8c98;font-size:20px}.confirm-extra-actions #addStop:disabled{opacity:.5;pointer-events:none}
@media(min-width:700px){.stop-modal{align-items:center;padding:20px}.stop-modal-card{border-radius:28px}}
/* Painel da conta do passageiro */
.account-page{padding:20px 20px 28px}.account-kicker,.detail-header small{font-size:10px;letter-spacing:1.7px;color:#67df7e;font-weight:900}.account-profile{padding:8px 0 4px}.account-avatar{background:linear-gradient(145deg,#42d56c,#147c39);color:#fff;box-shadow:0 10px 30px #20c55b33}.account-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.account-summary>div{background:#111820;border:1px solid #26313b;border-radius:16px;padding:13px 15px}.account-summary strong,.account-summary small{display:block}.account-summary strong{font-size:17px}.account-summary small{font-size:10px;color:#91a0ad;margin-top:3px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-option{min-height:132px;background:linear-gradient(145deg,#161e27,#10161d);border:1px solid #2a3540;border-radius:22px;padding:17px;display:flex;flex-direction:column;align-items:flex-start;position:relative;transition:.18s}.account-option:active,.account-banner:active{transform:scale(.98)}.account-option b{position:absolute;right:16px;top:16px;color:#687681}.account-option h3{margin:13px 0 3px}.account-option p{margin:0;color:#8795a2;font-size:11px}.option-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-weight:900}.option-icon.blue{background:#173c65;color:#75b9ff}.option-icon.green{background:#153e28;color:#69e492}.option-icon.orange{background:#4a2d14;color:#ffb25f}.option-icon.purple{background:#352252;color:#c89aff}.account-banner{margin-top:14px;border-radius:22px;padding:18px;display:flex;align-items:center;gap:14px;border:1px solid #293640;background:#141c24}.account-banner h3{margin:0 0 5px}.account-banner p{margin:0;color:#92a0ad;font-size:12px}.account-banner>b{font-size:28px;color:#71808c}.banner-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;font-weight:950;font-size:19px}.savings .banner-icon{background:#183d29;color:#63df8a}.safety .banner-icon{background:#183750;color:#73c4ff}.account-logout{margin-top:20px}.detail-page{min-height:calc(100vh - 78px)}.detail-header{display:flex;align-items:center;gap:14px;margin-bottom:22px}.detail-header h1{font-size:25px;margin:3px 0 0}.detail-back{width:44px;height:44px;border-radius:15px;background:#151d25;border:1px solid #2b3540;display:grid;place-items:center;font-size:30px}.info-hero{text-align:center;background:linear-gradient(145deg,#16222d,#10171e);border:1px solid #2b3946;border-radius:24px;padding:25px 18px;margin-bottom:16px}.info-hero>span{width:58px;height:58px;border-radius:20px;background:#173d66;color:#76bdff;display:grid;place-items:center;margin:auto;font-size:25px;font-weight:900}.info-hero h2{margin:15px 0 6px}.info-hero p,.detail-intro{color:#94a2af;font-size:13px;line-height:1.5}.detail-list,.conversation-list{background:#111820;border:1px solid #29343e;border-radius:22px;overflow:hidden}.detail-list>a,.detail-list>div,.conversation-list>a{display:flex;align-items:center;gap:13px;padding:16px;border-bottom:1px solid #27313a}.detail-list>*:last-child,.conversation-list>*:last-child{border-bottom:0}.detail-list>*>span{width:36px;height:36px;border-radius:12px;background:#1c2731;display:grid;place-items:center}.detail-list strong,.detail-list small,.conversation-list strong,.conversation-list small,.conversation-list em{display:block}.detail-list small,.conversation-list small,.conversation-list em{color:#8e9aa6;font-size:11px;margin-top:3px}.detail-list b{margin-left:auto;font-size:24px;color:#667581}.wallet-card{background:linear-gradient(135deg,#125f36,#193c2b);border:1px solid #2a8050;border-radius:25px;padding:22px;box-shadow:0 18px 45px #0a8f4022}.wallet-card small,.wallet-card strong,.wallet-card span{display:block}.wallet-card strong{font-size:34px;margin:8px 0}.wallet-card span{color:#b9d9c4;font-size:12px}.section-label{margin:22px 4px 10px}.payment-row em{margin-left:auto}.status-pill{font-style:normal;font-size:10px;border-radius:999px;padding:5px 8px;background:#3a3020;color:#ffca6b}.status-pill.pago{background:#173b25;color:#6ee490}.conversation-list>a{display:flex}.conversation-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#4bd876,#16833e);display:grid;place-items:center;font-size:20px;font-weight:900}.conversation-list>a>span{font-size:9px;color:#788592;text-align:right}.empty-detail{padding:25px;text-align:center;color:#8d99a5}.safety-info>span{background:#4a2d14;color:#ffb15d}.benefit-info>span{background:#173d27;color:#6be28e}.tip-card{display:flex;gap:14px;background:#121a22;border:1px solid #29343e;border-radius:20px;padding:17px;margin-bottom:12px}.tip-card>b{width:38px;height:38px;border-radius:13px;background:#173d27;color:#6be28e;display:grid;place-items:center}.tip-card strong{display:block}.tip-card p{margin:5px 0 0;color:#929fab;font-size:12px}.profile-check{display:flex;align-items:center;gap:17px;background:#121a22;border:1px solid #29343e;border-radius:22px;padding:18px;margin-bottom:15px}.check-ring{width:70px;height:70px;border-radius:50%;border:7px solid #32c861;display:grid;place-items:center;font-weight:900}.profile-check h2{font-size:18px;margin:0 0 5px}.profile-check p{font-size:11px;color:#8f9ca8;margin:0}.profile-data>div>span{color:#6ee490}@media(max-width:720px){.account-grid{grid-template-columns:1fr 1fr}.account-option{min-height:126px}.account-page{padding-left:16px;padding-right:16px}}

/* conta passageiro v2 - cache atualizado */

/* Painéis inferiores reguláveis nas telas de mapa */
.map-sheet.draggable-sheet{
  transform:translate3d(0,var(--sheet-translate,0),0);
  will-change:transform;
  overflow:auto;
  overscroll-behavior:contain;
}
.map-sheet.draggable-sheet.sheet-animating{transition:transform .28s cubic-bezier(.22,.8,.25,1)}
.map-sheet.draggable-sheet.sheet-dragging{transition:none;user-select:none}
.map-sheet.draggable-sheet .sheet-handle{
  position:sticky;
  top:0;
  z-index:8;
  width:72px;
  height:22px;
  margin:-4px auto 8px;
  background:transparent;
  cursor:ns-resize;
  touch-action:none;
}
.map-sheet.draggable-sheet .sheet-handle::after{
  content:"";
  position:absolute;
  left:50%;top:7px;
  width:58px;height:6px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#68727d;
  box-shadow:0 1px 0 #ffffff18 inset;
}
.map-sheet.draggable-sheet.sheet-dragging .sheet-handle::after{background:#aeb7c1}
.map-sheet.draggable-sheet[data-sheet-state="collapsed"]{box-shadow:0 -10px 28px #0008}
@media (hover:hover){.map-sheet.draggable-sheet .sheet-handle:hover::after{background:#9ba5af}}

/* Notificação de mensagem após corrida finalizada */
.driver-chat-alert{position:fixed;z-index:5000;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);width:min(92vw,460px);background:linear-gradient(135deg,#102b20,#0a1712);border:1px solid #28d87966;border-radius:20px;box-shadow:0 18px 55px #0009,0 0 0 1px #ffffff0b;color:#fff;animation:chatAlertIn .28s ease-out;overflow:hidden}
.driver-chat-alert[hidden]{display:none!important}.driver-chat-alert>a{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:11px;align-items:center;padding:13px 42px 13px 13px;color:#fff;text-decoration:none}.driver-chat-alert-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#20cf72;color:#04150b;font-size:23px;box-shadow:0 7px 18px #15b96044}.driver-chat-alert-copy{display:block;min-width:0}.driver-chat-alert-copy small,.driver-chat-alert-copy strong,.driver-chat-alert-copy em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-chat-alert-copy small{font-size:9px;letter-spacing:.11em;color:#56ef9a;font-weight:900}.driver-chat-alert-copy strong{font-size:14px;margin:4px 0 2px}.driver-chat-alert-copy em{font-size:12px;color:#c4d7cc;font-style:normal}.driver-chat-alert-count{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#20cf72;color:#06140b;font-size:12px;font-weight:900}.driver-chat-alert>button{position:absolute;right:8px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#ffffff12;color:#b9c9c0;font-size:20px;cursor:pointer}@keyframes chatAlertIn{from{opacity:0;transform:translate(-50%,-18px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.driver-chat-badge{position:absolute;top:2px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#20cf72;color:#06140b;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid #111820}.driver-chat-badge[hidden]{display:none!important}
.driver-register-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.driver-register-tabs .tab{padding-left:4px;padding-right:4px;font-size:11px}

/* Botão de disponibilidade do motorista */
.availability-button{transition:transform .18s ease,background .18s ease,border-color .18s ease;position:relative;border:2px solid transparent}.availability-button:active{transform:scale(.92)}.availability-button .power-symbol{font-size:25px;line-height:1;font-weight:900}.availability-online{background:#123c20ef!important;border-color:#35d05b!important;color:#4ade80!important;box-shadow:0 0 0 5px #35d05b22,0 8px 28px #0005!important}.availability-offline{background:#3a1717ef!important;border-color:#ef4444!important;color:#f87171!important;box-shadow:0 0 0 5px #ef444422,0 8px 28px #0005!important}
/* Fotos de perfil */
.profile-photo-button{position:relative;width:86px;height:86px;flex:0 0 86px;border:3px solid #fff;border-radius:50%;padding:0;background:linear-gradient(145deg,#edf2f8,#cfd9e5);box-shadow:0 8px 26px #0003;display:grid;place-items:center;overflow:visible;cursor:pointer;color:#62748a;font-size:30px;font-weight:900}
.profile-photo-button img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.profile-photo-button>span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%}.profile-photo-button i{position:absolute;right:-2px;bottom:-2px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#36d75a;color:#07120a;font-size:14px;font-style:normal;border:3px solid #0a1016;box-shadow:0 3px 9px #0005}
.photo-modal[hidden]{display:none}.photo-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center}.photo-modal-backdrop{position:absolute;inset:0;background:#02070dcc;backdrop-filter:blur(4px)}.photo-modal-card{position:relative;z-index:1;width:min(100%,480px);box-sizing:border-box;padding:13px 20px max(24px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#111a23;color:#fff;border:1px solid #273746;box-shadow:0 -20px 60px #0008}.photo-modal-grip{width:48px;height:5px;border-radius:99px;background:#536373;margin:0 auto 15px}.photo-modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#202d39;color:#fff;font-size:25px}.photo-modal-card h2{margin:2px 0 8px;font-size:24px}.photo-modal-card p,.photo-modal-card small{color:#a9bbcc;line-height:1.45}.photo-action{box-sizing:border-box;width:100%;min-height:52px;margin-top:12px;border:0;border-radius:15px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 15px;font-weight:850;text-decoration:none;cursor:pointer}.photo-action.primary,.photo-action.save{background:#43d354;color:#061009}.photo-action.danger{background:#391b20;color:#ff8491}.photo-preview{margin:14px auto 0;text-align:center}.photo-preview img{width:130px;height:130px;object-fit:cover;border-radius:50%;border:4px solid #43d354;display:block;margin:auto}.photo-preview span{display:block;margin-top:6px;color:#a9bbcc;font-size:12px}.modal-open{overflow:hidden}.driver-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* Upload direto da foto de perfil */
.profile-photo-direct-form{margin:0;display:block;flex:0 0 auto}
.profile-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.profile-photo-button{box-sizing:border-box;isolation:isolate}
.profile-photo-button>img,.profile-photo-button>span:not(.profile-photo-loading){position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}
.profile-photo-button>span:not(.profile-photo-loading){display:grid;place-items:center}
.profile-photo-button i{font-family:Arial,sans-serif;font-size:22px;font-weight:800;line-height:1;background:#36d75a;color:#061009}
.profile-photo-loading{display:none;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:50%!important;background:#071018b8!important;z-index:3}
.profile-photo-loading::after{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-15px 0 0 -15px;border:3px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:profile-photo-spin .75s linear infinite}
.profile-photo-button.is-uploading .profile-photo-loading{display:block}
.profile-photo-button.is-uploading i{display:none}
@keyframes profile-photo-spin{to{transform:rotate(360deg)}}


/* Profile photo: compact circular avatar + simple popup */
.profile-avatar-trigger{position:relative;width:82px!important;height:82px!important;min-width:82px!important;max-width:82px!important;flex:0 0 82px!important;border:3px solid #f4f7fb;border-radius:50%!important;padding:0!important;margin:0;background:linear-gradient(145deg,#edf2f8,#cfd9e5);overflow:visible;display:block;cursor:pointer;box-shadow:0 8px 24px #0004;color:#657386;font-size:31px;font-weight:900;line-height:1}
.profile-avatar-trigger>img,.profile-avatar-trigger>span{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:50%!important;object-fit:cover!important;display:grid;place-items:center;overflow:hidden}
.profile-avatar-trigger>i{position:absolute;right:-2px;bottom:-2px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#39d35a;color:#061009;border:3px solid #0a1016;font:900 19px/1 Arial,sans-serif;font-style:normal;z-index:2}
.profile-photo-popup[hidden]{display:none!important}.profile-photo-popup{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:20px}.profile-photo-popup-backdrop{position:absolute;inset:0;border:0;background:#02070dcc;backdrop-filter:blur(5px)}.profile-photo-popup-card{position:relative;z-index:1;width:min(100%,360px);box-sizing:border-box;border:1px solid #2b3946;border-radius:25px;background:#121a22;color:#fff;padding:28px 22px 22px;text-align:center;box-shadow:0 24px 80px #000a}.profile-photo-popup-close{position:absolute;right:13px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#222d37;color:#fff;font-size:24px;cursor:pointer}.profile-photo-popup-icon{width:62px;height:62px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#1c2934;font-size:29px}.profile-photo-popup-card h2{margin:0 0 8px;font-size:23px}.profile-photo-popup-card p{margin:0 0 18px;color:#9dabba;font-size:13px;line-height:1.45}.profile-photo-popup-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.profile-photo-popup-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;box-sizing:border-box;border-radius:16px;background:#42d45a;color:#061009;font-weight:900;cursor:pointer;padding:12px}.profile-popup-open{overflow:hidden}

.profile-photo-remove-form{margin:12px 0 0}.profile-photo-popup-remove{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;box-sizing:border-box;border:1px solid #69343b;border-radius:16px;background:#35171d;color:#ff7b87;font-weight:900;cursor:pointer;padding:12px}.profile-photo-popup-remove:hover{background:#451d24}.profile-avatar-trigger img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;border-radius:50%!important}

/* Cancelamento de corrida */
.btn-cancel-ride{margin-top:14px;background:transparent!important;color:#ff6b6b!important;border:1px solid rgba(255,107,107,.5)!important;font-weight:800}.btn-cancel-ride:hover{background:rgba(255,107,107,.1)!important}.driver-cancel-button{grid-column:1/-1}.cancel-modal[hidden]{display:none!important}.cancel-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:center}.cancel-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.cancel-dialog{position:relative;width:min(100%,480px);background:#111922;border:1px solid #293543;border-radius:28px 28px 0 0;padding:26px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.5);animation:cancelUp .22s ease}.cancel-dialog h2{text-align:center;margin:8px 0;color:#fff}.cancel-dialog p{text-align:center;color:#aab8c8;line-height:1.5;margin:0 0 18px}.cancel-dialog select{width:100%;padding:15px;border-radius:14px;border:1px solid #344252;background:#0a1119;color:#fff;font-size:15px;margin-bottom:14px}.cancel-close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:0;border-radius:50%;background:#202b36;color:#fff;font-size:24px}.cancel-icon{display:grid;place-items:center;margin:auto;width:52px;height:52px;border-radius:50%;background:rgba(255,85,85,.14);color:#ff6b6b;font-size:28px;font-weight:900}.btn-danger{background:#d9363e!important;color:white!important;border:none!important}.cancel-dialog .btn-secondary{margin-top:9px}.modal-open{overflow:hidden}.cancelled-state span{background:#7f1d1d!important;color:#fecaca!important}.cancelled-state small{display:block;color:#aab8c8;margin:8px 0 18px}@keyframes cancelUp{from{transform:translateY(35px);opacity:.5}to{transform:none;opacity:1}}@media(min-width:700px){.cancel-modal{align-items:center}.cancel-dialog{border-radius:24px;padding:28px}}

/* v20260714-driver-offer-focus: oferta em tela limpa e corrida ativa compacta */
.is-hidden{display:none!important}
.driver-offer-layer{position:absolute;z-index:850;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:90px 14px max(18px,env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(to bottom,transparent 16%,rgba(3,8,12,.08) 45%,rgba(3,8,12,.44) 100%)}
.driver-offer-slot{width:100%;max-width:480px;pointer-events:auto}
.driver-offer-card{position:relative;overflow:hidden;background:linear-gradient(155deg,#17212b 0%,#0f161d 70%);border:1px solid #34414d;border-radius:28px;padding:18px;box-shadow:0 24px 70px #000c,0 0 0 1px #ffffff08;animation:driverOfferUp .28s cubic-bezier(.2,.8,.2,1)}
@keyframes driverOfferUp{from{opacity:0;transform:translateY(45px) scale(.97)}to{opacity:1;transform:none}}
.offer-timer{height:4px;background:#2a3540;border-radius:99px;overflow:hidden;margin:-2px 0 14px}.offer-timer-bar{display:block;width:100%;height:100%;background:linear-gradient(90deg,#39e36a,#a8ff66);transform-origin:left;transition:transform .25s linear}
.offer-kicker{display:flex;justify-content:space-between;align-items:center;color:#6bf18d;font-size:10px;letter-spacing:1.25px;font-weight:950}.offer-kicker strong{font-size:12px;color:#fff;letter-spacing:0}
.offer-main-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;margin:14px 0}.offer-passenger-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#36dc69,#12783a);font-size:22px;font-weight:950;color:#fff;border:3px solid #ffffff1c}.offer-passenger{min-width:0}.offer-passenger small,.offer-price small{display:block;color:#8fa0af;font-size:8px;letter-spacing:1px}.offer-passenger h2{font-size:20px;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offer-passenger span{font-size:12px;color:#ffd955}.offer-price{text-align:right}.offer-price strong{display:block;font-size:24px;color:#fff;margin-top:4px}
.offer-route-compact{background:#0a1118;border:1px solid #26323d;border-radius:18px;padding:13px 14px}.offer-route-compact>div{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px}.offer-route-compact span small,.offer-route-compact span strong{display:block}.offer-route-compact span small{font-size:9px;color:#7f909f;margin-bottom:3px}.offer-route-compact span strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offer-dot{width:11px;height:11px;margin-top:3px}.offer-dot.pickup{border:2px solid #fff;border-radius:50%}.offer-dot.destination{background:#3cdb67;border-radius:2px}.offer-line{height:14px;border-left:2px dotted #53606c;margin:2px 0 2px 5px}
.offer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.offer-stats span{background:#111a22;border:1px solid #28343f;border-radius:14px;text-align:center;padding:9px 4px}.offer-stats b,.offer-stats small{display:block}.offer-stats b{font-size:13px}.offer-stats small{font-size:8px;color:#8293a2;margin-top:2px}
.offer-buttons{display:grid;grid-template-columns:.72fr 1.28fr;gap:10px}.offer-buttons form{margin:0}.offer-buttons button{width:100%;min-height:54px;border:0;border-radius:17px;font-weight:950;font-size:15px;cursor:pointer}.offer-reject{background:#28171b;color:#ff818b;border:1px solid #6a3038!important}.offer-accept{background:#43da5b;color:#07130a;box-shadow:0 10px 25px #27c94b2c}
.driver-nav.offer-visible{display:none}
.driver-active-card{position:absolute;z-index:850;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));background:#101820f5;border:1px solid #34404c;border-radius:24px;padding:10px 14px 14px;box-shadow:0 18px 48px #000b;backdrop-filter:blur(18px);max-height:245px;overflow:auto}.active-card-grip{width:44px;height:4px;border-radius:99px;background:#53606b;margin:0 auto 8px}.driver-active-card .sheet-status-row h2{font-size:18px;margin:2px 0}.driver-active-card .eta-bubble{width:48px;height:48px}.driver-active-card .eta-bubble strong{font-size:18px}.driver-active-card .route-points.professional{display:none}.driver-active-card .ride-meta{padding:8px 0;font-size:10px}.driver-active-card .driver-action-grid{grid-template-columns:46px 46px minmax(0,1fr);gap:8px;margin-top:9px}.driver-active-card .secondary-action{min-height:48px;border-radius:14px}.driver-active-card .btn.xl{min-height:48px;font-size:14px}.driver-active-card .btn-cancel-ride{grid-column:1/-1;min-height:38px;margin-top:0;font-size:12px}.navigation-active .driver-active-card{display:block}.navigation-active .floating-bottom-nav{display:none}
@media(max-height:700px){.driver-offer-card{padding:14px}.offer-main-row{margin:10px 0}.offer-route-compact{padding:10px 12px}.offer-stats{margin:8px 0}.offer-buttons button{min-height:48px}.driver-active-card{max-height:220px}}

.address-results .address-result-link{width:100%;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid #29313a;cursor:pointer;font:inherit}.address-results .address-result-link:hover{background:#1a222b}

/* Busca passageiro: botão IR azul e estados de processamento */
.go-search-blue{background:#1687ff!important;color:#fff!important;border-color:#1687ff!important;font-weight:900;box-shadow:0 7px 18px rgba(22,135,255,.28)}
.go-search-blue:active{transform:scale(.97)}
#confirm:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.55)}

/* Marcadores do mapa Movi UDI */
.destination-marker{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.movi-red-pin{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 3px rgba(0,0,0,.38));transform-origin:50% 100%}
.movi-red-pin svg{display:block;width:100%;height:100%;overflow:visible}
.movi-red-pin .pin-shadow{fill:#c9151d}
.movi-red-pin .pin-main{fill:#ed1c24}
.movi-red-pin .pin-highlight{fill:#ff3840;opacity:.9}
.movi-red-pin .pin-hole{fill:#fff}
.driver-navigation-marker{background:transparent!important;border:0!important;box-shadow:none!important;display:grid!important;place-items:center!important;overflow:visible!important}
.driver-navigation-marker .driver-blue-arrow{width:52px;height:52px;display:block;transform-origin:50% 50%;transition:transform .35s linear;filter:drop-shadow(0 3px 3px rgba(0,0,0,.42))}
.driver-navigation-marker .driver-blue-arrow svg{display:block;width:100%;height:100%;overflow:visible}
.driver-navigation-marker .arrow-shadow{fill:#0d5aa7}
.driver-navigation-marker .arrow-fill{fill:#197fd6}
.drag-location-hint{margin:10px 0 12px;padding:10px 12px;border-radius:12px;background:#12251a;border:1px solid #2d6a3d;color:#b9e8c5;font-size:12px;text-align:center}.draggable-destination-marker{cursor:grab!important;touch-action:none}.draggable-destination-marker:active{cursor:grabbing!important;transform:scale(1.08)}
.destination-marker,.draggable-destination-marker{width:var(--movi-marker-width,46px)!important;height:var(--movi-marker-height,62px)!important;overflow:visible!important}.heading-unknown{opacity:.72;transform:none!important}.driver-offer-layer:not(.is-hidden)+.driver-nav{display:none}
.ride-live-alert{position:absolute;z-index:1200;top:calc(max(76px,env(safe-area-inset-top) + 62px));left:16px;right:16px;padding:14px 16px;border-radius:16px;background:#102719;color:#d9ffe1;border:1px solid #3b8b50;box-shadow:0 12px 35px #0008;text-align:center;font-weight:800}.ride-rating{margin:14px 0;text-align:left}.ride-rating textarea{margin:8px 0;min-height:70px}.chat-unread-badge{position:absolute;transform:translate(13px,-14px);min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#ef3340;color:#fff;font-size:10px;display:grid;place-items:center}.document-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #34414d;border-radius:13px;margin-top:12px}.document-check input{margin-top:3px}
@media(max-width:380px){.driver-offer-layer{padding-left:8px;padding-right:8px}.driver-offer-card{border-radius:22px;padding:12px}.offer-main-row{grid-template-columns:46px minmax(0,1fr) auto}.offer-passenger-avatar{width:46px;height:46px}.offer-price strong{font-size:19px}.map-sheet{padding-left:15px;padding-right:15px}}
.pickup-draggable-marker{width:28px!important;height:28px!important;border:4px solid #111;border-radius:50%;background:#fff;box-shadow:0 5px 16px #0007;cursor:grab}.pickup-draggable-marker div{width:8px;height:8px;border-radius:50%;background:#34c759;margin:6px}.confirm-extra-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.confirm-extra-actions .btn{font-size:11px;padding:10px 7px}.confirm-extra-fields{padding:12px;background:#151d24;border:1px solid #303b46;border-radius:15px;margin:9px 0}.confirm-extra-fields .input{margin-top:8px}.confirm-extra-fields textarea{min-height:70px}.intermediate-stop{margin:7px 0}.intermediate-stop>span{width:20px;height:20px;border-radius:50%;background:#ffb020;color:#111;display:grid;place-items:center;font-size:10px;font-weight:900}
.admin-section{margin-top:16px}.admin-section summary{cursor:pointer;list-style:none;display:flex;align-items:center}.admin-section summary::-webkit-details-marker{display:none}.admin-section summary h2{margin:0;padding:4px 0}.admin-inline-form{display:inline-flex;gap:6px;align-items:center;margin:3px}.admin-inline-form .input{min-width:140px;padding:8px}.table td small{display:block;margin-top:3px}
.delivery-summary{margin:10px 0;padding:10px 12px;border-radius:14px;background:#17231b;border:1px solid #31553b}.delivery-summary strong,.delivery-summary small,.delivery-summary em{display:block}.delivery-summary small{color:#a9b7ae;margin-top:4px}.delivery-summary em{color:#67e782;margin-top:6px;font-style:normal;font-weight:900}.route-pin.intermediate{background:#ffb020}
.delivery-code-input{margin-bottom:7px!important;text-transform:uppercase;letter-spacing:2px;text-align:center;font-weight:900}

/* Navegação por voz exclusiva da tela do motorista */
.driver-navigation-tools{
  position:absolute;
  right:14px;
  top:124px;
  z-index:850;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  pointer-events:none;
}
.driver-navigation-tools button{
  position:static !important;
  pointer-events:auto;
}
.voice-navigation-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:0 13px;
  border:0;
  border-radius:22px;
  background:#fff;
  color:#111;
  font-weight:800;
  box-shadow:0 5px 18px rgba(0,0,0,.2);
}
.voice-navigation-toggle.is-off{
  background:#2b2b2b;
  color:#fff;
}
.voice-navigation-toggle span{font-size:12px;white-space:nowrap}
@media (max-width:520px){
  .driver-navigation-tools{top:116px;right:10px}
  .voice-navigation-toggle span,.driver-navigation-tools .route-recenter span{display:none}
  .voice-navigation-toggle{width:44px;padding:0;justify-content:center;font-size:19px}
}

/* Navegação GPS do motorista: carro em miniatura e mapa orientado pela rota. */
#driverMap{background:#dfe5e8;overflow:hidden}
.driver-navigation-marker .driver-blue-arrow{width:42px;height:68px;transform-origin:50% 50%;transition:transform .35s linear;filter:drop-shadow(0 4px 4px rgba(0,0,0,.38))}
.driver-navigation-marker .car-shadow{fill:rgba(0,0,0,.30)}
.driver-navigation-marker .car-body{fill:#1976D2;stroke:#fff;stroke-width:3}
.driver-navigation-marker .car-glass{fill:#dceeff;stroke:#0d4f91;stroke-width:1.5}
.driver-navigation-marker .car-light{fill:#fff6b0}
.driver-navigation-marker .car-wheel{fill:#17202a}
.no-recent-destinations{padding:14px 12px;border:1px dashed #cbd5e1;border-radius:14px}
.no-recent-destinations strong,.no-recent-destinations small{display:block}
.no-recent-destinations small{margin-top:4px;color:#64748b}
/* Google Maps: aviso visível quando a chave ainda não foi configurada. */
.google-map-config-error{position:absolute;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88%,420px);padding:18px;border-radius:14px;background:#fff3cd;color:#664d03;border:1px solid #ffecb5;box-shadow:0 12px 34px #0003;font-weight:700;text-align:center}
.admin-detail-link{display:grid;gap:2px;color:inherit;text-decoration:none}.admin-detail-link:hover strong{text-decoration:underline}.admin-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-inline-form .input{min-width:190px;margin:0}

/* Mensagens amigáveis globais: substituem alertas nativos e ocultam detalhes técnicos. */
.movi-toast-stack{position:fixed;z-index:100000;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(92vw,460px);display:grid;gap:10px;pointer-events:none;padding:0 8px;box-sizing:border-box}.movi-toast{pointer-events:auto;display:grid;grid-template-columns:26px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:13px 12px;border-radius:16px;background:#fff;color:#18304f;box-shadow:0 14px 40px #0d274535;border:1px solid #dfe8f2;opacity:0;transform:translateY(-12px) scale(.98);transition:opacity .2s ease,transform .2s ease}.movi-toast.is-visible{opacity:1;transform:none}.movi-toast.is-leaving{opacity:0;transform:translateY(-8px) scale(.98)}.movi-toast-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1769e0;color:#fff;font-weight:900}.movi-toast-icon::before{content:'i'}.movi-toast-error .movi-toast-icon{background:#d9344a}.movi-toast-error .movi-toast-icon::before{content:'!'}.movi-toast-success .movi-toast-icon{background:#15965a}.movi-toast-success .movi-toast-icon::before{content:'✓'}.movi-toast-warning .movi-toast-icon{background:#d98a0b}.movi-toast-warning .movi-toast-icon::before{content:'!'}.movi-toast-text{font-size:14px;font-weight:700;line-height:1.35}.movi-toast-close{border:0;background:transparent;color:#708198;font-size:22px;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:9px}.movi-toast-close:hover{background:#eef3f8}

/* Correção v11: controles de voz/recentralização sempre acima da instrução. */
.navigation-active .navigation-instruction{padding-right:76px}
.navigation-active .driver-navigation-tools{
  top:calc(max(14px,env(safe-area-inset-top)) + 17px);
  right:20px;
  z-index:960;
  gap:18px;
}
.navigation-active .voice-navigation-toggle{
  width:48px;
  min-width:48px;
  height:48px;
  padding:0;
  justify-content:center;
  font-size:20px;
  border:2px solid rgba(8,107,98,.2);
}
.navigation-active .voice-navigation-toggle span{display:none}
@media(max-width:520px){
  .navigation-active .driver-navigation-tools{top:calc(max(14px,env(safe-area-inset-top)) + 16px);right:18px}
}

.google-navigation-button{margin:12px 0 10px;background:#16d96b!important;color:#06140c!important;font-weight:800;box-shadow:0 10px 24px rgba(22,217,107,.22)}

/* Cadastro do motorista: fluxo visual e documentos separados */
.driver-register-page{padding-bottom:42px}
.driver-register-intro{padding:5px 3px 19px}.driver-register-kicker{display:block;color:var(--green);font-size:10px;font-weight:950;letter-spacing:.14em}.driver-register-intro h1{margin:7px 0 8px;font-size:30px;line-height:1.08;letter-spacing:-.7px}.driver-register-intro>p{margin:0;color:#a8b3be;font-size:13px;line-height:1.55}.driver-register-meta{display:flex;gap:8px;margin-top:13px}.driver-register-meta span{padding:7px 10px;border:1px solid #2d3945;border-radius:999px;background:#121a22;color:#bec8d1;font-size:10px;font-weight:800}
.driver-register-form{display:grid;gap:14px}.register-section{margin:0;padding:19px}.register-section-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:17px}.register-step{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#35b94b);color:#061008;font-weight:950;box-shadow:0 7px 18px #36c7532e}.register-section-heading h3{margin:1px 0 4px;font-size:19px}.register-section-heading p{margin:0;color:#96a3af;font-size:11px;line-height:1.45}.register-section>.register-section-heading+label{margin-top:2px}
.cnh-mode-fieldset{min-width:0;margin:0;padding:0;border:0}.cnh-mode-fieldset legend{padding:0;color:#fff;font-size:14px;font-weight:850}.cnh-mode-help{margin:5px 0 11px;color:#8f9da9;font-size:11px}.cnh-mode-options{display:grid;gap:9px}.cnh-mode-card{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:11px;align-items:center;margin:0;padding:13px;border:1px solid #303b47;border-radius:17px;background:#0d141b;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.cnh-mode-card:active{transform:scale(.985)}.cnh-mode-card.is-selected{border-color:#48d267;background:linear-gradient(135deg,#13271a,#0e1b13);box-shadow:0 0 0 2px #48d26720}.cnh-mode-card>input{position:absolute;opacity:0;pointer-events:none}.cnh-mode-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#222d37;color:#dce4eb;font-size:16px;font-weight:950}.cnh-mode-card.is-selected .cnh-mode-icon{background:#42d061;color:#061008}.cnh-mode-copy{min-width:0}.cnh-mode-copy strong,.cnh-mode-copy small{display:block}.cnh-mode-copy strong{color:#f5f8fa;font-size:14px}.cnh-mode-copy small{margin-top:3px;color:#8f9ca8;font-size:10px}.cnh-mode-check{width:22px;height:22px;border:1px solid #43505c;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:12px;font-weight:950}.cnh-mode-card.is-selected .cnh-mode-check{border-color:#43d163;background:#43d163;color:#061008}
.cnh-upload-panel{margin-top:13px;padding:14px;border:1px solid #2c3944;border-radius:18px;background:#0b1117}.cnh-upload-panel[hidden]{display:none!important}.selected-cnh-mode{display:grid;gap:3px;margin-bottom:11px}.selected-cnh-mode>span{color:#55dc76;font-size:9px;font-weight:950;letter-spacing:.12em}.selected-cnh-mode>strong{font-size:15px}.selected-cnh-mode>small{color:#909da9;font-size:10px;line-height:1.45}
.cnh-photo-uploads{display:grid;gap:10px}.document-upload{margin-top:10px}.document-file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.document-upload-control{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;margin:0;padding:12px;border:1px dashed #40505e;border-radius:15px;background:#111922;cursor:pointer;transition:border-color .18s,background .18s}.document-upload-control:hover{border-color:#59da77;background:#142019}.document-upload-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#222d37;color:#b9c7d3;font-size:9px;font-weight:950}.document-upload-copy{min-width:0}.document-upload-copy strong,.document-upload-copy small{display:block}.document-upload-copy strong{color:#edf2f6;font-size:12px}.document-upload-copy small{margin-top:4px;color:#8997a3;font-size:9px;line-height:1.35}.document-upload-action{padding:7px 9px;border-radius:10px;background:#25313c;color:#e1e8ed;font-size:9px;font-weight:900}.document-file-name{margin:7px 3px 0;color:#82909d;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-upload.has-file .document-upload-control{border-style:solid;border-color:#3dcc60;background:#122319}.document-upload.has-file .document-upload-icon,.document-upload.has-file .document-upload-action{background:#3dcc60;color:#061008}.document-upload.has-file .document-file-name{color:#67df83;font-weight:800}.register-document-section>.document-upload{margin-top:9px}.private-document-note{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:start;margin-top:15px;padding:11px;border-radius:14px;background:#102219;color:#bfe6c8}.private-document-note>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#3bce5d;color:#061008;font-size:11px;font-weight:950}.private-document-note p{margin:2px 0 0;font-size:10px;line-height:1.45}.register-terms{margin-top:15px}.register-terms span{line-height:1.45}.register-terms a{color:#65df82;text-decoration:underline;text-underline-offset:2px}.registration-review-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;padding:14px;border:1px solid #2e5939;border-radius:17px;background:#102018}.registration-review-note>span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#3ed061;color:#061008;font-weight:950}.registration-review-note strong,.registration-review-note small{display:block}.registration-review-note strong{font-size:13px}.registration-review-note small{margin-top:4px;color:#9fbaaa;font-size:10px;line-height:1.45}.driver-register-submit{min-height:58px;margin-top:0;font-size:14px;box-shadow:0 12px 28px #37c6532f}
@media(max-width:380px){.driver-register-page{padding-left:14px;padding-right:14px}.register-section{padding:16px}.document-upload-control{grid-template-columns:39px minmax(0,1fr)}.document-upload-icon{width:39px;height:39px}.document-upload-action{grid-column:2;justify-self:start}.driver-register-intro h1{font-size:27px}}


/* Navigation SDK v15: viewport seguro, mapa do motorista e senha */
html,body{min-height:100%;min-height:100dvh}
.phone-shell{padding-bottom:calc(98px + env(safe-area-inset-bottom));overflow-x:hidden}
.bottom-nav{height:auto;min-height:78px;padding-top:5px;padding-bottom:max(10px,env(safe-area-inset-bottom));}
.detail-page,.account-page,.activity-page{min-height:calc(100dvh - 78px);padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
.driver-map-home .search-sheet{padding-bottom:max(105px,calc(92px + env(safe-area-inset-bottom)))}
.driver-map-message{position:absolute;z-index:1800;top:calc(max(14px,env(safe-area-inset-top)) + 66px);left:50%;transform:translateX(-50%);width:min(88%,390px);padding:12px 15px;border-radius:16px;background:#401d22;color:#ffd4d7;box-shadow:0 12px 34px #0008;text-align:center;font-weight:750}
.driver-native-pending{position:absolute;z-index:950;left:18px;right:18px;bottom:calc(98px + env(safe-area-inset-bottom));padding:18px;border:1px solid #2d3a45;border-radius:24px;background:#10171eef;color:#fff;box-shadow:0 18px 55px #0009;text-align:center;display:grid;gap:8px;justify-items:center}
.driver-native-pending small{color:#9eadb9;line-height:1.4}.driver-native-pending a{color:#63e38a;font-weight:900;margin-top:5px}.native-pending-spinner{width:36px;height:36px;border:4px solid #ffffff30;border-top-color:#16d96b;border-radius:50%;animation:nativePendingSpin .8s linear infinite}@keyframes nativePendingSpin{to{transform:rotate(360deg)}}
.driver-offer-loading{pointer-events:auto;background:#111a22;color:#fff;border:1px solid #33414c;border-radius:24px;padding:28px;text-align:center;font-weight:850;box-shadow:0 18px 55px #0009}
.idle-driver-marker .driver-blue-arrow{width:42px;height:68px}
.pickup-draggable-marker{background:transparent!important;border:0!important}.pickup-draggable-marker>div{width:30px;height:30px;border-radius:50%;background:#34c759;border:4px solid #fff;box-shadow:0 5px 16px #0007;position:relative}.draggable-destination-marker{cursor:grab}.draggable-destination-marker:active{cursor:grabbing}
.password-wrap{position:relative}.password-input{padding-right:58px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:43px;height:43px;border:0;border-radius:13px;background:#18222c;color:#aab7c3;display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s,transform .18s}.password-toggle:active{transform:translateY(-50%) scale(.94)}.password-toggle:hover,.password-toggle.showing{background:#1d3125;color:#62df86}.password-eye,.password-eye svg{width:23px;height:23px;display:block}.password-eye svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.password-toggle .eye-hidden{display:none}.password-toggle.showing .eye-visible{display:none}.password-toggle.showing .eye-hidden{display:block}
.field-format-hint{display:block;margin:7px 2px 0;color:#8e9ca8;font-size:11px;line-height:1.4}.plate-input{text-transform:uppercase;letter-spacing:1.2px;font-weight:850}
@media(max-height:720px){.driver-map-home .search-sheet{max-height:44dvh}.driver-search-radar{width:78px;height:78px}.empty-map-state{padding-top:12px}}

/* Viagem solicitada para outra pessoa: embarque e destino editáveis */
.other-person-fields h3{margin:0 0 4px;font-size:16px}.other-person-intro{margin:0 0 10px;color:#9da9b5;font-size:12px;line-height:1.4}.other-person-phone-hint{display:block;margin:-4px 2px 4px;color:#8e9ca8;font-size:10px;line-height:1.4}.other-person-address-block{margin-top:12px}.other-person-address-block>label{display:block;margin:0 0 6px;font-size:11px;font-weight:900;letter-spacing:.4px;color:#cbd5df;text-transform:uppercase}.editable-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.editable-address-row .input{margin:0;min-width:0}.editable-address-row button{height:44px;padding:0 13px;border:0;border-radius:12px;background:#2c3742;color:#fff;font-weight:850;cursor:pointer}.editable-address-row button:disabled{opacity:.55;cursor:wait}.editable-address-results{display:grid;gap:6px;margin-top:7px;padding:7px;background:#0e151b;border:1px solid #2b3742;border-radius:13px;max-height:210px;overflow:auto}.editable-address-results>small{padding:3px 5px;color:#8fa0ae;font-size:10px}.editable-address-results button{display:grid;gap:3px;width:100%;padding:10px;border:0;border-radius:10px;background:#18222b;color:#fff;text-align:left;cursor:pointer}.editable-address-results button:hover,.editable-address-results button:focus{background:#24323e;outline:2px solid #3d91ff}.editable-address-results button strong{font-size:12px}.editable-address-results button span{font-size:10px;color:#9eabb7;line-height:1.35}.editable-address-empty{padding:10px;color:#aeb9c3;font-size:11px}.other-person-address-hint{display:block;margin-top:10px;color:#95a3af;line-height:1.4}.address-unconfirmed{border-color:#f4b942!important;box-shadow:0 0 0 2px #f4b94222!important}.confirm-extra-actions #toggleOtherPerson.active{background:#2f8f4c;border-color:#52d878;color:#fff}@media(max-width:420px){.editable-address-row{grid-template-columns:1fr}.editable-address-row button{width:100%}}

/* v17.4 — fluxo Cheguei -> Iniciar corrida */
.driver-ride-workflow{display:grid;gap:14px;text-align:left;align-content:start;padding:18px;max-width:460px}
.driver-workflow-status{display:grid;gap:5px}
.driver-workflow-status small{color:#4ce271;font-size:10px;font-weight:950;letter-spacing:1.3px}
.driver-workflow-status strong{font-size:20px;line-height:1.2}
.driver-workflow-status span{color:#a6b1bb;font-size:12px;line-height:1.45}
.driver-workflow-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,1fr);gap:9px}
.driver-workflow-actions .btn{margin:0;display:flex;align-items:center;justify-content:center;text-align:center}
.driver-workflow-actions button:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.35)}
.driver-workflow-rule{color:#788590!important;font-size:10px!important;line-height:1.45}
@media(max-width:390px){.driver-workflow-actions{grid-template-columns:1fr}.driver-ride-workflow{padding:15px}}
