/* Ideal Legal · identidade da Ideal Sistemas: fundo F7F9F5, verdes da casa, Archivo + IBM Plex, cantos retos */
:root{
  --bg:#f7f9f5; --surface:#ffffff; --sunk:#eef2ea; --ink:#1b2416; --muted:#5d6857; --line:#dbe2d4;
  --brand:#5f8f26; --brand-2:#8dc63f; --brand-soft:#e7f1da; --on-brand:#ffffff;
  --ok:#2f7d32; --ok-soft:#e3f2e3; --warn:#a86400; --warn-soft:#fbefd9; --bad:#b3261e; --bad-soft:#fbe4e2; --info:#2c5d8a; --info-soft:#e3edf7;
  --display:"Archivo",system-ui,sans-serif; --body:"IBM Plex Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#11160e; --surface:#192015; --sunk:#141a10; --ink:#e4ebdc; --muted:#9aa892; --line:#2c3725;
  --brand:#8dc63f; --brand-2:#a9d86a; --brand-soft:#24321a; --on-brand:#11160e;
  --ok:#6cc472; --ok-soft:#1b301c; --warn:#e9a84a; --warn-soft:#352812; --bad:#f08a80; --bad-soft:#3a1d1a; --info:#86b4e0; --info-soft:#18283a; color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--body)}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.15;text-wrap:balance}
h1{font-size:1.5rem;font-weight:800} h2{font-size:1.2rem;font-weight:700} h3{font-size:1rem;font-weight:700}
p{margin:0}
a{color:var(--brand)}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}

