 

:root{
  --paper:#f7f6f2; --card:#ffffff; --linha:#e8e5dd; --linha2:#dcd8cd;
  --ink:#171a1f; --ink2:#4c5058; --muted:#676a74;
  --ouro:#9c7c3c; --ouro-suave:#f3ede0;
  --urgente:#a83a30; --alerta:#b4741f; --atencao:#8f8226; --ok:#41684f;
  --sombra:0 10px 30px rgb(35 30 15 / .05), 0 1px 2px rgb(35 30 15 / .04);
  --r:10px;
  --marca-tinta:#171a1f; --marca-ouro:#bd9545;
  --sobre-cor:#fff;
   
  --entra:var(--ok); --sai:var(--urgente);
  color-scheme:light;
}
html.escuro{
  --paper:#141419; --card:#1d1d24; --linha:#2a2a33; --linha2:#42424f;
  --ink:#ecebe7; --ink2:#c2c1cb; --muted:#9b9aa6;
  --ouro:#d9b671; --ouro-suave:#2c2517;
  --urgente:#f0776a; --alerta:#e5a94f; --atencao:#d3c04a; --ok:#7cbd91;
  --sombra:0 10px 30px rgb(0 0 0 / .4), 0 1px 2px rgb(0 0 0 / .35);
  --marca-tinta:#ecebe7; --marca-ouro:#d9b671;
  --sobre-cor:#14140f;
  color-scheme:dark;
}

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  background:var(--paper);color:var(--ink);font-size:14.5px;-webkit-font-smoothing:antialiased}
html.escuro body{-webkit-font-smoothing:auto}
input,select,textarea,button{color:var(--ink);font:inherit}
select option{background:var(--card);color:var(--ink)}
::placeholder{color:var(--muted);opacity:1}
svg{flex-shrink:0}
a{color:inherit}
 
.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}

header{background:var(--card);border-bottom:1px solid var(--linha);padding:0 40px;position:sticky;top:0;z-index:40}
.topo{max-width:1880px;margin:0 auto;display:flex;align-items:center;gap:24px;height:66px}
 
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.marca .simbolo{line-height:0;flex-shrink:0}
.marca h1{font-size:19px;font-weight:600;letter-spacing:-.02em}
.marca h1 em{font-style:normal;color:var(--ouro)}
.selo-escritorio{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.03em;
  text-transform:uppercase;white-space:nowrap}
nav{display:flex;gap:2px;height:100%;margin-left:8px;flex:1}
nav .aba{border:0;background:none;padding:0 15px;font-weight:500;font-size:13.5px;color:var(--muted);
  cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:7px;transition:.18s;
  text-decoration:none;white-space:nowrap}
nav .aba:hover{color:var(--ink)}
nav .aba.ativa{color:var(--ink);border-bottom-color:var(--ouro)}

.subnav{background:var(--paper);border-bottom:1px solid var(--linha);padding:0 40px;position:sticky;top:66px;z-index:35}
.subnav-linha{max-width:1880px;margin:0 auto;display:flex;align-items:center;gap:16px;height:52px}
.subnav nav{margin-left:0}
.subnav .aba{font-size:13px}
.subnav-acoes{display:flex;align-items:center;gap:9px;flex-shrink:0}
nav .aba .badge{background:var(--urgente);color:var(--sobre-cor);border-radius:99px;font-size:10.5px;font-weight:700;padding:1px 7px}
.aba-mais{position:relative;display:flex}
.aba-mais .seta{opacity:.5;transition:.18s}
.aba-mais.aberto .seta{transform:rotate(180deg);opacity:1}
.mais-drop{display:none;position:absolute;top:calc(100% - 1px);left:0;background:var(--card);
  border:1px solid var(--linha);border-radius:var(--r);box-shadow:var(--sombra);padding:6px;min-width:190px;z-index:50;flex-direction:column}
.aba-mais.aberto .mais-drop{display:flex}
.mais-drop .aba{border:0;justify-content:flex-start;padding:9px 12px;border-radius:7px;width:100%}
.mais-drop .aba:hover{background:var(--paper)}
.mais-drop .aba.ativa{background:var(--ouro-suave);color:var(--ink);border:0}
.topo-acoes{display:flex;align-items:center;gap:10px}

.btn{border:1px solid var(--linha2);border-radius:8px;background:var(--card);color:var(--ink2);
  padding:8px 14px;font-size:13.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;
  gap:7px;transition:.15s;white-space:nowrap}
