/* Tema TR 2026 · Antracite e Latão Escovado
   Camada de tema do painel: variáveis, fonte própria, botões, links, tabelas e estados.
   Carregada por último nos layouts, por isso vence o CSS local de cada tela. */
@font-face{font-family:'Schibsted Grotesk';src:url('/fonts/SchibstedGrotesk.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}

:root{
  --sans:'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --serif:var(--sans);
  --cream:#DADAD7;      /* fundo da página */
  --card:#EBEBE8;       /* cartões e tabelas */
  --inset:#E2E2DF;      /* campos, cabeçalhos de tabela, faixas */
  --line:#C9C9C5;       /* divisores */
  --line-strong:#B4B4AF;/* bordas de campos e botões */
  --ink:#26282B;        /* texto e botão primário */
  --ink-soft:#44474C;   /* texto secundário */
  --muted:#595C60;      /* texto auxiliar (4,8:1 sobre o fundo) */
  --gold:#6F5A1C;       /* acento: links, ícones, aba ativa (4,8:1) */
  --gold-soft:#8C7424;  /* acento em hover e detalhes */
  --brass:#6F5A1C; --brass-soft:#8C7424; --brass-light:#CDB765; --brass-tint:#E6DAB4;
  --panel:#383B3F; --panel-2:#2E3033; --on-dark:#F1EFEA;
  --wine:#8A3A33; --wine-tint:#E8D9D6; --red:#8A3A33; --green:#3E4146;
  --white:#F1EFEA;
}
html,body{font-family:var(--sans)}
body{background:var(--cream);color:var(--ink);font-variant-numeric:normal;font-feature-settings:normal}
.app-main,.app-main *{font-style:normal}
.app-main{font-size:15px;line-height:1.5;color:var(--ink)}
.app-main h1{font-size:28px;font-weight:750;letter-spacing:-.022em;line-height:1.15;text-wrap:balance}
.app-main h2{font-size:19px;font-weight:700;letter-spacing:-.012em;border-bottom:1px solid var(--line)}
.app-main h3{font-size:16px;font-weight:700}
.app-main .small,.app-main small{font-size:13px}
.app-main .muted,.app-main p.muted{color:var(--muted)}
.app-main code,.app-main kbd,.app-main pre,.app-main .mono{font-family:var(--sans);font-size:inherit;background:none;color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* Superfícies */
.bg-white,.navbar.bg-white,.app-header{background-color:var(--card)!important}
.shadow-sm{box-shadow:0 1px 0 var(--line)!important}
.card,.modal-content,.dropdown-menu,.list-group-item,.accordion-item{background-color:var(--card);border-color:var(--line);color:var(--ink)}
.table{--bs-table-bg:transparent;--bs-table-color:var(--ink);--bs-table-border-color:var(--line);color:var(--ink)}
.table>thead th,table thead th{background:var(--inset);color:var(--ink-soft);font-weight:650;font-size:13px;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--line-strong)}
.form-control,.form-select,input[type=text],input[type=email],input[type=search],input[type=number],input[type=date],input[type=password],input[type=tel],input[type=url],select,textarea{background-color:var(--card);border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);font-family:var(--sans)}
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{border-color:var(--brass);box-shadow:0 0 0 3px color-mix(in srgb,var(--brass) 22%,transparent);outline:0}
::placeholder{color:#64676B;opacity:1}
label,.form-label{font-weight:600;color:var(--ink-soft)}

/* Links: latão escuro e sublinhado (o dourado antigo dava 2,1:1) */
.app-main a:not([class*="btn"]):not(.nav-link):not(.page-link):not(.list-group-item):not(.on):not(.active){color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--gold) 38%,transparent);border-bottom:0}
.app-main a:not([class*="btn"]):not(.nav-link):not(.on):not(.active):hover{color:var(--ink);text-decoration-color:currentColor;border-bottom:0}

