/* =========================================================
   FRETE+PRO 2.0 - DARK NAVY / AMBER
   Camada visual: não altera regras operacionais.
========================================================= */
:root{
  --pro-bg:#08111f;
  --pro-sidebar:#0b1422;
  --pro-surface:#101c2d;
  --pro-surface-2:#15243a;
  --pro-surface-3:#1b2d45;
  --pro-border:#263950;
  --pro-text:#f4f7fb;
  --pro-muted:#94a3b8;
  --pro-accent:#ff9f1c;
  --pro-accent-2:#ffb84d;
  --pro-blue:#38bdf8;
  --pro-green:#22c55e;
  --pro-red:#ef4444;
  --pro-shadow:0 18px 45px rgba(0,0,0,.22);
}

html{background:var(--pro-bg)}
body{background:radial-gradient(circle at 85% -10%,rgba(56,189,248,.08),transparent 30%),var(--pro-bg);color:var(--pro-text)}
.app,.main{background:transparent}
.sidebar{width:258px;background:linear-gradient(180deg,#0b1422 0%,#09111d 100%);border-right:1px solid var(--pro-border);box-shadow:10px 0 35px rgba(0,0,0,.16);padding:22px 15px}
.logo{font-size:23px;padding:4px 10px 28px;letter-spacing:-.02em}
.logo-plus{color:var(--pro-accent)}
.logo-pro{background:var(--pro-accent)!important;color:#1d1406!important;border:1px solid rgba(255,255,255,.15);box-shadow:0 5px 16px rgba(255,159,28,.18)}
nav{gap:7px}
.menu-item{color:#aebbd0;border:1px solid transparent;border-radius:11px;padding:12px 13px;transition:.18s ease}
.menu-item:hover{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.06);color:#fff;transform:translateX(2px)}
.menu-item.active{background:linear-gradient(135deg,rgba(255,159,28,.18),rgba(255,184,77,.08));border-color:rgba(255,159,28,.34);color:#fff;box-shadow:inset 3px 0 0 var(--pro-accent),0 8px 20px rgba(0,0,0,.12)}
.menu-item.active span{font-weight:700}
.sidebar-bottom{border-top:1px solid var(--pro-border);padding-top:14px;margin-top:auto}

.topbar{background:rgba(10,20,34,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--pro-border);padding:20px 32px;min-height:88px}
.topbar h1{color:var(--pro-text);font-size:26px;letter-spacing:-.03em}
.topbar p,.user small{color:var(--pro-muted)}
.user-avatar{background:linear-gradient(135deg,var(--pro-accent),#f97316);color:#15100a;box-shadow:0 8px 22px rgba(255,159,28,.25)}

.content{background:transparent!important;padding:28px 32px!important}
.cards{gap:16px!important}
.card,.painel,.table-container,.modal-content,.form-card,.section-card,.rel-card,.dashboard3-card,.dashboard-card{
  background:linear-gradient(180deg,rgba(21,36,58,.96),rgba(16,28,45,.96))!important;
  color:var(--pro-text)!important;
  border:1px solid var(--pro-border)!important;
  box-shadow:var(--pro-shadow)!important;
}
.card{border-radius:16px!important;position:relative;overflow:hidden}
.card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--pro-accent),transparent);opacity:.9}
.card p,.painel p,.section-header p,.card small,.painel small{color:var(--pro-muted)!important}
.card h2,.painel h2,.section-header h2{color:var(--pro-text)!important}
.card-icon{filter:saturate(.9)}
.card-pos-venda.tem-pendencia{border-color:rgba(239,68,68,.55)!important;box-shadow:0 0 0 1px rgba(239,68,68,.12),var(--pro-shadow)!important}

.section-header{color:var(--pro-text)}
table{color:var(--pro-text);background:transparent!important}
thead{background:#0d1929!important}
th{color:#cbd5e1!important;border-color:var(--pro-border)!important}
td{border-color:var(--pro-border)!important;color:#e6edf7!important}
tbody tr{background:transparent!important;transition:.15s ease}
tbody tr:hover{background:rgba(255,255,255,.035)!important}

input,select,textarea{
  background:#0b1727!important;color:var(--pro-text)!important;border:1px solid #31455f!important;border-radius:10px!important;outline:none;transition:.16s ease
}
input::placeholder,textarea::placeholder{color:#64748b!important}
input:focus,select:focus,textarea:focus{border-color:var(--pro-accent)!important;box-shadow:0 0 0 3px rgba(255,159,28,.12)!important}
label{color:#cbd5e1!important}
option{background:#0b1727;color:#fff}

.btn-primary,.btn-status,.btn-salvar,.btn-novo,.btn-aplicar,.pro-actions button:first-child{
  background:linear-gradient(135deg,var(--pro-accent),#f97316)!important;color:#171006!important;border:0!important;box-shadow:0 8px 20px rgba(255,159,28,.20)!important;font-weight:800!important
}
.btn-primary:hover,.btn-status:hover,.btn-salvar:hover{filter:brightness(1.08);transform:translateY(-1px)}
button{transition:.16s ease}
.btn-secondary,.btn-cancelar,.btn-voltar{background:#17263a!important;color:#e2e8f0!important;border:1px solid #31455f!important}

.status{border:1px solid transparent!important;font-weight:800!important}
.status-aguardando,.status-aguardando_carregamento,.status-aguardando_fechamento{background:rgba(148,163,184,.13)!important;color:#cbd5e1!important;border-color:rgba(148,163,184,.22)!important}
.status-carregando,.status-carregado{background:rgba(255,159,28,.14)!important;color:#ffc76f!important;border-color:rgba(255,159,28,.30)!important}
.status-transito,.status-em_transito{background:rgba(56,189,248,.13)!important;color:#7dd3fc!important;border-color:rgba(56,189,248,.28)!important}
.status-entregue{background:rgba(34,197,94,.13)!important;color:#86efac!important;border-color:rgba(34,197,94,.28)!important}
.status-problema,.status-cancelado{background:rgba(239,68,68,.13)!important;color:#fca5a5!important;border-color:rgba(239,68,68,.28)!important}

/* ANTT / CIOT */
.pro-hero{background:linear-gradient(135deg,#111f33 0%,#132944 60%,#3a2a13 130%)!important;border:1px solid #31455f;box-shadow:var(--pro-shadow);position:relative;overflow:hidden}
.pro-hero:after{content:"PRO";position:absolute;right:18px;top:12px;font-size:72px;font-weight:900;color:rgba(255,159,28,.055);letter-spacing:-.08em}
.pro-card{background:linear-gradient(180deg,#15243a,#101c2d)!important;border:1px solid var(--pro-border)!important;color:var(--pro-text)!important;box-shadow:0 12px 28px rgba(0,0,0,.15)}
.pro-card small,.pro-note{color:var(--pro-muted)!important}
.pro-table th,.pro-table td{border-color:var(--pro-border)!important}
.pro-ok{background:rgba(34,197,94,.14)!important;color:#86efac!important}
.pro-warn{background:rgba(255,159,28,.14)!important;color:#ffc76f!important}
.pro-bad{background:rgba(239,68,68,.14)!important;color:#fca5a5!important}

/* Links */
a{color:#7dd3fc}

/* Scrollbar */
*{scrollbar-width:thin;scrollbar-color:#31455f #0b1422}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0b1422}
::-webkit-scrollbar-thumb{background:#31455f;border-radius:20px;border:2px solid #0b1422}

/* Mobile */
@media(max-width:900px){.sidebar{width:220px}.content{padding:22px 18px!important}.topbar{padding:18px}}
@media(max-width:700px){.sidebar{width:78px;padding:16px 10px}.logo span,.menu-item span{display:none}.logo{justify-content:center;padding-left:0;padding-right:0}.menu-item{justify-content:center;font-size:18px}.topbar{padding:16px}.content{padding:18px 12px!important}}

/* =========================================================
   FRETE+PRO 2.1 - CONTRASTE TOTAL
   Corrige componentes legados que ainda tinham fundo claro
   com texto herdado do tema DARK.
========================================================= */

/* Superfícies legadas */
.relatorios-filtros,
.relatorio-card,
.relatorio-painel,
.representantes-card,
.representantes-busca,
.posvenda-card,
.posvenda-arquivo-card,
.nfe-nota-card,
.modal,
.observacao-box,
.empty-box,
.loading-box {
  background: linear-gradient(180deg,var(--pro-surface-2),var(--pro-surface)) !important;
  color: var(--pro-text) !important;
  border-color: var(--pro-border) !important;
}

/* Textos dentro de superfícies legadas */
.relatorios-filtros h1,
.relatorios-filtros h2,
.relatorios-filtros h3,
.relatorio-card h1,
.relatorio-card h2,
.relatorio-card h3,
.relatorio-painel h1,
.relatorio-painel h2,
.relatorio-painel h3,
.representantes-card h1,
.representantes-card h2,
.representantes-card h3,
.posvenda-card h1,
.posvenda-card h2,
.posvenda-card h3,
.posvenda-arquivo-card h1,
.posvenda-arquivo-card h2,
.posvenda-arquivo-card h3,
.nfe-nota-card h1,
.nfe-nota-card h2,
.nfe-nota-card h3,
.modal h1,
.modal h2,
.modal h3,
.empty-box,
.loading-box {
  color: var(--pro-text) !important;
}

.relatorios-filtros p,
.relatorio-card p,
.relatorio-painel p,
.representantes-card p,
.posvenda-card p,
.posvenda-arquivo-card p,
.nfe-nota-card p,
.modal p,
.relatorios-filtros small,
.relatorio-card small,
.relatorio-painel small,
.representantes-card small,
.posvenda-card small,
.nfe-nota-card small {
  color: var(--pro-muted) !important;
}

/* Campos específicos que tinham fundo branco */
.filtro-grupo input,
.representantes-busca,
.representantes-filtros select,
.posvenda-filtros input,
.posvenda-filtros select,
.auth-campo input,
.campo input,
.campo select,
.campo textarea {
  background: #0b1727 !important;
  color: #f8fafc !important;
  border-color: #31455f !important;
}

/* Conteúdo e linhas internas */
.relatorio-card *,
.relatorio-painel *,
.representantes-card *,
.posvenda-card *,
.posvenda-arquivo-card *,
.nfe-nota-card * {
  border-color: var(--pro-border);
}

/* Alertas claros convertidos para tons dark legíveis */
.comprovacao-status-box.pendente,
.comprovacao-pendente,
.observacao-box {
  background: rgba(245,158,11,.11) !important;
  color: #fde68a !important;
  border-color: rgba(245,158,11,.32) !important;
}

.entrega-problema-badge,
.ocorrencia-admin {
  background: rgba(249,115,22,.12) !important;
  color: #fdba74 !important;
  border-color: rgba(249,115,22,.34) !important;
}

.btn-representante-status.desativar,
.auth-mensagem-erro,
.card-pos-venda.tem-pendencia .card-icon {
  background: rgba(239,68,68,.12) !important;
  color: #fca5a5 !important;
  border-color: rgba(239,68,68,.30) !important;
}

.card-pos-venda.tem-pendencia {
  background: linear-gradient(180deg,rgba(71,25,32,.62),rgba(29,28,42,.96)) !important;
}

/* Links/botões em cards */
.relatorio-card a,
.relatorio-painel a,
.representantes-card a,
.posvenda-card a,
.nfe-nota-card a {
  color: #7dd3fc !important;
}

/* Garantia para tabelas internas */
.table-container table,
.relatorio-painel table,
.relatorio-card table,
.nfe-nota-card table {
  background: transparent !important;
  color: var(--pro-text) !important;
}

/* Modal e cabeçalhos internos */
.modal-header,
.modal-body,
.modal-footer {
  background: transparent !important;
  color: var(--pro-text) !important;
  border-color: var(--pro-border) !important;
}

/* Mantém o login legível mesmo no tema escuro */
.auth-overlay {
  background: rgba(3,8,18,.88) !important;
  backdrop-filter: blur(8px);
}
.auth-card {
  background: linear-gradient(180deg,#15243a,#0f1b2c) !important;
  color: var(--pro-text) !important;
  border-color: var(--pro-border) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.45) !important;
}
.auth-card h1,.auth-card h2,.auth-card h3,.auth-card label {
  color: var(--pro-text) !important;
}
.auth-card p,.auth-card small {
  color: var(--pro-muted) !important;
}

/* Melhor contraste de texto geral */
.main strong,.content strong,.painel strong,.card strong {
  color: #f8fafc;
}
.main .muted,.content .muted {
  color: var(--pro-muted) !important;
}
