:root{--fg:#193250;--muted:#5D6977;--line:#DCDFE5;--bg:#F1F2F5;--surface:#FFFFFF;--brand:#193250;--copper:#C17137;--sun:#B4622B;--ok:#1F7A4D;--okbg:#E4F4EC;--warn:#8A5A00;--warnbg:#FFF1D6;--bad:#A12B2B;--badbg:#FBE6E6;--focus:#1B5FD1;--r:12px;--sombra:0 1px 2px rgba(25,50,80,.08),0 6px 20px rgba(25,50,80,.06)}
@media (prefers-color-scheme:dark){:root{--fg:#E9EEF5;--muted:#A5B0BF;--line:#2E3F57;--bg:#0F1B2B;--surface:#162639;--brand:#E9EEF5;--copper:#E39A62;--sun:#E39A62;--ok:#7DD3A6;--okbg:#14382A;--warn:#F2C879;--warnbg:#3B2E10;--bad:#F29A9A;--badbg:#42191B;--focus:#8DB4FF}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 "Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Outfit,"Source Sans 3",system-ui,sans-serif;margin:0;line-height:1.2}
h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.app{min-height:100vh}
.carregando-inicial{padding:32px 16px;color:var(--muted)}
[hidden]{display:none!important}
/* cartões de entrada */
.centro{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.cartao{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sombra);padding:28px 24px}
.cartao h1{margin-bottom:6px}
.marca{font-family:Outfit,sans-serif;font-weight:800;letter-spacing:.02em;color:var(--brand);font-size:.95rem;text-transform:uppercase;margin-bottom:18px}
.marca b{color:var(--copper);font-weight:800}
.sub{color:var(--muted);margin:0 0 18px}
.campo{display:block;margin:0 0 14px}
.campo>span{display:block;font-weight:600;margin-bottom:4px}
.campo input,.barra input,.barra select{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 18px;border-radius:10px;border:1px solid var(--brand);background:var(--brand);color:var(--surface);font-weight:700;cursor:pointer}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.sec{background:transparent;color:var(--fg);border-color:var(--line)}
.btn.peq{min-height:36px;padding:4px 12px;font-size:.92rem}
.btn.bloco{width:100%}
.erro{color:var(--bad);background:var(--badbg);border-radius:10px;padding:10px 12px;margin:0 0 14px}
.info{color:var(--fg);background:var(--warnbg);border-radius:10px;padding:10px 12px;margin:0 0 14px}
.sucesso{color:var(--ok);background:var(--okbg);border-radius:10px;padding:10px 12px;margin:0 0 14px}
.codigo-2fa{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1.4rem;letter-spacing:.3em;text-align:center}
.segredo{font-family:"IBM Plex Mono",ui-monospace,monospace;word-break:break-all;background:var(--bg);padding:8px 10px;border-radius:8px;user-select:all}
.qr{display:block;margin:10px auto;width:200px;height:200px;background:#fff;padding:8px;border-radius:10px;border:1px solid var(--line)}
/* topo */
.topo{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.topo-in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topo .marca{margin:0;flex:1 1 auto}
.topo .quem{color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}
.conteudo{max-width:1180px;margin:0 auto;padding:18px 16px 60px}
.faixa{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.medidor{flex:1 1 260px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}
.medidor .trilho{height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin-top:6px}
.medidor .enche{height:100%;background:var(--ok)}
.medidor .enche.alto{background:var(--warn)}
.medidor .enche.cheio{background:var(--bad)}
.medidor small{color:var(--muted)}
.barra{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:10px}
@media (max-width:640px){.barra{grid-template-columns:1fr}}
.contagem{color:var(--muted);margin:0 0 10px;font-size:.92rem}
/* lista */
.lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.item{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:6px 16px;align-items:center}
.item:hover{border-color:var(--copper)}
.item .t{font-family:Outfit,sans-serif;font-weight:700;overflow-wrap:anywhere}
.item .c{color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}
.item .m{color:var(--muted);font-size:.88rem}
@media (max-width:640px){.item{grid-template-columns:1fr}}
.pilula{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}
.pilula.ativo{background:var(--okbg);color:var(--ok)}
.pilula.desativado{background:var(--badbg);color:var(--bad)}
.vazio{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:28px 16px;text-align:center;color:var(--muted)}
/* detalhe */
.fundo{position:fixed;inset:0;background:rgba(15,27,43,.55);z-index:20;display:flex;justify-content:flex-end}
.gaveta{width:min(720px,100%);height:100%;overflow:auto;background:var(--bg);padding:16px 16px 40px;box-shadow:-8px 0 30px rgba(0,0,0,.25)}
.gaveta-topo{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.gaveta-topo h2{flex:1;overflow-wrap:anywhere}
.bloco-d{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}
.bloco-d h3{margin-bottom:8px}
.dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}
.dl dt{color:var(--muted)}.dl dd{margin:0;overflow-wrap:anywhere}
.linha-link{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.linha-link input{flex:1 1 220px;min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-family:"IBM Plex Mono",monospace;font-size:.85rem}
.tabela{width:100%;border-collapse:collapse;font-size:.92rem}
.tabela th,.tabela td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.tabela th{color:var(--muted);font-weight:600}
.rolagem{overflow-x:auto}
.ev{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem}
.ev li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:4px}
.ev time{color:var(--muted);white-space:nowrap}
/* pré-visualização */
.previa{position:fixed;inset:0;z-index:30;background:var(--bg);display:flex;flex-direction:column}
.previa-topo{display:flex;gap:8px;align-items:center;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}
.previa-topo strong{flex:1;min-width:140px}
.previa-quadro{flex:1;display:flex;justify-content:center;overflow:auto;background:var(--bg)}
.previa iframe{border:0;width:100%;height:100%;background:#fff}
.previa.celular iframe{width:390px;max-width:100%;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.aviso-rodape{color:var(--muted);font-size:.88rem;margin-top:14px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--brand);color:var(--surface);padding:10px 16px;border-radius:10px;z-index:50;max-width:90vw}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tabela th:nth-child(1),.tabela td:nth-child(1),.tabela th:nth-child(3),.tabela td:nth-child(3),.tabela th:nth-child(4),.tabela td:nth-child(4){white-space:nowrap}
@media (max-width:640px){
  .tabela thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabela tbody tr{display:grid;grid-template-columns:auto auto 1fr;gap:2px 12px;border-bottom:1px solid var(--line);padding:8px 0}
  .tabela tbody td{border:0;padding:0;white-space:normal!important}
  .tabela tbody td:nth-child(2){grid-column:1/-1;order:-1;font-weight:600}
  .tabela tbody td:nth-child(1),.tabela tbody td:nth-child(3),.tabela tbody td:nth-child(4){color:var(--muted);font-size:.88rem}
}
.chk{list-style:none;margin:12px 0;padding:0;display:grid;gap:4px;font-size:.92rem}
.chk li.ok{color:var(--ok)}.chk li.aviso{color:var(--warn)}.chk li.erro{color:var(--bad);font-weight:600}
.drop{display:grid;gap:4px;text-align:center;padding:36px 16px;border:2px dashed var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;color:var(--muted)}
.drop strong{color:var(--fg)}.drop:hover,.drop.sobre,#imp-arq:focus-visible+.drop{border-color:var(--copper)}
.ack{display:flex;gap:8px;align-items:flex-start;margin:12px 0;font-size:.95rem}.ack input{margin-top:4px;width:20px;height:20px}
