:root{--bg:#f4f6f9;--card:#fff;--ink:#16202e;--mut:#6b7788;--line:#e3e8ef;--brand:#0095da;--brand2:#e11d2e;--ok:#0f9d58;--bad:#d93025;--side:#0e1b33}*{box-sizing:border-box}body,html{margin:0;background:#e9ebee url(/fundo.jpg) 50%/cover fixed;color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:var(--side);color:#cfd8e6;padding:18px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.side .logo{padding:4px 10px 14px;display:flex;flex-direction:column;gap:6px}.side h4{margin:16px 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:#7f90ab}.side a{display:block;padding:7px 10px;border-radius:8px;color:#cfd8e6}.side a:hover{background:#1a2c4d}.side a.on{background:var(--brand);color:#fff}.side .me{margin-top:18px;padding:12px 10px;border-top:1px solid #1d2f52;font-size:12px;color:#9fb0cb}.side .me button{margin-top:8px}main{padding:20px 26px 60px;min-width:0}h1{margin:0 0 14px;font-size:22px}.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.bar label{display:flex;flex-direction:column;font-size:11px;color:var(--mut);gap:3px;text-transform:uppercase;letter-spacing:.4px}button,input,select{font:inherit}input[type=date],input[type=email],input[type=password],input[type=text],select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;min-width:120px;max-width:200px}select[multiple]{height:78px;min-width:140px}button{border:0;border-radius:8px;padding:7px 12px;background:var(--brand);color:#fff;cursor:pointer}button.ghost{background:transparent;color:inherit;border:1px solid #2b4170}button.link{background:none;color:var(--brand);padding:0}.row{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:14px;gap:14px;margin-bottom:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.card h3{margin:0 0 10px;text-align:center;font-size:13px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.card.kpi{background:#0e1b33;border-color:#0e1b33;color:#fff;text-align:center}.kpi .v{font-size:22px;font-weight:700;margin-top:2px;color:#fff}.kpi .l{font-size:11px;color:#9fc4e8;text-transform:uppercase;letter-spacing:.4px}.kpi .v.neg{color:#ff7b7b}.kpi .v.pos{color:#5be39a}.card.panel{padding:0;overflow:hidden}.card.panel .body{padding:10px 12px}.card.panel .ph{padding:8px 12px;color:#fff;text-align:center;font-weight:700;letter-spacing:.3px}.tbl{overflow:auto;max-height:560px}table{border-collapse:collapse;width:100%;font-size:12.5px}th{position:-webkit-sticky;position:sticky;top:0;background:#f0f3f8;text-align:right;padding:7px 9px;font-weight:600;white-space:nowrap;cursor:pointer;border-bottom:1px solid var(--line)}td:first-child,th:first-child{text-align:left}td{padding:6px 9px;text-align:right;border-bottom:1px solid #eef1f6;white-space:nowrap}tr.total td{font-weight:700;background:#f7f9fc;position:-webkit-sticky;position:sticky;bottom:0}td.dim{text-align:left;max-width:280px;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--mut)}.err{color:var(--bad)}.skeleton{height:80px;border-radius:8px;background:linear-gradient(90deg,#eef1f6,#f7f9fc,#eef1f6);background-size:200% 100%;animation:sh 1.2s infinite}@keyframes sh{to{background-position:-200% 0}}.login{min-height:100vh;display:grid;place-items:center}.login form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;width:340px;display:flex;flex-direction:column;gap:12px}.login input{max-width:none;width:100%}.pill{display:inline-block;padding:2px 8px;border-radius:99px;background:#e8eefb;color:var(--brand);font-size:11px}