.topo{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.topo-in,.conteudo{max-width:1220px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.topo-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-block:10px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.marca .q{width:30px;height:30px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font:800 16px var(--display)}
.marca b{font:800 1.12rem var(--display);letter-spacing:-.01em}
.marca small{display:block;font:500 .68rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.topo .acoes{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mini{font-size:.82rem;color:var(--muted)}
.conteudo{padding-block:20px 60px;display:flex;flex-direction:column;gap:18px}

.abas{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.abas a{padding:10px 12px;font-weight:600;font-size:.9rem;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap;text-decoration:none}
.abas a.on{color:var(--ink);border-bottom-color:var(--brand)}
.abas .n{font:500 .7rem var(--mono);background:var(--bad);color:#fff;padding:1px 5px;margin-left:5px}

.cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px}
.cab p{color:var(--muted);max-width:75ch}
.cartao{background:var(--surface);border:1px solid var(--line);padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.rot{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px}
.kpi{background:var(--surface);border:1px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.kpi .v{font:800 2rem/1 var(--display);font-variant-numeric:tabular-nums}
.kpi .s{font-size:.82rem;color:var(--muted)}
.kpi.hl{border-top:4px solid var(--brand)} .kpi.ruim .v{color:var(--bad)} .kpi.pend .v{color:var(--warn)}

.btn{border:1px solid var(--line);background:var(--surface);padding:7px 12px;font-weight:600;font-size:.86rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--brand)}
.btn.prim{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.btn.peq{padding:4px 9px;font-size:.8rem}
.btn.grande{width:100%;justify-content:center;padding:11px}
.btn:disabled{opacity:.5;cursor:default}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.abas a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.chip{display:inline-block;font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;white-space:nowrap}
.chip.ok{background:var(--ok-soft);color:var(--ok)} .chip.pend{background:var(--warn-soft);color:var(--warn)} .chip.ruim{background:var(--bad-soft);color:var(--bad)}
.chip.azul{background:var(--info-soft);color:var(--info)} .chip.neutro{background:var(--sunk);color:var(--muted)} .chip.marca{background:var(--brand-soft);color:var(--brand)}

.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.campo > span{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.campo input,.campo select,.campo textarea{border:1px solid var(--line);background:var(--bg);padding:8px 10px;width:100%}
.campo textarea{min-height:76px;resize:vertical}
.campo.largo{grid-column:1/-1}
.linha{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.linha input{flex:1 1 200px}

.perg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:8px}
.pg{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:9px 11px;border:1px solid var(--line);background:var(--bg);align-items:center}
.pg small{display:block;color:var(--muted);font-size:.78rem}
.tri{display:flex}
.tri button{border:1px solid var(--line);background:var(--surface);padding:4px 9px;font-size:.78rem;font-weight:600;cursor:pointer}
.tri button+button{border-left:0}
.tri button.on[data-v="sim"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.tri button.on[data-v="nao"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.tri button.on[data-v="?"]{background:var(--warn-soft);color:var(--warn)}

.aviso{font-size:.86rem;border-left:3px solid var(--brand-2);padding:8px 11px;background:var(--brand-soft)}
.aviso.ruim{border-left-color:var(--bad);background:var(--bad-soft)}
.aviso.pend{border-left-color:var(--warn);background:var(--warn-soft)}

.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filtros select,.filtros input{border:1px solid var(--line);background:var(--surface);padding:6px 9px;font-size:.86rem}
.filtros input{flex:1 1 220px}
.tbl{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:880px;font-size:.86rem}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--sunk);position:sticky;top:0}
tr:last-child td{border-bottom:0}
tr.clic{cursor:pointer} tr.clic:hover td{background:var(--sunk)}
tr.apagado td{opacity:.55}
td .t{font-weight:600} td .e{color:var(--muted);font-size:.8rem}
.num{font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:.8rem;white-space:nowrap}
.atrasada{color:var(--bad)}

.lista{display:flex;flex-direction:column}
.li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line);align-items:start}
.li:first-child{border-top:0;padding-top:0}
.li .t{font-weight:600} .li .d{font-size:.84rem;color:var(--muted)}
.ponto{width:10px;height:10px;margin-top:6px;background:var(--brand)}
.ponto.ruim{background:var(--bad)} .ponto.pend{background:var(--warn)}
.quando{font:500 .78rem var(--mono);color:var(--muted);white-space:nowrap}

.barras{display:flex;flex-direction:column;gap:9px}
.barra{display:grid;grid-template-columns:minmax(0,12rem) 1fr 3.2rem;gap:10px;align-items:center;font-size:.86rem}
.barra .n{text-align:right;font:500 .78rem var(--mono);color:var(--muted)}
.trilho{display:flex;height:14px;background:var(--sunk)}
.trilho i{display:block;height:100%}
.leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--muted)}
.leg span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;background:var(--c)}
.anel{--p:0;width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--brand) calc(var(--p)*1%),var(--sunk) 0);display:grid;place-items:center;flex:none}
.anel b{width:92px;height:92px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font:800 1.6rem var(--display)}

.gaveta{position:fixed;inset:0;background:rgba(10,14,8,.45);display:flex;justify-content:flex-end;z-index:20}
.gaveta .folha{background:var(--surface);width:min(620px,100%);height:100%;overflow:auto;padding:20px max(18px,env(safe-area-inset-right,0px)) 30px 20px;display:flex;flex-direction:column;gap:14px;border-left:4px solid var(--brand)}
.kv{display:grid;grid-template-columns:9.5rem 1fr;gap:6px 12px;font-size:.88rem}
.kv dt{color:var(--muted)} .kv dd{margin:0;min-width:0;overflow-wrap:anywhere}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.card-emp{background:var(--surface);border:1px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
.card-emp:hover{border-color:var(--brand)}
.card-emp .indice{font:800 1.7rem var(--display)}

.mes{background:var(--surface);border:1px solid var(--line);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.mes h3{font-size:.95rem;text-transform:capitalize}
.tarefa{display:grid;grid-template-columns:2.2rem 1fr auto;gap:8px;font-size:.84rem;align-items:start}
.tarefa .dd{font:600 .8rem var(--mono);color:var(--brand)}
.tarefa small{display:block;color:var(--muted)}

.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--bg);padding:9px 16px;font-size:.88rem;z-index:30;opacity:0;transition:.2s;pointer-events:none}
.toast.vis{opacity:1;transform:translateX(-50%)} .toast.ruim{background:var(--bad);color:#fff}
.carregando{color:var(--muted);padding:40px 0;text-align:center}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:gira .8s linear infinite;vertical-align:-2px}
@keyframes gira{to{transform:rotate(360deg)}}
.codigo-input{font:600 1.6rem var(--mono);letter-spacing:.4em;text-align:center}
@media (max-width:560px){.barra{grid-template-columns:minmax(0,7.5rem) 1fr 2.6rem}.kv{grid-template-columns:1fr}.topo .acoes{margin-left:0}}
@media print{.topo,.abas,.btn,.filtros{display:none!important}body{background:#fff}}
