:root{--bg:#05080d;--panel:#0b121b;--panel2:#0f1e2a;--blue:#11b8ff;--blue2:#0879cc;--yellow:#ffd400;--text:#f6fbff;--muted:#91a3b3;--danger:#ff405d}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at 50% -20%,#0a4170 0,#07111b 38%,#030509 80%);color:var(--text);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 46%,rgba(17,184,255,.05) 47%,transparent 48% 70%,rgba(255,212,0,.04) 71%,transparent 72%)}
.app-shell{max-width:520px;margin:auto;min-height:100vh;padding:16px 16px 96px}.topbar{display:flex;align-items:center;gap:14px;padding:10px 0}.icon-btn,.mini-btn{border:0;background:#0c1822;color:white;border-radius:14px;font-size:22px;width:44px;height:44px}.hello{flex:1}.hello span{display:block;color:var(--blue);font-weight:800;font-size:13px}.hello strong{font-size:18px}
.hero-card{margin-top:4px;border:1px solid rgba(17,184,255,.35);border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(3,8,14,.94),rgba(8,33,53,.85)),url('/assets/logo.jpg') center/cover;box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 35px rgba(17,184,255,.12)}.hero-copy{padding:18px 20px;text-align:center;background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.58),rgba(0,0,0,.15))}.logo{width:100%;max-height:180px;object-fit:contain;border-radius:18px;mix-blend-mode:screen}.hero-copy p{font-size:12px;letter-spacing:3px;color:var(--blue);font-weight:900}.hero-copy small{color:var(--yellow);font-weight:900;text-transform:uppercase}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.service{border:1px solid rgba(17,184,255,.35);background:linear-gradient(180deg,#0c3151,#091520);color:white;border-radius:22px;min-height:118px;padding:12px 7px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;box-shadow:inset 0 0 25px rgba(17,184,255,.08)}.service span{font-size:27px}.service b{font-size:12px}.service small{font-size:10px;color:#c7d4de}.service.active{background:linear-gradient(180deg,#ffe000,#ffbf00);color:#07111b;border-color:#fff0a0;box-shadow:0 8px 30px rgba(255,212,0,.28)}.service.active small{color:#3b2d00}
.ride-card{background:rgba(7,16,24,.88);border:1px solid rgba(255,255,255,.09);border-radius:26px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.45)}.ride-card label{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.08)}.ride-card label div{flex:1}.ride-card b{display:block;font-size:14px}.ride-card input{width:100%;border:0;outline:0;background:transparent;color:white;padding:5px 0;font-size:14px}.ride-card input::placeholder{color:#7f92a3}.dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 16px currentColor}.origin-dot{background:var(--blue);color:var(--blue)}.dest-dot{background:var(--danger);color:var(--danger)}
.map-card{height:220px;position:relative;border-radius:20px;overflow:hidden;margin:12px 0;background:radial-gradient(circle at 35% 40%,#123b4a,#0a1926 48%,#061017);border:1px solid rgba(17,184,255,.25)}.map-grid{position:absolute;inset:0;opacity:.34;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:25px 25px;transform:rotate(-9deg) scale(1.2)}.route-line{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:0}.route-line span{height:6px;width:28%;background:var(--blue);box-shadow:0 0 18px var(--blue);transform:rotate(-8deg)}.route-line i{font-style:normal;z-index:2}.route-line .start{width:22px;height:22px;border:5px solid white;border-radius:50%;box-shadow:0 0 18px var(--blue)}.route-line .bike{font-size:28px;filter:drop-shadow(0 0 9px var(--yellow))}.route-line .end{font-size:28px;color:var(--danger);text-shadow:0 0 12px var(--danger)}.map-chip{position:absolute;left:10px;bottom:10px;background:rgba(4,9,14,.86);padding:8px 10px;border-radius:12px}.map-chip.right{left:auto;right:10px}.map-chip strong,.map-chip small{display:block}.map-chip small{color:var(--muted);font-size:9px}.estimate{display:flex;justify-content:space-between;background:#09141e;border-radius:18px;padding:12px 14px;margin-bottom:12px}.estimate small{display:block;color:var(--muted);font-size:10px}.estimate strong{font-size:15px}.cta{width:100%;border:0;border-radius:18px;padding:18px;background:linear-gradient(90deg,#ffd400,#ffbd00);font-size:18px;font-weight:1000;color:#070707;box-shadow:0 10px 30px rgba(255,212,0,.24)}.hint{text-align:center;color:#6f8291;font-size:9px;margin:8px 0 0}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:rgba(5,12,18,.95);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.08)}.bottom-nav button{border:0;background:none;color:#8797a4;font-size:22px}.bottom-nav button span{display:block;font-size:10px;margin-top:2px}.bottom-nav button.active{color:var(--blue)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:end center;padding:18px;z-index:20}.modal[hidden]{display:none}.modal-card{width:min(500px,100%);background:#08131d;border:1px solid rgba(17,184,255,.32);border-radius:28px;padding:24px;text-align:center;box-shadow:0 0 50px rgba(17,184,255,.18)}.pulse{margin:auto;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:black;font-size:32px;animation:pulse 1.2s infinite}.modal-card p{color:var(--muted)}.driver{display:flex;align-items:center;gap:12px;text-align:left;background:#0d1d2a;border-radius:18px;padding:12px;margin:16px 0}.driver .avatar{width:48px;height:48px;border-radius:14px;background:#102d40;display:grid;place-items:center}.driver small{display:block;color:var(--muted)}.secondary{width:100%;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:#0c1a25;color:white;font-weight:800}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 0 0 16px rgba(255,212,0,0)}}
@media(max-width:380px){.service{min-height:100px}.service b{font-size:10px}.hero-copy{padding:10px}.logo{max-height:140px}}

.bottom-nav a{color:inherit;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px}.topbar a.icon-btn{text-decoration:none;color:inherit;display:grid;place-items:center}


.account-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0b1721;border:1px solid rgba(17,184,255,.2);border-radius:18px;padding:12px 14px;margin-bottom:12px}.account-card div{min-width:0}.account-card small,.account-card strong,.account-card span{display:block}.account-card small{color:#55cfff;font-size:9px;font-weight:900;letter-spacing:1px}.account-card span{color:#8fa0ae;font-size:11px;margin-top:3px;overflow-wrap:anywhere}.client-history{margin:14px 0}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px}.section-title small{color:#55cfff;font-size:9px;font-weight:900;letter-spacing:1px}.section-title h2{font-size:16px;margin:2px 0 8px}.client-history #clientHistory{display:grid;gap:8px}.client-history article{display:flex;justify-content:space-between;gap:12px;background:#0a151f;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px}.client-history article div:last-child{text-align:right}.client-history b,.client-history small,.client-history strong,.client-history span,.client-history em{display:block}.client-history small,.client-history span{color:#899aa8;font-size:10px}.client-history em{color:#ffd400;font-style:normal}.rate-history{border:0;border-radius:8px;background:#ffd400;color:#090909;font-weight:900;font-size:9px;padding:6px 8px;margin-top:5px}.account-modal label{display:block;text-align:left;margin:12px 0;color:#cbd6df;font-weight:700}.account-modal label input,.account-modal textarea{width:100%;box-sizing:border-box;margin-top:6px;background:#050b11;border:1px solid #29445f;border-radius:12px;padding:13px;color:#fff;font-size:16px}.account-modal textarea{min-height:90px;resize:vertical}.stars{display:flex;justify-content:center;gap:4px;margin:12px 0}.stars button{border:0;background:transparent;color:#4b5660;font-size:34px;padding:4px}.stars button.active{color:#ffd400}.admin-stats{grid-template-columns:repeat(3,1fr)}.manage-grid{display:grid;gap:10px;margin:14px 0 26px}.manage-grid article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;background:#0c131c;border:1px solid #17304a;border-radius:16px;padding:16px}.manage-grid small,.manage-grid span{display:block;color:#91a0af;margin-top:4px}.manage-grid select{background:#05080d;border:1px solid #29445f;color:#fff;border-radius:9px;padding:9px}.driver-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.driver-kpis article{background:#0c131c;border:1px solid #17304a;border-radius:16px;padding:16px}.driver-kpis b{display:block;color:#ffd400;font-size:22px}.driver-kpis span{color:#91a0af;font-size:12px}@media(max-width:700px){.admin-stats,.driver-kpis{grid-template-columns:1fr}.manage-grid article{grid-template-columns:1fr}.client-history article{flex-direction:column}.client-history article div:last-child{text-align:left}}

/* v0.4.1 fechamento visual: card de perfil responsivo */
.account-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px}
.account-card>div{min-width:0}
.account-card .mini-btn{width:auto;min-width:104px;min-height:44px;padding:10px 16px;border:1px solid #16bfff;border-radius:12px;background:#0a1722;color:#fff;font-size:12px;font-weight:900;letter-spacing:.3px;white-space:nowrap}
@media(max-width:360px){.account-card{grid-template-columns:1fr}.account-card .mini-btn{width:100%}}


/* v0.4.4 - correção definitiva do botão PERFIL/CADASTRAR */
.account-card{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(96px,112px);
  align-items:center;
  gap:12px;
  overflow:hidden;
}
.account-card>div{min-width:0;overflow:hidden}
.account-card #openProfile.mini-btn{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:112px;
  height:44px;
  min-height:44px;
  margin:0;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid #16bfff;
  border-radius:12px;
  background:#0a1722;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.2px;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:390px){
  .account-card{grid-template-columns:minmax(0,1fr) 92px;gap:9px;padding:12px}
  .account-card #openProfile.mini-btn{max-width:92px;padding:0 8px;font-size:11px}
}
@media(max-width:330px){
  .account-card{grid-template-columns:1fr}
  .account-card #openProfile.mini-btn{justify-self:stretch;max-width:none;width:100%}
}

/* v0.6.0 - disponibilidade da operação no app do cliente */
.availability-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:12px 14px;border-radius:16px;background:#0a151f;border:1px solid rgba(85,207,255,.2)}.availability-card small,.availability-card strong,.availability-card span{display:block}.availability-card small{color:#55cfff;font-size:9px;font-weight:900;letter-spacing:.1em}.availability-card strong{font-size:13px;margin-top:2px}.availability-card span{color:#8fa1b1;font-size:10px;margin-top:3px}.availability-dot{width:12px;height:12px;min-width:12px;border-radius:50%;background:#697785;box-shadow:0 0 0 5px rgba(105,119,133,.12)}.availability-card[data-mode="available"] .availability-dot{background:#4cff9a;box-shadow:0 0 0 5px rgba(76,255,154,.12)}.availability-card[data-mode="busy"] .availability-dot{background:#ffd400;box-shadow:0 0 0 5px rgba(255,212,0,.12)}.availability-card[data-mode="blocked"] .availability-dot,.availability-card[data-mode="inactive"] .availability-dot{background:#ff7188}.availability-card[data-mode="offline"]{border-color:rgba(255,255,255,.09)}

/* v0.7.1 - operação comercial, pagamento, espera, recibo e relatórios */
.commercial-options{display:grid;gap:12px;margin:0 0 12px}.commercial-options>div,.commercial-options>label{display:block!important;background:#09141e;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}.commercial-options small{display:block;color:#8fa1b1;font-size:9px;font-weight:900;letter-spacing:.08em;margin-bottom:8px}.commercial-options em{font-style:normal;font-weight:500}.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pay-option{border:1px solid #29445f;background:#071019;color:#c7d5df;border-radius:12px;padding:11px;font-weight:900}.pay-option.active{background:#ffd400;color:#090909;border-color:#ffd400}.commercial-options input{width:100%!important;border:1px solid #29445f!important;background:#050b11!important;border-radius:11px;padding:12px!important}.trip-commercial{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.trip-commercial span{background:#07111a;border:1px solid #18344a;border-radius:12px;padding:10px}.trip-commercial small,.trip-commercial b{display:block}.trip-commercial small{color:#7e92a3;font-size:8px;font-weight:900}.trip-commercial b{margin-top:3px;color:#fff}.client-cancel{width:100%;border:1px solid #6b2634;background:#2a1018;color:#ff879a;border-radius:14px;padding:12px;font-weight:900}.receipt{margin-top:12px;border:1px solid rgba(255,212,0,.28);background:#121006;border-radius:16px;padding:14px}.receipt>small{color:#ffd400;font-weight:900;letter-spacing:.08em}.receipt>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}.receipt>div:last-child{border-bottom:0}.receipt-total b{color:#ffd400;font-size:18px}@media(max-width:380px){.trip-commercial{grid-template-columns:1fr}}

/* v0.8.0 - endereços favoritos e repetição de corrida */
.quick-addresses{margin:10px 0 14px}.favorite-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px}.favorite-chips button{flex:0 0 auto;border:1px solid #29445f;background:#071019;color:#d8e4ec;border-radius:999px;padding:10px 13px;font-weight:900}.favorite-chips button.saved{border-color:#16bfff;color:#55cfff}.favorite-form{display:grid;gap:9px;margin:12px 0}.favorite-form select,.favorite-form input{width:100%;box-sizing:border-box;background:#050b11;border:1px solid #29445f;border-radius:12px;padding:13px;color:#fff;font-size:15px}.favorite-list{display:grid;gap:8px;margin:14px 0}.favorite-list article{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;background:#07111a;border:1px solid #18344a;border-radius:13px;padding:11px}.favorite-list small,.favorite-list b{display:block}.favorite-list small{color:#8fa1b1;margin-top:3px}.favorite-list button{border:0;border-radius:9px;background:#2a1018;color:#ff879a;padding:8px;font-weight:900}.repeat-trip{border:1px solid #16bfff;background:#071019;color:#55cfff;border-radius:8px;font-weight:900;font-size:9px;padding:6px 8px;margin-top:5px;margin-left:4px}@media(max-width:380px){.favorite-list article{grid-template-columns:1fr}}

.business-card,.business-config{background:linear-gradient(135deg,rgba(17,184,255,.10),rgba(255,212,0,.04));border:1px solid rgba(17,184,255,.22);border-radius:18px;padding:14px;margin:12px 0}.business-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.business-card div{display:grid;gap:3px}.business-card small{color:var(--blue);font-weight:800}.business-card strong{font-size:16px}.business-card span{color:var(--muted);font-size:12px}.terms-check{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:12px 2px!important;color:var(--muted);font-size:12px}.terms-check input{width:18px!important;height:18px!important;flex:0 0 auto!important}.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.business-grid label,.wide-config{display:grid;gap:5px;color:var(--muted);font-size:12px}.business-grid input,.wide-config input{width:100%;background:#07111a;border:1px solid #1b3447;border-radius:10px;color:var(--text);padding:10px}.wide-config{margin:10px 0}.toggle-row{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;color:var(--text);font-size:13px}@media(max-width:600px){.business-grid{grid-template-columns:1fr}}


/* PRODUCAO RC2 - CTA WhatsApp responsivo no card comercial */
.business-card #businessWhatsapp.mini-btn{
  width:auto;
  min-width:104px;
  height:38px;
  min-height:38px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid #16bfff;
  border-radius:11px;
  background:#071722;
  color:#55cfff;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.35px;
  white-space:nowrap;
  box-shadow:inset 0 0 18px rgba(17,184,255,.06);
}
.business-card #businessWhatsapp.mini-btn:hover,.business-card #businessWhatsapp.mini-btn:focus-visible{background:#0a2638;border-color:#55cfff;color:#fff;outline:none}
@media(max-width:390px){
  .business-card{align-items:flex-end}
  .business-card #businessWhatsapp.mini-btn{min-width:92px;padding:0 10px;font-size:10px}
}
@media(max-width:330px){
  .business-card{display:grid;grid-template-columns:1fr}
  .business-card #businessWhatsapp.mini-btn{width:100%;justify-self:stretch}
}
