:root{--signal-500: #3B82F6;--ember-500: #F2683C;--graphite-900: #0B0E11;--graphite-800: #11151A;--graphite-700: #1A2027;--slate-400: #8A94A3;--mist-100: #E6EAF0;--paper-0: #FFFFFF;--paper-50: #F4F6F9;--line-200: #E3E8EF;--ink-700: #5A6473;--ink-900: #0B0E11;--bg: var(--paper-0);--surface: var(--paper-50);--border: var(--line-200);--text: var(--ink-900);--text-2: var(--ink-700);--sev-low: #3B6FE0;--sev-med: #C8801F;--sev-high: #D13C41;--ok-500: #1F9D6B;--font-ui: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Geist Mono", ui-monospace, "Cascadia Code", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}[data-theme=dark],.theme-dark{--bg: var(--graphite-900);--surface: var(--graphite-800);--border: var(--graphite-700);--text: var(--mist-100);--text-2: var(--slate-400);--sev-low: #5B8DEF;--sev-med: #E8A33D;--sev-high: #E5484D;--ok-500: #3FB68B}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.shell{max-width:1100px;margin:0 auto;padding:28px 28px 80px}.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.head img{height:28px}.head-right{display:flex;align-items:center;gap:16px}.badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-2)}.badge.online{color:var(--ok-500);border-color:color-mix(in srgb,var(--ok-500) 40%,var(--border))}.badge.offline{color:var(--sev-high);border-color:color-mix(in srgb,var(--sev-high) 40%,var(--border))}.export{font-size:13px;font-weight:600;text-decoration:none;color:#fff;background:var(--signal-500);padding:7px 14px;border-radius:var(--radius-md)}.cover{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2)}.cover .dot{width:9px;height:9px;border-radius:50%;background:var(--ok-500)}.page-title{font-size:24px;font-weight:700;letter-spacing:-.6px;margin:0 0 4px}.subtitle{color:var(--text-2);font-size:14px;margin:0 0 24px}.subtitle strong{color:var(--sev-high)}.report{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card.span2{grid-column:1 / -1}.card h3{margin:0 0 14px;font-size:13px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:1px}.card h3 .dim{text-transform:none;letter-spacing:0;font-weight:400}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;color:var(--text-2);font-size:12px;padding:6px 8px;border-bottom:1px solid var(--border)}td{padding:9px 8px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.num{text-align:right;font-family:var(--font-mono)}.dim{color:var(--text-2);font-size:12px}.tag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px}.tag.ok{background:color-mix(in srgb,var(--ok-500) 14%,transparent);color:var(--ok-500)}.tag.warn{background:color-mix(in srgb,var(--sev-med) 18%,transparent);color:var(--sev-med)}.tag.sev{background:color-mix(in srgb,var(--sev-high) 14%,transparent);color:var(--sev-high)}.srisk{margin-bottom:14px}.srisk-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px}.srisk-top .mono{font-family:var(--font-mono);color:var(--text-2)}.bar{display:flex;height:9px;border-radius:999px;overflow:hidden;background:var(--bg)}.bar i{display:block}.rowbar{display:grid;grid-template-columns:120px 1fr 48px;align-items:center;gap:12px;font-size:14px;margin-bottom:9px}.rowbar .track{background:var(--bg);border-radius:999px;height:9px;overflow:hidden}.rowbar .track i{display:block;height:100%;background:var(--ember-500)}.rowbar .mono{font-family:var(--font-mono);color:var(--text-2);text-align:right;font-size:13px}.empty{color:var(--text-2);font-size:14px;padding:6px 2px}.logout{background:none;border:none;color:var(--text-2);font-size:13px;cursor:pointer;font-family:var(--font-ui)}.logout:hover{color:var(--text)}.loading{padding:60px;text-align:center;color:var(--text-2);font-family:var(--font-ui)}.login-wrap{min-height:100vh;display:grid;place-items:center}.login{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:320px;display:flex;flex-direction:column;gap:12px}.login img{height:28px;align-self:flex-start}.login-sub{margin:0 0 8px;color:var(--text-2);font-size:14px}.login input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-family:var(--font-ui);background:var(--bg);color:var(--text)}.login button{padding:11px;border:none;border-radius:var(--radius-md);background:var(--signal-500);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.login button:disabled{opacity:.6;cursor:default}.login-err{color:var(--sev-high);font-size:13px}.login-sep{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:12px}.login-sep:before,.login-sep:after{content:"";flex:1;height:1px;background:var(--border)}.sso-btn{padding:11px;border:1px solid var(--signal-500);border-radius:var(--radius-md);background:var(--surface);color:var(--signal-500);font-weight:600;font-size:14px;text-align:center;text-decoration:none;cursor:pointer}.linklike{background:none;border:none;color:var(--signal-500);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-ui);padding:0}.linklike:hover{text-decoration:underline}.periodo{font-size:13px;font-family:var(--font-ui);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 8px;cursor:pointer}.rule{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:8px}.rule-row{display:flex;gap:8px;align-items:center}.rule-row select,.rule-row input{flex:1;min-width:0;font-size:13px;font-family:var(--font-ui);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 8px}.rule-row input:disabled{opacity:.5}.rule-row button.ghost{flex:none;width:30px;padding:6px 0}.acao-bloquear{color:var(--sev-high);font-weight:600}.acao-avisar{color:var(--sev-med)}.trend{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:8px}.trend-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.trend-bar{width:100%;max-width:28px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.trend-bar i{display:block}.trend-risco{background:var(--sev-high);border-radius:3px 3px 0 0}.trend-uso{background:var(--signal-500);border-radius:3px 3px 0 0}.trend-risco+.trend-uso{border-radius:0}.trend-dia{font-size:10px;color:var(--text-2);white-space:nowrap}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0e1173;display:grid;place-items:center;z-index:1000}.modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:440px;max-width:calc(100vw - 32px);padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 40px #0003}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0;font-size:16px}.modal-head .x{cursor:pointer;color:var(--text-2);font-size:20px;line-height:1}.modal-sub{margin:0;color:var(--text-2);font-size:13px}.modal-sub code{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.modal textarea{font-family:var(--font-mono);font-size:13px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);resize:vertical}.modal-ok{color:var(--ok-500);font-size:13px}.modal-err{color:var(--sev-high);font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.modal-actions button{padding:9px 16px;border-radius:var(--radius-md);border:none;font-weight:600;font-size:14px;cursor:pointer;background:var(--signal-500);color:#fff}.modal-actions button:disabled{opacity:.55;cursor:default}.modal-actions .ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