/* Menu lateral em antracite */
.app-sidebar.bg-dark,.sidebar-dark-primary,.app-sidebar{background-color:var(--panel)!important}
.app-sidebar .sidebar-brand{background-color:var(--panel-2)!important;border-bottom:1px solid rgba(241,239,234,.10)}
.sidebar-brand .brand-text{color:var(--on-dark)!important;font-weight:750;letter-spacing:.01em}
.app-sidebar .nav-link{color:rgba(241,239,234,.86)!important}
.app-sidebar .nav-link:hover{background-color:rgba(205,183,101,.10)!important;color:var(--brass-light)!important}
.app-sidebar .nav-header{color:var(--brass-light)!important;font-size:12px;letter-spacing:.06em;font-weight:650;text-transform:none;opacity:.9}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active{background-color:rgba(205,183,101,.14)!important;border-left:3px solid var(--brass-light)!important;color:var(--brass-light)!important}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active .nav-icon,.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active p{color:var(--brass-light)!important}
.app-sidebar .nav-link p{font-size:14px}
.role-badge{color:var(--gold);border-color:var(--line-strong);font-size:12px}
.btn-logout{color:var(--ink-soft);font-size:14px}
.badge.text-bg-danger,.badge.bg-danger{background:var(--wine)!important;color:var(--on-dark)!important}

/* Botões: primário em tinta, secundário em contorno, destrutivo em vinho.
   Cobre as classes que cada tela define por conta própria. */
body .btn-prim,body .btn-primary,body .btn.prim,body .btn-acao.prim,body .btn-save,body .btn-novo,body .btn-download.ativo,body .pt-btn,body .next-btn,body button.btn-dark{background:var(--ink)!important;color:var(--on-dark)!important;border:1px solid var(--ink)!important;border-radius:6px!important;font-weight:650;box-shadow:none}
body .btn-prim:hover,body .btn-primary:hover,body .btn.prim:hover,body .btn-acao.prim:hover,body .btn-save:hover,body .btn-novo:hover,body .next-btn:hover{background:#3A3D42!important;border-color:#3A3D42!important}
body .btn-acao,body .btn-sec,body .btn-outline-secondary,body .btn-outline-primary,body .btn-cancel,body .btn-back,body .prev-btn,body .btn-light,body .btn-lista-vinculada,body .pt-btn-sec,body .btn-ap-sec,body .btn-mini{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;border-radius:6px!important;font-weight:600;box-shadow:none}
body .btn-acao:hover,body .btn-sec:hover,body .btn-outline-secondary:hover,body .btn-cancel:hover,body .btn-back:hover,body .btn-mini:hover{background:var(--inset)!important;border-color:var(--ink-soft)!important}
body .btn-acao.warn,body .btn-outline-danger,body .btn-danger{background:transparent!important;color:var(--wine)!important;border:1px solid var(--wine)!important}
body .btn-acao.warn:hover,body .btn-outline-danger:hover{background:var(--wine-tint)!important}
body .btn-acao.ghost,body .btn-link,body .btn-link-status{background:none!important;border:0!important;color:var(--gold)!important;text-decoration:underline;text-underline-offset:3px;font-weight:600}
body .btn-acao.alt{background:var(--brass-tint)!important;color:var(--ink)!important;border:1px solid var(--brass-soft)!important}
body .btn,body .btn-acao,body .btn-sec,body .btn-prim,body .btn-primary{font-size:14px;padding:8px 14px;min-height:36px;display:inline-flex;align-items:center;gap:7px;line-height:1.2}
.btn i,.btn-acao i,.btn-prim i,.btn-sec i{font-size:15px;line-height:1}

/* Estados: contorno e texto, sem verde nem vermelho */
.badge,.status,.pill,.chip,.badge-ok,.badge-tipo{font-weight:650;letter-spacing:0;text-transform:none;font-size:12.5px;border-radius:99px}
.badge-ok,.badge.bg-success,.text-bg-success{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink-soft)}
.badge.bg-warning,.text-bg-warning{background:var(--brass-tint)!important;color:var(--ink)!important}
.alert-success{background:var(--inset);border-color:var(--line-strong);color:var(--ink)}
.alert-danger,.alert-error{background:var(--wine-tint);border-color:var(--wine);color:var(--wine)}
.alert-warning{background:var(--brass-tint);border-color:var(--brass-soft);color:var(--ink)}
.progress{background:var(--line)}.progress-bar{background:var(--ink)}

/* Rodapé */
.app-footer{color:var(--muted);font-size:13px;background:var(--card);border-top:1px solid var(--line)}