.btn:hover{border-color:var(--ouro);color:var(--ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-primario{background:var(--ink);border-color:var(--ink);color:var(--card);font-weight:600}
.btn-primario:hover{background:#000;color:#fff}
html.escuro .btn-primario{background:var(--ink);border-color:var(--ink);color:#141419}
html.escuro .btn-primario:hover{background:#fff;color:#141419}
.btn-adicionar{background:var(--ouro-suave);border-color:#d8c59b;color:#705722;font-weight:700}
.btn-adicionar:hover{background:#ebe0ca;border-color:var(--ouro);color:#594313;
  box-shadow:0 2px 8px rgb(91 67 19 / .10)}
.btn-adicionar:focus-visible{outline:3px solid color-mix(in srgb,var(--ouro) 28%,transparent);outline-offset:2px}
html.escuro .btn-adicionar{background:var(--ouro-suave);border-color:#5b4925;color:#e4c786}
html.escuro .btn-adicionar:hover{background:#392f1c;border-color:var(--ouro);color:#f0d89e}
.btn-mini{padding:5px 10px;font-size:12.5px;border-radius:7px}
.btn-perigo:hover{border-color:var(--urgente);color:var(--urgente)}
.btn-fantasma{border-color:transparent;background:none}
.btn-fantasma:hover{background:var(--paper);border-color:var(--linha)}

main{max-width:1880px;margin:0 auto;padding:26px 40px 90px}
.tela{display:none}
.tela.ativa{display:block}
.titulo-tela{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.titulo-tela h2{font-size:21px;font-weight:600;letter-spacing:-.02em}
.titulo-tela p{color:var(--muted);font-size:13px;margin-top:3px}
.card{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);box-shadow:var(--sombra)}
.card-corpo{padding:18px 20px}
.grade{display:grid;gap:14px}
.grade-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.grade-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}

.kpi{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sombra)}
.kpi .rot{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.kpi .val{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:7px;font-variant-numeric:tabular-nums}
.kpi .val.entra{color:var(--entra)} .kpi .val.sai{color:var(--sai)}
.kpi .comp{font-size:12px;color:var(--muted);margin-top:5px;display:flex;align-items:center;gap:5px}
 
.kpi .comp.bom{color:var(--ok)} .kpi .comp.ruim{color:var(--urgente)}

.tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.tabela th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);padding:11px 12px;border-bottom:1px solid var(--linha);white-space:nowrap;background:var(--card)}
.tabela th.num,.tabela td.num{text-align:right}
.tabela td{padding:12px;border-bottom:1px solid var(--linha);vertical-align:middle}
 
.tabela td.acoes{text-align:right;white-space:nowrap}
.tabela tbody tr:hover{background:var(--paper)}
.tabela tbody tr:last-child td{border-bottom:0}
.tabela .sec{color:var(--muted);font-size:12.5px}
.rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch}

.selo{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;padding:3px 8px;border-radius:6px;background:var(--paper);color:var(--muted);border:1px solid var(--linha)}
.selo-ok{background:#eaf1eb;color:#2f5540;border-color:#cfe0d4}
.selo-espera{background:var(--ouro-suave);color:#6d5722;border-color:#e3d3ac}
.selo-vencido{background:#f7e9e7;color:#8d2f26;border-color:#eccdc9}
.selo-neutro{background:var(--paper)}
html.escuro .selo-ok{background:#1c2b22;color:#7cbd91;border-color:#2c4534}
html.escuro .selo-espera{background:#2c2517;color:#d9c48a;border-color:#4b3d1d}
html.escuro .selo-vencido{background:#33201d;color:#f0a79c;border-color:#5c2f2a}
.chip-filtro{display:inline-flex;align-items:center;gap:7px;background:var(--ouro-suave);border:1px solid #e3d3ac;
  color:#6d5722;border-radius:99px;padding:5px 8px 5px 12px;font-size:12.5px;font-weight:600}
html.escuro .chip-filtro{background:#2c2517;border-color:#4b3d1d;color:#d9c48a}
.chip-filtro button{border:0;background:none;cursor:pointer;color:inherit;display:grid;place-items:center;padding:0 2px}

.filtros{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.campo{background:var(--card);border:1px solid var(--linha2);border-radius:8px;padding:8px 11px;font-size:13.5px;min-width:0}
.campo:focus{outline:2px solid var(--ouro);outline-offset:-1px;border-color:var(--ouro)}
html.escuro .campo{background:#232330}
label.rot{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:5px}

.form-grade{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.form-grade .largo{grid-column:1/-1}
.form-grade .campo{width:100%}
.dica-campo{font-size:11.5px;color:var(--muted);margin-top:4px}
.lc-secao{border:1px solid var(--linha);border-radius:10px;padding:14px;background:var(--paper)}
.lc-secao>h4{font-size:13.5px;margin:0 0 3px}
.lc-secao>.dica-campo{margin:0 0 12px}

.modal-fundo{position:fixed;inset:0;background:rgb(20 18 12 / .38);backdrop-filter:blur(2px);
  display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
html.escuro .modal-fundo{background:rgb(0 0 0 / .6)}
.modal-fundo.aberto{display:flex}
.modal{background:var(--card);border:1px solid var(--linha);border-radius:14px;box-shadow:0 24px 60px rgb(0 0 0 / .22);
  width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
.modal header{padding:18px 22px;border-bottom:1px solid var(--linha);display:flex;align-items:center;
  justify-content:space-between;gap:12px;position:static;height:auto}
.modal header h3{font-size:17px;font-weight:600;letter-spacing:-.01em}
.modal .corpo{padding:20px 22px;overflow-y:auto}
.modal footer{padding:14px 22px;border-top:1px solid var(--linha);display:flex;gap:10px;justify-content:flex-end;background:var(--paper)}

.aviso{background:var(--ouro-suave);border:1px solid #e3d3ac;color:#6d5722;border-radius:var(--r);padding:13px 16px;font-size:13.5px}
.aviso.erro{background:#f7e9e7;border-color:#eccdc9;color:#8d2f26}
html.escuro .aviso{background:#2c2517;border-color:#4b3d1d;color:#d9c48a}
html.escuro .aviso.erro{background:#33201d;border-color:#5c2f2a;color:#f0a79c}
.vazio{text-align:center;padding:54px 24px;color:var(--muted)}
.vazio h3{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}
.vazio p{max-width:440px;margin:0 auto 18px;line-height:1.55}
.acoes-titulo{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.skel{background:linear-gradient(90deg,var(--linha) 25%,#f0eee8 50%,var(--linha) 75%);background-size:200% 100%;
  animation:brilho 1.3s infinite;border-radius:6px;height:14px}
html.escuro .skel{background:linear-gradient(90deg,var(--linha) 25%,#33333d 50%,var(--linha) 75%);background-size:200% 100%}
@keyframes brilho{to{background-position:-200% 0}}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(120%);background:#242428;color:#fff;
  padding:12px 20px;border-radius:10px;font-size:13.5px;z-index:200;transition:transform .25s;max-width:92vw;text-align:center}
.toast.aberto{transform:translateX(-50%) translateY(0)}
.toast.erro{background:#8d2f26}
 
.toast-acao{margin-left:14px;background:none;border:0;color:var(--ouro);font:inherit;font-weight:700;
  cursor:pointer;text-decoration:underline;padding:6px 2px;min-height:32px}

.btn-link{background:none;border:0;padding:4px 2px;font:inherit;font-size:12.5px;color:var(--muted);
  cursor:pointer;text-decoration:underline;min-height:30px}
.btn-link:hover{color:var(--ink)}

.cfg-resumo{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:var(--muted);
  background:var(--paper);border:1px solid var(--linha);border-radius:var(--r);padding:11px 13px}
.cfg-resumo b{color:var(--ink);font-size:13.5px}
.cfg-resumo.ligada{background:var(--ouro-suave);border-color:#e3d3ac}
.cfg-luz{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--linha2)}
.cfg-luz.ok{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 22%, transparent)}
.cfg-luz.off{background:var(--muted);opacity:.55}

@media (max-width:1200px){
  .nav-sistema{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-sistema::-webkit-scrollbar{display:none}
  .subnav-linha{flex-wrap:wrap;height:auto;padding:8px 0}
  .subnav nav{width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .subnav nav::-webkit-scrollbar{display:none}
}

@media (max-width:900px){
  header{padding:0 16px}
  main{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
   
  .topo{height:auto;gap:10px 12px;flex-wrap:wrap;padding:10px 0}
  .marca h1{font-size:17px}
  .marca .simbolo svg{width:28px;height:26px}
  .topo-acoes{margin-left:auto;min-width:0}
   
  .nav-sistema{order:3;flex:1 0 100%;min-width:0;margin-left:0;height:auto;
    overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-sistema::-webkit-scrollbar{display:none}
   
  .nav-sistema .aba{padding:9px 13px;min-height:40px}

.selo-escritorio{max-width:min(48vw,220px);overflow:hidden;text-overflow:ellipsis}

header{position:static}
  .subnav{padding:0 16px;top:0;position:sticky;z-index:40}
  .subnav-linha{height:auto;padding:8px 0;gap:8px;flex-wrap:nowrap}
  .subnav nav{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .subnav nav::-webkit-scrollbar{display:none}
  .subnav .aba{padding:11px 14px;min-height:44px}
  .mais-drop .aba{min-height:44px}
   
  .mais-drop{position:fixed;left:16px;right:16px;top:auto;min-width:0;
    max-height:min(70vh,420px);overflow-y:auto}
  .subnav-acoes{flex-shrink:0;width:auto}
   
  #btn-lancar{padding:0;width:44px;justify-content:center}
  #btn-lancar .txt-lancar{display:none}
  #link-config{display:none}

input,select,textarea{font-size:16px!important}

.tabela.responsiva thead{display:none}
  .tabela.responsiva,.tabela.responsiva tbody,.tabela.responsiva tr,.tabela.responsiva td{display:block;width:100%}
  .tabela.responsiva tr{border:1px solid var(--linha);border-radius:var(--r);background:var(--card);
    margin-bottom:10px;padding:12px 14px;box-shadow:var(--sombra)}
  .tabela.responsiva td{border:0;padding:3px 0;display:flex;justify-content:space-between;align-items:center;gap:14px}
  .tabela.responsiva td::before{content:attr(data-rot);font-size:11px;font-weight:700;text-transform:uppercase;
    letter-spacing:.07em;color:var(--muted);flex-shrink:0}
   
  .tabela.responsiva td.principal{display:block;font-weight:600;font-size:15px;padding-bottom:8px}
  .tabela.responsiva td.principal::before{display:none}
  .tabela.responsiva td.num{font-size:16px;font-weight:600}
   
  .tabela.responsiva td.acoes{display:flex;flex-wrap:wrap;gap:8px;white-space:normal;
    margin-top:9px;padding-top:11px;border-top:1px solid var(--linha)}
  .tabela.responsiva td.acoes::before{display:none}
  .tabela.responsiva td.acoes .btn{flex:1 1 auto;justify-content:center}

.btn{min-height:44px}
  .btn-mini{min-height:38px}
  .modal{max-width:100%;max-height:94vh;border-radius:14px 14px 0 0;align-self:flex-end}
  .modal-fundo{padding:0;align-items:flex-end}
  .form-grade{grid-template-columns:1fr}
  .filtros{gap:7px}
  .filtros .campo{flex:1 1 140px}
}

@media print{
  header,.filtros,.btn,.toast,.modal-fundo{display:none !important}
  body{background:#fff;font-size:11pt}
  main{padding:0;max-width:none}
  .card{box-shadow:none;border-color:#ccc;break-inside:avoid}
  .tabela{font-size:10pt}
  @page{size:A4;margin:16mm}
}

.selo-escritorio.selo-demo{color:var(--urgente);background:#f7e9e7;border:1px solid #eccdc9;
  border-radius:99px;padding:4px 12px;text-transform:none;letter-spacing:0}
html.escuro .selo-escritorio.selo-demo{background:#33201d;border-color:#5c2f2a;color:#f0a79c}

.emissor-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.emissor-marca{display:inline-flex;align-items:center;gap:8px;color:var(--ink);
  background:var(--paper);border:1px solid var(--linha2);border-radius:99px;padding:6px 12px}
.emissor-marca small{font-size:10.5px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}

.emissor-passo{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--linha)}
.emissor-passo:first-of-type{border-top:0}
.emissor-passo .n{flex:0 0 26px;height:26px;border-radius:99px;display:grid;place-items:center;
  font-size:12.5px;font-weight:700;background:var(--paper);border:1px solid var(--linha2);color:var(--muted)}
.emissor-passo.feito .n{background:var(--ok);border-color:var(--ok);color:#fff}
.emissor-passo .corpo{flex:1;min-width:0}
.emissor-passo h5{margin:2px 0 4px;font-size:13.5px;font-weight:650}
.emissor-passo p{margin:0 0 6px;font-size:12.5px;color:var(--muted);line-height:1.55}
.emissor-passo .caminho{font-size:12.5px;color:var(--ink2);background:var(--paper);
  border:1px solid var(--linha);border-radius:8px;padding:7px 10px;display:inline-block;margin-bottom:6px}
.emissor-passo .caminho b{font-weight:650;color:var(--ink)}

.emissor-atencao{border-left:3px solid var(--alerta);background:var(--ouro-suave);
  padding:10px 12px;border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.55;margin-top:10px}
