/* ============================================================
   GBS MOBY - TEMA UNIFICADO
   Mesmo visual da tela de entrada do cliente (index.html)
   Este arquivo e carregado DEPOIS do estilo de cada pagina,
   por isso ele manda no visual.
   Para mudar a cor de tudo, mexa so aqui.
   ============================================================ */

:root{
  --verde:#2ee06a;
  --verde-escuro:#1e8536;
  --texto:#e6f0ea;
  --texto-suave:#cfe0d6;
  --texto-fraco:#8fa89a;
  --borda:rgba(46,224,106,.22);
}

/* ---------- FUNDO ---------- */
body{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important;
  margin:0 !important;
  min-height:100vh;
  color:var(--texto) !important;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(46,224,106,0.13) 0%, transparent 65%),
    radial-gradient(ellipse 60% 40% at 15% 75%, rgba(46,224,106,0.06) 0%, transparent 60%),
    linear-gradient(165deg,#0d1310 0%,#141c17 40%,#0a100c 100%) !important;
  background-attachment:fixed !important;
}

/* rachaduras verdes de fundo */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;opacity:.5;z-index:0;
  background:
    linear-gradient(115deg,transparent 47.6%,rgba(46,224,106,.12) 48%,transparent 48.4%),
    linear-gradient(-70deg,transparent 61.6%,rgba(46,224,106,.09) 62%,transparent 62.4%),
    linear-gradient(160deg,transparent 28.7%,rgba(46,224,106,.07) 29%,transparent 29.3%);
}
body > *{position:relative;z-index:1}

/* ---------- CARTOES / CAIXAS ---------- */
.card, .card-login, .box, .caixa, .painel, .item, .corrida-item,
[style*="background:#fff"], [style*="background: #fff"],
[style*="background:white"], [style*="background: white"],
[style*="background:#ffffff"], [style*="background:#f4f6f8"],
[style*="background:#f8f9fa"],
/* qualquer fundo CLARO colado direto no HTML (azulzinho, cinza, creme...).
   So em caixas: botao e etiqueta colorida nao entram aqui. */
div[style*="background:#e"], div[style*="background: #e"],
div[style*="background:#f4"], div[style*="background:#f5"],
div[style*="background:#f6"], div[style*="background:#f7"],
div[style*="background:#f8"], div[style*="background:#f9"],
div[style*="background:#fa"], div[style*="background:#fb"],
div[style*="background:#fc"], div[style*="background:#fe"],
section[style*="background:#f"], section[style*="background:#e"]{
  background:linear-gradient(155deg,rgba(30,40,34,.92) 0%,rgba(18,26,21,.96) 100%) !important;
  border:1px solid var(--borda) !important;
  border-radius:16px !important;
  color:var(--texto) !important;
  box-shadow:0 14px 40px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* ---------- TEXTOS ---------- */
h1,h2,h3,h4{color:var(--texto) !important;letter-spacing:.2px}
h2{text-shadow:0 2px 12px rgba(46,224,106,.25)}
p, span, div, li, td, th, small, strong, b{color:inherit}
label{color:var(--texto-suave) !important;font-weight:700}
a{color:var(--verde) !important}
hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(46,224,106,.4),transparent)}

/* textos que estavam escuros de proposito */
[style*="color:#333"],[style*="color:#000"],[style*="color:#1e272e"],
[style*="color:#555"],[style*="color:#666"],[style*="color:#777"],
[style*="color: #333"],[style*="color: #666"]{
  color:var(--texto-suave) !important;
}