/* ---- Tela de processo: documentos sem ruído ---- */
.doc-row{grid-template-columns:minmax(0,1fr) auto auto auto!important;border-radius:6px!important;gap:12px!important}
.doc-row .ordem{display:none!important}
.doc-row .nome>.sigla:not([style]){display:none!important}          /* nome interno (PESQUISA-PRECOS) */
.doc-row .nome .sigla[style]{margin-left:0!important;font-size:13px;color:var(--muted);letter-spacing:0;text-transform:none}
.doc-row .nome .titulo{font-size:15px;font-weight:650}
.doc-row .stx.pdf_gerado{display:none!important}                    /* só mostra o que foge do normal */
.doc-row .stx{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;border-radius:99px!important;padding:2px 10px!important;font-weight:650!important}
.doc-row.s-pdf_gerado{border-left-color:var(--line-strong)!important}
.doc-row a.pdf,.doc-row .extras a,.doc-row .extras button{border-radius:6px!important;font-size:13px!important;color:var(--ink)!important;background:transparent!important;border:1px solid var(--line-strong)!important;text-decoration:none!important}
.doc-row a.pdf:hover,.doc-row .extras a:hover,.doc-row .extras button:hover{background:var(--inset)!important;color:var(--ink)!important;border-color:var(--ink-soft)!important}
.fase-section h3{text-transform:none!important;letter-spacing:0!important;font-size:16px!important;color:var(--ink)!important;border-bottom:1px solid var(--line-strong)!important}
.proc-head .acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn-acao .cont{background:var(--ink);color:var(--on-dark);border-radius:99px;font-size:11.5px;line-height:1;padding:3px 7px;min-width:20px;text-align:center;font-weight:700}
.dropdown-menu{border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 8px 24px rgba(38,40,43,.18);padding:6px;min-width:230px}
.dropdown-menu form{margin:0}
.dropdown-item{border-radius:6px;font-size:14px;padding:8px 10px;color:var(--ink)!important;background:none;width:100%;text-align:left;display:flex;align-items:center;gap:9px;border:0;text-decoration:none!important}
.dropdown-item:hover{background:var(--inset)!important;color:var(--ink)!important}
.dropdown-item.text-wine{color:var(--wine)!important}
.dropdown-divider{border-color:var(--line)}
.stat .v.green,.stat .v.gold{color:var(--ink)}

/* ---- Painel: cartões de vencimento sem botão repetido ---- */
.venc-card .venc-autorizar,.venc-card .venc-autorizar button,.venc-card a.venc-autorizar{display:inline-block;width:auto!important;background:none!important;border:0!important;padding:0!important;margin-top:8px;color:var(--gold)!important;font-weight:650;font-size:14px;text-decoration:underline;text-underline-offset:3px;text-align:left;cursor:pointer}
.venc-card .venc-autorizar:hover,.venc-card .venc-autorizar button:hover{color:var(--ink)!important}
.venc-card .dias{font-weight:800}
.venc-card .dias small{font-weight:600;font-size:13px}
.pill{background:var(--wine-tint)!important;color:var(--wine)!important;border:1px solid var(--wine)!important}
.prio-tag{border-radius:99px!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important}
.rec .rec-prio{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;border-radius:99px!important}

