/* Painel de espera do motorista. Não altera a tela operacional da corrida. */
#viewApp { --amarelo:#dfb87a; --carvao:#20201e; --creme-fraco:#b9b8ae; padding-top:env(safe-area-inset-top); }
#viewApp .app-topo { min-height:60px; }
#viewApp .taxi-marca { color:#f3d5a4; }
#viewApp .taxi-logo { border:1px solid #dfb87a; }
#viewApp .taxi-faixa { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:9px 10px; gap:7px 10px; min-height:58px; border:1px solid #ffffff12; border-radius:16px; background:linear-gradient(120deg,#292a27,#1d1e1c); box-shadow:none; }
#viewApp .painel-identidade { min-width:0; }
#viewApp .taxi-faixa strong { font-size:18px; line-height:1.15; }
#viewApp .taxi-faixa small { margin-top:1px; font-size:10px; }
.painel-conexao { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; min-width:85px; color:#6ae49b; font-size:12px; font-weight:800; }
.painel-conexao { flex-direction:row; justify-content:flex-end; min-height:14px; gap:5px; font-size:8px; margin:2px 3px -8px; }
.painel-conexao .taxi-sinal { width:5px !important; height:5px !important; box-shadow:none; }
.painel-toggle { min-height:44px; align-self:end; padding:7px 12px; border-radius:999px; border:1px solid #dfb87a66; background:#dfb87a; color:#171916; font-weight:800; font-size:11px; cursor:pointer; white-space:nowrap; }
.painel-toggle[aria-pressed="true"] { background:#221f1b; color:#f0c989; }
.painel-toggle:disabled { opacity:.55; cursor:wait; }
.painel-toggle:focus-visible,.fila-veiculo-escolha select:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.fila-veiculo-escolha { grid-column:1; display:grid; gap:3px; min-width:0; }
.fila-veiculo-escolha span { color:#aaa99f; font-size:8px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.fila-veiculo-escolha select { width:100%; min-height:40px; border:1px solid #ffffff24; border-radius:10px; padding:6px 28px 6px 9px; background:#171916; color:#f6f2e8; font:inherit; font-size:11px; }
.fila-resumo { display:grid; grid-template-columns:1fr 1fr; gap:5px 12px; margin-top:7px; padding:9px 11px; border:1px solid #dfb87a30; border-radius:13px; background:#1d1e1bcc; }
.fila-resumo div { min-width:0; }
.fila-resumo strong,.fila-resumo span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fila-resumo strong { color:#f3d5a4; font-size:12px; }
.fila-resumo span { color:#b9b8ae; font-size:9px; line-height:1.5; }
.fila-resumo > small { grid-column:1/-1; color:#a8a79e; font-size:9px; line-height:1.3; }
.fila-grace { grid-column:1/-1; margin:0; padding:7px 9px; border-radius:9px; background:#d9913a22; color:#f4c47e; font-size:10px; font-weight:700; }
#statusDisponibilidade { display:block; color:#71e6a0; font-size:9px; font-weight:800; margin-top:1px; letter-spacing:.25px; text-transform:uppercase; }
#statusDisponibilidade.pausado { color:#efaaa3; }
.painel-conexao .taxi-sinal { width:12px; height:12px; }
.painel-conexao.desatualizado { color:#e6bb7e; }
.painel-conexao.desatualizado .taxi-sinal { background:#e6bb7e; box-shadow:none; }
.painel-resumo { margin-top:10px; border:1px solid #dfb87a33; border-radius:15px; overflow:hidden; background:linear-gradient(130deg,#23231f,#1b1c1a); }
.painel-titulo { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 13px 7px; }
.painel-titulo h2 { margin:0; color:#dfb87a; font-size:9px; letter-spacing:1.15px; text-transform:uppercase; }
.painel-titulo > span { color:#aaa99f; font-size:9px; }
.painel-metricas { display:grid; grid-template-columns:1.2fr 1fr; padding:0 13px 7px; }
.painel-metricas > div + div { padding-left:13px; border-left:1px solid #ffffff15; }
.painel-metricas span { display:block; color:#c8c7bd; font-size:10px; }
.painel-metricas strong { display:block; margin-top:2px; color:#faf8f2; font-size:23px; font-weight:800; line-height:1.1; letter-spacing:-.6px; font-variant-numeric:tabular-nums; }
.painel-legenda { display:block; color:#afaea4; font-size:9px; line-height:1.35; }
.painel-resumo > .painel-legenda { padding:0 13px 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.painel-mapa { position:relative; height:112px; overflow:hidden; background:#1d2b31; border-top:1px solid #ffffff08; }
.painel-mapa svg { width:100%; height:100%; display:block; }
.painel-mapa-nome { position:absolute; top:11px; left:13px; color:#e7ece7; font-size:14px; font-weight:800; text-shadow:0 1px 5px #000; pointer-events:none; }
.painel-mapa-nome small { display:block; font-size:8px; font-weight:400; }
.painel-mapa-legenda-corrida { position:absolute; left:9px; bottom:5px; display:flex; align-items:center; gap:4px; padding:2px 5px; border-radius:8px; background:#17201dcc; color:#f6f2e8; font-size:8px; font-weight:700; }
.painel-mapa-legenda-corrida[hidden] { display:none; }
.painel-mapa-legenda-corrida i,.painel-mapa-legenda-corrida b { display:inline-block; width:7px; height:7px; border-radius:50%; }
.painel-mapa-legenda-corrida i { background:#f5b91e; }
.painel-mapa-legenda-corrida b { background:#f6f2e8; border:1px solid #171916; }
#btnLocalizarPainel { position:absolute; right:9px; top:9px; width:40px; height:40px; border:1px solid #dabb8444; background:#182321e8; color:#e9c790; border-radius:11px; font-size:20px; cursor:pointer; }
.painel-credito { position:absolute; right:6px; bottom:4px; padding:1px 4px; color:#bdc9c9; background:#1d2b31bd; font-size:9px; }
.painel-status { display:flex; align-items:center; justify-content:center; gap:6px; margin:0; padding:7px 10px; text-align:center; color:#d3d6cc; font-size:10px; min-height:32px; }
.painel-status::before { content:''; flex:0 0 6px; height:6px; border-radius:100%; background:#dfb87a; }
.painel-chamadas .taxi-secao-titulo { margin-top:10px; margin-bottom:6px; }
.painel-chamadas .taxi-vazio { border:1px solid #ffffff16; padding:10px 12px; border-radius:12px; text-align:left; font-size:11px; line-height:1.35; background:#ffffff03; }
.painel-atalhos { display:grid; grid-template-columns:1fr 1.15fr; gap:8px; margin:10px 0 7px; }
.painel-atalhos button { display:flex; align-items:center; justify-content:center; gap:5px; padding:6px; min-height:42px; border-radius:10px; border:1px solid #dfb87a40; background:#dfb87a06; color:#ece4d5; font-size:10px; font-weight:700; cursor:pointer; }
.painel-atalhos button span { color:#dfb87a; font-size:16px; }
.painel-demanda { border:1px solid #dfb87a30; border-radius:16px; padding:16px; margin-bottom:14px; }
.painel-demanda h2 { font-size:16px; margin:0; }
.painel-demanda p { color:#b9b8ae; font-size:12px; }
.painel-demanda article { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #ffffff12; font-size:13px; }
.painel-avisos-link { border:0; background:none; color:#c1b89d; padding:8px 0; min-height:44px; width:100%; text-align:center; font-size:12px; cursor:pointer; }
.painel-agendadas { margin-top:10px; }
.oferta-fila { position:relative; }
.oferta-fila-cabecalho { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.oferta-fila-modo { color:#f3d5a4; font-size:10px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.oferta-fila-tempo { min-width:48px; padding:5px 8px; border-radius:999px; background:#f5b91e; color:#171916; text-align:center; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; }
.oferta-fila-tempo.encerrada { background:#6e6d67; color:#fff; }
.oferta-fila-rota { display:grid; gap:8px; margin:0 0 10px; }
.oferta-fila-rota div { padding-left:12px; border-left:3px solid #dfb87a; }
.oferta-fila-rota span,.oferta-fila-rota strong { display:block; }
.oferta-fila-rota span { color:#aaa99f; font-size:9px; font-weight:800; text-transform:uppercase; }
.oferta-fila-rota strong { color:#f6f2e8; font-size:13px; }
.oferta-fila-acoes { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.oferta-fila-acoes button { min-height:50px; border-radius:13px; border:1px solid #dfb87a66; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.oferta-fila-acoes .principal { background:#dfb87a; color:#171916; }
.oferta-fila-acoes .recusar { background:transparent; color:#e8dcca; }
.oferta-fila-acoes button:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.oferta-fila-acoes button:disabled { opacity:.55; cursor:wait; }
.oferta-fila-regra { display:block; margin-top:7px; color:#b9b8ae; font-size:10px; line-height:1.3; text-align:center; }
.agendada-fila { padding:10px 12px; border:1px solid #ffffff16; border-radius:12px; background:#ffffff04; }
.agendada-fila strong,.agendada-fila span { display:block; }
.agendada-fila strong { color:#eee5d6; font-size:12px; }
.agendada-fila span { color:#aaa99f; font-size:10px; }
.op-cancelar-corrida { width:100%; min-height:44px; color:#efaaa3; border-color:#d97b7466; }
#viewApp .taxi-nav { grid-template-columns:repeat(3,minmax(0,1fr)); background:#171916f2; padding-top:12px; }
#viewApp .taxi-nav button { font-size:11px; color:#c9ae83; }
#viewApp .taxi-nav button.ativo { color:#f3d5a4; }
#viewApp .taxi-nav button.ativo svg { filter:drop-shadow(0 0 6px #dfb87a66); }
#viewApp .taxi-nav button svg { width:26px; height:26px; }
#viewApp .taxi-notificacao { background:#252621; border:1px solid #dfb87a40; box-shadow:none; }
#viewApp .taxi-notificacao-texto strong { color:#edd3aa; }
#viewApp .taxi-notificacao-texto span { color:#b9b8ae; }
#viewApp .taxi-btn-escuro { min-height:44px; }
#viewApp .taxi-filtros button { min-height:44px; }
.painel-radar { transform-box:fill-box; transform-origin:center; animation:painel-radar 3s ease-out infinite; }
@keyframes painel-radar { from { opacity:.7; transform:scale(.5); } to { opacity:0; transform:scale(1.8); } }
@media (prefers-reduced-motion:reduce) { .painel-radar { animation:none; opacity:.2; } }
@media (max-width:350px) { #viewApp { padding-left:12px; padding-right:12px; } #viewApp .taxi-nav { margin:0 -12px; } .painel-metricas strong { font-size:21px; } .painel-atalhos button { font-size:9px; } .painel-conexao { min-width:64px; } #viewApp .taxi-faixa strong { font-size:16px; } .fila-resumo { grid-template-columns:1fr; } .fila-resumo > small,.fila-grace { grid-column:1; } }
/* Aceite: estado imediato, confirmação real e movimento acessível. */
.taxi-aceite { margin-top: 16px; }
.taxi-btn-aceitar { width: 100%; min-height: 56px; border: 1px solid #d8bb82; border-radius: 14px; background: #d6b57d; color: #171916; font: inherit; font-weight: 750; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; transition: transform .16s, background .2s; }
.taxi-btn-aceitar.pronto:not(:disabled) { animation: taxi-aceite-convite 2.4s ease-in-out infinite; }
.taxi-btn-aceitar:active:not(:disabled) { transform: scale(.97); }
.taxi-aceite-aviso { display:block; margin-top:6px; color:#c9c2b7; font-size:10px; line-height:1.25; text-align:center; }
.taxi-btn-aceitar:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.taxi-btn-aceitar:disabled { cursor: wait; opacity: .75; }
.taxi-btn-aceitar.enviando,.taxi-btn-aceitar.verificando { opacity: 1; background: #a88b55; }
.taxi-btn-aceitar.enviando::before,.taxi-btn-aceitar.verificando::before { content: ''; width: 19px; height: 19px; border: 2px solid #17191640; border-top-color: #171916; border-radius: 50%; animation: taxi-aceite-giro .75s linear infinite; }
.taxi-btn-aceitar.sucesso { background: #53bf7e; border-color: #53bf7e; opacity: 1; }
.taxi-btn-aceitar.sucesso::before { content: '✓'; font-size: 24px; }
@keyframes taxi-aceite-giro { to { transform: rotate(360deg); } }
@keyframes taxi-aceite-convite { 0%,100% { box-shadow: 0 0 0 0 #d6b57d00; } 50% { box-shadow: 0 0 0 5px #d6b57d20; } }
@media (prefers-reduced-motion: reduce) { .taxi-btn-aceitar,.taxi-btn-aceitar::before { animation: none !important; transition: none; } }
.op-resumo-rota { position:absolute;z-index:450;left:16px;right:74px;top:calc(76px + env(safe-area-inset-top));padding:12px 14px;border-radius:14px;background:rgba(28,27,23,.95);color:#f8f1de;box-shadow:0 3px 12px #0003;border-left:4px solid #4393f4; }
.op-resumo-rota strong,.op-resumo-rota span { display:block;line-height:1.4; }
.op-resumo-rota strong { font-size:13px; }
.op-resumo-rota span { margin-top:4px;font-size:12px;color:#e4d6b7; }
.op-resumo-rota button { margin-top:8px;min-height:44px;border:0;border-radius:10px;padding:8px 12px;background:#f5b91e;color:#181813;font:inherit;font-size:12px;font-weight:700;cursor:pointer; }
.op-resumo-rota button:focus-visible { outline:3px solid #fff;outline-offset:3px; }
