:root{--rail: #0c1411;--rail-2: #141c18;--rail-hover: #1a2620;--brand: #113821;--accent: #a3e635;--accent-dim: rgba(163, 230, 53, .14);--bg: #eef1ef;--panel: #ffffff;--text: #1b1b1b;--muted: #5c6b64;--border: #d5ddd8;--danger: #b42318;--danger-soft: #fdecec;--ok: #0d6a3f;--ok-soft: #e8f6ee;--warn: #b54708;--warn-soft: #fff4e5;--high: #c43d33;--med: #c47d12;--low: #6b7c74;--topbar: 48px;--rail-w: 72px;--flyout-w: 236px;--inspector: 380px;--font: Inter, "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:13.5px;line-height:1.4;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:var(--rail-w) var(--flyout-w) 1fr;height:100%;overflow:hidden;position:relative}.app-shell.flyout-collapsed{grid-template-columns:var(--rail-w) 1fr}.rail{background:var(--rail);color:#c5d4cc;display:flex;flex-direction:column;align-items:stretch;padding:10px 8px 8px;border-right:1px solid #1c2a24;z-index:3}.brand-mark{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 12px;border-bottom:1px solid #24332c;margin-bottom:10px}.brand-mark img{height:28px;width:auto;object-fit:contain}.brand-mark span{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8fa398}.rail nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-admin{margin-top:auto}.rail-link{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:8px;color:#8fa398;font-size:11px;font-weight:600;letter-spacing:.02em;border-left:3px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.rail-link svg{width:20px;height:20px}.rail-link:hover{background:var(--rail-hover);color:#e8eee9}.rail-link.active{background:var(--accent-dim);color:var(--accent);border-left-color:var(--accent)}.rail-toggle{margin-top:8px;border:0;background:transparent;color:#8fa398;border-radius:8px;padding:8px;display:flex;justify-content:center}.rail-toggle:hover{background:var(--rail-hover);color:var(--accent)}.rail-toggle svg{width:18px;height:18px}.flyout{background:var(--rail-2);color:#c5d4cc;border-right:1px solid #24332c;overflow:auto;padding:12px 0 16px;z-index:2}.app-shell.flyout-collapsed .flyout{display:none}.flyout-title{padding:4px 16px 14px;font-size:15px;font-weight:600;color:#e8eee9;border-bottom:1px solid #24332c;margin-bottom:8px}.flyout-group{padding:4px 0 10px}.flyout-group-title{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:#8fa398;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px}.flyout-group-title svg{width:14px;height:14px}.flyout-group-title:hover{color:#e8eee9}.flyout-link{display:block;padding:7px 16px 7px 14px;border-left:3px solid transparent;color:#c5d4cc;font-size:13px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.flyout-link:hover{background:var(--rail-hover);color:#e8eee9}.flyout-link.active{background:var(--accent-dim);color:var(--accent);border-left-color:var(--accent)}@media(max-width:1100px){.app-shell,.app-shell.flyout-collapsed{grid-template-columns:var(--rail-w) 1fr}.flyout{position:absolute;left:var(--rail-w);top:0;bottom:0;width:var(--flyout-w);box-shadow:12px 0 28px #00000059}}.main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.topbar{height:var(--topbar);flex-shrink:0;background:#0c1411;color:#e8eee9;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:3px solid var(--brand)}.topbar-space{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.crumb-sep{color:#5a6e64;font-weight:400}.icon-btn{border:0;background:transparent;color:#c5d4cc;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{background:#141c18;color:#fff}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 #a3e6358c;animation:pulse 1.8s infinite}.live-dot.off{background:#6b7c74;box-shadow:none;animation:none}.rule-extra td{background:#f7f9f8;border-bottom:8px solid var(--bg);padding-top:4px;padding-bottom:10px}.rule-extra .form-grid{margin:0}.rule-extra .field{margin-bottom:0}.pilot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-top:6px}.pilot-list label{display:flex;gap:6px;align-items:center;font-size:12.5px}.stat-bar{display:flex;align-items:center;gap:8px;margin:4px 0}.stat-bar .bar{height:8px;border-radius:99px;background:var(--brand);min-width:4px}.stat-bar .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-bar .count{color:var(--muted);font-variant-numeric:tabular-nums}@keyframes pulse{0%{box-shadow:0 0 #a3e63573}70%{box-shadow:0 0 0 7px #a3e63500}to{box-shadow:0 0 #a3e63500}}@keyframes insp-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.topbar select,.topbar input{border:1px solid #24332c;background:#141c18;color:#e8eee9;border-radius:6px;padding:6px 10px}.topbar input{flex:1;min-width:160px;max-width:520px}.topbar select option{background:#141c18}.topbar .org-name{font-weight:600;white-space:nowrap;padding:0 4px;color:#e8eee9}.user-meta{margin-left:auto;display:flex;align-items:center;gap:10px;color:#8fa398;white-space:nowrap;font-size:12.5px}.user-meta strong{color:#e8eee9;font-weight:600}.page{flex:1;min-height:0;padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px;overflow:auto}.page>*{flex-shrink:0}.page-fill{overflow:hidden}.page-fill .queue-layout{flex:1;min-height:0;flex-shrink:1}.page-head{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.page-head h1{margin:0;font-size:15px;font-weight:600;letter-spacing:-.02em}.page-head .meta{color:var(--muted);font-size:12.5px}.stats-line{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;font-size:12.5px;color:var(--muted);flex-shrink:0}.stats-line b{color:var(--text);font-size:14px;font-weight:700}.stats-line .hot b{color:var(--high)}.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex-shrink:0}.chip{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--muted);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.chip:hover{border-color:var(--brand);color:var(--text)}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.filters select{border:1px solid var(--border);background:var(--panel);border-radius:6px;padding:5px 8px;font-size:12.5px}.tabs{display:flex;gap:2px;flex-shrink:0;border-bottom:1px solid var(--border)}.tab{border:0;background:transparent;padding:7px 12px;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;font-size:12.5px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tab.active{color:var(--brand);border-bottom-color:var(--accent)}.queue-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--inspector);gap:10px}@media(max-width:1100px){.queue-layout{grid-template-columns:1fr}.det-row{grid-template-columns:48px 64px minmax(0,1fr) auto}.det-time,.det-cat,.det-attrs{display:none}}.det-list{min-height:0;overflow:auto;padding:2px 2px 8px}.det-day{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 6px 6px}.det-card{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 2px #0c14110d;margin-bottom:8px;transition:border-color .18s ease,box-shadow .18s ease}.det-card:hover{border-color:#bcc8c0;box-shadow:0 4px 12px #0c141114}.det-card.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.det-row{width:100%;text-align:left;border:0;background:transparent;display:grid;grid-template-columns:52px 70px 64px minmax(140px,1.5fr) 88px minmax(0,2.2fr) auto;gap:10px;align-items:center;padding:10px 12px}.det-score{display:flex;align-items:center;gap:6px;font-weight:700;font-size:16px}.det-dot{width:8px;height:8px;border-radius:50%;background:var(--low);flex-shrink:0}.det-card.sev-high .det-dot{background:var(--high);box-shadow:0 0 #a3e6358c;animation:pulse 2.2s ease-out infinite}.det-card.sev-medium .det-dot{background:var(--med)}.det-card.sev-low .det-dot{background:var(--ok)}.det-sev{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;text-transform:capitalize}.det-time{font-family:var(--mono);font-size:12px;color:var(--muted)}.det-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.det-cat{color:var(--muted);font-size:12.5px}.det-attrs{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.attr{display:flex;flex-direction:column;min-width:0;max-width:140px;border:1px solid var(--border);border-radius:4px;padding:2px 7px 3px;background:#fff;line-height:1.2}.attr span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.attr b{font-size:11.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.det-deploy{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}.det-deploy.open{grid-template-rows:1fr;opacity:1}.det-deploy-inner{overflow:hidden;min-height:0;border-top:1px solid var(--border);background:#f4f7f5;padding:12px 14px 14px 16px}.det-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-box{background:#fff;border:1px solid var(--border);border-radius:6px;padding:6px 10px;min-width:92px}.meta-box span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.meta-box b{font-size:13px;font-weight:600}.det-chain{margin:12px 0 0;padding-left:14px;border-left:2px solid #c5d4cc}.det-node{position:relative;padding:4px 0 10px 14px;font-size:13px}.det-node:before{content:"";position:absolute;left:-5px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--brand)}.det-node .muted{font-size:11px}.det-cmd{margin-top:4px}.det-cmd-label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}.inspector{min-height:0;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-direction:column}.insp-body{display:flex;flex-direction:column;flex:1;min-height:0;animation:insp-in .2s ease}.insp-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px}.inspector h2{margin:0 0 4px;font-size:15px;font-weight:600;word-break:break-all}.insp-actions{display:flex;gap:6px;flex-shrink:0}.insp-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:10px}.insp-score{font-size:22px;font-weight:700;letter-spacing:-.03em;margin:4px 0 8px}.insp-score span{font-size:13px;font-weight:500;color:var(--muted)}.acc{border-bottom:1px solid var(--border)}.acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;padding:10px 0;font-weight:600;font-size:13px;text-align:left}.acc-btn svg{width:16px;height:16px;color:var(--muted)}.acc-body{display:grid;grid-template-rows:0fr;opacity:0;font-size:12.5px;transition:grid-template-rows .22s ease,opacity .18s ease}.acc-body.open{grid-template-rows:1fr;opacity:1}.acc-body-inner{overflow:hidden;min-height:0;padding:0 0 12px}.chev{transition:transform .18s ease}.chev-down{transform:rotate(0)}.chev-up{transform:rotate(180deg)}.chev-left{transform:rotate(90deg)}.chev-right{transform:rotate(-90deg)}.insp-foot{margin-top:auto;padding-top:12px}.inspector dl{display:grid;grid-template-columns:76px 1fr;gap:4px 8px;margin:0;font-size:12.5px}.inspector dt{color:var(--muted)}.inspector dd{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:#fff}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}table.data th{background:#f4f7f5;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);position:sticky;top:0}table.data tbody tr:hover td{background:#f3faf6}table.data input,table.data select{width:100%;min-width:0;border:1px solid var(--border);border-radius:4px;padding:4px 6px;background:#fff}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12.5px}.ellipsis{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;background:#eef2ee;color:var(--brand)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.high{background:var(--danger-soft);color:var(--high)}.badge.med{background:var(--warn-soft);color:var(--med)}.badge.sev-security{background:#fde8e6;color:#b42318}.badge.sev-performance{background:#fff4e5;color:#b54708}.badge.sev-minor{background:#e8f1fb;color:#175cd3}tr.row-override td{background:color-mix(in srgb,var(--warn-soft) 35%,transparent)}.stack-scroll{display:flex;flex-direction:column;gap:10px}.section-label{margin:2px 0 0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.btn{border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 11px;font-size:12.5px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{border-color:var(--brand)}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.ghost{background:transparent;border-color:#31463c;color:#c5d4cc}.btn.ghost:hover{border-color:var(--accent);color:#fff}.btn.danger{color:var(--danger);border-color:#f0c4c0}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:14px;overflow:visible;flex-shrink:0}.enroll-card{margin-bottom:14px;border-color:#c5d9b8;background:linear-gradient(180deg,#f7fbf4,#fff 48%)}.enroll-card .section-label{margin-bottom:8px}.enroll-key{font-size:16px;font-weight:700;letter-spacing:.04em;padding:10px 12px;border:1px dashed #b7c9ae;border-radius:6px;background:#fff;word-break:break-all}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-weight:600;font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:6px;padding:7px 9px;background:#fff}.field textarea{min-height:88px;resize:vertical}.row{display:flex;gap:8px;flex-wrap:wrap}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.banner{padding:8px 10px;border-radius:6px;background:var(--warn-soft);color:#7a3b00;font-size:12.5px;flex-shrink:0}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.ok{background:var(--ok-soft);color:var(--ok)}pre.payload{white-space:pre-wrap;word-break:break-word;background:#0c1411;color:#d5e6d8;border:1px solid #24332c;border-radius:6px;padding:10px;font-family:var(--mono);font-size:12px;margin:0;max-height:360px;overflow:auto}.empty{padding:36px 16px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.kpi{background:#f4f7f5;border:1px solid var(--border);border-radius:6px;padding:10px 12px}.kpi b{display:block;font-size:18px;font-weight:700}.kpi span{color:var(--muted);font-size:11px}.page-foot{margin-top:8px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--muted)}.page-foot a{font-weight:600}.modal{border:1px solid var(--border);border-radius:10px;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);background:var(--panel);color:var(--text);box-shadow:0 18px 48px #0c141147;animation:insp-in .2s ease}.modal::backdrop{background:#0c14117a}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:15px;font-weight:600}.modal-close{border:0;background:transparent;color:var(--muted);width:32px;height:32px;border-radius:6px;font-size:20px;line-height:1;flex-shrink:0}.modal-close:hover{background:#f4f7f5;color:var(--text)}.modal-body{padding:14px 16px;overflow:auto}.modal-body textarea{min-height:160px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--border)}.domain-list{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--border);border-radius:6px;max-height:min(48vh,420px);overflow:auto}.domain-list li{padding:5px 10px;border-bottom:1px solid var(--border);font-size:12.5px}.domain-list li:last-child{border-bottom:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.auth-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px;position:relative;background:#000;overflow:hidden}.auth-shell:before{content:"";position:absolute;left:50%;top:46%;width:min(720px,90vw);height:min(520px,70vh);transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(129,239,48,.22) 0%,rgba(17,56,33,.18) 35%,transparent 70%);pointer-events:none;filter:blur(8px)}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;background:#141414;border:1px solid #2a2a2a;border-radius:2px;padding:40px 36px 36px;display:flex;flex-direction:column;gap:18px;color:#e8e8e8;animation:authFadeIn .28s ease;box-shadow:0 0 0 1px #81ef300a,0 24px 60px #000000a6}.auth-card-wide{max-width:520px}.auth-brand{display:flex;flex-direction:column;gap:22px;margin-bottom:4px}.auth-logo-stack{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.auth-logo{height:48px;width:auto;max-width:72px;object-fit:contain;display:block}.auth-wordmark{font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1.1}.auth-title{margin:0;font-size:26px;font-weight:600;color:#fff;letter-spacing:-.02em;line-height:1.2}.auth-subtitle{margin:-12px 0 0;color:#9a9a9a;font-size:13px;font-weight:400;letter-spacing:0;line-height:1.4}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-card .field{margin-bottom:0;display:flex;flex-direction:column;gap:6px}.auth-card .field label{font-weight:500;color:#b0b0b0;font-size:13px}.auth-card .field input{border:1px solid #333;border-radius:2px;padding:11px 12px;font-size:14px;color:#fff;background:#0c0c0c;width:100%}.auth-card .field input::placeholder{color:#666}.auth-card .field input:focus{border-color:#81ef30;outline:none;box-shadow:0 0 0 1px #81ef3059}.auth-totp{font-family:var(--mono);letter-spacing:.28em;text-align:center;font-size:18px!important}.auth-hint{margin:0;color:#8a8a8a;font-size:12px;line-height:1.4}.auth-error{margin:0;padding:10px 12px;background:#b423182e;border:1px solid #8a2a22;color:#ff8a80;border-radius:2px;font-size:12px;font-weight:600}.auth-submit{background:#81ef30;border:1px solid #81ef30;color:#0a0a0a;font-weight:700;padding:12px 14px;cursor:pointer;font-size:14px;letter-spacing:.01em;border-radius:2px;font-family:inherit;margin-top:4px;width:100%}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:active:not(:disabled){filter:brightness(.94)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-back{display:block;text-align:center;color:#8a8a8a;font-size:13px;font-weight:500;padding:2px;text-decoration:underline;text-underline-offset:3px}.auth-back:hover{color:#81ef30}.auth-qr{width:180px;height:180px;margin:4px 0;padding:10px;background:#fff;border-radius:2px}.auth-qr svg{width:100%;height:100%}.auth-charter{white-space:pre-wrap;font-family:var(--mono);font-size:11.5px;line-height:1.45;background:#0c0c0c;border:1px solid #2a2a2a;border-radius:2px;padding:14px;max-height:280px;overflow:auto;margin:0;color:#c8c8c8}.auth-shake{animation:authShake .35s ease}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.siem-fail-banner{background:var(--danger-soft);color:var(--danger);border:1px solid #f0c4c0;border-radius:6px;padding:10px 12px;margin-bottom:12px;font-size:12.5px}
