/* Central de Soluções 2.0 — base visual copiada do Painel de Produtividade (mesmos tokens, lateral e tema escuro).
   Depois da base vêm só os componentes próprios da Central, sempre usando as variáveis do tema. */

:root{
  --bg:#F3F4F6; --card:#FFFFFF; --line:#E2E5EA; --soft:#F8F9FB; --soft-line:#EDEFF3;
  --ink:#1B1F24; --ink2:#3F4650; --muted:#6A7280;
  --btn-pri:#B8500B; --btn-pri-h:#9A430A;
  --accent:#E8650F; --accent-ink:#C2530A; --accent-bg:#FDEEE3; --ad:#F46524;
  --navy:#1F2933;
  --ok:#15803D; --ok-bg:#E7F5EC; --warn:#9A5B00; --warn-bg:#FDF2DC; --bad:#B42318; --bad-bg:#FDE8E6; --na:#5B6370; --na-bg:#EEF0F3;
  --shadow:0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.04);
  --surface:#FFFFFF; --input-line:#D9D5CF; --input-line-h:#BDB7AF; --ink3:#57524C; --faint:#9AA1AC;
  --seg-bg:#E6E9EE; --seg-bg2:#EEF0F3; --seg-on:#FFFFFF; --navy-ink:#FFFFFF; --accent-line:#F3B48F; --accent-h:#B03E0C;
  --row-alt:#FBFCFD; --row-hover:#FFF6EF; --bar-bg:#EEEBE7; --kpi-warn:#E0A100;
  --warn-line:#F5DFA8; --bad-line:#F5C2BC; --info-bg:#EAF1FB; --info-ink:#1F4E79; --info-line:#C9DBF2;
  --sk-bg:#E9ECF0; --sk-luz:rgba(255,255,255,.65); --ch-hover:#F3F4F6;
  --overlay:rgba(17,24,39,.45); --pop-shadow:0 14px 32px rgba(16,24,40,.16); --modal-shadow:0 20px 50px rgba(0,0,0,.25);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans','Segoe UI',system-ui,sans-serif;font-size:14px;line-height:1.45}
