/* =====================================================================
   TEMA DE ALTO CONTRASTE - Expedicao / Bipagem
   ---------------------------------------------------------------------
   Carregado DEPOIS do <style> de cada pagina, entao vence no empate de
   especificidade sem precisar de !important (so onde o style="" inline
   obriga). Nao mexe no #tvMode: o modo TV tem paleta propria e precisa
   rodar no Chrome antigo da televisao.

   Regra da paleta: texto quase preto sobre branco, bordas visiveis de
   verdade (nao mais cinza-claro) e cores de status escuras o bastante
   para ler de longe, no meio da producao, com luz forte.
   ===================================================================== */

:root {
    /* fundo e texto */
    --bg-body: #EEF2F7;
    --bg-card: #FFFFFF;
    --text-main: #0B1220;   /* ~18:1 no branco */
    --text-muted: #334155;  /* ~10:1 no branco - antes era cinza fraco */
    --dark: #0B1220;

    /* bordas: o que mais faltava contraste */
    --border-color: #94A3B8;
    --border: #94A3B8;
    --border-forte: #475569;

    /* acentos escuros o suficiente para texto sobre branco */
    --accent-primary: #3730A3;
    --accent-primary-hover: #312E81;
    --primary: #3730A3;     /* usado solto em painel.php e nunca definido antes */
    --accent-green: #065F46;
    --accent-green-hover: #064E3B;
    --accent-red: #991B1B;
    --accent-orange: #92400E;
    --warning: #92400E;
    --warning-hover: #7C2D12;

    --shadow-card: 0 1px 2px rgba(11,18,32,.10), 0 6px 16px -12px rgba(11,18,32,.35);
    --shadow-glow: 0 6px 16px -6px rgba(55,48,163,.45);
}

body { background-color: var(--bg-body); color: var(--text-main); }

