/* GIRO 4.0 — sistema visual oficial baseado nas telas de referência. */
:root{--giro-bg:#070a0c;--giro-panel:#111518;--giro-panel-2:#171b1e;--giro-line:#343a3f;--giro-text:#f5f7f8;--giro-muted:#a8adb2;--giro-red:#ff2b31;--giro-blue:#347dff;--giro-cyan:#12cbe5;--giro-purple:#b14cff;--giro-gold:#f2bd3d;--giro-pink:#ed397f;--giro-orange:#ff9f16;--giro-green:#42cf50}
html,body{background:var(--giro-bg)!important;color:var(--giro-text);font-family:Inter,Roboto,"Segoe UI",sans-serif}.app-shell{background:radial-gradient(circle at 100% 20%,#182027 0,transparent 34%),var(--giro-bg)!important;color:var(--giro-text);min-height:100vh}.content{background:transparent!important;color:var(--giro-text);padding:15px 16px 104px}.card,.admin-driver,.admin-order,.delivery,.notice,.focus,.client-status-hero{background:linear-gradient(145deg,var(--giro-panel-2),#0d1113)!important;border:1px solid var(--giro-line)!important;color:var(--giro-text)!important;box-shadow:inset 0 1px #ffffff08,0 12px 34px #0004!important;border-radius:18px!important}.card h2,.card h3,.admin-driver b,.admin-order b,.delivery b{color:var(--giro-text)}.muted,.card small,.admin-driver small,.admin-order small,.delivery small{color:var(--giro-muted)!important}.divider{background:#30363a!important}.section-title h2{color:var(--giro-text)}.section-title button{color:currentColor}.empty-state{color:var(--giro-muted)!important}.empty-state b{color:var(--giro-text)!important}
.urban-header,.admin-header{background:linear-gradient(180deg,#090c0f,#080b0d)!important;border-bottom:1px solid #242a2e!important;color:var(--giro-text)!important;padding:calc(22px + env(safe-area-inset-top)) 17px 17px!important;box-shadow:none!important}.urban-header .header-row,.admin-header .header-row{align-items:center}.urban-title>span{display:none}.urban-title h1,.admin-header h1{font-size:26px!important;font-weight:1000!important;letter-spacing:.5px;text-transform:uppercase;margin:0!important}.urban-title small,.admin-header small{color:#969ca2!important}.urban-menu,.admin-header .menu{border:1px solid #343a3f!important;background:#111518!important;color:#fff!important}.status-pill,.admin-role{background:#15251a!important;border:1px solid #285c32!important;color:#75e17e!important;border-radius:999px!important}.admin-brand{background:#101417!important;border:1px solid #30363a!important;border-radius:17px!important}.admin-brand span{color:var(--giro-muted)!important}
.bottom-nav{height:82px!important;background:rgba(8,11,13,.97)!important;border-top:1px solid #30363a!important;box-shadow:0 -12px 30px #0008!important;padding:7px 6px max(8px,env(safe-area-inset-bottom))!important;backdrop-filter:blur(16px)}.bottom-nav .nav-btn{color:#9ca1a6!important;background:transparent!important}.bottom-nav .nav-btn.active{color:var(--giro-red)!important}.bottom-nav .nav-btn svg{width:24px!important;height:24px!important}.bottom-nav .nav-btn span{font-size:10px!important}.bottom-nav .nav-btn.new{background:transparent!important;border:0!important;box-shadow:none!important}.urban-nav .gia-nav i{background:#14181b!important;border:1px solid #4a5055!important;box-shadow:none!important;margin-top:0!important;width:auto!important;height:auto!important}.urban-nav .gia-nav>span{color:inherit!important}
.field>span{color:#cdd1d4!important}.field input,.field select,.field textarea{background:#111518!important;border:1px solid #363d42!important;color:#fff!important;border-radius:14px!important;min-height:48px}.field input::placeholder{color:#6f757a}.chip{background:#121619!important;border:1px solid #343a3f!important;color:#aeb3b7!important}.chip.active{background:#202a34!important;border-color:#547392!important;color:#fff!important}.primary,.success{border-radius:13px!important;min-height:50px!important;font-weight:1000!important}.secondary,.danger{border-radius:13px!important;min-height:48px!important}.secondary{background:#111518!important;border:1px solid #454c51!important;color:#fff!important}.danger{background:#1b1113!important;border:1px solid #7b252b!important;color:#ff555b!important}
/* Autenticação — o tema escuro global não pode deixar textos claros sobre cartão branco. */
.login-shell .login-card{background:linear-gradient(150deg,#171b1e,#0d1113)!important;border:1px solid #373d42!important;color:var(--giro-text)!important;box-shadow:0 18px 48px #0008!important}.login-shell .login-card h1{color:#fff!important}.login-shell .login-card .sub{color:#aeb4b9!important}.login-shell .login-card .field>span{color:#cdd1d4!important}.login-shell .cloud-login-links button,.login-shell .local-link,.login-shell .super-admin-discreet{color:#aeb4b9!important}.login-shell .cloud-security{background:#102318!important;border-color:#285c36!important;color:#8ee0a5!important}.login-shell .cloud-setup-note{background:#2a2410!important;border-color:#74601d!important;color:#f2d975!important}
/* Empresa — azul */
.app-shell[data-mode="admin"]{--area-accent:var(--giro-blue);background:radial-gradient(circle at 0 38%,#06295c 0,transparent 36%),var(--giro-bg)!important}.app-shell[data-mode="admin"] .admin-header h1{color:var(--giro-blue)}.app-shell[data-mode="admin"] .admin-nav .nav-btn.active{color:var(--giro-blue)!important}.admin-content{background:transparent!important}.admin-hero{background:linear-gradient(145deg,#151a1f,#0c1013)!important;border:1px solid #394149!important;border-radius:18px!important;color:#fff!important;box-shadow:inset 0 1px #ffffff08!important}.admin-hero small,.admin-pulse{color:var(--giro-blue)!important}.admin-pulse{background:#0b1d3d!important;border:1px solid #1e4f9b!important}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-kpis .card{min-height:116px;text-align:left!important;padding:17px!important;position:relative}.admin-kpis .card .icon{color:var(--giro-blue)!important;position:absolute;right:15px;top:16px}.admin-kpis .card b{font-size:38px!important}.admin-revenue{border-color:#2d5da1!important}.admin-revenue .money{font-size:32px!important}.admin-revenue span{color:#54d666!important}.admin-revenue .revenue-icon{color:var(--giro-blue)!important}.admin-driver,.admin-order{margin-bottom:9px}.driver-avatar{background:#0f2b52!important;color:#64a0ff!important}.nearby-driver-entry{background:linear-gradient(135deg,#101a28,#112c55)!important;border:1px solid #285690!important;color:#fff!important}.nearby-driver-entry>span,.nearby-driver-entry strong{color:var(--giro-blue)!important}
/* Entregas — vermelho */
.app-shell[data-page="active"],.app-shell[data-page="deliveries"],.app-shell[data-page="new"]{--area-accent:var(--giro-red);background:radial-gradient(circle at 100% 32%,#471012 0,transparent 34%),var(--giro-bg)!important}.app-shell[data-page="active"] .urban-title h1,.app-shell[data-page="deliveries"] .urban-title h1,.app-shell[data-page="new"] .urban-title h1{color:var(--giro-red)}.app-shell[data-page="active"] .bottom-nav .nav-btn.active,.app-shell[data-page="deliveries"] .bottom-nav .nav-btn.active{color:var(--giro-red)!important}.gps-card{border-color:#434a4f!important}.gps-stats{background:#0c1012!important;border:1px solid #2f3539!important;border-radius:14px!important}.live-map,.map{background-color:#171c20!important;filter:saturate(.75) brightness(.75);border:1px solid #3b4247!important;border-radius:15px!important}.focus{padding:14px!important}.focus>.primary{background:linear-gradient(100deg,#ee1018,#ff383e)!important;box-shadow:0 8px 24px #e9131a44!important}.route-actions .primary{background:var(--giro-red)!important}.profit{color:#55d55f!important}
/* Financeiro / GIRO Pay — dourado */
.app-shell[data-page="finance"]{--area-accent:var(--giro-gold);background:radial-gradient(circle at 100% 42%,#4a3408 0,transparent 35%),var(--giro-bg)!important}.app-shell[data-page="finance"] .urban-title h1{color:var(--giro-gold)}.app-shell[data-page="finance"] .bottom-nav .nav-btn.active{color:var(--giro-gold)!important}.app-shell[data-page="finance"] .top-tabs{background:#0d1113!important;border-bottom:1px solid #32383c!important}.app-shell[data-page="finance"] .top-tabs button{color:#979da2!important}.app-shell[data-page="finance"] .top-tabs button.active{color:var(--giro-gold)!important;border-color:var(--giro-gold)!important}.app-shell[data-page="finance"] .card{border-color:#474238!important}
/* Gamificação — rosa */
.app-shell[data-page="achievements"]{--area-accent:var(--giro-pink);background:radial-gradient(circle at 100% 25%,#4c0c2a 0,transparent 37%),var(--giro-bg)!important}.app-shell[data-page="achievements"] .urban-title h1{color:var(--giro-pink)}.app-shell[data-page="achievements"] .progress span,.app-shell[data-page="achievements"] .metric .bar span{background:linear-gradient(90deg,#d71f67,#f54a91)!important}.app-shell[data-page="achievements"] .reward{background:#111518!important;border:1px solid #343a3f!important;color:#fff!important}.app-shell[data-page="achievements"] .reward.done{border-color:#c62f6c!important}.app-shell[data-page="achievements"] .notice{border-color:#732441!important;background:#25111a!important}.app-shell[data-page="achievements"] .bottom-nav .nav-btn.active{color:var(--giro-pink)!important}
/* Rede GIRO — laranja */
.app-shell[data-page="network"]{--area-accent:var(--giro-orange);background:radial-gradient(circle at 0 40%,#4a2700 0,transparent 36%),var(--giro-bg)!important}.app-shell[data-page="network"] .urban-title h1{color:var(--giro-orange)}.app-shell[data-page="network"] .bottom-nav .nav-btn.active{color:var(--giro-orange)!important}.network-score{border-color:#6e4415!important}.network-score-number{color:var(--giro-orange)!important}.network-job{border:1px solid #4a4136!important;border-left:1px solid #4a4136!important}.network-job .primary{background:linear-gradient(90deg,#ff9410,#ffad23)!important;color:#171006!important;box-shadow:0 8px 24px #ff9b1933!important}.network-job .profit{color:var(--giro-orange)!important}
/* GIA — roxo */
.gia-overlay{background:rgba(2,3,5,.92)!important}.gia-overlay .gia-panel{background:radial-gradient(circle at 20% 12%,#351052 0,transparent 27%),linear-gradient(155deg,#0b0d10,#060709 72%)!important;border:1px solid #573269!important;color:#fff!important}.gia-overlay .gia-orb{background:radial-gradient(circle,#cc6bff 0,#711ba5 45%,#1c0828 72%)!important;border-color:#c468ff!important;box-shadow:0 0 20px #9b32db,0 0 55px #7d16ba88!important}.gia-overlay .gia-kicker,.gia-overlay .gia-command-list b{color:var(--giro-purple)!important}.gia-overlay .gia-actions .primary{background:linear-gradient(100deg,#8c2bcb,#c054ff)!important;border-color:#d482ff!important}.gia-overlay .gia-actions .secondary,.gia-overlay .gia-live-status,.gia-overlay .gia-heard,.gia-overlay .gia-command-list,.gia-overlay .gia-toggle{background:#111318!important;border-color:#3a3040!important;color:#e9e2ed!important}.gia-overlay .gia-dot.on{background:#c65dff!important;box-shadow:0 0 14px #b64cf2!important}
/* Segurança / SOS — verde com ação vermelha */
.sos-overlay{background:radial-gradient(circle at 0 45%,#073d12 0,transparent 38%),rgba(2,5,3,.96)!important}.sos-panel{background:linear-gradient(155deg,#0d1210,#080b09)!important;color:#fff!important;border:1px solid #29432e!important;border-radius:26px 26px 0 0!important}.sos-head small{color:var(--giro-green)!important}.sos-head button{background:#151a17!important;color:#fff!important}.sos-warning{background:#171214!important;border-color:#6b282d!important;color:#eee!important}.sos-safe{background:#0d2412!important;border:1px solid #265d31!important;color:#fff!important}.sos-panel>.danger{min-height:72px!important;background:radial-gradient(circle,#ff363c,#c70c13)!important;border:1px solid #ff5960!important;color:#fff!important;box-shadow:0 0 0 9px #e10f1622,0 0 28px #e10f1666!important}.sos-giro-fab{background:#121714!important;border:1px solid #3d6545!important;color:#55d960!important;box-shadow:0 8px 24px #0008!important}
/* Proximidade */
.nearby-hero{background:radial-gradient(circle at 100% 20%,#123b74,transparent 50%),linear-gradient(145deg,#11161c,#0b0f13)!important;border:1px solid #315d91!important}.nearby-hero small{color:var(--giro-blue)!important}.nearby-summary span,.nearby-driver,.nearby-privacy{background:#111518!important;border-color:#343a3f!important;color:#9fa5aa!important}.nearby-summary b,.nearby-driver b{color:#fff!important}.nearby-driver.best{border-color:var(--giro-blue)!important;background:#101b2b!important}.nearby-driver.best .nearby-rank{background:var(--giro-blue)!important;color:#fff!important}.nearby-driver>strong{color:#65a0ff!important}.nearby-privacy p{color:#9fa5aa!important}
@media(max-width:390px){.urban-title h1,.admin-header h1{font-size:22px!important}.content{padding-left:12px;padding-right:12px}.admin-kpis .card b{font-size:31px!important}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Composição fiel das telas de referência */
.admin-company-picker{display:grid;grid-template-columns:1fr auto;gap:4px;background:linear-gradient(145deg,#15191c,#0e1214);border:1px solid #353c41;border-radius:16px;padding:15px 17px;margin-bottom:14px}.admin-company-picker small{grid-column:1;color:#aeb3b7}.admin-company-picker b{font-size:19px}.admin-company-picker span{grid-column:2;grid-row:1/3;align-self:center;font-size:25px}.admin-overview{padding:15px!important}.admin-overview>h2,.admin-driver-summary>h2{display:flex;align-items:center;gap:9px;font-size:17px;margin:0 0 14px}.admin-overview>h2 svg,.admin-driver-summary>h2 svg{color:var(--giro-blue)}.admin-overview .admin-kpis{margin:0}.admin-overview .admin-kpis .card:nth-child(2) b{color:var(--giro-green)}.admin-overview .admin-kpis .card:nth-child(3) b{color:var(--giro-orange)}.admin-overview .admin-kpis .card:nth-child(4) b{color:var(--giro-red)}.admin-driver-summary{margin-top:14px}.admin-driver-summary>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.admin-driver-summary>div>span{background:#13181b;border:1px solid #343b40;border-radius:13px;padding:14px 8px;text-align:center}.admin-driver-summary span b,.admin-driver-summary span small{display:block}.admin-driver-summary span b{font-size:28px;color:var(--giro-blue)}.admin-driver-summary span:first-child b{color:var(--giro-green)}.admin-driver-summary span:nth-child(2) b{color:var(--giro-orange)}
.gia-overlay{place-items:stretch center!important}.gia-overlay .gia-panel{width:min(100%,540px)!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;padding:calc(26px + env(safe-area-inset-top)) 18px calc(100px + env(safe-area-inset-bottom))!important;overflow:auto!important}.gia-overlay .gia-panel>h2{font-size:27px;margin:5px 0;color:var(--giro-purple)!important}.gia-overlay .gia-lead{font-size:15px!important;line-height:1.55;color:#c9c3cd!important}.gia-overlay .gia-lead b{font-size:19px;color:#fff}.gia-quick-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.gia-quick-prompts button{background:#101317;border:1px solid #404348;border-radius:999px;color:#f1edf4;padding:10px 14px;font-size:12px}.gia-next-delivery{background:linear-gradient(145deg,#15181c,#0c0f12);border:1px solid #373d41;border-radius:18px;padding:15px;margin:10px 0}.gia-next-delivery small{color:var(--giro-purple)}.gia-next-delivery h3{font-size:25px;margin:8px 0;border-bottom:1px solid #30353a;padding-bottom:8px}.gia-next-delivery>div:not(.row){display:grid;gap:3px}.gia-next-delivery>.row:last-child{border-top:1px solid #30353a;margin-top:10px;padding-top:10px;font-weight:900}.gia-talk-orb{width:112px;height:112px;border-radius:50%;margin:18px auto 10px!important;display:grid!important;place-items:center;background:radial-gradient(circle,#6f208e,#260a35)!important;border:2px solid #c65dff!important;color:#fff!important;box-shadow:0 0 0 10px #8e2dbf1c,0 0 32px #9b35cc88!important}.gia-talk-orb svg{width:40px;height:40px}.gia-talk-orb span{position:absolute;margin-top:150px;white-space:nowrap;font-size:13px}.gia-overlay .gia-live-status{margin-top:14px}.gia-overlay .gia-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gia-overlay .gia-actions button{margin:0!important}.gia-overlay .gia-command-list{margin-top:12px}
.admin-order{flex-wrap:wrap}.admin-order>.company-tracking-share{flex:1 0 100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;border-color:#2f78df!important;color:#72a9ff!important}.company-tracking-share .ui-icon{width:18px;height:18px}