h1,h2,h3{font-family:Archivo,'Segoe UI',sans-serif;font-weight:600;margin:0}
button{font:inherit;cursor:pointer}
input{font:inherit}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1360px;margin:0 auto;padding:24px 20px 56px;display:flex;flex-direction:column;gap:20px}
.top{background:var(--surface);border-bottom:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:var(--shadow);position:sticky;top:0;z-index:20}
.top .in{max-width:1360px;margin:0 auto;padding:12px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.brand{display:flex;flex-direction:column}
.brand b{font-family:Archivo,sans-serif;font-size:18px;letter-spacing:-.01em}
.brand b span{color:var(--accent-ink)}
.brand small{color:var(--muted);font-size:12px}
.btn{min-height:40px;padding:0 14px;border-radius:9px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink);font-weight:600}
.btn:hover{border-color:var(--input-line-h)}
.btn.pri{background:var(--btn-pri);border-color:var(--btn-pri);color:#fff}
.btn.pri:hover{background:var(--btn-pri-h);border-color:var(--btn-pri-h)}
.btn.link{border:0;background:transparent;color:var(--accent-ink);padding:0 6px}
.av{flex:none;border-radius:50%;background:var(--accent-bg);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;border:1px solid var(--line)}
.av img{width:100%;height:100%;object-fit:cover;display:block}
.btn.perfil{display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 5px}
.busca{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--input-line);border-radius:9px;background:var(--surface);color:var(--muted)}
.busca:focus-within{border-color:var(--accent)}
.busca input{border:0;outline:0;background:transparent;font:inherit;color:var(--ink);width:180px;min-width:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow)}
.grid{display:grid;gap:14px}
.g-kpi{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}
.g-kpi-tec{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
.g-two{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}
.g-crit{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line)}
.kpi.k-ok:before{background:var(--ok)} .kpi.k-bad:before{background:var(--bad)} .kpi.k-warn:before{background:var(--kpi-warn)} .kpi.k-acc:before{background:var(--accent)}
.kpi .l{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.kpi .v{font-family:Archivo,sans-serif;font-weight:700;font-size:28px;line-height:1.1;letter-spacing:-.01em}
.kpi .n{font-size:12.5px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}
.st-ok{background:var(--ok-bg);color:var(--ok)} .st-warn{background:var(--warn-bg);color:var(--warn)}
.st-bad{background:var(--bad-bg);color:var(--bad)} .st-np,.st-na{background:var(--na-bg);color:var(--na)}
.st-exc{background:#1D6640;color:#fff}
.st-bom,.st-info{background:var(--info-bg);color:var(--info-ink)}
.aval{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.aval .chip{font-size:14px;padding:6px 14px}
.c-ok{color:var(--ok)} .c-warn{color:var(--warn)} .c-bad{color:var(--bad)} .c-na{color:var(--muted)}
.crit{display:flex;gap:12px;padding:12px;border-radius:10px;background:var(--soft);border:1px solid var(--soft-line)}
.dot{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.crit .l{font-size:12.5px;color:var(--muted)} .crit .v{font-weight:600;font-size:15px} .crit .d{font-size:12.5px;color:var(--ink3)}
.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--seg-bg);gap:2px}
.seg button{min-height:38px;padding:0 16px;border-radius:8px;border:0;background:transparent;color:var(--ink3);font-weight:600}
.seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--accent-ink);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{min-height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink2);font-weight:600;font-size:13px}
.chips button.ad{color:var(--accent-ink);border-color:var(--accent-line)}
.chips button[aria-pressed="true"]{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}
ul.notes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
ul.notes li{display:flex;gap:10px;align-items:flex-start}
ul.notes li:before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--ad)}
.tbl{width:100%;border-collapse:collapse}
.tbl{font-size:13.5px}
.tbl thead th{position:sticky;top:0;background:var(--soft);z-index:1}
.tbl th{font-size:11.5px;font-weight:600;color:var(--muted);text-align:left;padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.tbl tr.grp th{background:var(--surface);border-bottom:0;padding:8px 12px 0;font-size:10.5px;color:var(--faint)}
.tbl tr.grp th.g{border-left:1px solid var(--soft-line);text-align:center}
.tbl td.gs,.tbl th.gs{border-left:1px solid var(--soft-line)}
.tbl tbody tr:nth-child(even) td{background:var(--row-alt)}
.tbl td:first-child b{white-space:nowrap}
.tbl td:first-child{min-width:150px}
.pill{display:inline-block;min-width:44px;text-align:center;padding:2px 8px;border-radius:6px;font-weight:600;font-size:12.5px}
.pill.pos{background:var(--ok-bg);color:var(--ok)} .pill.neg{background:var(--bad-bg);color:var(--bad)} .pill.zero{background:var(--na-bg);color:var(--na)}
.statbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));border:1px solid var(--soft-line);border-radius:12px;overflow:hidden}
.stat{padding:14px 16px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--soft-line);background:var(--soft)}
.stat:last-child{border-right:0}
.stat .l{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.stat .v{font-family:Archivo,sans-serif;font-weight:700;font-size:24px;line-height:1.1}
.stat .n{font-size:12px;color:var(--muted)}
.sec-h{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.sec-h h2{font-size:16px}
.tbl td{padding:10px 10px;border-bottom:1px solid var(--soft-line);vertical-align:middle}
.tbl td.r,.tbl th.r{text-align:right}
.tbl tr.click{cursor:pointer} .tbl tr.click:hover td{background:var(--row-hover)}
.scroll{overflow-x:auto}
.sub{color:var(--muted);font-size:12.5px}
.banner{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line);border-radius:10px;padding:10px 14px;font-size:13px}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login .card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;padding:28px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:600;color:var(--ink2)}
.field input{min-height:44px;padding:0 12px;border-radius:9px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink)}
.err{color:var(--bad);font-size:13px;min-height:18px}
.okmsg{color:var(--ok);font-size:13px}
.bar{height:6px;border-radius:3px;background:var(--bar-bg);overflow:hidden}
.bar i{display:block;height:100%}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filters button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink2);font-size:13px;font-weight:600}
.filters button[aria-pressed="true"]{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}
.hide{display:none!important}
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.side{background:var(--surface);border-right:1px solid var(--line);border-top:3px solid var(--accent)}
.side-in{position:sticky;top:0;max-height:100vh;overflow-y:auto;padding:18px 14px 24px;display:flex;flex-direction:column;gap:16px}
.side-logo{display:flex;flex-direction:column;gap:6px;padding:0 6px}
.side-logo img{width:130px;height:auto}
.side-logo span{font-family:Archivo,sans-serif;font-weight:600;font-size:13px;color:var(--muted)}
.side-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--soft);border:1px solid var(--soft-line)}
.side-user b{display:block;font-size:14px} .side-user small{color:var(--muted);font-size:12px}
.side-nav{display:flex;flex-direction:column;gap:2px}
.side-h{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:12px 10px 4px}
.nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;color:var(--ink2);font-weight:600;font-size:13.5px;border-left:3px solid transparent}
.nav small{font-weight:500;font-size:11.5px;color:var(--muted)}
.nav{flex-direction:row;align-items:flex-start;gap:10px}
.nav .nt{display:flex;flex-direction:column;min-width:0}
.nav .ni{flex:none;width:18px;height:18px;margin-top:1px;color:var(--muted)}
.nav:hover .ni{color:var(--ink2)}
.nav.on .ni{color:var(--accent)}
.nav-sub{padding-left:38px}
.ic{width:16px;height:16px;flex:none;vertical-align:-3px}
.nav:hover{background:var(--soft)}
.nav.on{background:var(--accent-bg);color:var(--accent-ink);border-left-color:var(--accent)}
.side-h label{cursor:pointer}
.side-lbl{display:block;font-size:11.5px;font-weight:600;color:var(--muted);padding:6px 10px 4px;cursor:pointer}
.side-nota{display:block;font-size:11.5px;color:var(--muted);padding:0 10px 6px}
.banner.info{background:var(--info-bg);color:var(--info-ink);border-color:var(--info-line)}
.modal-fundo{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}
.modal{background:var(--surface);color:var(--ink);border-radius:14px;max-width:460px;width:100%;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--modal-shadow)}
.modal h2{font-size:18px}
.modal .acoes{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.btn.perigo{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.perigo:hover{background:#8F1C13}
.hist td.hc{text-align:center}
.hres{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;border-radius:6px;font-weight:700;font-size:12px}
.ins-com{max-width:520px;white-space:pre-wrap;word-break:break-word;font-size:13px;color:var(--ink2)}
.ins-tag{display:inline-block;margin-top:4px;font-size:11.5px;font-weight:600;color:var(--warn);background:var(--warn-bg);border-radius:6px;padding:1px 7px}
.ins-arq{position:relative;overflow:hidden;display:inline-flex;align-items:center}
.ins-arq input{position:absolute;inset:0;opacity:0;cursor:pointer}
.an-slide{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;background:#0E1520}
.an-cab{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.an-cab h2{font-size:20px}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
a.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.btn:disabled{opacity:.5;cursor:not-allowed}
.tbl tfoot td{font-weight:600;background:var(--soft);border-top:1px solid var(--line)}
.tbl td.semdados{color:var(--muted);font-style:italic}
.vs{font-weight:600;font-size:12.5px;white-space:nowrap}
.per{display:flex;flex-direction:column;gap:8px}
.per-h{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:0 10px}
.per-seg{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:10px;background:var(--seg-bg2)}
.per-seg button{min-height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:600;font-size:13px}
.per-seg button:hover{color:var(--ink)}
.per-seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.14)}
.per-pick{position:relative}
.per-btn{position:relative;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 34px 10px 12px;border-radius:10px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink)}
.per-btn:hover{border-color:var(--input-line-h)}
.per-btn b{font-size:14px;font-weight:600}
.per-btn small{font-size:12px;color:var(--muted)}
.per-btn:after{content:"";position:absolute;right:14px;top:16px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)}
.per-btn[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.per-btn[aria-expanded="true"]:after{transform:rotate(-135deg);top:20px}
.pst{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}
.pst:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.pst.andamento{color:var(--warn)} .pst.atualizando{color:var(--info-ink)} .pst.congelado{color:var(--ok)}
.per-pop{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--pop-shadow);padding:6px;z-index:30;display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}
.per-pop .ph{font-size:10.5px;font-weight:700;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px 4px}
.per-op{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;border-left:3px solid transparent;background:transparent;border-radius:8px;padding:7px 9px;color:var(--ink)}
.per-op b{font-size:13.5px;font-weight:600}
.per-op small{font-size:12px;color:var(--muted)}
.per-op:hover,.per-op:focus-visible{background:var(--soft)}
.per-op[aria-selected="true"]{background:var(--accent-bg);border-left-color:var(--accent)}
.per-op[aria-selected="true"] b{color:var(--accent-ink)}
.side-sel{position:relative;padding:2px 0 4px}
.side-sel select{width:100%;min-height:38px;padding:0 34px 0 10px;border-radius:8px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink2);font:600 13.5px 'IBM Plex Sans','Segoe UI',sans-serif;appearance:none;-webkit-appearance:none;cursor:pointer}
.side-sel:after{content:"";position:absolute;right:13px;top:50%;margin-top:-5px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);pointer-events:none}
.side-sel.on select{background:var(--accent-bg);color:var(--accent-ink);border-color:var(--accent-line)}
.side-sel select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.thsort{border:0;background:transparent;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap}
.thsort span{opacity:.45;font-size:11px}
.thsort.on{color:var(--accent-ink)} .thsort.on span{opacity:1}
.thsort:hover{color:var(--ink)}
.info-top{font-size:12.5px;color:var(--muted)}
.shell>.wrap{width:100%;min-width:0;margin:0 auto}
/* Celular e telas estreitas: barra no topo com o botão Menu; a lateral abre e fecha por cima da tela */
.m-bar{display:none}
@media (max-width:900px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.m-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:56px}
.m-bar .m-logo img{width:96px;height:auto;display:block}.m-bar .m-tit{flex:1;min-width:0;font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-bar .m-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px}
.side-in{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 60px);overflow-y:auto;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--modal-shadow);padding:12px 16px 20px}
.side.aberto .side-in{display:flex}.side .side-logo{display:none}
.nav{min-height:44px;align-items:center}.nav .ni{margin-top:0}}
.loading{padding:60px 20px;text-align:center;color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(440px,100%),1fr));gap:12px}
.pcard{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}
.ptop{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.pnum{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;font-weight:600;background:var(--soft);border:1px solid var(--soft-line);border-radius:6px;padding:2px 7px;color:var(--ink2)}
.pbadge{font-weight:700;font-size:12px;border-radius:6px;padding:2px 7px}
.pmeta{font-size:12px;color:var(--muted)}
.ptags{display:inline-flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.tagp{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}
.tag-n1{background:#E6EEFD;color:#1D4ED8} .tag-n2{background:#FDF2DC;color:#9A5B00} .tag-pri{background:#FDE8E6;color:#B42318} .tag-ss{background:#F3E8FF;color:#6B21A8} .tag-sa{background:#7F1D1D;color:#fff}
.ptit{color:var(--ink);font-weight:600;font-size:14px;text-decoration:none;line-height:1.35}
.ptit:hover{color:var(--accent-ink);text-decoration:underline}
.pinfo{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:12.5px;color:var(--ink2)}
.psit{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.psit i{width:8px;height:8px;border-radius:50%;display:inline-block}
.pfoot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;border-top:1px solid var(--soft-line);padding-top:8px}
.pfr{display:inline-flex;gap:8px;align-items:center;margin-left:auto}
.pquem{border:1px solid var(--soft-line);background:var(--soft);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.pquem:hover{border-color:var(--accent);color:var(--accent-ink)}
.btn.plink{min-height:32px;padding:0 10px;font-size:13px;display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:var(--accent-ink);border-color:var(--accent-line)}
.btn.plink:hover{background:var(--accent-bg)}
.sel{min-height:36px;padding:0 10px;border-radius:999px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink2);font:600 13px 'IBM Plex Sans','Segoe UI',sans-serif}
.filters .seg button{min-height:32px;padding:0 12px;border-radius:7px;border:0;font-size:13px}
.filters .seg button[aria-pressed="true"]{background:var(--seg-on);color:var(--accent-ink);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.banner.bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}
@media (max-width:640px){.wrap{padding:16px 16px 40px}.card{padding:16px}}
@media (max-width:900px){.nav-sub{padding-left:38px}}
/* faixas de tempo das pendências */
.fx-atrasado{background:#FDE8E6;color:#7F1D1D} .fx-estourado{background:#FDE8E6;color:#B42318} .fx-urgente{background:#FFEDD5;color:#C2410C}
.fx-critico{background:#FFF1E6;color:#C2530A} .fx-atencao{background:#FDF2DC;color:#9A5B00} .fx-atento{background:#ECF7DC;color:#4D7C0F}
.fx-prazo,.fx-recente{background:#E6EEFD;color:#1D4ED8}
.pcard.fxl-atrasado{border-left-color:#7F1D1D} .pcard.fxl-estourado{border-left-color:#B42318} .pcard.fxl-urgente{border-left-color:#C2410C}
.pcard.fxl-critico{border-left-color:#C2530A} .pcard.fxl-atencao{border-left-color:#9A5B00} .pcard.fxl-atento{border-left-color:#4D7C0F} .pcard.fxl-prazo,.pcard.fxl-recente{border-left-color:#1D4ED8}
.fxd-atrasado{background:#7F1D1D} .fxd-estourado{background:#B42318} .fxd-urgente{background:#C2410C} .fxd-critico{background:#C2530A} .fxd-atencao{background:#9A5B00} .fxd-atento{background:#4D7C0F} .fxd-prazo,.fxd-recente{background:#1D4ED8}
/* logo: uma versão para cada tema */
.logo-escuro{display:none!important}
:root[data-tema="escuro"] .logo-claro{display:none!important}
:root[data-tema="escuro"] .logo-escuro{display:block!important}
/* escolha do tema */
.tema-btn{margin-left:auto;flex:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;padding:0}
.tema-btn:hover{border-color:var(--accent);color:var(--accent-ink)}
.tema-btn svg{width:17px;height:17px}
.tema-op{display:flex;gap:12px;flex-wrap:wrap}
.tema-op button{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:190px;padding:10px;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;text-align:left}
.tema-op button:hover{border-color:var(--input-line-h)}
.tema-op button[aria-pressed="true"]{border-color:var(--accent)}
.tema-op button>span:last-child{display:flex;align-items:center;justify-content:space-between}
.tema-op button[aria-pressed="true"]>span:last-child:after{content:"✓";color:var(--accent-ink);font-weight:700}
.tema-am{height:70px;border-radius:8px;display:grid;grid-template-columns:28% 1fr;overflow:hidden;border:1px solid var(--line)}
.tema-am .l{display:flex;flex-direction:column;gap:5px;padding:8px 6px}
.tema-am .c{display:flex;flex-direction:column;gap:6px;padding:8px}
.tema-am i{display:block;height:6px;border-radius:3px}
.tema-am .k{display:block;height:22px;border-radius:5px}
.tema-am.claro{background:#F3F4F6} .tema-am.claro .l{background:#fff;border-right:1px solid #E2E5EA} .tema-am.claro i{background:#D9DDE3} .tema-am.claro i.a{background:#E8650F} .tema-am.claro .k{background:#fff;border:1px solid #E2E5EA}
.tema-am.escuro{background:#0F1318} .tema-am.escuro .l{background:#171C23;border-right:1px solid #2A313B} .tema-am.escuro i{background:#323A45} .tema-am.escuro i.a{background:#F07A2B} .tema-am.escuro .k{background:#171C23;border:1px solid #2A313B}
.arq-foto{position:relative;overflow:hidden;display:inline-flex;align-items:center}
.arq-foto input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* ============ TEMA ESCURO ============ */
:root[data-tema="escuro"]{
  --bg:#0F1318; --card:#171C23; --surface:#171C23; --line:#2A313B; --soft:#1C222A; --soft-line:#252C35;
  --ink:#E8EAED; --ink2:#C3C8D0; --ink3:#AAB2BD; --muted:#8E97A3; --faint:#6E7782;
  --accent:#F07A2B; --accent-ink:#FF9A57; --accent-bg:#3A2416; --accent-line:#7A4A2A; --accent-h:#C2530A; --ad:#F07A2B;
  --navy:#E8EAED; --navy-ink:#0F1318;
  --ok:#4ADE80; --ok-bg:#12301F; --warn:#FBBF24; --warn-bg:#33270B; --warn-line:#5C4512; --bad:#F87171; --bad-bg:#3A1717; --bad-line:#6B2A2A; --na:#9AA3AF; --na-bg:#232A33;
  --info-bg:#142338; --info-ink:#93C5FD; --info-line:#24426B;
  --input-line:#323A45; --input-line-h:#4A5562; --seg-bg:#232A33; --seg-bg2:#232A33; --seg-on:#38424F;
  --row-alt:#1A2028; --row-hover:#2A2018; --bar-bg:#2A313B; --kpi-warn:#FBBF24;
  --sk-bg:#222932; --sk-luz:rgba(255,255,255,.05); --ch-hover:#1E242C;
  --overlay:rgba(0,0,0,.62); --shadow:0 1px 2px rgba(0,0,0,.35); --pop-shadow:0 14px 32px rgba(0,0,0,.55); --modal-shadow:0 20px 50px rgba(0,0,0,.6);
  color-scheme:dark;
}
:root[data-tema="escuro"] .btn.pri{background:#E8650F;border-color:#E8650F;color:#fff}
:root[data-tema="escuro"] .btn.pri:hover{background:#C2530A;border-color:#C2530A}
:root[data-tema="escuro"] .btn.perigo{background:#B42318;border-color:#B42318;color:#fff}
:root[data-tema="escuro"] .st-exc{background:#1F7A4D}
:root[data-tema="escuro"] .seg button[aria-pressed="true"]{box-shadow:none}
:root[data-tema="escuro"] .tag-n1{background:#16264A;color:#93B4FF} :root[data-tema="escuro"] .tag-n2{background:#33270B;color:#FBBF24}
:root[data-tema="escuro"] .tag-pri{background:#3A1717;color:#F87171} :root[data-tema="escuro"] .tag-ss{background:#2D1B47;color:#D8B4FE} :root[data-tema="escuro"] .tag-sa{background:#991B1B}
:root[data-tema="escuro"] .fx-atrasado{background:#3B1414;color:#FCA5A5} :root[data-tema="escuro"] .fx-estourado{background:#3A1717;color:#F87171}
:root[data-tema="escuro"] .fx-urgente{background:#3A2210;color:#FB923C} :root[data-tema="escuro"] .fx-critico{background:#3A2416;color:#FF9A57}
:root[data-tema="escuro"] .fx-atencao{background:#33270B;color:#FBBF24} :root[data-tema="escuro"] .fx-atento{background:#1F2B10;color:#A3E635}
:root[data-tema="escuro"] .fx-prazo,:root[data-tema="escuro"] .fx-recente{background:#142338;color:#93C5FD}
:root[data-tema="escuro"] .pcard.fxl-atrasado{border-left-color:#FCA5A5} :root[data-tema="escuro"] .pcard.fxl-estourado{border-left-color:#F87171}
:root[data-tema="escuro"] .pcard.fxl-urgente{border-left-color:#FB923C} :root[data-tema="escuro"] .pcard.fxl-critico{border-left-color:#FF9A57}
:root[data-tema="escuro"] .pcard.fxl-atencao{border-left-color:#FBBF24} :root[data-tema="escuro"] .pcard.fxl-atento{border-left-color:#A3E635}
:root[data-tema="escuro"] .pcard.fxl-prazo,:root[data-tema="escuro"] .pcard.fxl-recente{border-left-color:#93C5FD}
:root[data-tema="escuro"] .fxd-atrasado{background:#FCA5A5} :root[data-tema="escuro"] .fxd-estourado{background:#F87171} :root[data-tema="escuro"] .fxd-urgente{background:#FB923C}
:root[data-tema="escuro"] .fxd-critico{background:#FF9A57} :root[data-tema="escuro"] .fxd-atencao{background:#FBBF24} :root[data-tema="escuro"] .fxd-atento{background:#A3E635}
:root[data-tema="escuro"] .fxd-prazo,:root[data-tema="escuro"] .fxd-recente{background:#93C5FD}
:root[data-tema="escuro"] ::-webkit-scrollbar{width:10px;height:10px}
:root[data-tema="escuro"] ::-webkit-scrollbar-thumb{background:#323A45;border-radius:6px;border:2px solid #0F1318}
:root[data-tema="escuro"] ::-webkit-scrollbar-track{background:transparent}
html{transition:none}

/* telas vazias */
.vazio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:26px 16px;color:var(--ink2)}
.vazio b{font-size:14.5px;color:var(--ink)}
.vazio .sub{max-width:460px}
.vazio .btn{margin-top:6px}
.vz-ic{width:22px;height:22px;padding:11px;border-radius:50%;background:var(--soft);border:1px solid var(--soft-line);color:var(--muted);box-sizing:content-box;margin-bottom:4px}
.vazio.compacto{flex-direction:row;justify-content:flex-start;text-align:left;padding:4px 0;gap:12px}
.vazio.compacto .vz-ic{width:18px;height:18px;padding:9px;margin:0}
.vazio.compacto > div{display:flex;flex-direction:column;gap:2px}
/* carregamento: blocos no formato da tela */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sk-tela{display:flex;flex-direction:column;gap:20px}
.sk{display:block;flex:none;max-width:100%;background:var(--sk-bg);border-radius:6px;position:relative;overflow:hidden}
.sk:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--sk-luz),transparent);animation:skBrilho 1.6s ease-in-out infinite}
@keyframes skBrilho{to{transform:translateX(100%)}}
.sk-kpi{gap:10px}
.sk-card{display:flex;flex-direction:column;gap:14px}
.sk-row{display:flex;gap:12px;align-items:center}
.sk-lin{padding:10px 0 0;border-top:1px solid var(--soft-line)}
.recarregando{opacity:.5;pointer-events:none;transition:opacity .2s;display:flex;flex-direction:column;gap:20px}
.shell.carregando-tela main,.shell.carregando-tela .side-nav{opacity:.5;pointer-events:none;transition:opacity .2s}
.carga-topo{position:fixed;top:0;left:0;right:0;height:3px;z-index:300;overflow:hidden}
.carga-topo:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:var(--accent);animation:cargaTopo 1.1s ease-in-out infinite}
@keyframes cargaTopo{to{left:100%}}
@media (prefers-reduced-motion:reduce){.sk:after,.carga-topo:after{animation:none}.carga-topo:after{left:0;width:100%;opacity:.6}}
/* gráficos */
.ch-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.ch{display:block;width:100%;height:auto;overflow:visible}
.ch-grid{stroke:var(--soft-line);stroke-width:1}
.ch-base{stroke:var(--line);stroke-width:1}
.ch-tx{fill:var(--muted);font-size:11px;font-family:'IBM Plex Sans','Segoe UI',sans-serif;font-variant-numeric:tabular-nums}
.ch-vl{fill:var(--ink);font-size:12px;font-weight:600;font-family:'IBM Plex Sans','Segoe UI',sans-serif;font-variant-numeric:tabular-nums}
.ch-vl.mut{fill:var(--muted)}
.ch-bar{fill:var(--accent);pointer-events:none}
.ch-bar.parcial{opacity:.5}
.ch-meta{stroke:var(--ink);stroke-width:2;stroke-linecap:round;pointer-events:none}
.ch-ref{stroke:var(--muted);stroke-width:1;pointer-events:none}
.ch-ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.ch-ln.acc{stroke:var(--accent)} .ch-ln.ink{stroke:var(--ink3)}
.ch-dot{stroke:var(--surface);stroke-width:2;pointer-events:none} .ch-dot.acc{fill:var(--accent)} .ch-dot.ink{fill:var(--ink3)} .ch-dot.oco{fill:var(--surface);stroke:var(--accent)}
.mini .ch-dot{stroke:var(--soft)} .mini .ch-dot.oco{fill:var(--soft);stroke:var(--accent)}
.ch-hit{fill:transparent} .ch-hit:hover{fill:var(--ch-hover)}
.ch-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink2)}
.ch-leg span{display:inline-flex;align-items:center;gap:6px}
.ch-leg i{display:inline-block;flex:none}
.lg-bar{width:10px;height:10px;border-radius:3px;background:var(--accent)}
.lg-meta{width:14px;height:2px;border-radius:1px;background:var(--ink)}
.lg-acc{width:14px;height:2px;border-radius:1px;background:var(--accent)} .lg-ink{width:14px;height:2px;border-radius:1px;background:var(--ink3)}
.g-three{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.rk{display:flex;flex-direction:column;gap:2px}
.rk-l{display:grid;grid-template-columns:30px 1fr 46px;gap:8px;align-items:center;font-size:13px;padding:4px 6px;border-radius:8px}
.rk-l:hover,.rk-l:focus-visible{background:var(--row-hover)}
.rk-n{display:flex;flex-direction:column;gap:4px;min-width:0}
.rk-n>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-b{position:relative;height:6px;border-radius:4px;background:var(--bar-bg)}
.rk-b i{display:block;height:100%;border-radius:4px}
.rk-b i.ok{background:var(--ok)}.rk-b i.bad{background:var(--bad)}
.rk-b em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink3);border-radius:1px}
.rk-l .num:last-child{text-align:right}
.al-lista li{cursor:pointer;border-radius:8px;padding:4px 6px;margin:0 -6px}
.al-lista li:hover,.al-lista li:focus-visible{background:var(--row-hover)}
.al-mais summary{cursor:pointer;margin:4px 0}
.time-ck{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
.ch-niv{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none}
.lg-niv{width:14px;height:0;border-top:2px dashed var(--muted)}
.ins-ult{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--soft-line);padding-top:12px}
.ins-ult li{font-size:13px}
.mini{display:flex;flex-direction:column;gap:6px;padding:12px 12px 6px;border:1px solid var(--soft-line);border-radius:12px;background:var(--soft);min-width:0}
.mini-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
/* dica dos gráficos */
.tip{position:fixed;z-index:400;pointer-events:none;display:none;min-width:150px;max-width:280px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--pop-shadow);padding:8px 10px;font-size:12.5px;line-height:1.45}
.tip-t{color:var(--muted);font-size:12px;margin-bottom:3px}
.tip-r{display:flex;align-items:center;gap:6px}
.tip-r b{font-variant-numeric:tabular-nums}
.tip-r span{color:var(--ink2)}
.tip-k{display:inline-block;flex:none;width:12px;height:2px;border-radius:1px}
.tip-k.k-bar{width:8px;height:8px;border-radius:2px;background:var(--accent)} .tip-k.k-meta{background:var(--ink)} .tip-k.k-acc{background:var(--accent)} .tip-k.k-ink{background:var(--ink3)}
/* exportar para Excel */
.btn.exp{min-height:34px;padding:0 11px;font-size:13px;display:inline-flex;align-items:center;gap:6px;flex:none}
.btn.exp .ic{width:15px;height:15px}
.acoes-h{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
/* ícone da aba */
ol.passos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
ol.passos li{padding-left:4px}

/* =================== CENTRAL 2.0 =================== */
a{color:var(--accent-ink)}
a.nav{text-decoration:none}
.side-logo .marca{display:flex;align-items:center;gap:10px}
.side-logo .marca svg{width:34px;height:34px;flex:none}
.side-logo .marca b{font-family:Archivo,sans-serif;font-size:15.5px;white-space:nowrap;line-height:1.15;color:var(--ink);letter-spacing:-.01em}
.side-logo .marca b span{color:var(--accent-ink)}
.side-user>div:nth-child(2){flex:1;min-width:0}
.side-user b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-bar .m-tit b span{color:var(--accent-ink)}
/* cabeçalho das telas (igual ao "GESTÃO / Configurações" do Painel) */
.pg-h{display:flex;flex-direction:column;gap:6px}
.pg-h .eb{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}
.pg-h h1{font-size:28px;line-height:1.15}
.pg-h .sub{max-width:900px}
.pg-h .eb a{color:inherit;text-decoration:none} .pg-h .eb a:hover{text-decoration:underline}
.pg-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pg-top .busca{flex:1;max-width:720px}
.pg-top .busca input{width:100%}
.busca svg{flex:none}
/* cards com cabeçalho e corpo */
.card:has(>.hd),.card:has(>.bd),.card:has(>summary.hd){padding:0}
.card>.hd{padding:14px 20px;border-bottom:1px solid var(--soft-line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card>.hd h2{font-size:15px}
.card>.hd .sp,.sp{flex:1}
.card>.bd{padding:16px 20px}
details.card>summary{list-style:none} details.card>summary::-webkit-details-marker{display:none}
details.card:not([open])>summary.hd{border-bottom:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi .v small{font-size:13px;color:var(--muted);font-weight:500;font-family:'IBM Plex Sans',sans-serif}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;white-space:nowrap}
.btn svg{width:16px;height:16px;flex:none}
.btn.sm{min-height:32px;padding:0 11px;font-size:13px}
.pill{display:inline-block;min-width:0;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--na-bg);color:var(--ink2);white-space:nowrap}
.pill.acc{background:var(--accent-bg);color:var(--accent-ink)} .pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.info{background:var(--info-bg);color:var(--info-ink)} .pill.warn{background:var(--warn-bg);color:var(--warn)} .pill.bad{background:var(--bad-bg);color:var(--bad)}
.chip .dt{width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;display:inline-block}
.note{background:var(--info-bg);border:1px solid var(--info-line);color:var(--info-ink);border-radius:10px;padding:10px 14px;font-size:13px;margin:0}
.note.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}
.empty{padding:34px 20px;text-align:center;color:var(--muted)}
.crumbs{color:var(--muted);font-size:12.5px}
.crumbs a{color:var(--muted);text-decoration:none} .crumbs a:hover{color:var(--accent-ink)}
/* busca de soluções */
.filters select{min-height:36px;padding:0 10px;border-radius:999px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink2);font:600 13px 'IBM Plex Sans','Segoe UI',sans-serif}
.filters label.chk,.form-row label.chk{display:inline-flex;flex-direction:row;gap:7px;align-items:center;color:var(--ink2);cursor:pointer;font-size:13px;font-weight:500}
.filters .chk input,.form-row .chk input{width:16px;height:16px;min-width:0;padding:0;accent-color:var(--accent)}
.res{list-style:none;margin:0;padding:0}
.res li{border-bottom:1px solid var(--soft-line)} .res li:last-child{border-bottom:0}
.res .item{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:12px 20px;text-decoration:none;color:inherit;align-items:center}
.res a.item:hover{background:var(--row-hover)}
.res .cod{font-weight:600;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.res .tt{font-weight:500;color:var(--ink)}
.res .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
mark{background:var(--accent-bg);color:inherit;border-radius:3px;padding:0 1px}
.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--soft-line);color:var(--muted)}
/* calculadora */
.calc{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:16px;align-items:start}
.calc>div{display:flex;flex-direction:column;gap:16px;min-width:0}
.fld{display:grid;grid-template-columns:1fr 150px;gap:6px 12px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--soft-line)}
.fld:last-child{border-bottom:0}
.fld label{color:var(--ink2);font-weight:500}
.fld .hint{grid-column:1/-1;color:var(--muted);font-size:12px;margin-top:-2px}
.fld input,.fld select{height:36px;border:1px solid var(--input-line);border-radius:9px;padding:0 10px;text-align:right;background:var(--soft);color:var(--ink);width:100%;font:inherit}
.fld select{text-align:left}
.fld input:focus,.fld select:focus{outline:2px solid var(--accent-line);border-color:var(--accent);background:var(--surface)}
.fld .unit{position:relative} .fld .unit span{position:absolute;right:10px;top:8px;color:var(--muted);font-size:12.5px;pointer-events:none}
.fld .unit input{padding-right:26px}
.fld:has(select){grid-template-columns:1fr}
.steps{list-style:none;padding:0;margin:0}
.steps li{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:10px 0;border-bottom:1px solid var(--soft-line)}
.steps li:last-child{border-bottom:0}
.steps .lb{font-weight:500}
.steps .vl{font-weight:600;font-size:15px;text-align:right;font-variant-numeric:tabular-nums}
.steps .ds{grid-column:1/-1;color:var(--muted);font-size:12.5px}
.steps li.res{background:var(--accent-bg);margin:0 -20px;padding:12px 20px;border-left:3px solid var(--accent)}
.steps li.res .vl{color:var(--accent-ink);font-size:18px}
.steps li.err .vl{color:var(--bad)}
.big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.big .v{font:700 34px Archivo,sans-serif;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.links{display:flex;flex-wrap:wrap;gap:6px}
.links a{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink2);font-size:12.5px;max-width:100%}
.links a:hover{border-color:var(--accent-line);color:var(--accent-ink);background:var(--accent-bg)}
.links a b{color:var(--accent-ink)}
.links svg{width:13px;height:13px;flex:none;opacity:.7}
/* catálogo */
.cat{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
a.cat:hover,.cat:hover{border-color:var(--accent-line)}
.cat h3{font-size:15px}
.cat p{margin:0;color:var(--muted);font-size:12.5px}
.chips a{font-size:12.5px;padding:4px 10px;border-radius:8px;background:var(--soft);border:1px solid var(--soft-line);color:var(--ink2);text-decoration:none;font-weight:500}
.chips a:hover{background:var(--accent-bg);border-color:var(--accent-line);color:var(--accent-ink)}
/* login */
.login .marca{display:flex;align-items:center;gap:10px}
.login .marca svg{width:38px;height:38px}
.login .marca b{font-family:Archivo,sans-serif;font-size:19px;color:var(--ink)} .login .marca b span{color:var(--accent-ink)}
.login h1{font-size:22px}
.login .alt{font-size:13px;color:var(--muted)} .login .alt a{cursor:pointer}
.login .card .btn.pri{width:100%;min-height:44px}
.login .topo{display:flex;align-items:center;gap:10px}
/* formulários */
.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.form-row label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.form-row input,.form-row select,.modal input,.modal select{min-height:40px;border:1px solid var(--input-line);border-radius:9px;padding:0 12px;background:var(--surface);color:var(--ink);min-width:160px;font:inherit}
.modal .field input,.modal .field select{width:100%}
.modal .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.toast{position:fixed;right:20px;bottom:20px;background:var(--navy);color:var(--navy-ink);padding:10px 16px;border-radius:10px;box-shadow:var(--pop-shadow);z-index:500;font-weight:600}
/* usuários (como Configurações › Acessos do Painel) */
.tbl td .sub{display:block}
.tbl tr.inativo td{opacity:.55}
.acoes-r{display:inline-flex;gap:4px;justify-content:flex-end}
.imp-prev{max-height:340px;overflow:auto;border:1px solid var(--soft-line);border-radius:10px}
.arq{position:relative;overflow:hidden;display:inline-flex;align-items:center}
.arq input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* painel lateral SSC/SS/SA */
.drawer{display:none}
.drawer.on{display:block;position:fixed;inset:0;z-index:200}
.dw-bg{position:absolute;inset:0;background:var(--overlay)}
.dw{position:absolute;top:0;right:0;bottom:0;width:min(920px,96vw);background:var(--surface);box-shadow:var(--modal-shadow);display:flex;flex-direction:column;border-top:3px solid var(--accent)}
.dw-hd{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line)}
.dw-hd h2{font-size:16px}
.dw-bd{padding:16px 18px;overflow:auto;font-size:13.5px;line-height:1.5}
.dw-bd table{border-collapse:collapse;width:100%;margin:0 0 10px}
.dw-bd td,.dw-bd th{border:1px solid var(--line);padding:5px 8px;vertical-align:top;text-align:left}
.dw-bd th{background:var(--soft)}
.dw-bd pre{white-space:pre-wrap;font:inherit;background:var(--soft);padding:8px 10px;border-radius:8px}
@media (max-width:1080px){.calc{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.g4,.g3,.g2{grid-template-columns:1fr}.res .item{grid-template-columns:56px 1fr}.res .item>:last-child{display:none}.fld{grid-template-columns:1fr 130px}.modal .grid2{grid-template-columns:1fr}}
.card:has(>.res),.card:has(>table){padding:0}
.card>.scroll .tbl th:first-child,.card>.scroll .tbl td:first-child,.card>table th:first-child,.card>table td:first-child{padding-left:20px}
.card>.hd+.scroll,.card>.hd+div>table{margin:0}
/* ===== variantes de tema (por cima do claro/escuro do Painel) ===== */
:root[data-variante="grafite"]{--bg:#0B1220;--card:#121B2E;--surface:#121B2E;--line:#22304A;--soft:#16213A;--soft-line:#1E2A44;--input-line:#2A3A58;--input-line-h:#3A4D70;
  --seg-bg:#1A2640;--seg-bg2:#1A2640;--seg-on:#2A3A58;--row-alt:#101A2B;--na-bg:#1C2840;--sk-bg:#1A2640;--ch-hover:#16213A;--bar-bg:#22304A}
:root[data-variante="grafite"] ::-webkit-scrollbar-thumb{background:#2A3A58;border-color:#0B1220}
:root[data-variante="sepia"]{--bg:#F1EADF;--card:#FFFCF6;--surface:#FFFCF6;--line:#E3D8C6;--soft:#F8F2E8;--soft-line:#EDE3D3;--ink:#2B2620;--ink2:#4A4238;--ink3:#5E5446;--muted:#7A6E5E;--faint:#A0937F;
  --input-line:#D8CBB6;--input-line-h:#C4B49B;--seg-bg:#E9DFCF;--seg-bg2:#EFE6D8;--seg-on:#FFFCF6;--row-alt:#FBF6EE;--navy:#3A3026;--na-bg:#EFE6D8;--sk-bg:#EAE0D0;--bar-bg:#E6DCCB}
:root[data-variante="contraste"]{--bg:#FFFFFF;--card:#FFFFFF;--surface:#FFFFFF;--line:#4B5563;--soft:#F3F4F6;--soft-line:#9CA3AF;--ink:#000000;--ink2:#111111;--ink3:#1F2937;--muted:#374151;--faint:#4B5563;
  --input-line:#374151;--input-line-h:#111111;--seg-bg:#E5E7EB;--seg-bg2:#E5E7EB;--seg-on:#FFFFFF;--row-alt:#F9FAFB;--shadow:none;--na-bg:#E5E7EB;--na:#111111}
:root[data-variante="contraste"] .card,:root[data-variante="contraste"] .kpi{border-width:2px}
/* cor escolhida pelo usuário (sobrepõe o laranja fixo do tema escuro) */
:root[data-cor] .btn.pri{background:var(--btn-pri);border-color:var(--btn-pri);color:#fff}
:root[data-cor] .btn.pri:hover{background:var(--btn-pri-h);border-color:var(--btn-pri-h)}
/* tela Aparência */
.tema-op .tema-am{display:grid}
.cores{display:flex;flex-wrap:wrap;gap:8px}
.cor-op{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 8px;border-radius:10px;border:2px solid var(--line);background:var(--surface);color:var(--ink2);font-weight:600;font-size:13px;cursor:pointer}
.cor-op i{width:22px;height:22px;border-radius:50%;display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.cor-op[aria-pressed="true"]{border-color:var(--accent);color:var(--ink)}
.cor-op[aria-pressed="true"]:after{content:"✓";color:var(--accent-ink);font-weight:700}
.cor-livre input{width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer}
