html[data-style=carbon]{--bg-0: #161616;--bg-1: #262626;--bg-2: #333333;--bg-3: #393939;--bg-elev: #393939;--line: #393939;--line-soft: #313131;--line-strong: #6f6f6f;--fg: #f4f4f4;--fg-strong: #ffffff;--fg-mute: #c6c6c6;--fg-faint: #8d8d8d;--fg-disabled: #6f6f6f;--accent: #78a9ff;--accent-strong: #a6c8ff;--accent-bg: #0f62fe;--accent-bg-hover: #0353e9;--accent-faint: rgba(69, 137, 255, .16);--accent-line: rgba(69, 137, 255, .55);--accent-fg: #ffffff;--focus: #ffffff;--inverse-bg: #f4f4f4;--inverse-fg: #161616;--sev-critical: #fa4d56;--sev-critical-bg: rgba(250, 77, 86, .18);--sev-critical-line: rgba(250, 77, 86, .45);--sev-high: #ff832b;--sev-high-bg: rgba(255, 131, 43, .16);--sev-high-line: rgba(255, 131, 43, .45);--sev-medium: #f1c21b;--sev-medium-bg: rgba(241, 194, 27, .14);--sev-medium-line: rgba(241, 194, 27, .42);--sev-low: #33b1ff;--sev-low-bg: rgba(51, 177, 255, .14);--sev-low-line: rgba(51, 177, 255, .42);--sev-info: #a8a8a8;--sev-info-bg: rgba(168, 168, 168, .14);--sev-info-line: rgba(168, 168, 168, .4);--ok: #42be65;--warn: #f1c21b;--err: #fa4d56;--font-sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", Menlo, "DejaVu Sans Mono", monospace;--r-sm: 2px;--r-md: 0px;--r-lg: 0px;--r-xl: 0px;--shadow-1: none;--shadow-pop: 0 2px 6px rgba(0, 0, 0, .5);--scroll-thumb: #525252;--scroll-thumb-hover: #6f6f6f}html[data-style=carbon][data-theme=light]{--bg-0: #f4f4f4;--bg-1: #ffffff;--bg-2: #f4f4f4;--bg-3: #e0e0e0;--bg-elev: #ffffff;--line: #e0e0e0;--line-soft: #e8e8e8;--line-strong: #8d8d8d;--fg: #161616;--fg-strong: #000000;--fg-mute: #525252;--fg-faint: #6f6f6f;--fg-disabled: #a8a8a8;--accent: #0f62fe;--accent-strong: #0043ce;--accent-bg: #0f62fe;--accent-bg-hover: #0353e9;--accent-faint: rgba(15, 98, 254, .08);--accent-line: rgba(15, 98, 254, .45);--accent-fg: #ffffff;--focus: #0f62fe;--inverse-bg: #393939;--inverse-fg: #ffffff;--sev-critical: #da1e28;--sev-critical-bg: rgba(218, 30, 40, .08);--sev-critical-line: rgba(218, 30, 40, .4);--sev-high: #ba4e00;--sev-high-bg: rgba(255, 131, 43, .12);--sev-high-line: rgba(186, 78, 0, .4);--sev-medium: #8e6a00;--sev-medium-bg: rgba(241, 194, 27, .18);--sev-medium-line: rgba(142, 106, 0, .4);--sev-low: #0072c3;--sev-low-bg: rgba(0, 114, 195, .08);--sev-low-line: rgba(0, 114, 195, .4);--sev-info: #6f6f6f;--sev-info-bg: rgba(111, 111, 111, .08);--sev-info-line: rgba(111, 111, 111, .35);--ok: #198038;--warn: #8e6a00;--err: #da1e28;--shadow-1: none;--shadow-pop: 0 2px 6px rgba(0, 0, 0, .2);--scroll-thumb: #c6c6c6;--scroll-thumb-hover: #a8a8a8}html[data-style=carbon] *{box-sizing:border-box}html[data-style=carbon],html[data-style=carbon] body{margin:0;padding:0;height:100%}html[data-style=carbon] body{background:var(--bg-0);color:var(--fg);font-family:var(--font-sans);font-size:13px;line-height:1.43;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;overflow:hidden}html[data-style=carbon] #root{height:100vh}html[data-style=carbon] button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}html[data-style=carbon] input,html[data-style=carbon] textarea,html[data-style=carbon] select{font-family:inherit;color:inherit}html[data-style=carbon] a{color:inherit;text-decoration:none}html[data-style=carbon] ::-webkit-scrollbar{width:10px;height:10px}html[data-style=carbon] ::-webkit-scrollbar-track{background:transparent}html[data-style=carbon] ::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:0;border:2px solid transparent;background-clip:padding-box}html[data-style=carbon] ::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box;border:2px solid transparent}html[data-style=carbon] :focus-visible{outline:2px solid var(--focus);outline-offset:-2px}html[data-style=carbon] .mono{font-family:var(--font-mono);font-feature-settings:"zero" 1;letter-spacing:0}html[data-style=carbon] .t-xs{font-size:11px}html[data-style=carbon] .t-sm{font-size:12px}html[data-style=carbon] .t-md{font-size:13px}html[data-style=carbon] .t-lg{font-size:15px}html[data-style=carbon] .t-xl{font-size:18px;font-weight:400}html[data-style=carbon] .t-2xl{font-size:22px;font-weight:400}html[data-style=carbon] .t-3xl{font-size:28px;font-weight:300}html[data-style=carbon] .t-4xl{font-size:38px;line-height:1.1;font-weight:300}html[data-style=carbon] .t-mute{color:var(--fg-mute)}html[data-style=carbon] .t-faint{color:var(--fg-faint)}html[data-style=carbon] .t-strong{color:var(--fg-strong)}html[data-style=carbon] .t-up{text-transform:none;letter-spacing:0;font-weight:400}html[data-style=carbon] .t-up.t-xs{font-size:12px}html[data-style=carbon] .t-tab{font-variant-numeric:tabular-nums}html[data-style=carbon] .row{display:flex;align-items:center}html[data-style=carbon] .col{display:flex;flex-direction:column}html[data-style=carbon] .gap-1{gap:4px}html[data-style=carbon] .gap-2{gap:8px}html[data-style=carbon] .gap-3{gap:12px}html[data-style=carbon] .gap-4{gap:16px}html[data-style=carbon] .gap-5{gap:20px}html[data-style=carbon] .gap-6{gap:24px}html[data-style=carbon] .gap-8{gap:32px}html[data-style=carbon] .grow{flex:1;min-width:0}html[data-style=carbon] .between{justify-content:space-between}html[data-style=carbon] .center{justify-content:center;align-items:center}html[data-style=carbon] .wrap{flex-wrap:wrap}html[data-style=carbon] .hide{display:none!important}html[data-style=carbon] .card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}html[data-style=carbon] .tbl-wrap{overflow-x:auto}html[data-style=carbon] .card:has(.tbl){overflow-x:auto}html[data-style=carbon] .drawer-body>*{flex-shrink:0}html[data-style=carbon] .card-pad{padding:16px}html[data-style=carbon] .card-pad-lg{padding:20px}html[data-style=carbon] .card-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}html[data-style=carbon] .card-head h3{margin:0;font-size:14px;font-weight:600;color:var(--fg-strong);letter-spacing:0}html[data-style=carbon] .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 14px;border-radius:0;border:1px solid var(--line-strong);background:transparent;color:var(--fg);font-size:13px;font-weight:400;letter-spacing:0;white-space:nowrap;transition:background .11s cubic-bezier(.2,0,.38,.9),border-color .11s,color .11s}html[data-style=carbon] .btn:hover{background:var(--bg-3);border-color:var(--line-strong)}html[data-style=carbon] .btn:active{background:var(--line-strong)}html[data-style=carbon] .btn:disabled,html[data-style=carbon] .btn[disabled]{color:var(--fg-disabled);border-color:var(--line);background:transparent;cursor:not-allowed}html[data-style=carbon] .btn.btn-primary{background:var(--accent-bg);color:#fff;border-color:var(--accent-bg);font-weight:400}html[data-style=carbon] .btn.btn-primary:hover{background:var(--accent-bg-hover);border-color:var(--accent-bg-hover)}html[data-style=carbon] .btn.btn-primary:disabled,html[data-style=carbon] .btn.btn-primary[disabled]{background:var(--bg-3);border-color:var(--bg-3);color:var(--fg-disabled)}html[data-style=carbon] .btn.btn-ghost{background:transparent;border-color:transparent}html[data-style=carbon] .btn.btn-ghost:hover{background:var(--bg-3)}html[data-style=carbon] .btn.btn-danger{color:var(--err);border-color:var(--err)}html[data-style=carbon] .btn.btn-danger:hover{background:var(--err);border-color:var(--err);color:#fff}html[data-style=carbon] .btn.btn-sm{height:26px;padding:0 10px;font-size:12px}html[data-style=carbon] .btn.btn-lg{height:38px;padding:0 16px;font-size:13px}html[data-style=carbon] .btn.btn-icon{width:32px;padding:0}html[data-style=carbon] .btn.btn-icon.btn-sm{width:26px}html[data-style=carbon] .input{height:32px;padding:0 12px;border-radius:0;background:var(--bg-2);border:1px solid transparent;border-bottom-color:var(--line-strong);color:var(--fg);font-size:13px;outline:none;transition:outline-color .11s ease;width:100%}html[data-style=carbon] .input:focus{outline:2px solid var(--focus);outline-offset:-2px}html[data-style=carbon] textarea.input{padding-top:8px;padding-bottom:8px}html[data-style=carbon] .input::placeholder{color:var(--fg-faint)}html[data-style=carbon] .input-icon-wrap{position:relative}html[data-style=carbon] .input-icon-wrap .input{padding-left:32px}html[data-style=carbon] .input-icon-wrap>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--fg-faint);pointer-events:none}html[data-style=carbon] .badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--bg-3);font-size:11.5px;font-weight:400;letter-spacing:0!important;color:var(--fg);white-space:nowrap;font-family:var(--font-sans);text-transform:none}html[data-style=carbon] .badge .badge-dot{display:none}html[data-style=carbon] .badge-dot{width:8px;height:8px;border-radius:0;background:currentColor;flex:none}html[data-style=carbon] .sev-critical{color:var(--sev-critical);border-color:var(--sev-critical-line);background:var(--sev-critical-bg)}html[data-style=carbon] .sev-high{color:var(--sev-high);border-color:var(--sev-high-line);background:var(--sev-high-bg)}html[data-style=carbon] .sev-medium{color:var(--sev-medium);border-color:var(--sev-medium-line);background:var(--sev-medium-bg)}html[data-style=carbon] .sev-low{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}html[data-style=carbon] .sev-info{color:var(--sev-info);border-color:var(--sev-info-line);background:var(--sev-info-bg)}html[data-style=carbon] .status-running{color:var(--accent);border-color:var(--accent-line);background:var(--accent-faint)}html[data-style=carbon] .status-queued{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}html[data-style=carbon] .status-scheduled{color:var(--fg-mute);border-color:transparent;background:var(--bg-3)}html[data-style=carbon] .status-completed{color:var(--ok);border-color:transparent;background:color-mix(in srgb,var(--ok) 16%,transparent)}html[data-style=carbon] .status-error{color:var(--err);border-color:transparent;background:color-mix(in srgb,var(--err) 16%,transparent)}html[data-style=carbon] .status-idle{color:var(--fg-faint);border-color:transparent;background:var(--bg-3)}html[data-style=carbon] .tbl{width:100%;border-collapse:collapse}html[data-style=carbon] .tbl th,html[data-style=carbon] .tbl td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}html[data-style=carbon] .tbl th{font-weight:600;color:var(--fg-strong);font-size:12.5px;text-transform:none;letter-spacing:0;padding-top:11px;padding-bottom:11px;background:var(--bg-3);border-bottom:0;position:sticky;top:0;z-index:1}html[data-style=carbon] .tbl tbody tr{transition:background .1s ease}html[data-style=carbon] .tbl tbody tr:hover{background:var(--bg-2)}html[data-style=carbon][data-theme=light] .tbl tbody tr:hover{background:#e8e8e8}html[data-style=carbon] .tbl tbody tr:last-child td{border-bottom:0}html[data-style=carbon] .tbl td.num,html[data-style=carbon] .tbl th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}html[data-style=carbon] .sev-dot{width:8px;height:8px;border-radius:0;flex:none}html[data-style=carbon] .sev-dot.critical{background:var(--sev-critical)}html[data-style=carbon] .sev-dot.high{background:var(--sev-high)}html[data-style=carbon] .sev-dot.medium{background:var(--sev-medium)}html[data-style=carbon] .sev-dot.low{background:var(--sev-low)}html[data-style=carbon] .sev-dot.info{background:var(--sev-info)}html[data-style=carbon] .pulse-dot{animation:nem-pulse 1.6s ease-in-out infinite}html[data-style=carbon] .spin{animation:nem-spin 1s linear infinite}html[data-style=carbon] .blink{animation:nem-blink 1s steps(1) infinite}html[data-style=carbon] .app{display:grid;grid-template-columns:232px 1fr;height:100vh;background:var(--bg-0)}html[data-style=carbon] .sidebar{background:var(--bg-0);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}html[data-style=carbon] .sidebar-head{padding:16px 16px 12px;border-bottom:1px solid var(--line-soft)}html[data-style=carbon] .brand{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--fg-strong);font-size:14px;letter-spacing:0}html[data-style=carbon] .brand-mark{width:24px;height:24px;border-radius:0;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-sans);font-weight:600;font-size:13px}html[data-style=carbon] .nav-section{padding:12px 0 4px}html[data-style=carbon] .nav-label{padding:6px 16px;font-size:12px;font-weight:400;color:var(--fg-faint);letter-spacing:0}html[data-style=carbon] .nav-item{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:32px;border-radius:0;color:var(--fg-mute);font-size:13px;font-weight:400;cursor:pointer;width:100%;text-align:left;transition:background .11s ease,color .11s ease}html[data-style=carbon] .nav-item:hover{background:var(--bg-2);color:var(--fg-strong)}html[data-style=carbon] .nav-item.active{background:var(--bg-3);color:var(--fg-strong);font-weight:600;box-shadow:inset 3px 0 0 var(--accent-bg)}html[data-style=carbon] .nav-item .nav-icon{color:var(--fg-mute)}html[data-style=carbon] .nav-item.active .nav-icon{color:var(--fg-strong)}html[data-style=carbon] .nav-item .nav-badge{margin-left:auto;font-family:var(--font-sans);font-size:11px;color:var(--fg-mute);padding:0 6px;border-radius:var(--r-sm);background:var(--bg-3);border:0}html[data-style=carbon] .nav-item.active .nav-badge{background:var(--bg-2);color:var(--fg)}html[data-style=carbon] .sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid var(--line-soft)}html[data-style=carbon] .userchip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:0;cursor:pointer}html[data-style=carbon] .userchip:hover{background:var(--bg-2)}html[data-style=carbon] .avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--fg-strong);font-weight:600;font-size:11px;flex:none}html[data-style=carbon] .app{transition:grid-template-columns .15s ease}html[data-style=carbon] .app.nav-collapsed{grid-template-columns:56px 1fr}html[data-style=carbon] .nav-collapsed .sidebar{overflow-x:hidden}html[data-style=carbon] .nav-collapsed .brand span,html[data-style=carbon] .nav-collapsed .nav-label,html[data-style=carbon] .nav-collapsed .nav-item span,html[data-style=carbon] .nav-collapsed .userchip-info,html[data-style=carbon] .nav-collapsed .userchip-logout{display:none}html[data-style=carbon] .nav-collapsed .sidebar-head{padding:16px 0 12px;display:flex;justify-content:center}html[data-style=carbon] .nav-collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}html[data-style=carbon] .nav-collapsed .nav-section+.nav-section{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px}html[data-style=carbon] .nav-collapsed .sidebar-foot{padding:12px 8px}html[data-style=carbon] .nav-collapsed .userchip{justify-content:center;padding:8px 0}html[data-style=carbon] .topbar{height:48px;border-bottom:1px solid var(--line);background:var(--bg-0);display:flex;align-items:center;gap:12px;padding:0 20px;flex:none}html[data-style=carbon] .topbar h1{margin:0;font-size:14px;font-weight:600;color:var(--fg-strong);letter-spacing:0}html[data-style=carbon] .breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--fg-mute)}html[data-style=carbon] .breadcrumb svg{color:var(--fg-faint)}html[data-style=carbon] .workarea{display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}html[data-style=carbon] .scrollarea{flex:1;overflow-y:auto}html[data-style=carbon] .page{padding:20px 24px 80px;max-width:1480px;margin:0 auto;width:100%}html[data-style=carbon] .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}html[data-style=carbon] .page-title{margin:0;font-size:28px;line-height:1.25;font-weight:400;color:var(--fg-strong);letter-spacing:0}html[data-style=carbon] .page-sub{color:var(--fg-mute);font-size:13px;margin-top:4px}html[data-style=carbon] .grid{display:grid;gap:16px}html[data-style=carbon] .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-style=carbon] .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-style=carbon] .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=carbon] .grid-2-3{grid-template-columns:1fr 1fr}html[data-style=carbon] .grid-stack{grid-template-columns:2fr 1fr}html[data-style=carbon] .stat{padding:16px;display:flex;flex-direction:column;gap:8px}html[data-style=carbon] .stat-label{display:flex;align-items:center;justify-content:space-between;color:var(--fg-mute);font-size:12px;letter-spacing:0;font-weight:400}html[data-style=carbon] .stat-value{font-size:32px;font-weight:300;color:var(--fg-strong);letter-spacing:0;font-variant-numeric:tabular-nums;font-family:var(--font-sans)}html[data-style=carbon] .stat-foot{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fg-mute)}html[data-style=carbon] .delta-up{color:var(--ok)}html[data-style=carbon] .delta-down{color:var(--err)}html[data-style=carbon] .code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 6px;font-size:11.5px;color:var(--fg)}html[data-style=carbon] .seg{display:inline-flex;background:transparent;border:1px solid var(--line-strong);border-radius:0;padding:0}html[data-style=carbon] .seg button{height:28px;padding:0 14px;border-radius:0;color:var(--fg-mute);font-size:12.5px;font-weight:400}html[data-style=carbon] .seg button+button{border-left:1px solid var(--line)}html[data-style=carbon] .seg button:hover{color:var(--fg-strong);background:var(--bg-3)}html[data-style=carbon] .seg button.on{background:var(--inverse-bg);color:var(--inverse-fg)}html[data-style=carbon] .sevbar{display:flex;height:8px;border-radius:0;gap:1px;overflow:hidden;background:var(--bg-3)}html[data-style=carbon] .sevbar>span{display:block;height:100%}html[data-style=carbon] .sevbar>.critical{background:var(--sev-critical)}html[data-style=carbon] .sevbar>.high{background:var(--sev-high)}html[data-style=carbon] .sevbar>.medium{background:var(--sev-medium)}html[data-style=carbon] .sevbar>.low{background:var(--sev-low)}html[data-style=carbon] .sevbar>.info{background:var(--sev-info)}html[data-style=carbon] .m-screen{background:var(--bg-0);color:var(--fg);height:100%;display:flex;flex-direction:column;font-family:var(--font-sans)}html[data-style=carbon] .m-topbar{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg-0);flex:none}html[data-style=carbon] .m-scroll{flex:1;overflow-y:auto;padding:16px 16px 90px}html[data-style=carbon] .m-tabbar{flex:none;height:76px;background:var(--bg-0);border-top:1px solid var(--line);display:flex;padding:6px 8px 22px}html[data-style=carbon] .m-statusbar-spacer{height:44px;flex:none}html[data-style=carbon] .m-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--fg-faint);font-size:10px;font-weight:500}html[data-style=carbon] .m-tab.on{color:var(--accent)}html[data-style=carbon] .m-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px}html[data-style=carbon] .login-shell{height:100vh;display:grid;grid-template-columns:1fr 1fr}html[data-style=carbon] .login-pane{display:flex;flex-direction:column;justify-content:center;padding:48px;min-width:0}html[data-style=carbon] .login-art{background:var(--bg-1);border-left:1px solid var(--line);position:relative;overflow:hidden}html[data-style=carbon] .login-form{width:100%;max-width:360px;margin:0 auto}html[data-style=carbon] .login-form label{display:block;font-size:12px;color:var(--fg-mute);margin-bottom:8px;letter-spacing:0}html[data-style=carbon] .login-form .input{height:40px}html[data-style=carbon] .chartgrid line{stroke:var(--line-soft)}html[data-style=carbon] .chartgrid text{fill:var(--fg-faint);font-size:9.5px;font-family:var(--font-mono)}html[data-style=carbon] .kv{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px}html[data-style=carbon] .kv:last-child{border-bottom:0}html[data-style=carbon] .kv .k{color:var(--fg-mute)}html[data-style=carbon] .kv .v{color:var(--fg);font-family:var(--font-mono)}html[data-style=carbon] .divider{height:1px;background:var(--line-soft)}html[data-style=carbon] .kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;border-radius:var(--r-sm);background:var(--bg-3);border:0;color:var(--fg-mute);font-family:var(--font-mono);font-size:10.5px}html[data-style=carbon] .search-input{width:280px}html[data-style=carbon] .pipeline{display:flex;align-items:stretch;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--bg-1)}html[data-style=carbon] .pipe-step{flex:1;padding:10px 12px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:4px;position:relative}html[data-style=carbon] .pipe-step:last-child{border-right:0}html[data-style=carbon] .pipe-step .lbl{font-size:12px;letter-spacing:0;color:var(--fg-faint);font-weight:400}html[data-style=carbon] .pipe-step .name{font-family:var(--font-mono);font-size:12px;color:var(--fg)}html[data-style=carbon] .pipe-step .dur{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint)}html[data-style=carbon] .pipe-step.done .name{color:var(--ok)}html[data-style=carbon] .pipe-step.running{background:var(--accent-faint);box-shadow:inset 0 3px 0 var(--accent-bg)}html[data-style=carbon] .pipe-step.running .name{color:var(--accent)}html[data-style=carbon] .pipe-step.pending .name{color:var(--fg-faint)}html[data-style=carbon] .client-avatar{width:32px;height:32px;border-radius:0;display:flex;align-items:center;justify-content:center;background:var(--bg-3);border:0;color:var(--fg);font-weight:600;font-size:12px;font-family:var(--font-sans);letter-spacing:0;flex:none}html[data-style=carbon] .clients-tbl tbody tr.row-pro td:first-child{box-shadow:inset 3px 0 0 var(--accent-bg)}html[data-style=carbon] .iso-diagram{display:flex;justify-content:center}html[data-style=carbon] .iso-platform{width:100%;max-width:880px;padding:20px;background:var(--bg-2);border:1px dashed var(--line-strong);border-radius:0}html[data-style=carbon] .iso-tenants{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}html[data-style=carbon] .iso-tenant{padding:12px;background:var(--bg-1);border:1px solid var(--line);border-radius:0;display:flex;flex-direction:column;gap:6px;min-height:70px;transition:opacity .15s ease}html[data-style=carbon] .iso-tenant.iso-other{opacity:.55;background:var(--bg-0)}html[data-style=carbon] .iso-tenant.iso-shared{border-style:dashed}html[data-style=carbon] .iso-tenant.iso-current{background:var(--bg-1);border:1px solid var(--accent-bg);box-shadow:inset 0 3px 0 var(--accent-bg);min-height:110px;position:relative;z-index:2}html[data-style=carbon] .iso-resources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}html[data-style=carbon] .iso-res{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:9.5px;font-family:var(--font-mono);color:var(--accent);background:var(--bg-0);border:1px solid var(--accent-line);border-radius:var(--r-sm)}html[data-style=carbon] .imp-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:color-mix(in srgb,var(--warn) 12%,var(--bg-0));border-bottom:1px solid color-mix(in srgb,var(--warn) 45%,transparent);flex:none;position:relative}html[data-style=carbon] .imp-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--warn)}html[data-style=carbon] .imp-banner .imp-dot{width:22px;height:22px;border-radius:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--warn);flex:none}@media (max-width: 1100px){html[data-style=carbon] .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=carbon] .grid-stack{grid-template-columns:1fr}html[data-style=carbon] .page{padding:18px 18px 72px}}@media (max-width: 900px){html[data-style=carbon] .app{grid-template-columns:1fr}html[data-style=carbon] .sidebar{position:fixed;top:0;left:0;bottom:0;width:264px;max-width:84vw;z-index:120;transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow-pop)}html[data-style=carbon] .app.nav-open .sidebar{transform:translate(0)}html[data-style=carbon] .app.nav-collapsed .sidebar{width:264px}html[data-style=carbon] .nav-collapsed .nav-item span,html[data-style=carbon] .nav-collapsed .nav-label,html[data-style=carbon] .nav-collapsed .brand span,html[data-style=carbon] .nav-collapsed .userchip-info,html[data-style=carbon] .nav-collapsed .userchip-logout{display:initial}html[data-style=carbon] .nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:119;background:#16161680}html[data-style=carbon] .grid-3,html[data-style=carbon] .grid-2-3{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=carbon] .page-head{flex-direction:column;align-items:flex-start;gap:10px}html[data-style=carbon] .topbar-search{display:none}}@media (max-width: 640px){html[data-style=carbon] .grid-4,html[data-style=carbon] .grid-3,html[data-style=carbon] .grid-2,html[data-style=carbon] .grid-2-3{grid-template-columns:1fr}html[data-style=carbon] .page{padding:14px 12px 64px}html[data-style=carbon] .page-title{font-size:18px}html[data-style=carbon] .topbar{padding:0 10px;gap:8px}html[data-style=carbon] .breadcrumb .crumb-root,html[data-style=carbon] .breadcrumb .crumb-sep{display:none}html[data-style=carbon] .card-pad{padding:12px}html[data-style=carbon] .card-pad-lg{padding:14px}html[data-style=carbon] .card-head{padding:12px;flex-wrap:wrap;gap:8px}html[data-style=carbon] .tbl th,html[data-style=carbon] .tbl td{padding:9px 10px;font-size:12px}html[data-style=carbon] .subtabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}html[data-style=carbon] .subtab{flex:none}html[data-style=carbon] .btn{min-height:34px}html[data-style=carbon] .btn-sm{min-height:30px}html[data-style=carbon] input.input,html[data-style=carbon] select.input{min-height:34px;font-size:15px}html[data-style=carbon] .modal-backdrop{align-items:flex-end}html[data-style=carbon] .modal-backdrop>*{width:100%;max-width:100%;border-radius:0}html[data-style=carbon] .input-icon-wrap{max-width:100%!important}html[data-style=carbon] input.input,html[data-style=carbon] select.input,html[data-style=carbon] textarea.input{max-width:100%}html[data-style=carbon] .card-pad>.row,html[data-style=carbon] .card-head,html[data-style=carbon] .page-head>.row{flex-wrap:wrap}html[data-style=carbon] .card-head select.input,html[data-style=carbon] .card-pad select.input{flex:1 1 44%;width:auto!important;min-width:0}html[data-style=carbon] .card-head .input-icon-wrap,html[data-style=carbon] .card-pad .input-icon-wrap{flex:1 1 100%!important}}html[data-style=carbon] .subtabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}html[data-style=carbon] .subtab{display:flex;align-items:center;gap:8px;padding:11px 16px;margin-bottom:-1px;color:var(--fg-mute);font-size:13px;font-weight:400;border-bottom:2px solid var(--line);white-space:nowrap}html[data-style=carbon] .subtab:hover{color:var(--fg-strong);border-bottom-color:var(--line-strong)}html[data-style=carbon] .subtab.on{color:var(--fg-strong);font-weight:600;border-bottom-color:var(--accent-bg)}html[data-style=carbon] .subtab .subtab-ico{color:var(--fg-faint)}html[data-style=carbon] .subtab.on .subtab-ico{color:var(--fg-strong)}html[data-style=carbon] .heat-board{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px}html[data-style=carbon] .heat-col{flex:1 1 0;min-width:124px;display:flex;flex-direction:column;gap:4px}html[data-style=carbon] .heat-col-head{padding:8px 9px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:5px;position:sticky;top:0}html[data-style=carbon] .heat-col-head .tac-name{font-size:10.5px;font-weight:600;color:var(--fg);line-height:1.25;letter-spacing:0}html[data-style=carbon] .heat-col-head .tac-meta{display:flex;align-items:center;justify-content:space-between}html[data-style=carbon] .heat-cell{padding:7px 8px;border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-mono);font-size:10px;cursor:pointer;transition:transform .1s ease,filter .1s ease;display:flex;flex-direction:column;gap:2px}html[data-style=carbon] .heat-cell:hover{filter:brightness(1.15);outline:1px solid var(--line-strong)}html[data-style=carbon] .heat-cell .hc-id{font-weight:600;letter-spacing:0}html[data-style=carbon] .heat-cell .hc-name{font-size:9px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-sans)}html[data-style=carbon] .heat-cell.blocked{background:color-mix(in srgb,var(--ok) 16%,transparent);border-color:color-mix(in srgb,var(--ok) 42%,transparent);color:var(--ok)}html[data-style=carbon] .heat-cell.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line);color:var(--sev-medium)}html[data-style=carbon] .heat-cell.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line);color:var(--sev-critical)}html[data-style=carbon] .heat-cell.untested{background:var(--bg-2);border-color:var(--line);color:var(--fg-faint)}html[data-style=carbon] .heat-cell.sel{outline:2px solid var(--accent-bg);outline-offset:-2px}html[data-style=carbon] .res-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px}html[data-style=carbon] .res-sw{width:11px;height:11px;border-radius:0;flex:none;border:1px solid}html[data-style=carbon] .res-sw.blocked{background:color-mix(in srgb,var(--ok) 18%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}html[data-style=carbon] .res-sw.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line)}html[data-style=carbon] .res-sw.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line)}html[data-style=carbon] .res-sw.untested{background:var(--bg-2);border-color:var(--line-strong)}html[data-style=carbon] .kill-chain{display:flex;gap:0;overflow-x:auto;padding:2px 0 10px}html[data-style=carbon] .kc-step{flex:1;min-width:92px;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px}html[data-style=carbon] .kc-line{position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line-strong);z-index:0}html[data-style=carbon] .kc-step:first-child .kc-line{display:none}html[data-style=carbon] .kc-step.done .kc-line,html[data-style=carbon] .kc-step.running .kc-line{background:var(--accent-bg)}html[data-style=carbon] .kc-node{width:28px;height:28px;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1.5px solid var(--line-strong);color:var(--fg-faint);font-family:var(--font-mono);font-size:11px;font-weight:600}html[data-style=carbon] .kc-step.done .kc-node{background:var(--accent-faint);border-color:var(--accent-line);color:var(--accent)}html[data-style=carbon] .kc-step.running .kc-node{background:var(--accent-bg);border-color:var(--accent-bg);color:#fff}html[data-style=carbon] .kc-label{font-size:9.5px;text-align:center;color:var(--fg-mute);line-height:1.25}html[data-style=carbon] .kc-step.running .kc-label{color:var(--fg-strong)}html[data-style=carbon] .beacon-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 0 var(--accent-faint)}html[data-style=carbon] .log-feed{font-family:var(--font-mono);font-size:11px}html[data-style=carbon] .log-line{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}html[data-style=carbon] .log-line:last-child{border-bottom:0}html[data-style=carbon] .log-kind{font-size:10.5px;letter-spacing:0;padding:1px 5px;border-radius:var(--r-sm);flex:none}html[data-style=carbon] .os-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px}html[data-style=carbon] .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#16161699;display:flex;align-items:center;justify-content:center}html[data-style=carbon] select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--fg-mute) 50%),linear-gradient(135deg,var(--fg-mute) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}html[data-style=carbon] .nav-section+.nav-section{margin-top:6px}html[data-style=carbon] a.nav-item{text-decoration:none}html[data-style=carbon]{--ri-3: 3px;--ri-4: 4px;--ri-5: 5px;--ri-6: 6px;--ri-7: 7px;--ri-8: 8px;--ri-9: 9px;--ri-10: 10px;--ri-12: 12px;--ri-99: 99px;--ri-999: 999px}html[data-style=carbon] .kpi-neutral{--kpi-c: var(--fg-strong);--kpi-bg: var(--bg-2);--kpi-bd: var(--line)}html[data-style=carbon] .kpi-accent{--kpi-c: var(--accent);--kpi-bg: var(--accent-faint);--kpi-bd: var(--accent-line)}html[data-style=carbon] .kpi-warn{--kpi-c: var(--sev-medium);--kpi-bg: var(--sev-medium-bg);--kpi-bd: var(--sev-medium-line)}html[data-style=carbon] .kpi-value{font-size:26px;font-weight:500;color:var(--kpi-c);line-height:1}html[data-style=carbon] .kpi-ico{width:32px;height:32px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--kpi-bg);color:var(--kpi-c);border:1px solid var(--kpi-bd)}html[data-style=carbon] .kpi-sub{margin-top:10px}html[data-style=carbon] .detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center}html[data-style=carbon] .detail-modal{width:min(1200px,92vw);height:88vh;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-float, var(--shadow-pop));overflow:hidden}html[data-style=carbon] .detail-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}html[data-style=carbon] .detail-col{display:flex;flex-direction:column;gap:16px;min-width:0}html[data-style=carbon] .detail-col>*{flex-shrink:0}@media (max-width: 900px){html[data-style=carbon] .detail-cols{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){html[data-style=carbon] .detail-modal{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}html[data-style=carbon] .detail-modal .drawer-foot>.row{flex-wrap:wrap}}html[data-style=carbon] .apariencia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}html[data-style=carbon] .apariencia-opcion{display:flex;flex-direction:column;gap:10px;padding:10px;text-align:left;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .12s ease}html[data-style=carbon] .apariencia-opcion:hover{border-color:var(--line-strong)}html[data-style=carbon] .apariencia-opcion.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}html[data-style=carbon] .apariencia-activa{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--accent)}html[data-style=carbon]{--ri-3: 2px;--ri-4: 2px;--ri-5: 2px;--ri-6: 0;--ri-7: 0;--ri-8: 0;--ri-9: 0;--ri-10: 0;--ri-12: 0;--ri-99: 0;--ri-999: 0;--ls-caps: 0;--ls-tight: 0;--tt-caps: none;--tint: linear-gradient(transparent, transparent);--shadow-float: var(--shadow-pop)}html[data-style=carbon] .nav-label,html[data-style=carbon] .stat-label,html[data-style=carbon] .login-form label,html[data-style=carbon] .pipe-step .lbl,html[data-style=carbon] .log-kind{text-transform:none;letter-spacing:0}html[data-style=carbon] .brand-mark,html[data-style=carbon] .seg button.on,html[data-style=carbon] .kc-step.running .kc-node,html[data-style=carbon] .sev-dot.critical,html[data-style=carbon] .sev-dot.high,html[data-style=carbon] .sev-dot.medium,html[data-style=carbon] .sev-dot.low,html[data-style=carbon] .sev-dot.info{box-shadow:none}html[data-style=carbon] .m-tabbar,html[data-style=carbon] .modal-backdrop,html[data-style=carbon] .nav-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}html[data-style=carbon] .heat-cell:hover{transform:none}html[data-style=carbon] .input:focus{border-color:transparent;border-bottom-color:var(--line-strong);background:var(--bg-2)}html[data-style=carbon] .kpi{padding:16px}html[data-style=carbon] .kpi-label{font-size:12px;color:var(--fg-mute)}html[data-style=carbon] .kpi-value{font-family:var(--font-sans);font-size:32px;font-weight:300;line-height:1.15;margin-top:6px;font-variant-numeric:tabular-nums}html[data-style=carbon] .kpi-ico{width:auto;height:auto;background:none;border:0;color:var(--fg-faint);border-radius:0}html[data-style=carbon] .kpi-sub{margin-top:6px}html[data-style=carbon] .detail-overlay{background:#16161699}html[data-style=carbon] .detail-modal{border-radius:0;border:1px solid var(--line);box-shadow:var(--shadow-pop)}html[data-style=carbon] .detail-modal .drawer-head{border-bottom:1px solid var(--line)!important}html[data-style=carbon] .drawer-panel{border-left-color:var(--line)!important}html[data-style=carbon] .apariencia-opcion{border-radius:0}html[data-style=carbon] .apariencia-opcion.on{border-color:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-bg),inset 0 3px 0 var(--accent-bg)}html[data-style=fluent][data-theme=light]{--bg-0: #f5f5f5;--bg-1: #ffffff;--bg-2: #f5f5f5;--bg-3: #ebebeb;--bg-elev: #ffffff;--line: #e0e0e0;--line-soft: #f0f0f0;--line-strong: #d1d1d1;--fg: #242424;--fg-strong: #111111;--fg-mute: #424242;--fg-faint: #616161;--fg-disabled: #bdbdbd;--accent: #0f6cbd;--accent-strong: #115ea3;--accent-faint: #ebf3fc;--accent-line: #b4d6fa;--accent-fg: #ffffff;--accent-bg: #0f6cbd;--accent-bg-hover: #115ea3;--sev-critical: #c50f1f;--sev-critical-bg: #fdf3f4;--sev-critical-line: #eeacb2;--sev-high: #bc4b09;--sev-high-bg: #fdf6f3;--sev-high-line: #f4bfab;--sev-medium: #8a6500;--sev-medium-bg: #fefbf0;--sev-medium-line: #f2d98a;--sev-low: #0e5a9c;--sev-low-bg: #eef5fb;--sev-low-line: #a9cbea;--sev-info: #616161;--sev-info-bg: #f5f5f5;--sev-info-line: #d1d1d1;--ok: #107c10;--warn: #bc4b09;--err: #c50f1f;--shadow-1: 0 0 2px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.14);--shadow-pop: 0 0 2px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.14);--shadow-float: 0 0 2px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.14);--scroll-thumb: #c7c7c7}html[data-style=fluent] *{box-sizing:border-box}html[data-style=fluent],html[data-style=fluent] body{margin:0;padding:0;height:100%}html[data-style=fluent] body{background:var(--bg-0);color:var(--fg);font-family:var(--font-sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;overflow:hidden;font-size:13.5px;letter-spacing:0;line-height:1.43}html[data-style=fluent] #root{height:100vh}html[data-style=fluent] button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}html[data-style=fluent] input,html[data-style=fluent] textarea,html[data-style=fluent] select{font-family:inherit;color:inherit}html[data-style=fluent] a{color:inherit;text-decoration:none}html[data-style=fluent] ::-webkit-scrollbar{width:10px;height:10px}html[data-style=fluent] ::-webkit-scrollbar-track{background:transparent}html[data-style=fluent] ::-webkit-scrollbar-thumb{background:#1c2330;border-radius:6px;border:2px solid transparent;background:var(--scroll-thumb);background-clip:padding-box}html[data-style=fluent] ::-webkit-scrollbar-thumb:hover{background:#2a3340;border:2px solid transparent;background:var(--fg-faint);background-clip:padding-box}html[data-style=fluent] .mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}html[data-style=fluent] .t-xs{font-size:10.5px;font-size:11.5px}html[data-style=fluent] .t-sm{font-size:11.5px;font-size:12.5px}html[data-style=fluent] .t-md{font-size:13px}html[data-style=fluent] .t-lg{font-size:15px}html[data-style=fluent] .t-xl{font-size:18px;font-weight:500}html[data-style=fluent] .t-2xl{font-size:22px;font-weight:500;letter-spacing:-.015em;font-weight:600;letter-spacing:0}html[data-style=fluent] .t-3xl{font-size:28px;font-weight:500;letter-spacing:-.02em;font-weight:600;letter-spacing:0}html[data-style=fluent] .t-4xl{font-size:38px;line-height:1.05;font-weight:500;letter-spacing:-.025em;font-weight:600;letter-spacing:0}html[data-style=fluent] .t-mute{color:var(--fg-mute)}html[data-style=fluent] .t-faint{color:var(--fg-faint)}html[data-style=fluent] .t-strong{color:var(--fg-strong)}html[data-style=fluent] .t-up{text-transform:uppercase;letter-spacing:.09em;font-weight:500;text-transform:none;letter-spacing:0;font-weight:600}html[data-style=fluent] .t-tab{font-variant-numeric:tabular-nums}html[data-style=fluent] .row{display:flex;align-items:center}html[data-style=fluent] .col{display:flex;flex-direction:column}html[data-style=fluent] .gap-1{gap:4px}html[data-style=fluent] .gap-2{gap:8px}html[data-style=fluent] .gap-3{gap:12px}html[data-style=fluent] .gap-4{gap:16px}html[data-style=fluent] .gap-5{gap:20px}html[data-style=fluent] .gap-6{gap:24px}html[data-style=fluent] .gap-8{gap:32px}html[data-style=fluent] .grow{flex:1;min-width:0}html[data-style=fluent] .between{justify-content:space-between}html[data-style=fluent] .center{justify-content:center;align-items:center}html[data-style=fluent] .wrap{flex-wrap:wrap}html[data-style=fluent] .hide{display:none!important}html[data-style=fluent] .card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;border-color:var(--line-soft);box-shadow:var(--shadow-1)}html[data-style=fluent] .tbl-wrap{overflow-x:auto}html[data-style=fluent] .card:has(.tbl){overflow-x:auto}html[data-style=fluent] .drawer-body>*{flex-shrink:0}html[data-style=fluent] .card-pad{padding:16px}html[data-style=fluent] .card-pad-lg{padding:20px}html[data-style=fluent] .card-head{padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom-color:var(--line-soft)}html[data-style=fluent] .card-head h3{margin:0;font-size:12.5px;font-weight:600;color:var(--fg-strong);letter-spacing:-.005em;font-size:14px;letter-spacing:0}html[data-style=fluent] .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--fg);font-size:12.5px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease;border-radius:4px;background:var(--bg-1);border-color:var(--line-strong);font-weight:600;letter-spacing:0;font-size:13px}html[data-style=fluent] .btn:hover{background:var(--bg-3);border-color:#354054;background:var(--bg-2);border-color:var(--fg-disabled)}html[data-style=fluent] .btn.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600;background:var(--accent-bg);border-color:var(--accent-bg);color:#fff}html[data-style=fluent] .btn.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);background:var(--accent-bg-hover);border-color:var(--accent-bg-hover)}html[data-style=fluent] .btn.btn-ghost{background:transparent;border-color:transparent}html[data-style=fluent] .btn.btn-ghost:hover{background:var(--bg-2)}html[data-style=fluent] .btn.btn-danger{color:var(--err);border-color:#ef44444d;border-color:var(--sev-critical-line)}html[data-style=fluent] .btn.btn-danger:hover{background:#ef444414;border-color:#ef444480}html[data-style=fluent] .btn.btn-sm{height:26px;padding:0 8px;font-size:11.5px;font-size:12px}html[data-style=fluent] .btn.btn-lg{height:38px;padding:0 16px;font-size:13px}html[data-style=fluent] .btn.btn-icon{width:32px;padding:0}html[data-style=fluent] .btn.btn-icon.btn-sm{width:26px}html[data-style=fluent] .input{height:34px;padding:0 12px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line);color:var(--fg);font-size:12.5px;outline:none;transition:border-color .12s ease;width:100%;border-radius:4px;background:var(--bg-1);border-color:var(--line-strong);border-bottom-color:var(--fg-faint);font-size:13px}html[data-style=fluent] .input:focus{border-color:var(--accent-line);border-color:var(--line-strong);border-bottom-color:var(--accent-bg);box-shadow:inset 0 -1px 0 var(--accent-bg);background:var(--bg-1)}html[data-style=fluent] .input::placeholder{color:var(--fg-faint)}html[data-style=fluent] .input-icon-wrap{position:relative}html[data-style=fluent] .input-icon-wrap .input{padding-left:32px}html[data-style=fluent] .input-icon-wrap>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--fg-faint);pointer-events:none}html[data-style=fluent] .badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-2);font-size:10.5px;font-weight:500;letter-spacing:.02em;color:var(--fg-mute);white-space:nowrap;font-family:var(--font-mono);text-transform:uppercase;font-family:var(--font-sans);text-transform:none;letter-spacing:0!important;font-size:11.5px;font-weight:600;border-radius:4px}html[data-style=fluent] .badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}html[data-style=fluent] .sev-critical{color:var(--sev-critical);border-color:var(--sev-critical-line);background:var(--sev-critical-bg)}html[data-style=fluent] .sev-high{color:var(--sev-high);border-color:var(--sev-high-line);background:var(--sev-high-bg)}html[data-style=fluent] .sev-medium{color:var(--sev-medium);border-color:var(--sev-medium-line);background:var(--sev-medium-bg)}html[data-style=fluent] .sev-low{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}html[data-style=fluent] .sev-info{color:var(--sev-info);border-color:var(--sev-info-line);background:var(--sev-info-bg)}html[data-style=fluent] .status-running{color:var(--accent);border-color:var(--accent-line);background:var(--accent-faint)}html[data-style=fluent] .status-queued{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}html[data-style=fluent] .status-scheduled{color:var(--fg-mute);border-color:var(--line-strong);background:var(--bg-2)}html[data-style=fluent] .status-completed{color:var(--ok);border-color:#34d39947;background:#34d3991a}html[data-style=fluent] .status-error{color:var(--err);border-color:#ef44444d;background:#ef44441a}html[data-style=fluent] .status-idle{color:var(--fg-faint);border-color:var(--line);background:var(--bg-2)}html[data-style=fluent] .tbl{width:100%;border-collapse:collapse}html[data-style=fluent] .tbl th,html[data-style=fluent] .tbl td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft);font-size:12.5px;vertical-align:middle;border-bottom-color:var(--line-soft);font-size:13px}html[data-style=fluent] .tbl th{font-weight:500;color:var(--fg-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;padding-top:10px;padding-bottom:10px;position:sticky;top:0;z-index:1;text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--fg);background:var(--bg-1);border-bottom:1px solid var(--line)}html[data-style=fluent] .tbl tbody tr{transition:background .1s ease}html[data-style=fluent] .tbl tbody tr:last-child td{border-bottom:0}html[data-style=fluent] .tbl td.num,html[data-style=fluent] .tbl th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}html[data-style=fluent] .sev-dot{width:8px;height:8px;border-radius:50%;flex:none}html[data-style=fluent] .sev-dot.critical{background:var(--sev-critical);box-shadow:0 0 0 3px var(--sev-critical-bg);box-shadow:none}html[data-style=fluent] .sev-dot.high{background:var(--sev-high);box-shadow:0 0 0 3px var(--sev-high-bg);box-shadow:none}html[data-style=fluent] .sev-dot.medium{background:var(--sev-medium);box-shadow:0 0 0 3px var(--sev-medium-bg);box-shadow:none}html[data-style=fluent] .sev-dot.low{background:var(--sev-low);box-shadow:0 0 0 3px var(--sev-low-bg);box-shadow:none}html[data-style=fluent] .sev-dot.info{background:var(--sev-info);box-shadow:0 0 0 3px var(--sev-info-bg);box-shadow:none}html[data-style=fluent] .pulse-dot{animation:nem-pulse 1.6s ease-in-out infinite}html[data-style=fluent] .spin{animation:nem-spin 1s linear infinite}html[data-style=fluent] .blink{animation:nem-blink 1s steps(1) infinite}html[data-style=fluent] .app{display:grid;grid-template-columns:232px 1fr;height:100vh;background:var(--bg-0)}html[data-style=fluent] .sidebar{background:var(--bg-1);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-0)}html[data-style=fluent] .sidebar-head{padding:16px 16px 12px;border-bottom:1px solid var(--line-soft)}html[data-style=fluent] .brand{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--fg-strong);font-size:14px;letter-spacing:-.01em}html[data-style=fluent] .brand-mark{width:22px;height:22px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));display:flex;align-items:center;justify-content:center;color:var(--accent-fg);font-family:var(--font-mono);font-weight:700;font-size:12px;box-shadow:0 0 0 1px #00000040,0 2px 6px #0000004d;border-radius:4px;background:var(--accent-bg);color:#fff;box-shadow:none;font-family:var(--font-sans)}html[data-style=fluent] .nav-section{padding:12px 8px 4px}html[data-style=fluent] .nav-label{padding:6px 10px;font-size:10px;font-weight:500;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.1em;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600;color:var(--fg-mute)}html[data-style=fluent] .nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-md);color:var(--fg-mute);font-size:12.5px;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .1s ease,color .1s ease;border-radius:4px;color:var(--fg);font-size:13.5px;font-weight:400}html[data-style=fluent] .nav-item:hover{background:var(--bg-2);color:var(--fg);background:var(--bg-3)}html[data-style=fluent] .nav-item.active{background:var(--bg-2);color:var(--fg-strong);box-shadow:inset 2px 0 0 var(--accent);background:var(--bg-3);font-weight:600;box-shadow:inset 3px 0 0 var(--accent-bg)}html[data-style=fluent] .nav-item .nav-icon{color:var(--fg-faint);color:var(--fg-mute)}html[data-style=fluent] .nav-item.active .nav-icon{color:var(--accent)}html[data-style=fluent] .nav-item .nav-badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);padding:1px 6px;background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-sans);border-radius:99px}html[data-style=fluent] .nav-item.active .nav-badge{background:var(--bg-3);color:var(--fg-mute)}html[data-style=fluent] .sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid var(--line-soft)}html[data-style=fluent] .userchip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);cursor:pointer}html[data-style=fluent] .userchip:hover{background:var(--bg-2)}html[data-style=fluent] .avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--fg-strong);font-weight:600;font-size:11px;flex:none}html[data-style=fluent] .app{transition:grid-template-columns .15s ease}html[data-style=fluent] .app.nav-collapsed{grid-template-columns:56px 1fr}html[data-style=fluent] .nav-collapsed .sidebar{overflow-x:hidden}html[data-style=fluent] .nav-collapsed .brand span,html[data-style=fluent] .nav-collapsed .nav-label,html[data-style=fluent] .nav-collapsed .nav-item span,html[data-style=fluent] .nav-collapsed .userchip-info,html[data-style=fluent] .nav-collapsed .userchip-logout{display:none}html[data-style=fluent] .nav-collapsed .sidebar-head{padding:16px 0 12px;display:flex;justify-content:center}html[data-style=fluent] .nav-collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}html[data-style=fluent] .nav-collapsed .nav-section+.nav-section{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px}html[data-style=fluent] .nav-collapsed .sidebar-foot{padding:12px 8px}html[data-style=fluent] .nav-collapsed .userchip{justify-content:center;padding:8px 0}html[data-style=fluent] .topbar{height:52px;border-bottom:1px solid var(--line);background:var(--bg-0);display:flex;align-items:center;gap:12px;padding:0 20px;flex:none;background:var(--bg-1)}html[data-style=fluent] .topbar h1{margin:0;font-size:14px;font-weight:600;color:var(--fg-strong);letter-spacing:-.01em}html[data-style=fluent] .breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-mute)}html[data-style=fluent] .breadcrumb svg{color:var(--fg-faint)}html[data-style=fluent] .workarea{display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}html[data-style=fluent] .scrollarea{flex:1;overflow-y:auto}html[data-style=fluent] .page{padding:20px 24px 80px;max-width:1480px;margin:0 auto;width:100%}html[data-style=fluent] .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}html[data-style=fluent] .page-title{margin:0;font-size:22px;color:var(--fg-strong);letter-spacing:-.015em;font-size:24px;font-weight:600;letter-spacing:0}html[data-style=fluent] .page-sub{color:var(--fg-mute);font-size:12.5px;margin-top:4px;font-size:13px}html[data-style=fluent] .grid{display:grid;gap:14px;gap:16px}html[data-style=fluent] .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-style=fluent] .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-style=fluent] .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=fluent] .grid-2-3{grid-template-columns:1fr 1fr}html[data-style=fluent] .grid-stack{grid-template-columns:2fr 1fr}html[data-style=fluent] .stat{padding:16px;display:flex;flex-direction:column;gap:8px}html[data-style=fluent] .stat-label{display:flex;align-items:center;justify-content:space-between;color:var(--fg-mute);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:500;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}html[data-style=fluent] .stat-value{font-size:28px;font-weight:500;color:var(--fg-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-family:var(--font-sans);font-weight:600;letter-spacing:0}html[data-style=fluent] .stat-foot{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fg-mute)}html[data-style=fluent] .delta-up{color:var(--ok)}html[data-style=fluent] .delta-down{color:var(--err)}html[data-style=fluent] .code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 6px;font-size:11.5px;color:var(--fg)}html[data-style=fluent] .seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:2px;border-radius:4px}html[data-style=fluent] .seg button{height:26px;padding:0 12px;color:var(--fg-mute);font-size:11.5px;font-weight:500;border-radius:3px;font-size:12.5px}html[data-style=fluent] .seg button:hover{color:var(--fg)}html[data-style=fluent] .seg button.on{background:var(--bg-elev);color:var(--fg-strong);box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--bg-1);color:var(--accent);box-shadow:var(--shadow-1);font-weight:600}html[data-style=fluent] .sevbar{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--bg-3)}html[data-style=fluent] .sevbar>span{display:block;height:100%}html[data-style=fluent] .sevbar>.critical{background:var(--sev-critical)}html[data-style=fluent] .sevbar>.high{background:var(--sev-high)}html[data-style=fluent] .sevbar>.medium{background:var(--sev-medium)}html[data-style=fluent] .sevbar>.low{background:var(--sev-low)}html[data-style=fluent] .sevbar>.info{background:var(--sev-info)}html[data-style=fluent] .m-screen{background:var(--bg-0);color:var(--fg);height:100%;display:flex;flex-direction:column;font-family:var(--font-sans)}html[data-style=fluent] .m-topbar{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg-0);flex:none}html[data-style=fluent] .m-scroll{flex:1;overflow-y:auto;padding:16px 16px 90px}html[data-style=fluent] .m-tabbar{flex:none;height:76px;background:#07090ceb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;padding:6px 8px 22px;background:var(--bg-1);backdrop-filter:none;-webkit-backdrop-filter:none}html[data-style=fluent] .m-statusbar-spacer{height:44px;flex:none}html[data-style=fluent] .m-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--fg-faint);font-size:10px;font-weight:500}html[data-style=fluent] .m-tab.on{color:var(--accent)}html[data-style=fluent] .m-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px}html[data-style=fluent] .login-shell{height:100vh;display:grid;grid-template-columns:1fr 1fr}html[data-style=fluent] .login-pane{display:flex;flex-direction:column;justify-content:center;padding:48px;min-width:0}html[data-style=fluent] .login-art{background:radial-gradient(circle at 30% 20%,rgba(94,234,212,.08),transparent 50%),var(--bg-1);border-left:1px solid var(--line);position:relative;overflow:hidden;background:var(--bg-1)}html[data-style=fluent] .login-form{width:100%;max-width:360px;margin:0 auto}html[data-style=fluent] .login-form label{display:block;font-size:11px;color:var(--fg-mute);margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em;text-transform:none;letter-spacing:0;font-size:13px;font-weight:600}html[data-style=fluent] .login-form .input{height:38px}html[data-style=fluent] .chartgrid line{stroke:var(--line-soft)}html[data-style=fluent] .chartgrid text{fill:var(--fg-faint);font-size:9.5px;font-family:var(--font-mono)}html[data-style=fluent] .kv{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line-soft);font-size:12px;border-bottom-style:solid}html[data-style=fluent] .kv:last-child{border-bottom:0}html[data-style=fluent] .kv .k{color:var(--fg-mute)}html[data-style=fluent] .kv .v{color:var(--fg);font-family:var(--font-mono)}html[data-style=fluent] .divider{height:1px;background:var(--line-soft)}html[data-style=fluent] .kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;border-radius:4px;background:var(--bg-2);border:1px solid var(--line-strong);color:var(--fg-mute);font-family:var(--font-mono);font-size:10px}html[data-style=fluent] .search-input{width:280px}html[data-style=fluent] .pipeline{display:flex;align-items:stretch;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--bg-1)}html[data-style=fluent] .pipe-step{flex:1;padding:10px 12px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:4px;position:relative}html[data-style=fluent] .pipe-step:last-child{border-right:0}html[data-style=fluent] .pipe-step .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-faint);font-weight:500;text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}html[data-style=fluent] .pipe-step .name{font-family:var(--font-mono);font-size:12px;color:var(--fg)}html[data-style=fluent] .pipe-step .dur{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint)}html[data-style=fluent] .pipe-step.done .name{color:var(--ok)}html[data-style=fluent] .pipe-step.running{background:linear-gradient(180deg,var(--accent-faint),transparent 60%);background:var(--accent-faint)}html[data-style=fluent] .pipe-step.running .name{color:var(--accent)}html[data-style=fluent] .pipe-step.pending .name{color:var(--fg-faint)}html[data-style=fluent] .client-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--line-strong);color:var(--fg-mute);font-weight:600;font-size:11px;font-family:var(--font-mono);letter-spacing:.02em;flex:none;border-radius:4px}html[data-style=fluent] .clients-tbl tbody tr.row-pro td:first-child{box-shadow:inset 2px 0 0 var(--accent-line)}html[data-style=fluent] .iso-diagram{display:flex;justify-content:center}html[data-style=fluent] .iso-platform{width:100%;max-width:880px;padding:20px;background:var(--bg-2);border:1px dashed var(--line-strong);border-radius:10px}html[data-style=fluent] .iso-tenants{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}html[data-style=fluent] .iso-tenant{padding:12px;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:6px;min-height:70px;transition:opacity .15s ease}html[data-style=fluent] .iso-tenant.iso-other{opacity:.55;background:var(--bg-0)}html[data-style=fluent] .iso-tenant.iso-shared{border-style:dashed}html[data-style=fluent] .iso-tenant.iso-current{background:linear-gradient(180deg,var(--accent-faint) 0%,var(--bg-1) 70%);border:1px solid var(--accent-line);box-shadow:0 0 0 3px var(--accent-faint),0 4px 24px #0006;min-height:110px;position:relative;z-index:2;background:var(--bg-1);box-shadow:var(--shadow-pop)}html[data-style=fluent] .iso-resources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}html[data-style=fluent] .iso-res{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:9.5px;font-family:var(--font-mono);color:var(--accent);background:var(--bg-0);border:1px solid var(--accent-line);border-radius:4px}html[data-style=fluent] .imp-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(90deg,rgba(245,158,11,.1),rgba(245,158,11,.04) 40%,transparent 100%);border-bottom:1px solid rgba(245,158,11,.3);flex:none;position:relative;background:color-mix(in srgb,var(--warn) 14%,var(--bg-0))}html[data-style=fluent] .imp-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--warn)}html[data-style=fluent] .imp-banner .imp-dot{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:var(--warn);flex:none}@media (max-width: 1100px){html[data-style=fluent] .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=fluent] .grid-stack{grid-template-columns:1fr}html[data-style=fluent] .page{padding:18px 18px 72px}}@media (max-width: 900px){html[data-style=fluent] .app{grid-template-columns:1fr}html[data-style=fluent] .sidebar{position:fixed;top:0;left:0;bottom:0;width:264px;max-width:84vw;z-index:120;transform:translate(-100%);transition:transform .18s ease;box-shadow:8px 0 24px #00000059}html[data-style=fluent] .app.nav-open .sidebar{transform:translate(0)}html[data-style=fluent] .app.nav-collapsed .sidebar{width:264px}html[data-style=fluent] .nav-collapsed .nav-item span,html[data-style=fluent] .nav-collapsed .nav-label,html[data-style=fluent] .nav-collapsed .brand span,html[data-style=fluent] .nav-collapsed .userchip-info,html[data-style=fluent] .nav-collapsed .userchip-logout{display:initial}html[data-style=fluent] .nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:119;background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);-webkit-backdrop-filter:none;backdrop-filter:none}html[data-style=fluent] .grid-3,html[data-style=fluent] .grid-2-3{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=fluent] .page-head{flex-direction:column;align-items:flex-start;gap:10px}html[data-style=fluent] .topbar-search{display:none}}@media (max-width: 640px){html[data-style=fluent] .grid-4,html[data-style=fluent] .grid-3,html[data-style=fluent] .grid-2,html[data-style=fluent] .grid-2-3{grid-template-columns:1fr}html[data-style=fluent] .page{padding:14px 12px 64px}html[data-style=fluent] .page-title{font-size:18px}html[data-style=fluent] .topbar{padding:0 10px;gap:8px}html[data-style=fluent] .breadcrumb .crumb-root,html[data-style=fluent] .breadcrumb .crumb-sep{display:none}html[data-style=fluent] .card-pad{padding:12px}html[data-style=fluent] .card-pad-lg{padding:14px}html[data-style=fluent] .card-head{padding:12px;flex-wrap:wrap;gap:8px}html[data-style=fluent] .tbl th,html[data-style=fluent] .tbl td{padding:9px 10px;font-size:12px}html[data-style=fluent] .subtabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}html[data-style=fluent] .subtab{flex:none}html[data-style=fluent] .btn{min-height:34px}html[data-style=fluent] .btn-sm{min-height:30px}html[data-style=fluent] input.input,html[data-style=fluent] select.input{min-height:34px;font-size:15px}html[data-style=fluent] .modal-backdrop{align-items:flex-end}html[data-style=fluent] .modal-backdrop>*{width:100%;max-width:100%;border-radius:8px 8px 0 0}html[data-style=fluent] .input-icon-wrap{max-width:100%!important}html[data-style=fluent] input.input,html[data-style=fluent] select.input,html[data-style=fluent] textarea.input{max-width:100%}html[data-style=fluent] .card-pad>.row,html[data-style=fluent] .card-head,html[data-style=fluent] .page-head>.row{flex-wrap:wrap}html[data-style=fluent] .card-head select.input,html[data-style=fluent] .card-pad select.input{flex:1 1 44%;width:auto!important;min-width:0}html[data-style=fluent] .card-head .input-icon-wrap,html[data-style=fluent] .card-pad .input-icon-wrap{flex:1 1 100%!important}}html[data-style=fluent] .subtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}html[data-style=fluent] .subtab{display:flex;align-items:center;gap:7px;padding:10px 14px;margin-bottom:-1px;color:var(--fg-mute);font-size:12.5px;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap;font-size:13.5px;font-weight:400;border-bottom-width:3px}html[data-style=fluent] .subtab:hover{color:var(--fg)}html[data-style=fluent] .subtab.on{color:var(--fg-strong);border-bottom-color:var(--accent);font-weight:600;border-bottom-color:var(--accent-bg)}html[data-style=fluent] .subtab .subtab-ico{color:var(--fg-faint)}html[data-style=fluent] .subtab.on .subtab-ico{color:var(--accent)}html[data-style=fluent] .heat-board{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px}html[data-style=fluent] .heat-col{flex:1 1 0;min-width:124px;display:flex;flex-direction:column;gap:4px}html[data-style=fluent] .heat-col-head{padding:8px 9px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:5px;position:sticky;top:0}html[data-style=fluent] .heat-col-head .tac-name{font-size:10.5px;font-weight:600;color:var(--fg);line-height:1.25;letter-spacing:-.01em}html[data-style=fluent] .heat-col-head .tac-meta{display:flex;align-items:center;justify-content:space-between}html[data-style=fluent] .heat-cell{padding:7px 8px;border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-mono);font-size:10px;cursor:pointer;transition:transform .1s ease,filter .1s ease;display:flex;flex-direction:column;gap:2px}html[data-style=fluent] .heat-cell:hover{transform:translateY(-1px);filter:brightness(1.15);transform:none}html[data-style=fluent] .heat-cell .hc-id{font-weight:600;letter-spacing:.01em}html[data-style=fluent] .heat-cell .hc-name{font-size:9px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-sans)}html[data-style=fluent] .heat-cell.blocked{background:#34d39921;border-color:#34d39957;color:#6ee7b7}html[data-style=fluent] .heat-cell.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line);color:var(--sev-medium)}html[data-style=fluent] .heat-cell.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line);color:var(--sev-critical)}html[data-style=fluent] .heat-cell.untested{background:var(--bg-2);border-color:var(--line);color:var(--fg-faint)}html[data-style=fluent] .heat-cell.sel{box-shadow:0 0 0 2px var(--accent)}html[data-style=fluent] .res-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px}html[data-style=fluent] .res-sw{width:11px;height:11px;border-radius:3px;flex:none;border:1px solid}html[data-style=fluent] .res-sw.blocked{background:#34d39929;border-color:#34d39966}html[data-style=fluent] .res-sw.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line)}html[data-style=fluent] .res-sw.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line)}html[data-style=fluent] .res-sw.untested{background:var(--bg-2);border-color:var(--line-strong)}html[data-style=fluent] .kill-chain{display:flex;gap:0;overflow-x:auto;padding:2px 0 10px}html[data-style=fluent] .kc-step{flex:1;min-width:92px;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px}html[data-style=fluent] .kc-line{position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line-strong);z-index:0}html[data-style=fluent] .kc-step:first-child .kc-line{display:none}html[data-style=fluent] .kc-step.done .kc-line,html[data-style=fluent] .kc-step.running .kc-line{background:var(--accent)}html[data-style=fluent] .kc-node{width:28px;height:28px;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1.5px solid var(--line-strong);color:var(--fg-faint);font-family:var(--font-mono);font-size:11px;font-weight:600}html[data-style=fluent] .kc-step.done .kc-node{background:var(--accent-faint);border-color:var(--accent-line);color:var(--accent)}html[data-style=fluent] .kc-step.running .kc-node{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-faint);box-shadow:none}html[data-style=fluent] .kc-label{font-size:9.5px;text-align:center;color:var(--fg-mute);line-height:1.25}html[data-style=fluent] .kc-step.running .kc-label{color:var(--fg-strong)}html[data-style=fluent] .beacon-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 0 var(--accent-faint)}html[data-style=fluent] .log-feed{font-family:var(--font-mono);font-size:11px}html[data-style=fluent] .log-line{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}html[data-style=fluent] .log-line:last-child{border-bottom:0}html[data-style=fluent] .log-kind{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:3px;flex:none;text-transform:none;letter-spacing:0;font-size:10.5px;font-weight:600}html[data-style=fluent] .os-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px}html[data-style=fluent] .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-backdrop-filter:none;backdrop-filter:none;background:#0006}html[data-style=fluent] select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}html[data-style=fluent] .nav-section+.nav-section{margin-top:6px}html[data-style=fluent] a.nav-item{text-decoration:none}html[data-style=fluent]{--bg-0: #1f1f1f;--bg-1: #292929;--bg-2: #333333;--bg-3: #3d3d3d;--bg-elev: #333333;--line: #3d3d3d;--line-soft: #333333;--line-strong: #666666;--fg: #f0f0f0;--fg-strong: #ffffff;--fg-mute: #d6d6d6;--fg-faint: #adadad;--fg-disabled: #5c5c5c;--accent: #479ef5;--accent-strong: #62abf5;--accent-faint: rgba(71,158,245,.14);--accent-line: rgba(71,158,245,.45);--accent-fg: #ffffff;--accent-bg: #115ea3;--accent-bg-hover: #0f6cbd;--sev-critical: #dc626d;--sev-critical-bg: rgba(209,52,56,.2);--sev-critical-line: rgba(220,98,109,.5);--sev-high: #f38b5a;--sev-high-bg: rgba(218,59,1,.2);--sev-high-line: rgba(243,139,90,.5);--sev-medium: #fde300;--sev-medium-bg: rgba(253,227,0,.12);--sev-medium-line: rgba(253,227,0,.4);--sev-low: #6cb8f6;--sev-low-bg: rgba(71,158,245,.14);--sev-low-line: rgba(108,184,246,.45);--sev-info: #adadad;--sev-info-bg: rgba(173,173,173,.12);--sev-info-line: rgba(173,173,173,.4);--ok: #54b054;--warn: #faa06b;--err: #dc626d;--shadow-1: 0 0 2px rgba(0,0,0,.24), 0 1px 2px rgba(0,0,0,.28);--shadow-pop: 0 0 2px rgba(0,0,0,.24), 0 8px 16px rgba(0,0,0,.28);--scroll-thumb: #5c5c5c;--ri-3: 4px;--ri-4: 4px;--ri-5: 4px;--ri-6: 4px;--ri-7: 4px;--ri-8: 6px;--ri-9: 6px;--ri-10: 6px;--ri-12: 8px;--ri-99: 99px;--ri-999: 999px;--ls-caps: 0;--ls-tight: 0;--tt-caps: none;--tint: linear-gradient(transparent, transparent);--shadow-float: 0 0 2px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.14);--font-sans: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;--font-mono: "Cascadia Mono", Consolas, "SF Mono", Menlo, "DejaVu Sans Mono", monospace;--r-sm: 4px;--r-md: 4px;--r-lg: 6px;--r-xl: 8px}html[data-style=fluent] .kpi-neutral{--kpi-c: var(--fg-strong);--kpi-bg: var(--bg-2);--kpi-bd: var(--line)}html[data-style=fluent] .kpi-accent{--kpi-c: var(--accent);--kpi-bg: var(--accent-faint);--kpi-bd: var(--accent-line)}html[data-style=fluent] .kpi-warn{--kpi-c: var(--sev-medium);--kpi-bg: var(--sev-medium-bg);--kpi-bd: var(--sev-medium-line)}html[data-style=fluent] .kpi-value{font-size:26px;font-weight:500;color:var(--kpi-c);line-height:1}html[data-style=fluent] .kpi-ico{width:32px;height:32px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--kpi-bg);color:var(--kpi-c);border:1px solid var(--kpi-bd)}html[data-style=fluent] .kpi-sub{margin-top:10px}html[data-style=fluent] .detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center}html[data-style=fluent] .detail-modal{width:min(1200px,92vw);height:88vh;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-float, var(--shadow-pop));overflow:hidden}html[data-style=fluent] .detail-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}html[data-style=fluent] .detail-col{display:flex;flex-direction:column;gap:16px;min-width:0}html[data-style=fluent] .detail-col>*{flex-shrink:0}@media (max-width: 900px){html[data-style=fluent] .detail-cols{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){html[data-style=fluent] .detail-modal{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}html[data-style=fluent] .detail-modal .drawer-foot>.row{flex-wrap:wrap}}html[data-style=fluent] .apariencia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}html[data-style=fluent] .apariencia-opcion{display:flex;flex-direction:column;gap:10px;padding:10px;text-align:left;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .12s ease}html[data-style=fluent] .apariencia-opcion:hover{border-color:var(--line-strong)}html[data-style=fluent] .apariencia-opcion.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}html[data-style=fluent] .apariencia-activa{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--accent)}html[data-style=fluent] .t-up.t-xs{font-size:12px}html[data-style=fluent] .badge .badge-dot{display:none}html[data-style=fluent] .kpi-label{font-size:12px;color:var(--fg-mute)}html[data-style=fluent] .kpi-value{font-family:var(--font-sans);font-size:28px;font-weight:600;line-height:1.1}html[data-style=fluent] .kpi-ico{border:0;border-radius:4px}html[data-style=fluent] .detail-modal{border-radius:8px;border:1px solid var(--line-soft);box-shadow:0 0 8px #0000001f,0 32px 64px #00000024}html[data-style=fluent] .detail-overlay{background:#0006}html[data-style=fluent] .apariencia-opcion{border-radius:6px}html[data-style=fluent] .apariencia-opcion.on{border-color:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-bg)}html[data-style=fluent] .drawer-panel{border-left-color:var(--line)!important}html[data-style=fluent] .tbl tbody tr:hover{background:var(--bg-2)}@media (max-width: 640px){html[data-style=fluent] .detail-modal{border-radius:0;border:0}}html[data-style=soc][data-theme=light]{--bg-0: #ffffff;--bg-1: #ffffff;--bg-2: #f0f0f0;--bg-3: #e0e0e0;--bg-elev: #ffffff;--line: #8c8c8c;--line-soft: #c4c4c4;--line-strong: #333333;--fg: #000000;--fg-strong: #000000;--fg-mute: #262626;--fg-faint: #4d4d4d;--fg-disabled: #8c8c8c;--accent: #7a4a00;--accent-strong: #5c3700;--accent-faint: rgba(255,176,0,.2);--accent-line: #b37a00;--accent-fg: #000000;--accent-bg: #ffb000;--accent-bg-hover: #e69e00;--sev-critical: #b00000;--sev-critical-bg: rgba(192,0,0,.08);--sev-critical-line: rgba(176,0,0,.55);--sev-high: #a33d00;--sev-high-bg: rgba(204,85,0,.1);--sev-high-line: rgba(163,61,0,.55);--sev-medium: #735c00;--sev-medium-bg: rgba(255,212,0,.22);--sev-medium-line: rgba(115,92,0,.55);--sev-low: #004f99;--sev-low-bg: rgba(0,90,180,.08);--sev-low-line: rgba(0,79,153,.55);--sev-info: #4d4d4d;--sev-info-bg: rgba(77,77,77,.08);--sev-info-line: rgba(77,77,77,.5);--ok: #006b24;--warn: #735c00;--err: #b00000;--zebra: rgba(0,0,0,.035)}html[data-style=soc] *{box-sizing:border-box}html[data-style=soc],html[data-style=soc] body{margin:0;padding:0;height:100%}html[data-style=soc] body{background:var(--bg-0);color:var(--fg);font-family:var(--font-sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;overflow:hidden;font-size:13.5px;line-height:1.35;letter-spacing:0}html[data-style=soc] #root{height:100vh}html[data-style=soc] button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}html[data-style=soc] input,html[data-style=soc] textarea,html[data-style=soc] select{font-family:inherit;color:inherit}html[data-style=soc] a{color:inherit;text-decoration:none}html[data-style=soc] ::-webkit-scrollbar{width:10px;height:10px}html[data-style=soc] ::-webkit-scrollbar-track{background:transparent}html[data-style=soc] ::-webkit-scrollbar-thumb{background:#1c2330;border:2px solid transparent;background:var(--line-strong);border-radius:0;background-clip:padding-box}html[data-style=soc] ::-webkit-scrollbar-thumb:hover{background:#2a3340;border:2px solid transparent;background:var(--fg-faint);background-clip:padding-box}html[data-style=soc] .mono{font-family:var(--font-mono);font-feature-settings:"zero" 1;letter-spacing:0}html[data-style=soc] .t-xs{font-size:10.5px;font-size:11.5px}html[data-style=soc] .t-sm{font-size:11.5px;font-size:12.5px}html[data-style=soc] .t-md{font-size:13px}html[data-style=soc] .t-lg{font-size:15px}html[data-style=soc] .t-xl{font-size:18px;font-weight:500}html[data-style=soc] .t-2xl{font-size:22px;font-weight:500;letter-spacing:-.015em;letter-spacing:0;font-weight:600}html[data-style=soc] .t-3xl{font-size:28px;font-weight:500;letter-spacing:-.02em;letter-spacing:0;font-weight:600}html[data-style=soc] .t-4xl{font-size:38px;line-height:1.05;font-weight:500;letter-spacing:-.025em;letter-spacing:0;font-weight:600}html[data-style=soc] .t-mute{color:var(--fg-mute)}html[data-style=soc] .t-faint{color:var(--fg-faint)}html[data-style=soc] .t-strong{color:var(--fg-strong)}html[data-style=soc] .t-up{text-transform:uppercase;letter-spacing:.09em;font-weight:500;text-transform:none;letter-spacing:0;font-weight:600}html[data-style=soc] .t-tab{font-variant-numeric:tabular-nums}html[data-style=soc] .row{display:flex;align-items:center}html[data-style=soc] .col{display:flex;flex-direction:column}html[data-style=soc] .gap-1{gap:4px}html[data-style=soc] .gap-2{gap:8px}html[data-style=soc] .gap-3{gap:12px}html[data-style=soc] .gap-4{gap:16px}html[data-style=soc] .gap-5{gap:20px}html[data-style=soc] .gap-6{gap:24px}html[data-style=soc] .gap-8{gap:32px}html[data-style=soc] .grow{flex:1;min-width:0}html[data-style=soc] .between{justify-content:space-between}html[data-style=soc] .center{justify-content:center;align-items:center}html[data-style=soc] .wrap{flex-wrap:wrap}html[data-style=soc] .hide{display:none!important}html[data-style=soc] .card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;border-color:var(--line)}html[data-style=soc] .tbl-wrap{overflow-x:auto}html[data-style=soc] .card:has(.tbl){overflow-x:auto}html[data-style=soc] .drawer-body>*{flex-shrink:0}html[data-style=soc] .card-pad{padding:12px}html[data-style=soc] .card-pad-lg{padding:14px}html[data-style=soc] .card-head{border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--bg-2);border-bottom-color:var(--line)}html[data-style=soc] .card-head h3{margin:0;font-size:12.5px;font-weight:600;color:var(--fg-strong);letter-spacing:-.005em;font-size:13.5px;font-weight:700;letter-spacing:0}html[data-style=soc] .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line-strong);color:var(--fg);font-size:12.5px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease;height:28px;border-radius:2px;background:var(--bg-2);border-color:var(--line-strong);font-weight:600;font-size:13px;letter-spacing:0}html[data-style=soc] .btn:hover{border-color:#354054;background:var(--bg-3);border-color:var(--fg-faint)}html[data-style=soc] .btn.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600;background:var(--accent-bg);border-color:var(--accent-bg);color:#000;font-weight:700}html[data-style=soc] .btn.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);background:var(--accent-bg-hover);border-color:var(--accent-bg-hover)}html[data-style=soc] .btn.btn-ghost{background:transparent;border-color:transparent}html[data-style=soc] .btn.btn-ghost:hover{background:var(--bg-2);background:var(--bg-3)}html[data-style=soc] .btn.btn-danger{color:var(--err);border-color:#ef44444d;border-color:var(--sev-critical-line)}html[data-style=soc] .btn.btn-danger:hover{background:#ef444414;border-color:#ef444480}html[data-style=soc] .btn.btn-sm{height:26px;padding:0 8px;font-size:11.5px;height:24px;font-size:12px}html[data-style=soc] .btn.btn-lg{height:38px;padding:0 16px;font-size:13px;height:34px}html[data-style=soc] .btn.btn-icon{width:32px;padding:0;width:28px}html[data-style=soc] .btn.btn-icon.btn-sm{width:26px;width:24px}html[data-style=soc] .input{height:34px;padding:0 12px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line);color:var(--fg);font-size:12.5px;outline:none;transition:border-color .12s ease;width:100%;height:30px;border-radius:2px;background:var(--bg-0);border-color:var(--line-strong);font-size:13px}html[data-style=soc] .input:focus{border-color:var(--accent-line);background:var(--bg-1);border-color:var(--accent-bg);box-shadow:0 0 0 1px var(--accent-bg);background:var(--bg-0)}html[data-style=soc] .input::placeholder{color:var(--fg-faint)}html[data-style=soc] .input-icon-wrap{position:relative}html[data-style=soc] .input-icon-wrap .input{padding-left:32px}html[data-style=soc] .input-icon-wrap>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--fg-faint);pointer-events:none}html[data-style=soc] .badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-2);font-size:10.5px;font-weight:500;letter-spacing:.02em;color:var(--fg-mute);white-space:nowrap;text-transform:uppercase;font-family:var(--font-mono);text-transform:none;letter-spacing:0!important;font-size:11px;font-weight:600;border-radius:2px;height:19px}html[data-style=soc] .badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}html[data-style=soc] .sev-critical{color:var(--sev-critical);border-color:var(--sev-critical-line);background:var(--sev-critical-bg)}html[data-style=soc] .sev-high{color:var(--sev-high);border-color:var(--sev-high-line);background:var(--sev-high-bg)}html[data-style=soc] .sev-medium{color:var(--sev-medium);border-color:var(--sev-medium-line);background:var(--sev-medium-bg)}html[data-style=soc] .sev-low{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}html[data-style=soc] .sev-info{color:var(--sev-info);border-color:var(--sev-info-line);background:var(--sev-info-bg)}html[data-style=soc] .status-running{color:var(--accent);border-color:var(--accent-line);background:var(--accent-faint)}html[data-style=soc] .status-queued{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}html[data-style=soc] .status-scheduled{color:var(--fg-mute);border-color:var(--line-strong);background:var(--bg-2)}html[data-style=soc] .status-completed{color:var(--ok);border-color:#34d39947;background:#34d3991a}html[data-style=soc] .status-error{color:var(--err);border-color:#ef44444d;background:#ef44441a}html[data-style=soc] .status-idle{color:var(--fg-faint);border-color:var(--line);background:var(--bg-2)}html[data-style=soc] .tbl{width:100%;border-collapse:collapse}html[data-style=soc] .tbl th,html[data-style=soc] .tbl td{text-align:left;border-bottom:1px solid var(--line-soft);font-size:12.5px;vertical-align:middle;padding:7px 10px;font-size:13px;border-bottom-color:var(--line-soft)}html[data-style=soc] .tbl th{font-weight:500;color:var(--fg-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;background:var(--bg-1);position:sticky;top:0;z-index:1;font-family:var(--font-mono);text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:600;color:var(--fg-mute);background:var(--bg-2);padding-top:7px;padding-bottom:7px;border-bottom:1px solid var(--line)}html[data-style=soc] .tbl tbody tr{transition:background .1s ease}html[data-style=soc] .tbl tbody tr:hover{background:var(--bg-2);background:var(--bg-3)}html[data-style=soc] .tbl tbody tr:last-child td{border-bottom:0}html[data-style=soc] .tbl td.num,html[data-style=soc] .tbl th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}html[data-style=soc] .sev-dot{width:8px;height:8px;flex:none;border-radius:0}html[data-style=soc] .sev-dot.critical{background:var(--sev-critical);box-shadow:0 0 0 3px var(--sev-critical-bg);box-shadow:none}html[data-style=soc] .sev-dot.high{background:var(--sev-high);box-shadow:0 0 0 3px var(--sev-high-bg);box-shadow:none}html[data-style=soc] .sev-dot.medium{background:var(--sev-medium);box-shadow:0 0 0 3px var(--sev-medium-bg);box-shadow:none}html[data-style=soc] .sev-dot.low{background:var(--sev-low);box-shadow:0 0 0 3px var(--sev-low-bg);box-shadow:none}html[data-style=soc] .sev-dot.info{background:var(--sev-info);box-shadow:0 0 0 3px var(--sev-info-bg);box-shadow:none}html[data-style=soc] .pulse-dot{animation:nem-pulse 1.6s ease-in-out infinite}html[data-style=soc] .spin{animation:nem-spin 1s linear infinite}html[data-style=soc] .blink{animation:nem-blink 1s steps(1) infinite}html[data-style=soc] .app{display:grid;grid-template-columns:232px 1fr;height:100vh;background:var(--bg-0)}html[data-style=soc] .sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-1)}html[data-style=soc] .sidebar-head{padding:16px 16px 12px;border-bottom:1px solid var(--line-soft)}html[data-style=soc] .brand{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--fg-strong);font-size:14px;letter-spacing:-.01em}html[data-style=soc] .brand-mark{width:22px;height:22px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));display:flex;align-items:center;justify-content:center;color:var(--accent-fg);font-family:var(--font-mono);font-weight:700;font-size:12px;box-shadow:0 0 0 1px #00000040,0 2px 6px #0000004d;border-radius:2px;background:var(--accent-bg);color:#000;box-shadow:none}html[data-style=soc] .nav-section{padding:10px 0 2px}html[data-style=soc] .nav-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;text-transform:none;letter-spacing:0;font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);padding:4px 14px}html[data-style=soc] .nav-item{display:flex;align-items:center;gap:10px;border-radius:var(--r-md);font-size:12.5px;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .1s ease,color .1s ease;border-radius:0;padding:6px 14px;font-size:13.5px;color:var(--fg-mute)}html[data-style=soc] .nav-item:hover{color:var(--fg);background:var(--bg-2);color:var(--fg-strong)}html[data-style=soc] .nav-item.active{background:var(--bg-2);box-shadow:inset 2px 0 0 var(--accent);background:var(--bg-3);color:var(--fg-strong);font-weight:600;box-shadow:inset 3px 0 0 var(--accent-bg)}html[data-style=soc] .nav-item .nav-icon{color:var(--fg-faint)}html[data-style=soc] .nav-item.active .nav-icon{color:var(--accent)}html[data-style=soc] .nav-item .nav-badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);padding:1px 6px;background:var(--bg-2);border:1px solid var(--line);border-radius:2px}html[data-style=soc] .nav-item.active .nav-badge{background:var(--bg-3);color:var(--fg-mute)}html[data-style=soc] .sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid var(--line-soft)}html[data-style=soc] .userchip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);cursor:pointer}html[data-style=soc] .userchip:hover{background:var(--bg-2)}html[data-style=soc] .avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--fg-strong);font-weight:600;font-size:11px;flex:none}html[data-style=soc] .app{transition:grid-template-columns .15s ease}html[data-style=soc] .app.nav-collapsed{grid-template-columns:56px 1fr}html[data-style=soc] .nav-collapsed .sidebar{overflow-x:hidden}html[data-style=soc] .nav-collapsed .brand span,html[data-style=soc] .nav-collapsed .nav-label,html[data-style=soc] .nav-collapsed .nav-item span,html[data-style=soc] .nav-collapsed .userchip-info,html[data-style=soc] .nav-collapsed .userchip-logout{display:none}html[data-style=soc] .nav-collapsed .sidebar-head{padding:16px 0 12px;display:flex;justify-content:center}html[data-style=soc] .nav-collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}html[data-style=soc] .nav-collapsed .nav-section+.nav-section{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px}html[data-style=soc] .nav-collapsed .sidebar-foot{padding:12px 8px}html[data-style=soc] .nav-collapsed .userchip{justify-content:center;padding:8px 0}html[data-style=soc] .topbar{height:52px;border-bottom:1px solid var(--line);background:var(--bg-0);display:flex;align-items:center;gap:12px;padding:0 20px;flex:none;height:44px;background:var(--bg-1)}html[data-style=soc] .topbar h1{margin:0;font-size:14px;font-weight:600;color:var(--fg-strong);letter-spacing:-.01em}html[data-style=soc] .breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-mute)}html[data-style=soc] .breadcrumb svg{color:var(--fg-faint)}html[data-style=soc] .workarea{display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}html[data-style=soc] .scrollarea{flex:1;overflow-y:auto}html[data-style=soc] .page{max-width:1480px;margin:0 auto;width:100%;padding:16px 20px 64px}html[data-style=soc] .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}html[data-style=soc] .page-title{margin:0;font-size:22px;font-weight:600;color:var(--fg-strong);letter-spacing:-.015em;font-size:21px;font-weight:700;letter-spacing:0}html[data-style=soc] .page-sub{color:var(--fg-mute);font-size:12.5px;margin-top:4px;font-size:13px}html[data-style=soc] .grid{display:grid;gap:14px;gap:10px}html[data-style=soc] .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-style=soc] .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-style=soc] .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=soc] .grid-2-3{grid-template-columns:1fr 1fr}html[data-style=soc] .grid-stack{grid-template-columns:2fr 1fr}html[data-style=soc] .stat{padding:16px;display:flex;flex-direction:column;gap:8px}html[data-style=soc] .stat-label{display:flex;align-items:center;justify-content:space-between;color:var(--fg-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:500;text-transform:none;letter-spacing:0;font-family:var(--font-mono);font-size:11px}html[data-style=soc] .stat-value{font-size:28px;font-weight:500;color:var(--fg-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-weight:600;letter-spacing:0}html[data-style=soc] .stat-foot{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fg-mute)}html[data-style=soc] .delta-up{color:var(--ok)}html[data-style=soc] .delta-down{color:var(--err)}html[data-style=soc] .code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 6px;font-size:11.5px;color:var(--fg)}html[data-style=soc] .seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:2px;border-radius:2px;border-color:var(--line-strong)}html[data-style=soc] .seg button{height:26px;padding:0 12px;color:var(--fg-mute);font-size:11.5px;font-weight:500;border-radius:0;height:24px}html[data-style=soc] .seg button:hover{color:var(--fg)}html[data-style=soc] .seg button.on{background:var(--bg-elev);color:var(--fg-strong);box-shadow:inset 0 0 0 1px var(--line-strong);background:var(--accent-bg);color:#000;box-shadow:none;font-weight:700}html[data-style=soc] .sevbar{display:flex;height:6px;overflow:hidden;background:var(--bg-3);border-radius:0}html[data-style=soc] .sevbar>span{display:block;height:100%}html[data-style=soc] .sevbar>.critical{background:var(--sev-critical)}html[data-style=soc] .sevbar>.high{background:var(--sev-high)}html[data-style=soc] .sevbar>.medium{background:var(--sev-medium)}html[data-style=soc] .sevbar>.low{background:var(--sev-low)}html[data-style=soc] .sevbar>.info{background:var(--sev-info)}html[data-style=soc] .m-screen{background:var(--bg-0);color:var(--fg);height:100%;display:flex;flex-direction:column;font-family:var(--font-sans)}html[data-style=soc] .m-topbar{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg-0);flex:none}html[data-style=soc] .m-scroll{flex:1;overflow-y:auto;padding:16px 16px 90px}html[data-style=soc] .m-tabbar{flex:none;height:76px;background:#07090ceb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;padding:6px 8px 22px;background:var(--bg-1);backdrop-filter:none;-webkit-backdrop-filter:none}html[data-style=soc] .m-statusbar-spacer{height:44px;flex:none}html[data-style=soc] .m-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--fg-faint);font-size:10px;font-weight:500}html[data-style=soc] .m-tab.on{color:var(--accent)}html[data-style=soc] .m-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px}html[data-style=soc] .login-shell{height:100vh;display:grid;grid-template-columns:1fr 1fr}html[data-style=soc] .login-pane{display:flex;flex-direction:column;justify-content:center;padding:48px;min-width:0}html[data-style=soc] .login-art{background:radial-gradient(circle at 30% 20%,rgba(94,234,212,.08),transparent 50%),var(--bg-1);border-left:1px solid var(--line);position:relative;overflow:hidden;background:var(--bg-1)}html[data-style=soc] .login-form{width:100%;max-width:360px;margin:0 auto}html[data-style=soc] .login-form label{display:block;font-size:11px;color:var(--fg-mute);margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em;text-transform:none;letter-spacing:0;font-size:13px;font-weight:600}html[data-style=soc] .login-form .input{height:38px}html[data-style=soc] .chartgrid line{stroke:var(--line-soft)}html[data-style=soc] .chartgrid text{fill:var(--fg-faint);font-size:9.5px;font-family:var(--font-mono)}html[data-style=soc] .kv{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--line-soft);font-size:12px;border-bottom-style:solid;padding:5px 0}html[data-style=soc] .kv:last-child{border-bottom:0}html[data-style=soc] .kv .k{color:var(--fg-mute)}html[data-style=soc] .kv .v{color:var(--fg);font-family:var(--font-mono)}html[data-style=soc] .divider{height:1px;background:var(--line-soft)}html[data-style=soc] .kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;background:var(--bg-2);border:1px solid var(--line-strong);color:var(--fg-mute);font-family:var(--font-mono);font-size:10px;border-radius:2px}html[data-style=soc] .search-input{width:280px}html[data-style=soc] .pipeline{display:flex;align-items:stretch;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--bg-1)}html[data-style=soc] .pipe-step{flex:1;padding:10px 12px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:4px;position:relative}html[data-style=soc] .pipe-step:last-child{border-right:0}html[data-style=soc] .pipe-step .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-faint);font-weight:500;text-transform:none;letter-spacing:0;font-family:var(--font-mono);font-size:11px}html[data-style=soc] .pipe-step .name{font-family:var(--font-mono);font-size:12px;color:var(--fg)}html[data-style=soc] .pipe-step .dur{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint)}html[data-style=soc] .pipe-step.done .name{color:var(--ok)}html[data-style=soc] .pipe-step.running{background:linear-gradient(180deg,var(--accent-faint),transparent 60%);background:var(--accent-faint)}html[data-style=soc] .pipe-step.running .name{color:var(--accent)}html[data-style=soc] .pipe-step.pending .name{color:var(--fg-faint)}html[data-style=soc] .client-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--line-strong);color:var(--fg-mute);font-weight:600;font-size:11px;font-family:var(--font-mono);letter-spacing:.02em;flex:none;border-radius:2px}html[data-style=soc] .clients-tbl tbody tr.row-pro td:first-child{box-shadow:inset 2px 0 0 var(--accent-line)}html[data-style=soc] .iso-diagram{display:flex;justify-content:center}html[data-style=soc] .iso-platform{width:100%;max-width:880px;padding:20px;background:var(--bg-2);border:1px dashed var(--line-strong);border-radius:2px}html[data-style=soc] .iso-tenants{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}html[data-style=soc] .iso-tenant{padding:12px;background:var(--bg-1);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-height:70px;transition:opacity .15s ease;border-radius:2px}html[data-style=soc] .iso-tenant.iso-other{opacity:.55;background:var(--bg-0)}html[data-style=soc] .iso-tenant.iso-shared{border-style:dashed}html[data-style=soc] .iso-tenant.iso-current{background:linear-gradient(180deg,var(--accent-faint) 0%,var(--bg-1) 70%);border:1px solid var(--accent-line);box-shadow:0 0 0 3px var(--accent-faint),0 4px 24px #0006;min-height:110px;position:relative;z-index:2;background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--accent-bg)}html[data-style=soc] .iso-resources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}html[data-style=soc] .iso-res{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:9.5px;font-family:var(--font-mono);color:var(--accent);background:var(--bg-0);border:1px solid var(--accent-line);border-radius:4px}html[data-style=soc] .imp-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(90deg,rgba(245,158,11,.1),rgba(245,158,11,.04) 40%,transparent 100%);border-bottom:1px solid rgba(245,158,11,.3);flex:none;position:relative;background:color-mix(in srgb,var(--warn) 14%,var(--bg-0))}html[data-style=soc] .imp-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--warn)}html[data-style=soc] .imp-banner .imp-dot{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:var(--warn);flex:none}@media (max-width: 1100px){html[data-style=soc] .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=soc] .grid-stack{grid-template-columns:1fr}html[data-style=soc] .page{padding:18px 18px 72px}}@media (max-width: 900px){html[data-style=soc] .app{grid-template-columns:1fr}html[data-style=soc] .sidebar{position:fixed;top:0;left:0;bottom:0;width:264px;max-width:84vw;z-index:120;transform:translate(-100%);transition:transform .18s ease;box-shadow:8px 0 24px #00000059}html[data-style=soc] .app.nav-open .sidebar{transform:translate(0)}html[data-style=soc] .app.nav-collapsed .sidebar{width:264px}html[data-style=soc] .nav-collapsed .nav-item span,html[data-style=soc] .nav-collapsed .nav-label,html[data-style=soc] .nav-collapsed .brand span,html[data-style=soc] .nav-collapsed .userchip-info,html[data-style=soc] .nav-collapsed .userchip-logout{display:initial}html[data-style=soc] .nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:119;background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);-webkit-backdrop-filter:none;backdrop-filter:none;background:#0009}html[data-style=soc] .grid-3,html[data-style=soc] .grid-2-3{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-style=soc] .page-head{flex-direction:column;align-items:flex-start;gap:10px}html[data-style=soc] .topbar-search{display:none}}@media (max-width: 640px){html[data-style=soc] .grid-4,html[data-style=soc] .grid-3,html[data-style=soc] .grid-2,html[data-style=soc] .grid-2-3{grid-template-columns:1fr}html[data-style=soc] .page{padding:14px 12px 64px}html[data-style=soc] .page-title{font-size:18px}html[data-style=soc] .topbar{padding:0 10px;gap:8px}html[data-style=soc] .breadcrumb .crumb-root,html[data-style=soc] .breadcrumb .crumb-sep{display:none}html[data-style=soc] .card-pad{padding:12px}html[data-style=soc] .card-pad-lg{padding:14px}html[data-style=soc] .card-head{padding:12px;flex-wrap:wrap;gap:8px}html[data-style=soc] .tbl th,html[data-style=soc] .tbl td{padding:9px 10px;font-size:12px}html[data-style=soc] .subtabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}html[data-style=soc] .subtab{flex:none}html[data-style=soc] .btn{min-height:34px}html[data-style=soc] .btn-sm{min-height:30px}html[data-style=soc] input.input,html[data-style=soc] select.input{min-height:34px;font-size:15px}html[data-style=soc] .modal-backdrop{align-items:flex-end}html[data-style=soc] .modal-backdrop>*{width:100%;max-width:100%;border-radius:0}html[data-style=soc] .input-icon-wrap{max-width:100%!important}html[data-style=soc] input.input,html[data-style=soc] select.input,html[data-style=soc] textarea.input{max-width:100%}html[data-style=soc] .card-pad>.row,html[data-style=soc] .card-head,html[data-style=soc] .page-head>.row{flex-wrap:wrap}html[data-style=soc] .card-head select.input,html[data-style=soc] .card-pad select.input{flex:1 1 44%;width:auto!important;min-width:0}html[data-style=soc] .card-head .input-icon-wrap,html[data-style=soc] .card-pad .input-icon-wrap{flex:1 1 100%!important}}html[data-style=soc] .subtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:14px}html[data-style=soc] .subtab{display:flex;align-items:center;gap:7px;margin-bottom:-1px;color:var(--fg-mute);font-size:12.5px;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap;padding:8px 12px;font-size:13.5px}html[data-style=soc] .subtab:hover{color:var(--fg)}html[data-style=soc] .subtab.on{color:var(--fg-strong);border-bottom-color:var(--accent);font-weight:700;border-bottom-color:var(--accent-bg)}html[data-style=soc] .subtab .subtab-ico{color:var(--fg-faint)}html[data-style=soc] .subtab.on .subtab-ico{color:var(--accent)}html[data-style=soc] .heat-board{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px}html[data-style=soc] .heat-col{flex:1 1 0;min-width:124px;display:flex;flex-direction:column;gap:4px}html[data-style=soc] .heat-col-head{padding:8px 9px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:5px;position:sticky;top:0}html[data-style=soc] .heat-col-head .tac-name{font-size:10.5px;font-weight:600;color:var(--fg);line-height:1.25;letter-spacing:-.01em}html[data-style=soc] .heat-col-head .tac-meta{display:flex;align-items:center;justify-content:space-between}html[data-style=soc] .heat-cell{padding:7px 8px;border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-mono);font-size:10px;cursor:pointer;transition:transform .1s ease,filter .1s ease;display:flex;flex-direction:column;gap:2px}html[data-style=soc] .heat-cell:hover{transform:translateY(-1px);filter:brightness(1.15);transform:none;outline:1px solid var(--fg-faint)}html[data-style=soc] .heat-cell .hc-id{font-weight:600;letter-spacing:.01em}html[data-style=soc] .heat-cell .hc-name{font-size:9px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-sans)}html[data-style=soc] .heat-cell.blocked{background:#34d39921;border-color:#34d39957;color:#6ee7b7}html[data-style=soc] .heat-cell.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line);color:var(--sev-medium)}html[data-style=soc] .heat-cell.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line);color:var(--sev-critical)}html[data-style=soc] .heat-cell.untested{background:var(--bg-2);border-color:var(--line);color:var(--fg-faint)}html[data-style=soc] .heat-cell.sel{box-shadow:0 0 0 2px var(--accent)}html[data-style=soc] .res-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px}html[data-style=soc] .res-sw{width:11px;height:11px;border-radius:3px;flex:none;border:1px solid}html[data-style=soc] .res-sw.blocked{background:#34d39929;border-color:#34d39966}html[data-style=soc] .res-sw.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line)}html[data-style=soc] .res-sw.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line)}html[data-style=soc] .res-sw.untested{background:var(--bg-2);border-color:var(--line-strong)}html[data-style=soc] .kill-chain{display:flex;gap:0;overflow-x:auto;padding:2px 0 10px}html[data-style=soc] .kc-step{flex:1;min-width:92px;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px}html[data-style=soc] .kc-line{position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line-strong);z-index:0}html[data-style=soc] .kc-step:first-child .kc-line{display:none}html[data-style=soc] .kc-step.done .kc-line,html[data-style=soc] .kc-step.running .kc-line{background:var(--accent)}html[data-style=soc] .kc-node{width:28px;height:28px;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1.5px solid var(--line-strong);color:var(--fg-faint);font-family:var(--font-mono);font-size:11px;font-weight:600}html[data-style=soc] .kc-step.done .kc-node{background:var(--accent-faint);border-color:var(--accent-line);color:var(--accent)}html[data-style=soc] .kc-step.running .kc-node{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-faint);box-shadow:none}html[data-style=soc] .kc-label{font-size:9.5px;text-align:center;color:var(--fg-mute);line-height:1.25}html[data-style=soc] .kc-step.running .kc-label{color:var(--fg-strong)}html[data-style=soc] .beacon-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 0 var(--accent-faint)}html[data-style=soc] .log-feed{font-family:var(--font-mono);font-size:11px}html[data-style=soc] .log-line{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}html[data-style=soc] .log-line:last-child{border-bottom:0}html[data-style=soc] .log-kind{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;flex:none;text-transform:none;letter-spacing:0;border-radius:2px}html[data-style=soc] .os-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px}html[data-style=soc] .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000a6}html[data-style=soc] select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}html[data-style=soc] .nav-section+.nav-section{margin-top:6px}html[data-style=soc] a.nav-item{text-decoration:none}html[data-style=soc]{--bg-0: #0a0a0a;--bg-1: #141414;--bg-2: #1e1e1e;--bg-3: #2a2a2a;--bg-elev: #1e1e1e;--line: #333333;--line-soft: #242424;--line-strong: #555555;--fg: #f0f0f0;--fg-strong: #ffffff;--fg-mute: #b8b8b8;--fg-faint: #8f8f8f;--fg-disabled: #555555;--accent: #ffb000;--accent-strong: #ffc233;--accent-faint: rgba(255,176,0,.14);--accent-line: rgba(255,176,0,.5);--accent-fg: #000000;--accent-bg: #ffb000;--accent-bg-hover: #ffc233;--sev-critical: #ff5c5c;--sev-critical-bg: rgba(255,59,59,.16);--sev-critical-line: rgba(255,92,92,.55);--sev-high: #ff9933;--sev-high-bg: rgba(255,140,0,.15);--sev-high-line: rgba(255,153,51,.55);--sev-medium: #ffe14d;--sev-medium-bg: rgba(255,212,0,.12);--sev-medium-line: rgba(255,225,77,.5);--sev-low: #5cb8ff;--sev-low-bg: rgba(61,165,255,.14);--sev-low-line: rgba(92,184,255,.5);--sev-info: #a6a6a6;--sev-info-bg: rgba(166,166,166,.12);--sev-info-line: rgba(166,166,166,.45);--ok: #3ddc84;--warn: #ffe14d;--err: #ff5c5c;--zebra: rgba(255,255,255,.025);--ri-3: 2px;--ri-4: 2px;--ri-5: 2px;--ri-6: 2px;--ri-7: 2px;--ri-8: 2px;--ri-9: 2px;--ri-10: 2px;--ri-12: 2px;--ri-99: 0;--ri-999: 0;--ls-caps: 0;--ls-tight: 0;--tt-caps: none;--tint: linear-gradient(transparent, transparent);--shadow-float: 0 0 0 1px var(--line-strong);--font-sans: "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, monospace;--r-sm: 2px;--r-md: 2px;--r-lg: 2px;--r-xl: 2px;--shadow-1: none;--shadow-pop: 0 0 0 1px var(--line-strong)}html[data-style=soc] .kpi-neutral{--kpi-c: var(--fg-strong);--kpi-bg: var(--bg-2);--kpi-bd: var(--line)}html[data-style=soc] .kpi-accent{--kpi-c: var(--accent);--kpi-bg: var(--accent-faint);--kpi-bd: var(--accent-line)}html[data-style=soc] .kpi-warn{--kpi-c: var(--sev-medium);--kpi-bg: var(--sev-medium-bg);--kpi-bd: var(--sev-medium-line)}html[data-style=soc] .kpi-value{font-size:26px;font-weight:500;color:var(--kpi-c);line-height:1}html[data-style=soc] .kpi-ico{width:32px;height:32px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--kpi-bg);color:var(--kpi-c);border:1px solid var(--kpi-bd)}html[data-style=soc] .kpi-sub{margin-top:10px}html[data-style=soc] .detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center}html[data-style=soc] .detail-modal{width:min(1200px,92vw);height:88vh;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-float, var(--shadow-pop));overflow:hidden}html[data-style=soc] .detail-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}html[data-style=soc] .detail-col{display:flex;flex-direction:column;gap:16px;min-width:0}html[data-style=soc] .detail-col>*{flex-shrink:0}@media (max-width: 900px){html[data-style=soc] .detail-cols{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){html[data-style=soc] .detail-modal{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}html[data-style=soc] .detail-modal .drawer-foot>.row{flex-wrap:wrap}}html[data-style=soc] .apariencia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}html[data-style=soc] .apariencia-opcion{display:flex;flex-direction:column;gap:10px;padding:10px;text-align:left;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .12s ease}html[data-style=soc] .apariencia-opcion:hover{border-color:var(--line-strong)}html[data-style=soc] .apariencia-opcion.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}html[data-style=soc] .apariencia-activa{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--accent)}html[data-style=soc] .t-up.t-xs{font-size:11.5px}html[data-style=soc] .badge .badge-dot{display:none}html[data-style=soc] .tbl tbody tr:nth-child(2n){background:var(--zebra)}html[data-style=soc] .tbl tbody tr:hover{background:var(--bg-3)}html[data-style=soc] .kpi{padding:12px 14px}html[data-style=soc] .kpi-label{font-family:var(--font-mono);font-size:11px;color:var(--fg-mute)}html[data-style=soc] .kpi-value{font-size:28px;font-weight:600;line-height:1.1;margin-top:4px}html[data-style=soc] .kpi-ico{width:auto;height:auto;background:none;border:0;color:var(--fg-faint)}html[data-style=soc] .kpi-warn{box-shadow:inset 3px 0 0 var(--sev-medium)}html[data-style=soc] .kpi-accent{box-shadow:inset 3px 0 0 var(--accent-bg)}html[data-style=soc] .kpi-sub{margin-top:6px}html[data-style=soc] .detail-overlay{background:#000000b3}html[data-style=soc] .detail-modal{border-radius:2px;border:1px solid var(--line-strong);box-shadow:none}html[data-style=soc] .detail-modal .drawer-head{background:var(--bg-2)}html[data-style=soc] .drawer-panel{box-shadow:none!important}html[data-style=soc] .apariencia-opcion{border-radius:2px}html[data-style=soc] .apariencia-opcion.on{border-color:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-bg)}html[data-style=soc] :focus-visible{outline:2px solid var(--accent-bg);outline-offset:-2px}:root{--bg-0: #07090c;--bg-1: #0c1015;--bg-2: #11161d;--bg-3: #171d26;--bg-elev: #1a212c;--line: #1f2731;--line-soft: #161c24;--line-strong: #2a3340;--fg: #e7ecf3;--fg-strong: #ffffff;--fg-mute: #9aa4b2;--fg-faint: #5d6776;--fg-disabled: #3a4150;--accent: #5eead4;--accent-strong: #2dd4bf;--accent-faint: rgba(94, 234, 212, .12);--accent-line: rgba(94, 234, 212, .28);--accent-fg: #042920;--sev-critical: #f43f5e;--sev-critical-bg: rgba(244, 63, 94, .1);--sev-critical-line: rgba(244, 63, 94, .3);--sev-high: #fb923c;--sev-high-bg: rgba(251, 146, 60, .1);--sev-high-line: rgba(251, 146, 60, .3);--sev-medium: #eab308;--sev-medium-bg: rgba(234, 179, 8, .1);--sev-medium-line: rgba(234, 179, 8, .3);--sev-low: #3b82f6;--sev-low-bg: rgba(59, 130, 246, .1);--sev-low-line: rgba(59, 130, 246, .3);--sev-info: #94a3b8;--sev-info-bg: rgba(148, 163, 184, .1);--sev-info-line: rgba(148, 163, 184, .28);--ok: #34d399;--warn: #f59e0b;--err: #ef4444;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--shadow-1: 0 1px 0 rgba(255,255,255,.03) inset, 0 4px 12px rgba(0,0,0,.35);--shadow-pop: 0 12px 40px rgba(0,0,0,.5), 0 0 0 1px var(--line)}html[data-theme=light]{--bg-0: #f5f7fa;--bg-1: #ffffff;--bg-2: #eef2f7;--bg-3: #e4eaf1;--bg-elev: #ffffff;--line: #dde3ea;--line-soft: #eaeef3;--line-strong: #c4ccd6;--fg: #1e2733;--fg-strong: #0b1118;--fg-mute: #58626f;--fg-faint: #8b95a2;--fg-disabled: #b6bec8;--accent: #0d9488;--accent-strong: #0f766e;--accent-faint: rgba(13, 148, 136, .1);--accent-line: rgba(13, 148, 136, .3);--accent-fg: #ffffff;--shadow-1: 0 1px 2px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .08);--shadow-pop: 0 12px 40px rgba(15, 23, 42, .18), 0 0 0 1px var(--line)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg-0);color:var(--fg);font-family:var(--font-sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;overflow:hidden}#root{height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,textarea,select{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1c2330;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#2a3340;background-clip:padding-box;border:2px solid transparent}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}.t-xs{font-size:10.5px}.t-sm{font-size:11.5px}.t-md{font-size:13px}.t-lg{font-size:15px}.t-xl{font-size:18px;font-weight:500}.t-2xl{font-size:22px;font-weight:500;letter-spacing:-.015em}.t-3xl{font-size:28px;font-weight:500;letter-spacing:-.02em}.t-4xl{font-size:38px;line-height:1.05;font-weight:500;letter-spacing:-.025em}.t-mute{color:var(--fg-mute)}.t-faint{color:var(--fg-faint)}.t-strong{color:var(--fg-strong)}.t-up{text-transform:uppercase;letter-spacing:.09em;font-weight:500}.t-tab{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}.grow{flex:1;min-width:0}.between{justify-content:space-between}.center{justify-content:center;align-items:center}.wrap{flex-wrap:wrap}.hide{display:none!important}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.tbl-wrap{overflow-x:auto}.card:has(.tbl){overflow-x:auto}.drawer-body>*{flex-shrink:0}.card-pad{padding:16px}.card-pad-lg{padding:20px}.card-head{padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{margin:0;font-size:12.5px;font-weight:600;color:var(--fg-strong);letter-spacing:-.005em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--fg);font-size:12.5px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover{background:var(--bg-3);border-color:#354054}.btn.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.btn.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.btn-ghost{background:transparent;border-color:transparent}.btn.btn-ghost:hover{background:var(--bg-2)}.btn.btn-danger{color:var(--err);border-color:#ef44444d}.btn.btn-danger:hover{background:#ef444414;border-color:#ef444480}.btn.btn-sm{height:26px;padding:0 8px;font-size:11.5px}.btn.btn-lg{height:38px;padding:0 16px;font-size:13px}.btn.btn-icon{width:32px;padding:0}.btn.btn-icon.btn-sm{width:26px}.input{height:34px;padding:0 12px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line);color:var(--fg);font-size:12.5px;outline:none;transition:border-color .12s ease;width:100%}.input:focus{border-color:var(--accent-line);background:var(--bg-1)}.input::placeholder{color:var(--fg-faint)}.input-icon-wrap{position:relative}.input-icon-wrap .input{padding-left:32px}.input-icon-wrap>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--fg-faint);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-2);font-size:10.5px;font-weight:500;letter-spacing:.02em;color:var(--fg-mute);white-space:nowrap;font-family:var(--font-mono);text-transform:uppercase}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.sev-critical{color:var(--sev-critical);border-color:var(--sev-critical-line);background:var(--sev-critical-bg)}.sev-high{color:var(--sev-high);border-color:var(--sev-high-line);background:var(--sev-high-bg)}.sev-medium{color:var(--sev-medium);border-color:var(--sev-medium-line);background:var(--sev-medium-bg)}.sev-low{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}.sev-info{color:var(--sev-info);border-color:var(--sev-info-line);background:var(--sev-info-bg)}.status-running{color:var(--accent);border-color:var(--accent-line);background:var(--accent-faint)}.status-queued{color:var(--sev-low);border-color:var(--sev-low-line);background:var(--sev-low-bg)}.status-scheduled{color:var(--fg-mute);border-color:var(--line-strong);background:var(--bg-2)}.status-completed{color:var(--ok);border-color:#34d39947;background:#34d3991a}.status-error{color:var(--err);border-color:#ef44444d;background:#ef44441a}.status-idle{color:var(--fg-faint);border-color:var(--line);background:var(--bg-2)}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-soft);font-size:12.5px;vertical-align:middle}.tbl th{font-weight:500;color:var(--fg-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;padding-top:10px;padding-bottom:10px;background:var(--bg-1);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1}.tbl tbody tr{transition:background .1s ease}.tbl tbody tr:hover{background:var(--bg-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.sev-dot{width:8px;height:8px;border-radius:50%;flex:none}.sev-dot.critical{background:var(--sev-critical);box-shadow:0 0 0 3px var(--sev-critical-bg)}.sev-dot.high{background:var(--sev-high);box-shadow:0 0 0 3px var(--sev-high-bg)}.sev-dot.medium{background:var(--sev-medium);box-shadow:0 0 0 3px var(--sev-medium-bg)}.sev-dot.low{background:var(--sev-low);box-shadow:0 0 0 3px var(--sev-low-bg)}.sev-dot.info{background:var(--sev-info);box-shadow:0 0 0 3px var(--sev-info-bg)}@keyframes nem-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes nem-spin{to{transform:rotate(360deg)}}@keyframes nem-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes nem-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes nem-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pulse-dot{animation:nem-pulse 1.6s ease-in-out infinite}.spin{animation:nem-spin 1s linear infinite}.blink{animation:nem-blink 1s steps(1) infinite}.app{display:grid;grid-template-columns:232px 1fr;height:100vh;background:var(--bg-0)}.sidebar{background:var(--bg-1);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.sidebar-head{padding:16px 16px 12px;border-bottom:1px solid var(--line-soft)}.brand{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--fg-strong);font-size:14px;letter-spacing:-.01em}.brand-mark{width:22px;height:22px;border-radius:5px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));display:flex;align-items:center;justify-content:center;color:var(--accent-fg);font-family:var(--font-mono);font-weight:700;font-size:12px;box-shadow:0 0 0 1px #00000040,0 2px 6px #0000004d}.nav-section{padding:12px 8px 4px}.nav-label{padding:6px 10px;font-size:10px;font-weight:500;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.1em}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-md);color:var(--fg-mute);font-size:12.5px;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .1s ease,color .1s ease}.nav-item:hover{background:var(--bg-2);color:var(--fg)}.nav-item.active{background:var(--bg-2);color:var(--fg-strong);box-shadow:inset 2px 0 0 var(--accent)}.nav-item .nav-icon{color:var(--fg-faint)}.nav-item.active .nav-icon{color:var(--accent)}.nav-item .nav-badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);padding:1px 6px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line)}.nav-item.active .nav-badge{background:var(--bg-3);color:var(--fg-mute)}.sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid var(--line-soft)}.userchip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-md);cursor:pointer}.userchip:hover{background:var(--bg-2)}.avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-3);border:1px solid var(--line-strong);color:var(--fg-strong);font-weight:600;font-size:11px;flex:none}.app{transition:grid-template-columns .15s ease}.app.nav-collapsed{grid-template-columns:56px 1fr}.nav-collapsed .sidebar{overflow-x:hidden}.nav-collapsed .brand span,.nav-collapsed .nav-label,.nav-collapsed .nav-item span,.nav-collapsed .userchip-info,.nav-collapsed .userchip-logout{display:none}.nav-collapsed .sidebar-head{padding:16px 0 12px;display:flex;justify-content:center}.nav-collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}.nav-collapsed .nav-section+.nav-section{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px}.nav-collapsed .sidebar-foot{padding:12px 8px}.nav-collapsed .userchip{justify-content:center;padding:8px 0}.topbar{height:52px;border-bottom:1px solid var(--line);background:var(--bg-0);display:flex;align-items:center;gap:12px;padding:0 20px;flex:none}.topbar h1{margin:0;font-size:14px;font-weight:600;color:var(--fg-strong);letter-spacing:-.01em}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-mute)}.breadcrumb svg{color:var(--fg-faint)}.workarea{display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.scrollarea{flex:1;overflow-y:auto}.page{padding:20px 24px 80px;max-width:1480px;margin:0 auto;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{margin:0;font-size:22px;font-weight:600;color:var(--fg-strong);letter-spacing:-.015em}.page-sub{color:var(--fg-mute);font-size:12.5px;margin-top:4px}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2-3{grid-template-columns:1fr 1fr}.grid-stack{grid-template-columns:2fr 1fr}.stat{padding:16px;display:flex;flex-direction:column;gap:8px}.stat-label{display:flex;align-items:center;justify-content:space-between;color:var(--fg-mute);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.stat-value{font-size:28px;font-weight:500;color:var(--fg-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.stat-foot{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fg-mute)}.delta-up{color:var(--ok)}.delta-down{color:var(--err)}.code{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 6px;font-size:11.5px;color:var(--fg)}.seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:2px}.seg button{height:26px;padding:0 12px;border-radius:4px;color:var(--fg-mute);font-size:11.5px;font-weight:500}.seg button:hover{color:var(--fg)}.seg button.on{background:var(--bg-elev);color:var(--fg-strong);box-shadow:inset 0 0 0 1px var(--line-strong)}.sevbar{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--bg-3)}.sevbar>span{display:block;height:100%}.sevbar>.critical{background:var(--sev-critical)}.sevbar>.high{background:var(--sev-high)}.sevbar>.medium{background:var(--sev-medium)}.sevbar>.low{background:var(--sev-low)}.sevbar>.info{background:var(--sev-info)}.m-screen{background:var(--bg-0);color:var(--fg);height:100%;display:flex;flex-direction:column;font-family:var(--font-sans)}.m-topbar{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg-0);flex:none}.m-scroll{flex:1;overflow-y:auto;padding:16px 16px 90px}.m-tabbar{flex:none;height:76px;background:#07090ceb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;padding:6px 8px 22px}.m-statusbar-spacer{height:44px;flex:none}.m-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--fg-faint);font-size:10px;font-weight:500}.m-tab.on{color:var(--accent)}.m-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px}.login-shell{height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-pane{display:flex;flex-direction:column;justify-content:center;padding:48px;min-width:0}.login-art{background:radial-gradient(circle at 30% 20%,rgba(94,234,212,.08),transparent 50%),var(--bg-1);border-left:1px solid var(--line);position:relative;overflow:hidden}.login-form{width:100%;max-width:360px;margin:0 auto}.login-form label{display:block;font-size:11px;color:var(--fg-mute);margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em}.login-form .input{height:38px}.chartgrid line{stroke:var(--line-soft)}.chartgrid text{fill:var(--fg-faint);font-size:9.5px;font-family:var(--font-mono)}.kv{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line-soft);font-size:12px}.kv:last-child{border-bottom:0}.kv .k{color:var(--fg-mute)}.kv .v{color:var(--fg);font-family:var(--font-mono)}.divider{height:1px;background:var(--line-soft)}.kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;border-radius:4px;background:var(--bg-2);border:1px solid var(--line-strong);color:var(--fg-mute);font-family:var(--font-mono);font-size:10px}.search-input{width:280px}.pipeline{display:flex;align-items:stretch;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--bg-1)}.pipe-step{flex:1;padding:10px 12px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:4px;position:relative}.pipe-step:last-child{border-right:0}.pipe-step .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-faint);font-weight:500}.pipe-step .name{font-family:var(--font-mono);font-size:12px;color:var(--fg)}.pipe-step .dur{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint)}.pipe-step.done .name{color:var(--ok)}.pipe-step.running{background:linear-gradient(180deg,var(--accent-faint),transparent 60%)}.pipe-step.running .name{color:var(--accent)}.pipe-step.pending .name{color:var(--fg-faint)}.client-avatar{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--line-strong);color:var(--fg-mute);font-weight:600;font-size:11px;font-family:var(--font-mono);letter-spacing:.02em;flex:none}.clients-tbl tbody tr.row-pro td:first-child{box-shadow:inset 2px 0 0 var(--accent-line)}.iso-diagram{display:flex;justify-content:center}.iso-platform{width:100%;max-width:880px;padding:20px;background:var(--bg-2);border:1px dashed var(--line-strong);border-radius:10px}.iso-tenants{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}.iso-tenant{padding:12px;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:6px;min-height:70px;transition:opacity .15s ease}.iso-tenant.iso-other{opacity:.55;background:var(--bg-0)}.iso-tenant.iso-shared{border-style:dashed}.iso-tenant.iso-current{background:linear-gradient(180deg,var(--accent-faint) 0%,var(--bg-1) 70%);border:1px solid var(--accent-line);box-shadow:0 0 0 3px var(--accent-faint),0 4px 24px #0006;min-height:110px;position:relative;z-index:2}.iso-resources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.iso-res{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:9.5px;font-family:var(--font-mono);color:var(--accent);background:var(--bg-0);border:1px solid var(--accent-line);border-radius:4px}.imp-banner{display:flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(90deg,rgba(245,158,11,.1),rgba(245,158,11,.04) 40%,transparent 100%);border-bottom:1px solid rgba(245,158,11,.3);flex:none;position:relative}.imp-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--warn)}.imp-banner .imp-dot{width:22px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:var(--warn);flex:none}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-stack{grid-template-columns:1fr}.page{padding:18px 18px 72px}}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:264px;max-width:84vw;z-index:120;transform:translate(-100%);transition:transform .18s ease;box-shadow:8px 0 24px #00000059}.app.nav-open .sidebar{transform:translate(0)}.app.nav-collapsed .sidebar{width:264px}.nav-collapsed .nav-item span,.nav-collapsed .nav-label,.nav-collapsed .brand span,.nav-collapsed .userchip-info,.nav-collapsed .userchip-logout{display:initial}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:119;background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.grid-3,.grid-2-3{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-direction:column;align-items:flex-start;gap:10px}.topbar-search{display:none}}@media (max-width: 640px){.grid-4,.grid-3,.grid-2,.grid-2-3{grid-template-columns:1fr}.page{padding:14px 12px 64px}.page-title{font-size:18px}.topbar{padding:0 10px;gap:8px}.breadcrumb .crumb-root,.breadcrumb .crumb-sep{display:none}.card-pad{padding:12px}.card-pad-lg{padding:14px}.card-head{padding:12px;flex-wrap:wrap;gap:8px}.tbl th,.tbl td{padding:9px 10px;font-size:12px}.subtabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.subtab{flex:none}.btn{min-height:34px}.btn-sm{min-height:30px}input.input,select.input{min-height:34px;font-size:15px}.modal-backdrop{align-items:flex-end}.modal-backdrop>*{width:100%;max-width:100%;border-radius:12px 12px 0 0}.input-icon-wrap{max-width:100%!important}input.input,select.input,textarea.input{max-width:100%}.card-pad>.row,.card-head,.page-head>.row{flex-wrap:wrap}.card-head select.input,.card-pad select.input{flex:1 1 44%;width:auto!important;min-width:0}.card-head .input-icon-wrap,.card-pad .input-icon-wrap{flex:1 1 100%!important}}.subtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}.subtab{display:flex;align-items:center;gap:7px;padding:10px 14px;margin-bottom:-1px;color:var(--fg-mute);font-size:12.5px;font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.subtab:hover{color:var(--fg)}.subtab.on{color:var(--fg-strong);border-bottom-color:var(--accent)}.subtab .subtab-ico{color:var(--fg-faint)}.subtab.on .subtab-ico{color:var(--accent)}.heat-board{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px}.heat-col{flex:1 1 0;min-width:124px;display:flex;flex-direction:column;gap:4px}.heat-col-head{padding:8px 9px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:5px;position:sticky;top:0}.heat-col-head .tac-name{font-size:10.5px;font-weight:600;color:var(--fg);line-height:1.25;letter-spacing:-.01em}.heat-col-head .tac-meta{display:flex;align-items:center;justify-content:space-between}.heat-cell{padding:7px 8px;border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-mono);font-size:10px;cursor:pointer;transition:transform .1s ease,filter .1s ease;display:flex;flex-direction:column;gap:2px}.heat-cell:hover{transform:translateY(-1px);filter:brightness(1.15)}.heat-cell .hc-id{font-weight:600;letter-spacing:.01em}.heat-cell .hc-name{font-size:9px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-sans)}.heat-cell.blocked{background:#34d39921;border-color:#34d39957;color:#6ee7b7}.heat-cell.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line);color:var(--sev-medium)}.heat-cell.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line);color:var(--sev-critical)}.heat-cell.untested{background:var(--bg-2);border-color:var(--line);color:var(--fg-faint)}.heat-cell.sel{box-shadow:0 0 0 2px var(--accent)}.res-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px}.res-sw{width:11px;height:11px;border-radius:3px;flex:none;border:1px solid}.res-sw.blocked{background:#34d39929;border-color:#34d39966}.res-sw.detected{background:var(--sev-medium-bg);border-color:var(--sev-medium-line)}.res-sw.undetected{background:var(--sev-critical-bg);border-color:var(--sev-critical-line)}.res-sw.untested{background:var(--bg-2);border-color:var(--line-strong)}.kill-chain{display:flex;gap:0;overflow-x:auto;padding:2px 0 10px}.kc-step{flex:1;min-width:92px;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px}.kc-line{position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line-strong);z-index:0}.kc-step:first-child .kc-line{display:none}.kc-step.done .kc-line,.kc-step.running .kc-line{background:var(--accent)}.kc-node{width:28px;height:28px;border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1.5px solid var(--line-strong);color:var(--fg-faint);font-family:var(--font-mono);font-size:11px;font-weight:600}.kc-step.done .kc-node{background:var(--accent-faint);border-color:var(--accent-line);color:var(--accent)}.kc-step.running .kc-node{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-faint)}.kc-label{font-size:9.5px;text-align:center;color:var(--fg-mute);line-height:1.25}.kc-step.running .kc-label{color:var(--fg-strong)}.beacon-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 0 var(--accent-faint)}.log-feed{font-family:var(--font-mono);font-size:11px}.log-line{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}.log-line:last-child{border-bottom:0}.log-kind{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:3px;flex:none}.os-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.nav-section+.nav-section{margin-top:6px}a.nav-item{text-decoration:none}:root{--ri-3: 3px;--ri-4: 4px;--ri-5: 5px;--ri-6: 6px;--ri-7: 7px;--ri-8: 8px;--ri-9: 9px;--ri-10: 10px;--ri-12: 12px;--ri-99: 99px;--ri-999: 999px}.kpi-neutral{--kpi-c: var(--fg-strong);--kpi-bg: var(--bg-2);--kpi-bd: var(--line)}.kpi-accent{--kpi-c: var(--accent);--kpi-bg: var(--accent-faint);--kpi-bd: var(--accent-line)}.kpi-warn{--kpi-c: var(--sev-medium);--kpi-bg: var(--sev-medium-bg);--kpi-bd: var(--sev-medium-line)}.kpi-value{font-size:26px;font-weight:500;color:var(--kpi-c);line-height:1}.kpi-ico{width:32px;height:32px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--kpi-bg);color:var(--kpi-c);border:1px solid var(--kpi-bd)}.kpi-sub{margin-top:10px}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center}.detail-modal{width:min(1200px,92vw);height:88vh;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-float, var(--shadow-pop));overflow:hidden}.detail-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.detail-span{grid-column:1 / -1;min-width:0}.detail-col{display:flex;flex-direction:column;gap:16px;min-width:0}.detail-col>*{flex-shrink:0}@media (max-width: 900px){.detail-cols{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.detail-modal{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}.detail-modal .drawer-foot>.row{flex-wrap:wrap}}.apariencia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.apariencia-opcion{display:flex;flex-direction:column;gap:10px;padding:10px;text-align:left;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .12s ease}.apariencia-opcion:hover{border-color:var(--line-strong)}.apariencia-opcion.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.apariencia-activa{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:var(--accent)}