/* ---- Assistente: pílula com frase curta ("Posso ajudar?") ---- */
.vivaldi-pilula{height:40px!important;padding:0 16px 0 12px!important;gap:8px!important;border-radius:999px!important;background:var(--panel,#383B3F)!important;color:var(--on-dark,#F1EFEA)!important;border:0!important;font-weight:600!important;font-size:14px!important;letter-spacing:0!important;box-shadow:0 4px 14px rgba(38,40,43,.28)!important}
.vivaldi-pilula:hover{background:var(--ink,#26282B)!important}
.vivaldi-pilula .vivaldi-pilula-icone{color:#CDB765!important;font-size:16px!important}
.vivaldi-widget{bottom:14px!important;right:14px!important}

/* ---- Assinaturas e Configurações ---- */
.as-grupo td{background:var(--inset);font-weight:650}
.as-tabela td,.as-tabela th{padding:9px 12px}
.as-btn{background:var(--ink)!important;color:var(--on-dark)!important;border-radius:6px!important;font-weight:650}
.cfg-section-tabs{gap:22px!important;align-items:flex-start!important;border-bottom:1px solid var(--line-strong)!important}
.cfg-grupo{min-width:0}
.cfg-grupo-t{font-size:12.5px;font-weight:650;color:var(--muted);margin:0 0 2px 16px}
.cfg-grupo-i{display:flex;flex-wrap:wrap;gap:2px}
.cfg-section-tabs a{padding:8px 14px!important;font-size:14px!important;text-decoration:none!important;color:var(--ink-soft)!important}
.cfg-section-tabs a.active,.cfg-section-tabs a.on{color:var(--ink)!important;font-weight:650!important;border-bottom:2px solid var(--brass)!important}

/* ---- Rótulos em caixa-alta e cabeçalhos finos ---- */
.app-main h2 a,.app-main h3 a{font-weight:500;font-size:14px}
.stat .l,.kpi .l,.stat-l{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:var(--muted)}

/* Filtros em pílula: o selecionado vira tinta (mesmo padrão do botão primário) */
.app-main a.on,.app-main a.sel,.app-main a.ativo{background:var(--ink)!important;color:var(--on-dark)!important;border-color:var(--ink)!important;text-decoration:none!important}
.app-main .cfg-section-tabs a.on,.app-main .cfg-section-tabs a.active{background:none!important;color:var(--ink)!important;border-color:transparent!important}

/* ---- Estados em pílula (processos e listas) ---- */
.stx{text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:650!important;border-radius:99px!important;padding:2px 11px!important}
.stx.concluido{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink-soft)!important}
.stx.em-geracao,.stx.aguardando-continuacao{background:var(--brass-tint)!important;color:var(--ink)!important;border:1px solid var(--brass-soft)!important}
.stx.arquivado{background:var(--inset)!important;color:var(--muted)!important;border:1px solid var(--line-strong)!important}

/* ---- Densidade (equivale a ~90% de zoom, com piso de 12px nos textos secundários) ---- */
body,.app-main{font-size:14.5px}
.app-main h1{font-size:26px}
.app-main h2{font-size:18px}
.app-main h3,.fase-section h3{font-size:15px!important}
.app-sidebar .nav-link,.app-sidebar .nav-link p{font-size:14px}
.app-sidebar .sidebar-brand,.app-sidebar .brand-text{font-size:15px}
.doc-row .nome .titulo{font-size:14.5px}

/* ---- Celular (até 576px): barra superior e filtros sem cortes ---- */
@media (max-width:576px){
  .app-header .btn-logout{padding:6px 5px!important;font-size:12.5px!important;white-space:nowrap}
  .app-header .navbar-nav .nav-item{margin-right:0!important}
  .app-header .navbar-nav.ms-auto{flex-wrap:nowrap;gap:0}
  .bib-toolbar{flex-wrap:wrap!important}
  .bib-toolbar input[type=checkbox]{min-width:0!important;width:auto!important;flex:0 0 auto}
  .bib-toolbar .check{white-space:normal;flex:1 1 100%;margin:0!important;justify-content:flex-start!important;text-align:left;width:100%}
  .vivaldi-widget{bottom:10px!important;right:10px!important}
  .app-main{padding-bottom:72px}
  .stat .v,.stat .v.high{font-size:clamp(15px,4.8vw,20px)!important;white-space:nowrap;line-height:1.15}
}

/* ---- Tela de login ---- */
body.login-page .login-box{width:min(440px,92vw)}
body.login-page .login-logo{text-align:left;margin-bottom:18px}
body.login-page .login-marca{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;text-decoration:none!important;color:var(--on-dark,#F1EFEA)!important;border:0}
body.login-page .lm-topo{font-family:'Figtree','Schibsted Grotesk',sans-serif;font-size:13px;font-weight:700;letter-spacing:.42em}
body.login-page .lm-tr{font-family:'Figtree','Schibsted Grotesk',sans-serif;font-size:64px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
body.login-page .login-marca-sub{display:block;margin-top:10px;font-size:11.5px;letter-spacing:.3em;color:#B9B7AE;font-weight:600}
body.login-page .login-orgao{margin-top:14px;font-size:17px;font-weight:650;color:var(--on-dark,#F1EFEA)}
body.login-page .login-box-msg{font-size:15px;color:var(--ink-soft);margin-bottom:18px;text-align:left}
body.login-page .form-label{text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:650!important;color:var(--ink)!important}
body.login-page .input-group{position:relative;display:block}
body.login-page .form-control{width:100%;font-size:16px!important;padding:11px 14px!important;background:var(--card,#EBEBE8)!important;border:1px solid var(--line-strong,#B5B5B0)!important;border-radius:8px!important;color:var(--ink)!important}
body.login-page .form-control:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(111,90,28,.18)!important}
body.login-page input:-webkit-autofill,body.login-page input:-webkit-autofill:hover,body.login-page input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #EBEBE8 inset!important;-webkit-text-fill-color:#26282B!important;caret-color:#26282B}
body.login-page .login-mostrar{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--gold);font-weight:650;font-size:14px;cursor:pointer;padding:4px 6px}
body.login-page .login-mostrar:hover{color:var(--ink)}
body.login-page .login-card-body a{color:var(--gold)!important;text-decoration:underline;text-underline-offset:3px;font-weight:550}
body.login-page .login-card-body a:hover{color:var(--ink)!important}
body.login-page .btn-entrar{width:100%;min-height:46px;border-radius:8px!important;font-size:16px!important;font-weight:650!important;background:var(--ink,#26282B)!important;color:var(--on-dark,#F1EFEA)!important;border:0!important;margin-top:6px}
body.login-page .btn-entrar:hover{background:var(--gold)!important}
body.login-page .login-sec{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);text-align:center;font-size:14px;color:var(--muted)}
body.login-page .login-footer{color:#B9B7AE!important;font-size:13px!important;text-align:left!important}
@media (max-width:576px){body.login-page .lm-tr{font-size:54px}}

/* ---- Recuperação de senha e demais telas de visitante (layout guest) ---- */
body.auth-guest{font-family:var(--sans,'Schibsted Grotesk',sans-serif);background:#2E3033;background-image:radial-gradient(ellipse at 30% 20%,rgba(205,183,101,.14) 0%,transparent 55%),radial-gradient(ellipse at 75% 80%,rgba(140,116,36,.10) 0%,transparent 55%);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:28px 16px}
body.auth-guest .auth-card-g{background:#DADAD7;border:0;border-top:3px solid #6F5A1C;border-radius:8px;padding:26px 28px;color:#26282B;font-size:15px}
body.auth-guest .auth-card-g label,body.auth-guest .auth-card-g .block.font-medium{font-size:14px;font-weight:650;color:#26282B;text-transform:none;letter-spacing:0}
body.auth-guest .auth-card-g p,body.auth-guest .auth-card-g .text-gray-600,body.auth-guest .auth-card-g .text-sm{color:#44474C;font-size:14.5px}
body.auth-guest .auth-card-g input:not([type=checkbox]){width:100%;font-size:16px;padding:11px 14px;background:#EBEBE8;border:1px solid #B5B5B0;border-radius:8px;color:#26282B;box-shadow:none}
body.auth-guest .auth-card-g input:focus{outline:0;border-color:#6F5A1C;box-shadow:0 0 0 3px rgba(111,90,28,.18)}
body.auth-guest input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #EBEBE8 inset!important;-webkit-text-fill-color:#26282B!important}
body.auth-guest .auth-card-g button[type=submit],body.auth-guest .auth-card-g .inline-flex{background:#26282B;color:#F1EFEA;border:0;border-radius:8px;min-height:44px;padding:0 18px;font-size:15px;font-weight:650;text-transform:none;letter-spacing:0}
body.auth-guest .auth-card-g button[type=submit]:hover{background:#6F5A1C}
body.auth-guest .auth-card-g a{color:#6F5A1C;text-decoration:underline;text-underline-offset:3px;font-weight:550}
body.auth-guest .auth-card-g .text-red-600,body.auth-guest .auth-card-g ul.text-red-600 li{color:#8A3A33;font-size:14px}
body.auth-guest .auth-card-g .text-green-600{color:#3E4146;background:#E6DAB4;border-radius:8px;padding:8px 12px}