/* ---------- menu do topo ---------- */
.menu-topo { background-color: #0B1220; box-shadow: 0 3px 0 #334155; }
.links-menu a { color: #FFFFFF; font-weight: 700; font-size: 14px; border: 2px solid transparent; }
.links-menu a:hover { background-color: #FFFFFF; color: #0B1220; }
.links-menu a.ativo { background-color: #FFFFFF; color: #0B1220; border-color: #FFFFFF; box-shadow: none; }
.logo-menu { font-size: 19px; }

/* ---------- textos de apoio: sem cinza fraco ---------- */
.col-titulo, .mm-campo label, .mm-itens-titulo, .barra-topo label,
.form-group label, .dash-card h3, .dash-card .subtext, .progress-info,
.tabela-clean th, .sem-resultado, .tsub {
    color: var(--text-muted); font-weight: 800;
}
.col-titulo, .mm-campo label, .mm-itens-titulo, .barra-topo label, .tabela-clean th { font-size: 12px; }
.badge, .loja-tag, .badge-emb, .badge-pend, .badge-status { font-size: 12px; }

/* ---------- campos ---------- */
input, select, textarea { color: var(--text-main); }
.barra-topo input[type="date"], .mm-campo input, .mm-campo select, .mm-linha input,
.select-embalador, .obs-col input, .barra-busca input, .modal-box select, .form-group input {
    border: 2px solid var(--border-forte); background: #FFFFFF; color: var(--text-main); font-weight: 700;
}
.form-nova-lista input { border: 2px dashed var(--border-forte); color: var(--text-main); }
.input-locked { border: 2px dashed var(--border-forte); color: var(--text-muted); font-weight: 800; }
input:focus, select:focus, textarea:focus,
.barra-topo input[type="date"]:focus, .barra-busca input:focus,
.mm-campo input:focus, .mm-campo select:focus, .mm-linha input:focus,
.select-embalador:focus, .obs-col input:focus, .modal-box select:focus {
    border-color: var(--accent-primary); box-shadow: 0 0 0 4px rgba(55,48,163,.28);
}
.input-bipagem { border: 3px solid var(--accent-primary); color: var(--accent-primary); font-weight: 800; }
.input-bipagem:focus { box-shadow: 0 0 0 5px rgba(55,48,163,.25); }
.bipador-box { border: 3px dashed var(--accent-primary); }

/* ---------- botoes ---------- */
.btn { border-width: 2px; font-weight: 800; }
.btn-add, .btn-transferir { background: var(--accent-primary); color: #FFFFFF; border-color: var(--accent-primary); }
.btn-add:hover, .btn-transferir:hover { background: var(--accent-primary-hover); border-color: var(--accent-primary-hover); }
.btn-finalizar, .btn-salvar-romaneio { background: var(--accent-green); color: #FFFFFF; border-color: var(--accent-green); box-shadow: none; }
.btn-finalizar:hover, .btn-salvar-romaneio:hover { background: var(--accent-green-hover); border-color: var(--accent-green-hover); }
.btn-excluir, .mm-remover { color: var(--accent-red); border-color: var(--accent-red); background: #FFFFFF; }
.btn-excluir:hover, .mm-remover:hover { background: var(--accent-red); color: #FFFFFF; }
.btn-editar { background: var(--warning); color: #FFFFFF; border-color: var(--warning); }
.btn-editar:hover { background: var(--warning-hover); border-color: var(--warning-hover); }
.btn-etiqueta { background: #0B1220; color: #FFFFFF; border-color: #0B1220; }
.btn-romaneio { border: 3px dashed var(--accent-green); color: var(--accent-green-hover); }
.btn-romaneio small { color: var(--text-muted); font-weight: 700; }
.aba-lista { border: 2px solid var(--border-color); color: var(--text-main); font-weight: 700; }
.aba-lista:hover { border-color: var(--accent-primary); color: var(--accent-primary); }
.aba-ativa { background-color: var(--accent-primary); border-color: var(--accent-primary); color: #FFFFFF; }
.mm-add-linha { border: 2px dashed var(--accent-primary); color: var(--accent-primary); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 3px solid var(--accent-primary); outline-offset: 2px;
}

/* ---------- cartoes e caixas ---------- */
.pacote-card, .painel-box, .modal-box, .barra-topo, .dash-card, .lista-card,
.detalhe-card, .form-add, .tabela-container, .login-box {
    border: 2px solid var(--border-color); box-shadow: var(--shadow-card);
}
.pacote-header { background: #F1F5F9; border-bottom: 2px dashed var(--border-color); }
.pacote-footer { background: #F1F5F9; border-top: 2px dashed var(--border-color); }
.painel-box h2, .detalhe-card h4 { border-bottom: 2px dashed var(--border-color); color: var(--text-main); }
.status-pendente { border-color: var(--accent-orange); }
.status-finalizado { border-color: var(--accent-green); background: #FFFFFF; opacity: 1; }

/* ---------- etiquetas de status: fundo claro + texto e borda escuros ---------- */
.status-pendente .badge   { background: #FEF3C7; color: #7C2D12; border: 2px solid #B45309; }
.status-finalizado .badge { background: #D1FAE5; color: #064E3B; border: 2px solid #047857; }
.loja-tag { border-width: 2px; }
.loja-tag-ml       { background: #E0E7FF; color: #312E81; border-color: #3730A3; }
.loja-tag-shopee   { background: #FFEDD5; color: #7C2D12; border-color: #C2410C; }
.loja-tag-romaneio { background: #D1FAE5; color: #14532D; border-color: #15803D; }
.badge-emb  { background: #D1FAE5; color: #064E3B; border: 2px solid #047857; }
.badge-pend { background: #FEF3C7; color: #7C2D12; border: 2px solid #B45309; }
.aviso-lista { background: #D1FAE5; border: 2px solid var(--accent-green); color: #064E3B; }
.aviso-lista .aviso-cont { color: #14532D; }
.nota-equipe { background: #FEF9C3 !important; border: 2px solid #A16207 !important; color: #713F12 !important; }

/* ---------- painel ---------- */
.dash-card .numero { color: var(--text-main); }
.dash-card.green { background: #ECFDF5; border-color: var(--accent-green); }
.dash-card.green h3, .dash-card.green .numero { color: #064E3B; }
.dash-card.green .subtext { color: #065F46; }
.progress-bar-bg { background: #CBD5E1; border: 1px solid var(--border-color); height: 10px; }
.progress-bar-fill { background: var(--accent-primary); }
.progress-info .pct { color: var(--accent-primary); }
.lista-header span { background: #E2E8F0; color: #0B1220; border: 1px solid var(--border-color); }
.tabela-clean th { border-bottom: 3px solid var(--border-forte); color: var(--text-muted); }
.tabela-clean td { border-bottom: 2px solid #CBD5E1; color: var(--text-main); font-weight: 600; }

/* ---------- tabela do cadastro de embaladores (nao tinha estilo nenhum) ---------- */
.header-painel h2 { color: var(--text-main); font-size: 20px; font-weight: 800; margin: 0 0 20px 0; }
.tabela-container table { width: 100%; border-collapse: collapse; }
.tabela-container th { text-align: left; padding: 12px; font-size: 12px; font-weight: 800; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: .05em; border-bottom: 3px solid var(--border-forte); }
.tabela-container td { padding: 14px 12px; border-bottom: 2px solid #CBD5E1; font-size: 15px; color: var(--text-main); }
.tabela-container tr:last-child td { border-bottom: none; }
.escondido { display: none; }

/* ---------- login ---------- */
.login-box h2 { color: var(--text-main); }
.btn-login { background: var(--accent-primary); }
.btn-login:hover { background: var(--accent-primary-hover); }
.erro-msg { background: #FEE2E2; color: #7F1D1D; border: 2px solid var(--accent-red); font-weight: 800; }
