/* Esfera · Oracus Energy · v0.1.1 (29/10/2026) — marca: grafite #0E1826, ouro #C2902B com parcimônia */
:root{--g:#0E1826;--ab:#0A121C;--ar:#33475F;--aco:#7C93AD;--pl:#C9D6E4;--o:#C2902B;--o3:#DEB25A;--l:#DADFE3;--bg:#F4F6F8;--mut:#5B6675;--late:#B3261E;--warn:#9A6411;--ok:#25603F}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body{font-family:'IBM Plex Sans',Arial,sans-serif;color:var(--g);background:var(--bg);font-size:14px}
h1,h2,h3{font-family:'Inter Tight','Aptos Display',Arial,sans-serif}
.mono,.cod{font-family:'IBM Plex Mono',monospace}
button{font:inherit;cursor:pointer}
[hidden]{display:none!important}
a{color:inherit}

/* entrada */
.login{display:flex;min-height:100vh}
.lft{flex:1.2;background:radial-gradient(circle at 45% 42%,#23364C,#0A121C 72%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;position:relative;padding:24px}
.lft img{max-width:60vw;height:auto}
.wm{font:600 44px 'Inter Tight';margin-top:4px}
.tagline{font:500 13px 'IBM Plex Mono';letter-spacing:.14em;color:var(--o3);margin-top:8px;text-transform:uppercase}
.lft .foot{position:absolute;bottom:22px;font-size:12px;color:#8896A8}
.rgt{flex:1;background:#fff;padding:60px 56px;display:flex;flex-direction:column;justify-content:center;max-width:620px}
.rgt h1{font-size:32px;line-height:1.15}
.rgt p{color:var(--mut);line-height:1.55;margin-top:12px}
.goldline{width:48px;height:3px;background:var(--o);margin-bottom:18px}
.ms{display:flex;align-items:center;gap:12px;justify-content:center;background:var(--g);color:#fff;border:0;border-radius:8px;padding:15px;font-weight:600;margin-top:28px;font-size:15px}
.ms:hover{background:#1C2A3D}
.ms i{display:grid;grid-template-columns:9px 9px;gap:2px}.ms i b{width:9px;height:9px;display:block}
.small{font-size:12.5px}.iso{margin-top:40px!important}
.erro{color:var(--late)!important;font-size:13px}
@media (max-width:800px){.login{flex-direction:column}.rgt{max-width:none;padding:32px 20px}}

/* carregando */
.carregando{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#23364C,#0A121C 72%);color:#C9D1DA;gap:8px;z-index:50}

/* app */
.app{display:flex;min-height:100vh}
.side{width:248px;flex:none;background:var(--g);color:#C9D1DA;padding:22px 14px;display:flex;flex-direction:column;gap:3px;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;font:600 21px 'Inter Tight';color:#fff;margin:0 6px 22px}
.nav{padding:10px 12px;border-radius:8px;font-size:14.5px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-decoration:none}
.nav:hover{background:#16233A}
.nav.on{background:#1C2A3D;color:#fff;box-shadow:inset 3px 0 0 var(--o)}
.nav span{font:500 12px 'IBM Plex Mono';background:#2A3A50;border-radius:10px;padding:1px 8px;color:#fff}
.nav.adm{margin-top:14px}
.me{margin-top:auto;border-top:1px solid #23324A;padding:14px 4px 0;display:flex;gap:10px;align-items:center;font-size:12.5px;line-height:1.35}
.me b{color:#fff;font-size:13.5px}.me .out{color:#8896A8;font-size:12px;cursor:pointer;text-decoration:underline}
.main{flex:1;padding:26px 30px;min-width:0}
.top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;gap:12px}
.top h2{font-size:26px}.top p{color:var(--mut);font-size:14px;margin-top:4px}
.kpis{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.kpi{background:#fff;border:1px solid var(--l);border-radius:10px;padding:11px 16px;min-width:150px;cursor:pointer;text-align:left}
.kpi b{font:500 25px 'IBM Plex Mono';display:block}.kpi small{color:var(--mut);font-size:12.5px}
.kpi.late b{color:var(--late)}
.kpi.on{background:var(--g);border-color:var(--g)}.kpi.on b{color:#fff}.kpi.on small{color:#C9D1DA}
.fbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--l);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.fbar select,.fbar input{border:1px solid var(--l);border-radius:7px;padding:7px 10px;font:13px 'IBM Plex Sans';background:#fff;color:var(--g)}
.fbar input{margin-left:auto;width:260px}
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--l);font-size:13.5px}
.tbl th{text-align:left;font:600 11.5px 'Inter Tight';letter-spacing:.05em;text-transform:uppercase;color:var(--mut);background:#FAFBFC;padding:10px 12px;border-bottom:1px solid var(--l);white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid #EEF1F3;vertical-align:middle}
.tbl tr:hover td{background:#FAFBFC}
.cod{font-size:12.5px;font-weight:500}
.tg{font-size:11.5px;border-radius:12px;padding:3px 10px;white-space:nowrap;display:inline-block}
.t-ela{background:#F0EFEC;color:#4A4A4A}.t-ana{background:#E7F1FB;color:#1F4E7A}.t-apr{background:#F9EEDA;color:#7A5212}.t-vig{background:#E5F4E4;color:var(--ok)}.t-sgq{background:#E5F4E4;color:var(--ok)}
.pz{font:500 12.5px 'IBM Plex Mono';white-space:nowrap}.pz.late{color:var(--late)}.pz.hoje{color:var(--warn)}
.btn{display:inline-block;background:var(--g);color:#fff;border:0;border-radius:6px;padding:7px 13px;font-size:12.5px;font-weight:600;white-space:nowrap}
.btn.ghost{background:#fff;color:var(--g);border:1px solid var(--l)}
.who{display:flex;align-items:center;gap:9px;line-height:1.3}
.who small{display:block;color:var(--mut);font-size:11.5px}
.av{width:32px;height:32px;border-radius:50%;flex:none;background:#C9D6E4;display:grid;place-items:center;font:600 12px 'Inter Tight';color:var(--g);overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.av.lg{width:40px;height:40px;font-size:14px}
.av.s{width:24px;height:24px;font-size:10px}
.av.socio1{background:linear-gradient(135deg,#DEB25A,#8F6318);color:#fff}
.av.socio2{background:linear-gradient(135deg,#7C93AD,#33475F);color:#fff}
.av.ag{background:#EEF2F6}
.vazio{background:#fff;border:1px dashed var(--l);border-radius:12px;padding:40px;text-align:center;color:var(--mut)}
.vazio img{opacity:.9}
.vazio b{display:block;color:var(--g);font:600 18px 'Inter Tight';margin:10px 0 4px}
.isonote{margin-top:14px;background:#fff;border:1px solid var(--l);border-left:3px solid var(--o);border-radius:8px;padding:10px 14px;font-size:12.5px;color:var(--mut);line-height:1.5}
.isonote b{color:var(--g)}
.pag{color:var(--mut);font-size:12.5px;padding:10px 2px}
.versao{position:fixed;right:12px;bottom:8px;font:500 11px 'IBM Plex Mono';color:#98A2AE;background:rgba(255,255,255,.85);padding:2px 8px;border-radius:10px;z-index:60}
@media (max-width:900px){.side{display:none}.main{padding:18px 14px}.fbar input{width:100%;margin-left:0}}
