:root { --ect:#1d5fa8; --ect-fundo:#e6f0fb; --priv:#2e7d4f; --priv-fundo:#e5f4ea; --txt:#1c2430; --fundo:#f6f7f9; --borda:#d5d9e0; --erro:#b3261e; }
@media (prefers-color-scheme: dark) { :root { --txt:#e8ebf0; --fundo:#161a21; --borda:#323946; --ect-fundo:#14263b; --priv-fundo:#14301f; } }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin:0; font:15px/1.45 system-ui, sans-serif; color:var(--txt); background:var(--fundo); }
.faixa-erro { position:sticky; top:0; z-index:10; background:var(--erro); color:#fff; padding:10px 16px; font-weight:600; }
.login { display:grid; place-items:center; min-height:100vh; }
.cartao { background:var(--fundo); border:1px solid var(--borda); border-radius:10px; padding:24px; width:min(360px, 92vw); display:grid; gap:12px; }
.cartao label { display:grid; gap:4px; }
input, button { font:inherit; padding:8px 10px; border-radius:6px; border:1px solid var(--borda); }
button { cursor:pointer; background:var(--ect); color:#fff; border-color:var(--ect); }
.app { display:grid; grid-template-columns:200px 1fr; min-height:100vh; }
.menu { display:flex; flex-direction:column; gap:6px; padding:12px; border-right:1px solid var(--borda); }
.menu a { padding:8px; border-radius:6px; color:inherit; text-decoration:none; }
.menu a.ativo { background:var(--ect-fundo); font-weight:600; }
.seletor { display:flex; gap:4px; margin-bottom:8px; }
.seletor button { flex:1; background:transparent; color:var(--txt); border-color:var(--borda); padding:6px 4px; }
.seletor button.ativo { color:#fff; }
.seletor button[data-carteira="ECT"].ativo { background:var(--ect); border-color:var(--ect); }
.seletor button[data-carteira="PRIVADA"].ativo { background:var(--priv); border-color:var(--priv); }
.seletor button[data-carteira="TODAS"].ativo { background:#4a5568; border-color:#4a5568; }
.sair { margin-top:auto; background:transparent; color:var(--txt); }
.versao { font-size:12px; opacity:.7; }
.conteudo { padding:20px; overflow:auto; }
.selo { display:inline-block; padding:1px 8px; border-radius:10px; font-size:12px; font-weight:600; }
.selo.ect { background:var(--ect-fundo); color:var(--ect); }
.selo.privada { background:var(--priv-fundo); color:var(--priv); }
table { border-collapse:collapse; width:100%; }
th, td { text-align:left; padding:6px 8px; border-bottom:1px solid var(--borda); }
@media (max-width:700px) { .app { grid-template-columns:1fr; } .menu { flex-direction:row; flex-wrap:wrap; border-right:0; border-bottom:1px solid var(--borda); } }
.barra { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.barra h1 { margin:0 auto 0 0; font-size:22px; }
.mudo { opacity:.75; margin:4px 0 12px; }
tr.clicavel { cursor:pointer; }
tr.clicavel:hover { background:var(--ect-fundo); }
fieldset { border:1px solid var(--borda); border-radius:8px; margin:0 0 14px; padding:10px 12px; }
legend { font-weight:600; padding:0 6px; }
.grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:10px 14px; }
.grade label { display:grid; gap:3px; font-size:13px; align-content:start; }
.grade label.larga { grid-column:1 / -1; }
textarea, select { font:inherit; padding:8px 10px; border-radius:6px; border:1px solid var(--borda); width:100%; background:transparent; color:inherit; }
input { width:100%; background:transparent; color:inherit; }
.barra input[type=search] { width:260px; }
.acoes { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
button.sec { background:transparent; color:var(--txt); border-color:var(--borda); }
button.perigo { background:var(--erro); border-color:var(--erro); color:#fff; }
.dica { font-size:12px; opacity:.8; min-height:14px; }
.dica.ok { color:var(--priv); opacity:1; font-weight:600; }
.dica.ruim { color:var(--erro); opacity:1; font-weight:600; }
.marcador { display:inline-block; padding:1px 8px; border-radius:4px; font-size:12px; font-weight:600; border:1px solid rgba(0,0,0,.25); white-space:nowrap; }
tr.clicavel td:first-child { white-space:nowrap; }
.ok-faixa { background:var(--priv-fundo); color:var(--priv); border:1px solid var(--priv); border-radius:6px; padding:8px 12px; margin-bottom:12px; font-weight:600; }
.dica.info { opacity:1; color:var(--ect); }
.marcador.sugerido { border-style:dashed; opacity:.85; }
.nowrap { white-space:nowrap; }
label.inline { display:flex; gap:6px; align-items:center; font-size:14px; }
label.inline input { width:auto; }
.mini { padding:3px 8px; font-size:12px; margin-right:4px; }
button.mini.perigo { background:var(--erro); border-color:var(--erro); color:#fff; }
.acoes-linha { white-space:nowrap; }
.alerta { display:inline-block; padding:1px 8px; border-radius:10px; font-size:12px; font-weight:600; border:1px solid var(--borda); }
.alerta.vencido { background:#b3261e; color:#fff; border-color:#b3261e; }
.alerta.hoje { background:#ec682c; color:#fff; border-color:#ec682c; }
.alerta.perto { background:#fcf050; color:#1c2430; border-color:#c9b800; }
.alerta.ok { background:var(--priv-fundo); color:var(--priv); border-color:var(--priv); }
.alerta.sem, .alerta.fim { opacity:.7; }
.sit { font-size:12px; font-weight:700; }
.sit.a_conferir { color:#b36200; }
.sit.conferido { color:var(--priv); }
.sit.cumprido { opacity:.7; }
.selo-div { display:inline-block; margin-left:6px; padding:0 6px; border-radius:4px; font-size:11px; font-weight:700; background:#fde7e5; color:#b3261e; border:1px solid #b3261e; }
.form-prazo { margin-top:10px; }
.rolagem { overflow-x:auto; }
.alerta.d1 { background:#b3261e; color:#fff; border-color:#b3261e; }
.alerta.d3 { background:#ec682c; color:#fff; border-color:#ec682c; }
.alerta.d7 { background:#fcf050; color:#1c2430; border-color:#c9b800; }
.alerta.passou { background:#fde7e5; color:#b3261e; border-color:#b3261e; }
.pend { display:inline-block; padding:0 6px; margin:1px 2px 1px 0; border-radius:4px; font-size:11px; font-weight:600; background:#fff4d6; color:#7a5200; border:1px solid #e0b800; }
.janelas { display:flex; gap:4px; }
.janelas button { background:transparent; color:var(--txt); border-color:var(--borda); padding:4px 10px; }
.janelas button.ativo { background:var(--ect); color:#fff; border-color:var(--ect); }
.bloco { border:1px solid var(--borda); border-radius:8px; padding:8px 14px 10px; margin:0 0 12px; }
.bloco.critico { border-color:#b3261e; background:#fff1f0; }
@media (prefers-color-scheme: dark) { .bloco.critico { background:#3a1a18; } }
.bloco h2 { font-size:16px; margin:4px 0 6px; }
.contador { display:inline-block; min-width:22px; text-align:center; padding:0 6px; border-radius:10px; background:var(--borda); font-size:12px; font-weight:700; }
.itens { list-style:none; margin:0; padding:0; }
.itens li { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; padding:5px 0; border-top:1px solid var(--borda); }
.itens li:first-child { border-top:0; }