/* ---------- CAMPOS ---------- */
input, select, textarea{
  background:rgba(0,0,0,.4) !important;
  border:1px solid rgba(46,224,106,.25) !important;
  border-radius:11px !important;
  color:#fff !important;
  padding:13px 14px !important;
  font-size:1rem !important;
  outline:none;
  width:100%;
}
input::placeholder, textarea::placeholder{color:#5f7268 !important}
input:focus, select:focus, textarea:focus{
  border-color:var(--verde) !important;
  box-shadow:0 0 0 3px rgba(46,224,106,.15) !important;
}
input[type="checkbox"], input[type="radio"]{
  width:auto !important;accent-color:var(--verde);
}
select option{background:#141c17;color:#fff}

/* ---------- BOTOES ---------- */
button, .btn, input[type="submit"], input[type="button"]{
  border:none !important;
  border-radius:12px !important;
  font-weight:900 !important;
  letter-spacing:.3px;
  cursor:pointer;
  padding:14px !important;
  color:#06210f !important;
  background:linear-gradient(135deg,var(--verde),var(--verde-escuro)) !important;
  box-shadow:0 6px 20px rgba(46,224,106,.30) !important;
}
button:active,.btn:active{transform:scale(.985)}

/* TODO botao usa a mesma fonte preta, inclusive os que tinham cor propria */
button, .btn, input[type="submit"], input[type="button"],
[style*="background:#17a2b8"],[style*="background:#6f42c1"],
[style*="background:#dc3545"],[style*="background:#ff9800"],
[style*="background:#ffc107"],[style*="background:#007bff"],
[style*="background:#6c757d"],[style*="background:#fd7e14"]{
  color:#06210f !important;
  font-weight:900 !important;
  font-size:1.05rem !important;
  text-shadow:0 1px 0 rgba(255,255,255,.18) !important;
}

/* ---------- TABELAS ---------- */
table{width:100%;border-collapse:collapse;color:var(--texto) !important}
th{
  background:rgba(46,224,106,.14) !important;
  color:var(--verde) !important;
  font-weight:800;padding:11px 9px;text-align:left;
  border-bottom:1px solid var(--borda) !important;
}
td{padding:11px 9px;border-bottom:1px solid rgba(255,255,255,.07) !important}
tr:hover td{background:rgba(46,224,106,.05) !important}

/* ---------- LISTAS DE SUGESTAO DE ENDERECO ---------- */
#sugestoes, #sugestoesOrigem, .sugestoes, [id^="sugestoes"]{
  background:#141c17 !important;
  border:1px solid var(--borda) !important;
  border-radius:11px !important;
  color:var(--texto) !important;
  overflow:hidden;
}
.sugestao-item{
  padding:12px 14px !important;
  color:var(--texto-suave) !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
  cursor:pointer;
}
.sugestao-item:hover, .sugestao-item:active{background:rgba(46,224,106,.12) !important}

/* ---------- AVISOS E STATUS ---------- */
.aviso, .info, .alerta{
  background:rgba(46,224,106,.10) !important;
  border:1px solid var(--borda) !important;
  border-radius:11px !important;
  color:var(--texto-suave) !important;
  padding:12px !important;
}
.erro, .alerta-erro{
  background:rgba(220,53,69,.15) !important;
  border:1px solid rgba(220,53,69,.45) !important;
  color:#ff8f9a !important;
  border-radius:10px !important;
}
.sucesso, .ok{
  background:rgba(46,224,106,.14) !important;
  border:1px solid var(--borda) !important;
  color:var(--verde) !important;
  border-radius:10px !important;
}

/* ---------- MODAIS ---------- */
.modal, .overlay, [style*="position:fixed"][style*="rgba(0,0,0"]{
  background:rgba(4,8,6,.82) !important;
}

/* ---------- RODAPE ---------- */
.rodape, footer{color:var(--texto-fraco) !important;font-size:.78rem;text-align:center}

/* ===== CORRECAO: texto escuro dentro de cards brancos ===== */
.corrida, .corrida div, .corrida span {
  color: #1a1a1a !important;
}
.corrida .linha {
  font-size: 1rem !important;
  font-weight: 500 !important;
}
.corrida .linha a {
  color: #0a7d2e !important;
  font-weight: bold !important;
}
.corrida .rotulo {
  color: #333 !important;
  font-weight: bold !important;
}
.corrida .valor {
  color: #0a7d2e !important;
}
.status-box, .status-box div, .status-box span {
  color: #155724 !important;
}
.status-box.aguardando, .status-box.aguardando div, .status-box.aguardando span {
  color: #856404 !important;
}
.endereco, .endereco div, .info-item, .info-item div {
  color: #1a1a1a !important;
}
.endereco-label, .info-label {
  color: #555 !important;
}


/* ===== CORRECAO: texto legivel dentro dos cards brancos ===== */
.corrida, .corrida div, .corrida span, .corrida b {
  color: #1a1a1a !important;
}
.corrida .linha {
  font-size: 1rem !important;
  font-weight: 500 !important;
}
.corrida .linha a {
  color: #0a7d2e !important;
  font-weight: bold !important;
  text-decoration: underline !important;
}
.corrida .rotulo {
  color: #333 !important;
  font-weight: bold !important;
}
.corrida .valor {
  color: #0a7d2e !important;
  font-weight: bold !important;
}
.status-box, .status-box div, .status-box span {
  color: #155724 !important;
}
.status-box.aguardando, .status-box.aguardando div, .status-box.aguardando span {
  color: #856404 !important;
}
.endereco, .endereco div, .info-item, .info-item div {
  color: #1a1a1a !important;
}
.endereco-label, .info-label {
  color: #555 !important;
}


/* ===== REFORCO DE LEGIBILIDADE (v2) ===== */

/* Qualquer coisa dentro do card branco da corrida */
.corrida, .corrida * {
  color: #1a1a1a !important;
}
.corrida .linha {
  font-size: 1.02rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}
.corrida .linha a, .corrida a {
  color: #0a7d2e !important;
  font-weight: bold !important;
  text-decoration: underline !important;
}
.corrida .rotulo {
  color: #2b2b2b !important;
  font-weight: bold !important;
  font-size: .95rem !important;
}
.corrida .valor {
  color: #0a7d2e !important;
  font-weight: bold !important;
}
.corrida .tag {
  color: #6b5200 !important;
  font-weight: bold !important;
}
.corrida .tag-aceita {
  color: #0a5c1f !important;
}

/* Botoes nunca herdam a cor escura */
.corrida button, .corrida .btn,
button.btn-aceitar, button.btn-cheguei, button.btn-maps,
button.btn-waze, button.btn-finalizar {
  color: #ffffff !important;
}

/* Tela de acompanhamento do passageiro */
.status-box, .status-box * {
  color: #155724 !important;
}
.status-box.aguardando, .status-box.aguardando * {
  color: #7a5c00 !important;
}
.endereco, .endereco *, .info-item, .info-item * {
  color: #1a1a1a !important;
}
.endereco-label, .info-label {
  color: #4a4a4a !important;
  font-weight: bold !important;
}
.endereco-texto, .info-valor {
  color: #1a1a1a !important;
}
.status-box a, .endereco a {
  color: #0a7d2e !important;
  font-weight: bold !important;
}


/* ===== REFORCO 3: caixas claras da tela de pedir corrida ===== */

/* Caixa do valor calculado (fundo verde claro) */
.valor-box, .valor-box * {
  color: #155724 !important;
}
.valor-box strong {
  color: #0a5c1f !important;
  font-weight: bold !important;
}
.valor-box div {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

/* Caixas de sugestao de endereco (fundo cinza claro) */
.sug-box, .sug-box *,
#sugestoes, #sugestoes *,
#sugestoesOrigem, #sugestoesOrigem *,
.sugestao-item, .sugestao-item * {
  color: #1a1a1a !important;
}
.sugestao-item {
  font-weight: 500 !important;
}

/* Qualquer caixa de aviso clara */
.aviso-pix, .aviso-pix * {
  color: #7a5b00 !important;
}
.alerta-cadastro, .alerta-cadastro * {
  color: #721c24 !important;
}
.push-off, .push-off * {
  color: #721c24 !important;
}
.push-on, .push-on * {
  color: #155724 !important;
}

/* Botoes continuam com texto branco (menos o amarelo) */
button {
  color: #fff !important;
}
button[style*="#ffc107"], button[style*="ffc107"] {
  color: #333 !important;
}


/* ===== REFORCO 4: autocompletar e botoes ===== */

/* Caixa de sugestoes: fundo escuro COM texto claro */
.sug-box, #sugestoes, #sugestoesOrigem {
  background: #16251a !important;
  border: 1px solid #3a8f4a !important;
}
.sug-box, .sug-box *,
#sugestoes, #sugestoes *,
#sugestoesOrigem, #sugestoesOrigem *,
.sugestao-item, .sugestao-item * {
  color: #eaf6ec !important;
}
.sugestao-item {
  padding: 12px 10px !important;
  font-weight: 500 !important;
  font-size: .98rem !important;
  border-bottom: 1px solid #2a4a31 !important;
}
.sugestao-item:hover, .sugestao-item:active {
  background: #2e7d32 !important;
}

/* Todo botao com texto branco, sem excecao */
button, button * {
  color: #ffffff !important;
}


/* ===== GBS LEGIBILIDADE MAPA =====
   Botoes verdes que sao links (btn-wpp) recebiam o verde-claro da regra
   global de links e sumiam no proprio fundo. Texto escuro resolve. */
a.btn-wpp, a.btn-wpp *{color:#06210f !important;font-weight:900 !important}
#mapa-eta{color:#2ee06a !important}
#mapa-idade{color:#9db0a4 !important}

/* ===== GBS LIGEIRINHO PEDIDO CLIENTE (patch_066): legibilidade do card escuro no painel do motorista ===== */
/* O card do pedido de viagem usa fundo escuro proprio (#0f1f17), mas a
   regra ".corrida, .corrida *" mais acima neste arquivo forca texto quase
   preto (feita pra cards de fundo claro). Escopo restrito a esta classe
   especifica, sem alterar os cards antigos. */
.corrida-pedido-viagem .linha {
  color: #eaf6ec !important;
}

/* ===== REFORCO 5: caixa de resumo do valor fixo (tela de pedir corrida) =====
   .fixa-resumo-valor tem fundo verde claro (#e8f5e9) definido no proprio
   corrida.html, mas as linhas ".linha" nao tem cor de texto propria, entao
   herdavam o var(--texto) claro do body e ficavam ilegiveis (texto quase
   branco em fundo quase branco). So a linha ".total" tinha cor propria e
   por isso aparecia legivel. */
.fixa-resumo-valor, .fixa-resumo-valor * {
  color: #1a1a1a !important;
}
.fixa-resumo-valor .linha {
  font-weight: 500 !important;
}
.fixa-resumo-valor .total {
  color: #0a5c1f !important;
  font-weight: bold !important;
}

/* ===== REFORCO 6: calendario de corrida fixa (mensal/semanal) =====
   .fixa-calendario-dia tem fundo branco definido via classe no proprio
   corrida.html (nao via style inline), entao nao era pego pelas regras
   gerais de "caixa clara" deste tema. O numero do dia ficava sem cor
   propria e herdava o var(--texto) claro do body -> quase invisivel
   em cima do fundo branco. So os dias "selecionado" (fundo verde/azul
   escuro + color:#fff proprio) ficavam legiveis. */
.fixa-calendario-dia {
  color: #1a1a1a !important;
}
.fixa-calendario-dia.fora-mes,
.fixa-calendario-dia.passado {
  color: #999999 !important;
}
.fixa-calendario-dia.semanal-dia {
  color: #0d47a1 !important;
}
.fixa-calendario-dia.selecionado,
.fixa-calendario-dia.semanal-dia.selecionado {
  color: #ffffff !important;
}
