/* Painel Oracus · v0.1.0 · marca Oracus (grafite #0E1826, ouro #C2902B com parcimônia) */
:root{--g:#0E1826;--g2:#1B2738;--ouro:#C2902B;--bg:#F4F5F7;--card:#fff;--ln:#E2E5EA;--tx:#1A2230;--mu:#6A7385;
--ok:#2E7D5B;--okb:#E5F2EC;--wa:#A86A12;--wab:#FBF1DF;--er:#B3392F;--erb:#FBE7E5;--in:#2C5C8F;--inb:#E6EEF7}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);font-family:'IBM Plex Sans',Arial,sans-serif;color:var(--tx);font-size:14px}
h1,h2,h3,.wm,.side .logo{font-family:'Inter Tight',Arial,sans-serif}
.mono{font-family:'IBM Plex Mono',monospace}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.carregando{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;color:var(--mu)}

/* entrada */
.entrada{display:flex;min-height:100vh}
.entrada .lft{flex:1;background:radial-gradient(circle at 50% 42%,#23364C,#0A121C 72%);color:#F6F4EF;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px}
.entrada .wm{font-size:34px;font-weight:700;margin-top:8px}
.entrada .tagline{font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#DEB25A;text-transform:uppercase;margin-top:6px}
.entrada .rgt{flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px;max-width:560px}
.entrada h1{font-size:30px;color:var(--g);margin:14px 0 8px}
.goldline{width:56px;height:3px;background:var(--ouro)}
.entrada p{color:#3B4455;line-height:1.55}
.entrada .small{font-size:12.5px;color:var(--mu)}
.entrada .iso{margin-top:28px}
.ms{display:inline-flex;align-items:center;gap:12px;background:var(--g);color:#fff;border:0;border-radius:6px;padding:12px 20px;font-weight:500;cursor:pointer;margin:14px 0 6px;align-self:flex-start}
.ms i{display:grid;grid-template-columns:8px 8px;gap:2px}.ms b{width:8px;height:8px;display:block}
.erro{color:var(--er);background:var(--erb);padding:10px 12px;border-radius:6px}
@media (max-width:800px){.entrada{flex-direction:column}.entrada .lft{min-height:260px}.entrada .rgt{padding:24px 16px}}

/* app */
.app{display:flex;min-height:100vh}
.side{width:230px;background:var(--g);color:#C9D0DB;padding:20px 0;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.side .logo{color:#fff;font-size:19px;font-weight:700;padding:0 22px 18px;cursor:pointer}
.side .logo span{color:var(--ouro)}
.side .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:#7D879A;padding:14px 22px 6px}
.side a{display:block;padding:8px 22px;color:#C9D0DB;text-decoration:none;font-size:13.5px;cursor:pointer}
.side a:hover{background:#152133}
.side a.on{background:var(--g2);color:#fff;border-left:3px solid var(--ouro);padding-left:19px}
.side a.off{color:#566074;cursor:default}.side a.off:hover{background:none}
.side a small{float:right;font-size:10px;color:#566074}
.side .eu{margin-top:auto;padding:14px 22px;border-top:1px solid #243246;font-size:12.5px}
.side .eu small{display:block;color:#7D879A}
.side .eu a{padding:0;display:inline;color:#DEB25A;font-size:12px}
.corpo{flex:1;display:flex;flex-direction:column;min-width:0}
.top{min-height:58px;background:#fff;border-bottom:1px solid var(--ln);display:flex;align-items:center;padding:0 28px;gap:12px;flex-wrap:wrap}
.crumb{color:var(--mu)}.crumb b{color:var(--tx);font-weight:600}
.sp{flex:1}
.acoesTopo{display:flex;gap:8px;align-items:center}
.ct{padding:22px 28px 60px}
h1{font-size:22px;color:var(--g);font-weight:700;margin:0 0 4px}
.sub{color:var(--mu);margin-bottom:16px}
.row{display:flex;gap:16px;align-items:flex-start}
.card{background:var(--card);border:1px solid var(--ln);border-radius:8px;padding:16px}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--g);color:#fff;border:1px solid var(--g);border-radius:6px;padding:8px 14px;font-weight:500;font-size:13px;cursor:pointer;white-space:nowrap}
.btn.lt{background:#fff;color:var(--g);border-color:var(--ln)}
.btn.lt:hover{border-color:#B8C0CC}
.btn.pq{padding:4px 10px;font-size:12px}
.btn.rem{background:#fff;color:var(--er);border-color:var(--ln)}
.btn:disabled{opacity:.5;cursor:default}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--mu);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--ln)}
td{padding:10px;border-bottom:1px solid #EEF0F3;vertical-align:middle}
tr.cl{cursor:pointer}tr.cl:hover td{background:#F7F8FA}
tr.sel td{background:#F0F3F8}
.tag{display:inline-block;border-radius:10px;padding:2px 9px;font-size:11.5px;font-weight:500;white-space:nowrap}
.ok{background:var(--okb);color:var(--ok)}.wa{background:var(--wab);color:var(--wa)}.er{background:var(--erb);color:var(--er)}.in{background:var(--inb);color:var(--in)}.ne{background:#ECEEF1;color:#4A5366}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--ln);margin-bottom:14px;flex-wrap:wrap}
.tabs span{padding:8px 14px;color:var(--mu);font-weight:500;cursor:pointer}
.tabs span.on{color:var(--g);border-bottom:2px solid var(--ouro);font-weight:600}
.lbl{font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.val{margin-bottom:12px;min-height:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px}
.iso{background:#F7F2E7;border:1px dashed #D9BF85;border-radius:8px;padding:10px 14px;color:#5B4A22;font-size:12.5px;margin-top:14px}
.iso b{color:#7A5B14}
.mark{font-size:11.5px;color:var(--mu);margin-top:8px}
.busca{border:1px solid var(--ln);border-radius:6px;padding:8px 12px;width:100%;background:#fff}
.filtros{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap}
.filtros span{border:1px solid var(--ln);border-radius:14px;padding:3px 11px;font-size:12px;cursor:pointer;background:#fff;color:var(--mu)}
.filtros span.on{background:var(--g);border-color:var(--g);color:#fff}
.lista{width:360px;flex-shrink:0}
.ficha{flex:1;min-width:0}
.vazio{color:var(--mu);padding:24px;text-align:center}
.f label{display:block;font-size:11px;color:var(--mu);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px}
.f input,.f select,.f textarea{width:100%;border:1px solid #CDD3DC;border-radius:6px;padding:8px 10px;background:#fff}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid #C2902B55;border-color:var(--ouro)}
.f textarea{min-height:70px;resize:vertical}
.f .obr::after{content:' *';color:var(--er)}
.bloco{border:1px solid var(--ln);border-radius:8px;padding:4px 14px 12px;margin-bottom:10px;background:#FBFBFC;position:relative}
.bloco .x{position:absolute;right:10px;top:10px}
.secao{font-family:'Inter Tight';font-weight:600;color:var(--g);font-size:15px;margin:20px 0 6px;display:flex;align-items:center;gap:10px}
.barra{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;position:sticky;bottom:0;background:var(--bg);padding:10px 0}
.chk{display:flex!important;align-items:center;gap:6px;text-transform:none!important;font-size:13px!important;color:var(--tx)!important;letter-spacing:0!important}
.chk input{width:auto!important}
.aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--g);color:#fff;padding:11px 18px;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.25);z-index:50;max-width:90vw}
.aviso.erro{background:var(--er)}
.ver{position:fixed;right:12px;bottom:6px;font:500 11px 'IBM Plex Mono',monospace;color:#8896A8;z-index:5}
.trl{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #EEF0F3}
.trl .q{color:var(--mu);font-size:12px;width:130px;flex-shrink:0}
.construcao{max-width:560px;margin:60px auto;text-align:center;color:var(--mu)}
.construcao h1{margin-bottom:8px}
@media (max-width:900px){
  .app{flex-direction:column}.side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;padding:8px}
  .side .grp,.side .eu{display:none}.side .logo{padding:8px 12px}.side a{padding:6px 10px}.side a.on{padding-left:7px}
  .row{flex-direction:column}.lista{width:100%}.ct{padding:16px}.top{padding:8px 16px}.grid2,.grid3{grid-template-columns:1fr}
}
a.btn{text-decoration:none}
.crumb a,.ct a:not(.btn){color:var(--in)}
.f input:disabled{background:#F0F2F5;color:var(--mu)}
