:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:32px;--lh-tight:1.25;--lh-snug:1.45;--lh-normal:1.6;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Consolas, monospace;--dur:.16s;--ease:cubic-bezier(.32, .72, 0, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0f12;--bg-tint:none;--sidebar:#101216;--surface:#14171c;--surface-2:#1a1e24;--surface-3:#22272e;--surface-hover:#ffffff0b;--border:#ffffff16;--border-strong:#ffffff2b;--line:var(--border);--line-soft:var(--border);--text:#e6e8eb;--text-2:#b4b9c0;--muted:#98a0aa;--subtle:#858c96;--accent:#e6e8eb;--accent-hover:#fff;--accent-fg:#14171c;--accent-soft:#ffffff12;--accent-line:#fff3;--ok:#4ac48a;--ok-soft:#4ac48a1f;--ok-line:#4ac48a42;--warn:#e0a94a;--warn-soft:#e0a94a1f;--warn-line:#e0a94a47;--danger:#f87d84;--danger-soft:#f2555f21;--danger-line:#f2555f52;--danger-fg:#2b0206;--info:#6aa9f0;--info-soft:#6aa9f01f;--info-line:#6aa9f042;--yellow:var(--warn);--red:var(--danger);--blue:var(--info);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 20px #0000004d;--shadow-lg:0 24px 64px #0000007a;--radius:var(--r-lg)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f9;--bg-tint:none;--sidebar:#fff;--surface:#fff;--surface-2:#f2f3f5;--surface-3:#e8eaed;--surface-hover:#10141a0a;--border:#10141a1c;--border-strong:#10141a33;--text:#14181d;--text-2:#3d444d;--muted:#5b6169;--subtle:#626870;--accent:#1f242b;--accent-hover:#0f1216;--accent-fg:#fff;--accent-soft:#10141a0f;--accent-line:#10141a2e;--ok:#136c47;--ok-soft:#136c4717;--ok-line:#136c473d;--warn:#7d5200;--warn-soft:#7d520017;--warn-line:#7d52003d;--danger:#c02532;--danger-soft:#c0253214;--danger-line:#c025323d;--danger-fg:#fff;--info:#1f66b8;--info-soft:#1f66b814;--info-line:#1f66b83d;--shadow-sm:0 1px 2px #10141a0f;--shadow-md:0 6px 20px #10141a14;--shadow-lg:0 24px 64px #10141a24}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f9;--bg-tint:none;--sidebar:#fff;--surface:#fff;--surface-2:#f2f3f5;--surface-3:#e8eaed;--surface-hover:#10141a0a;--border:#10141a1c;--border-strong:#10141a33;--line:#10141a1c;--line-soft:#10141a1c;--text:#14181d;--text-2:#3d444d;--muted:#5b6169;--subtle:#626870;--accent:#1f242b;--accent-hover:#0f1216;--accent-fg:#fff;--accent-soft:#10141a0f;--accent-line:#10141a2e;--ok:#136c47;--ok-soft:#136c4717;--ok-line:#136c473d;--warn:#7d5200;--warn-soft:#7d520017;--warn-line:#7d52003d;--danger:#c02532;--danger-soft:#c0253214;--danger-line:#c025323d;--danger-fg:#fff;--info:#1f66b8;--info-soft:#1f66b814;--info-line:#1f66b83d;--yellow:#7d5200;--red:#c02532;--blue:#1f66b8;--shadow-sm:0 1px 2px #10141a0f;--shadow-md:0 6px 20px #10141a14;--shadow-lg:0 24px 64px #10141a24}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg-tint), var(--bg);min-width:320px;color:var(--text);font-size:var(--fs-md);line-height:var(--lh-snug)}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}code,pre,.mono{font-family:var(--mono)}strong,b,code,.tnum,.metric-card strong,.cockpit-metrics b,.score-value strong,.cert-head strong,.risk b{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}:focus:not(:focus-visible){outline:none}.skip-link{left:var(--s3);top:var(--s3);z-index:999;background:var(--accent);color:var(--accent-fg);padding:var(--s2) var(--s4);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh}.sidebar{z-index:20;background:var(--sidebar);border-right:1px solid var(--border);width:244px;padding:var(--s5) var(--s3);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:var(--s3);padding:0 var(--s2) var(--s5);display:flex}.brand-mark{border-radius:var(--r-md);width:36px;height:36px;color:var(--accent-fg);background:linear-gradient(135deg, var(--accent-hover), var(--accent));box-shadow:0 6px 18px var(--accent-soft);flex:none;place-items:center;display:grid}.brand-mark.large{border-radius:var(--r-lg);width:50px;height:50px;margin-bottom:var(--s4)}.brand strong{font-size:var(--fs-lg);letter-spacing:-.02em}.brand strong span,.login-card h1 span{color:var(--accent)}.brand small{color:var(--subtle);font-size:var(--fs-2xs);letter-spacing:.08em;margin-top:1px;font-weight:600;display:block}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav button,.sidebar-foot>button{align-items:center;gap:var(--s3);min-height:38px;padding:0 var(--s3);border-radius:var(--r-md);color:var(--muted);cursor:pointer;text-align:left;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;display:flex}.sidebar nav button:hover,.sidebar-foot>button:hover{color:var(--text);background:var(--surface-hover)}.sidebar nav button.active{color:var(--text);background:var(--accent-soft);box-shadow:inset 2px 0 var(--accent)}.sidebar nav button.active svg{color:var(--accent)}.sidebar nav button span{font-size:var(--fs-sm);flex:1;font-weight:550}.sidebar nav button b{border-radius:var(--r-xs);background:var(--warn-soft);min-width:20px;height:20px;color:var(--warn);font-size:var(--fs-2xs);place-items:center;padding:0 5px;display:grid}.sidebar-foot{margin-top:auto}.mode-card{border:1px solid var(--border);background:var(--surface-2);padding:var(--s3);border-radius:var(--r-md);align-items:center;gap:var(--s2);margin-bottom:var(--s2);color:var(--accent);display:flex}.mode-card div{flex:1;min-width:0}.mode-card strong,.mode-card span{display:block}.mode-card strong{font-size:var(--fs-xs);color:var(--text-2)}.mode-card span{color:var(--subtle);font-size:var(--fs-2xs);margin-top:1px}.mode-card>i{background:var(--warn);width:8px;height:8px;box-shadow:0 0 0 3px var(--warn-soft);border-radius:50%;flex:none}.mode-card>i.enabled{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.sidebar-foot>button{width:100%;font-size:var(--fs-sm)}.workspace{min-height:100vh;margin-left:244px}.topbar{height:54px;padding:0 var(--s6);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:15;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar>div{align-items:center;gap:var(--s2);display:flex}.topbar>div:first-child{color:var(--muted);font-size:var(--fs-sm)}.topbar>div:first-child strong{color:var(--text);font-weight:550}.top-actions{gap:var(--s2)!important}.icon-button{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);cursor:pointer;width:36px;height:36px;color:var(--muted);transition:all var(--dur) var(--ease);place-items:center;padding:0;display:grid}.icon-button:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-3)}.notification-wrap,.notification-wrap>.icon-button{position:relative}.notification-wrap>.icon-button b{border-radius:var(--r-xs);background:var(--danger);min-width:18px;height:18px;color:var(--danger-fg);font-size:var(--fs-2xs);border:2px solid var(--bg);place-items:center;padding:0 4px;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.notification-popover{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:390px;max-height:540px;box-shadow:var(--shadow-lg);padding:var(--s2);position:absolute;top:46px;right:0;overflow:auto}.popover-head{padding:var(--s3) var(--s3) var(--s3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.popover-head strong{font-size:var(--fs-md)}.popover-head span{color:var(--muted);font-size:var(--fs-xs)}.notification-popover>button{width:100%;padding:var(--s3);gap:var(--s3);text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;display:flex}.notification-popover>button+button{border-top:1px solid var(--border)}.notification-popover>button:hover{background:var(--surface-hover)}.notification-popover>button.unread{background:var(--accent-soft)}.notification-popover>button>i{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notification-popover>button>i.critical,.notification-popover>button>i.high{background:var(--danger)}.notification-popover>button>i.warning{background:var(--warn)}.notification-popover>button>span{min-width:0}.notification-popover strong,.notification-popover small,.notification-popover em{display:block}.notification-popover strong{color:var(--text);font-size:var(--fs-sm)}.notification-popover small{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;margin:3px 0;overflow:hidden}.notification-popover em{color:var(--subtle);font-size:var(--fs-2xs);font-style:normal}.user-chip{gap:var(--s2);padding-left:var(--s3);margin-left:var(--s1);border-left:1px solid var(--border);align-items:center;display:flex}.user-chip>span{border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);width:32px;height:32px;font-size:var(--fs-2xs);letter-spacing:.02em;place-items:center;font-weight:700;display:grid}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:var(--fs-sm);font-weight:550}.user-chip small{color:var(--subtle);font-size:var(--fs-2xs);margin-top:1px}main{padding:var(--s5) var(--s6) var(--s8);max-width:1620px;margin:auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s4);display:flex}.page-heading h1{font-size:var(--fs-2xl);letter-spacing:-.025em;line-height:var(--lh-tight);margin:2px 0 4px}.page-heading p,.modal-header p{color:var(--muted);font-size:var(--fs-sm);max-width:78ch;line-height:var(--lh-snug);margin:0}.eyebrow{color:var(--accent);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.live-indicator{margin-top:var(--s2);color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:var(--r-full);padding:7px var(--s3);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:7px;display:flex}.live-indicator i{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.metrics-grid{gap:var(--s3);margin-bottom:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);padding:var(--s4) var(--s5);align-items:flex-start;gap:var(--s3);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease);display:flex}.metric-card.warning{border-color:var(--warn-line)}.metric-card.danger{border-color:var(--danger-line)}.metric-card.accent{border-color:var(--accent-line)}.metric-icon{border-radius:var(--r-sm);width:34px;height:34px;color:var(--muted);background:var(--surface-2);flex:none;place-items:center;display:grid}.warning .metric-icon{color:var(--warn);background:var(--warn-soft)}.danger .metric-icon{color:var(--danger);background:var(--danger-soft)}.accent .metric-icon{color:var(--accent);background:var(--accent-soft)}.metric-card>div:last-child{flex:1;min-width:0;display:grid}.metric-card span{color:var(--muted);font-size:var(--fs-xs);font-weight:500}.metric-card strong{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:5px 0 3px;line-height:1.1}.metric-card small{color:var(--subtle);font-size:var(--fs-xs)}.dashboard-grid{gap:var(--s3);grid-template-columns:repeat(12,1fr);display:grid}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.panel{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-sm)}.panel-head{padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--s3);color:var(--muted);display:flex}.panel-head h2{color:var(--text);font-size:var(--fs-md);letter-spacing:-.01em;margin:0 0 1px}.panel-head p{color:var(--muted);font-size:var(--fs-xs);margin:0}.text-button{color:var(--accent);font-size:var(--fs-sm);cursor:pointer;padding:var(--s1);border-radius:var(--r-xs);background:0 0;border:0;align-items:center;gap:3px;display:flex}.text-button:hover{color:var(--accent-hover)}.asset-table{padding:0 var(--s3) var(--s2)}.table-row{align-items:center;gap:var(--s2);border:0;border-bottom:1px solid var(--border);text-align:left;width:100%;min-height:42px;padding:0 var(--s2);border-radius:var(--r-sm);background:0 0;grid-template-columns:2.1fr .9fr 1fr 1fr 1fr;display:grid}button.table-row{cursor:pointer}button.table-row:hover{background:var(--surface-hover)}.table-row:last-child{border-bottom:0}.table-head{color:var(--subtle);text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-2xs);min-height:28px;font-weight:600}.asset-cell{align-items:center;gap:var(--s2);min-width:0;display:flex}.asset-cell>span{min-width:0}.asset-cell strong,.asset-cell small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.asset-cell strong{color:var(--text);font-size:var(--fs-sm);font-weight:550}.asset-cell small{color:var(--subtle);font-size:var(--fs-xs);margin-top:2px}.kind-icon{border-radius:var(--r-sm);width:26px;height:26px;color:var(--info);background:var(--info-soft);flex:none;place-items:center;display:grid}.kind-icon.server{color:var(--accent);background:var(--accent-soft)}.environment{padding:3px var(--s2);border-radius:var(--r-xs);color:var(--muted);background:var(--surface-2);font-style:normal;font-size:var(--fs-2xs);font-weight:500;display:inline-block}.environment.production{color:var(--warn);background:var(--warn-soft)}.environment.staging{color:var(--info);background:var(--info-soft)}.status-chip{width:fit-content;max-width:100%;padding:3px var(--s2);border:1px solid var(--border);border-radius:var(--r-full);color:var(--muted);background:var(--surface-2);font-size:var(--fs-2xs);white-space:nowrap;align-items:center;gap:6px;font-weight:500;display:inline-flex}.status-chip>span{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status-chip.healthy,.status-chip.passed,.status-chip.completed,.status-chip.validated,.status-chip.approved,.status-chip.enabled{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.status-chip.warning,.status-chip.pending_approval,.status-chip.pending_review,.status-chip.needs_review,.status-chip.degraded,.status-chip.blocked{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.status-chip.critical,.status-chip.high,.status-chip.failed,.status-chip.unreachable,.status-chip.rejected,.status-chip.rollback_failed{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.status-chip.running,.status-chip.queued,.status-chip.detected{color:var(--info);background:var(--info-soft);border-color:var(--info-line)}.risk{align-items:center;gap:var(--s2);display:flex}.risk:before{content:"";background:var(--surface-3);border-radius:var(--r-full);width:56px;height:5px}.risk i{background:linear-gradient(90deg, var(--ok), var(--warn), var(--danger));border-radius:var(--r-full);max-width:56px;height:5px;position:absolute}.risk b{color:var(--text-2);font-size:var(--fs-xs);font-weight:600}.muted{color:var(--muted);font-size:var(--fs-xs)}.health-bar{border-radius:var(--r-full);height:10px;margin:var(--s5) var(--s5) var(--s4);background:var(--surface-3);display:flex;overflow:hidden}.health-bar i{height:100%;display:block}.health-bar i.healthy{background:var(--ok)}.health-bar i.degraded{background:var(--warn)}.health-bar i.unreachable{background:var(--danger)}.health-bar i.unknown{background:var(--subtle)}.health-headline{padding:var(--s5) var(--s5) 0}.health-headline strong{font-size:var(--fs-3xl);letter-spacing:-.025em;line-height:1.1;display:block}.health-headline span{color:var(--muted);font-size:var(--fs-sm)}.health-legend{padding:0 var(--s5) var(--s5)}.health-legend div{min-height:30px;font-size:var(--fs-sm);color:var(--muted);border-bottom:1px solid var(--border);align-items:center;display:flex}.health-legend div:last-child{border-bottom:0}.health-legend i{width:8px;height:8px;margin-right:var(--s3);background:var(--subtle);border-radius:50%;flex:none}.health-legend i.healthy{background:var(--ok)}.health-legend i.degraded{background:var(--warn)}.health-legend i.unreachable{background:var(--danger)}.health-legend span{flex:1}.health-legend b{color:var(--text)}.decision-list{padding:0 var(--s4) var(--s2)}.decision{align-items:center;gap:var(--s3);border-bottom:1px solid var(--border);grid-template-columns:34px 1fr auto;min-height:50px;display:grid}.decision:last-child{border:0}.decision-icon{border-radius:var(--r-sm);width:32px;height:32px;color:var(--warn);background:var(--warn-soft);place-items:center;display:grid}.decision-icon.critical{color:var(--danger);background:var(--danger-soft)}.decision>div:nth-child(2) strong,.decision>div:nth-child(2) span{display:block}.decision>div:nth-child(2) strong{font-size:var(--fs-sm);font-weight:550}.decision>div:nth-child(2) span{color:var(--muted);font-size:var(--fs-xs);margin-top:3px}.decision-meta{text-align:right}.decision-meta b{color:var(--text-2);font-size:var(--fs-xs);margin-bottom:5px;display:block}.mini-timeline{padding:0 var(--s4) var(--s2)}.mini-timeline>div{gap:var(--s3);align-items:center;min-height:40px;display:flex}.mini-timeline i{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 3px var(--ok-soft);border-radius:50%;flex:none}.mini-timeline i.high,.mini-timeline i.critical{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.mini-timeline i.warning{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.mini-timeline span{border-bottom:1px solid var(--border);padding:var(--s3) 0;flex:1;min-width:0}.mini-timeline>div:last-child span{border:0}.mini-timeline strong,.mini-timeline small{display:block}.mini-timeline strong{font-size:var(--fs-sm);font-weight:500}.mini-timeline small{color:var(--subtle);font-size:var(--fs-xs);margin-top:3px}.button{min-height:38px;padding:0 var(--s4);border-radius:var(--r-md);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:all var(--dur) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;display:inline-flex}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{color:var(--accent-fg);background:var(--accent);box-shadow:0 4px 14px var(--accent-soft)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.secondary{color:var(--text);background:var(--surface-2);border-color:var(--border)}.button.secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.button.ghost{color:var(--muted);border-color:var(--border);background:0 0}.button.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.button.danger-text{color:var(--danger);border-color:var(--danger-line);background:0 0}.button.danger-text:hover:not(:disabled){background:var(--danger-soft)}.button.small{min-height:32px;padding:0 var(--s3);font-size:var(--fs-xs)}.button.full{width:100%}.toolbar{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);min-height:46px;margin-bottom:var(--s4);padding:var(--s2) var(--s4);justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.toolbar>span{color:var(--muted);font-size:var(--fs-sm)}.search{align-items:center;gap:var(--s2);min-width:300px;color:var(--muted);display:flex}.search input{width:100%;color:var(--text);font-size:var(--fs-md);background:0 0;border:0;outline:0}.search input::placeholder{color:var(--subtle)}.asset-cards{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;display:grid}.asset-cards+.asset-group,.asset-group+.asset-group{margin-top:var(--s4)}.asset-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);padding:var(--s4);min-width:0;box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease)}.asset-card:hover{border-color:var(--border-strong)}.asset-card-top{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.large-kind{border-radius:var(--r-md);background:var(--info-soft);width:42px;height:42px;color:var(--info);flex:none;place-items:center;display:grid}.large-kind.server{background:var(--accent-soft);color:var(--accent)}.asset-card-title{width:100%;padding:var(--s3) 0 var(--s2);text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0}.asset-card-title h3{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0 0 6px}.asset-card-title p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px;margin:0;display:-webkit-box;overflow:hidden}.tag-row{flex-wrap:wrap;gap:5px;min-height:26px;display:flex}.tag-row>span{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);font-size:var(--fs-2xs);padding:3px 7px}.asset-facts{gap:var(--s2);margin:var(--s3) 0;padding:var(--s3) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.asset-facts span,.asset-facts strong{display:block}.asset-facts span{color:var(--subtle);font-size:var(--fs-2xs);margin-bottom:3px}.asset-facts strong{color:var(--text-2);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.asset-card-actions{justify-content:flex-end;gap:7px;display:flex}.safety-banner{gap:var(--s3);padding:var(--s3) var(--s4);color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-lg);margin-bottom:var(--s4);align-items:center;display:flex}.safety-banner strong,.safety-banner span{display:block}.safety-banner strong{color:var(--text);font-size:var(--fs-md)}.safety-banner span{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}.tabs{align-items:center;gap:var(--s1);border-bottom:1px solid var(--border);margin-bottom:var(--s4);display:flex;overflow-x:auto}.tabs button{min-height:42px;padding:0 var(--s3);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;font-weight:500}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs button span{border-radius:var(--r-xs);background:var(--surface-2);min-width:20px;height:20px;font-size:var(--fs-2xs);place-items:center;margin-left:6px;padding:0 5px;display:inline-grid}.update-list{gap:var(--s2);flex-direction:column;display:flex}.update-card{gap:var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);grid-template-columns:58px 1fr auto;align-items:start;display:grid}.risk-badge{width:54px;padding:var(--s2) 0;border-radius:var(--r-md);text-align:center;color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line);place-content:center;display:grid}.risk-badge.risk-high{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.risk-badge.risk-critical{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.risk-badge strong{font-size:var(--fs-xl);line-height:1.1}.risk-badge span{font-size:var(--fs-2xs)}.update-title{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.update-title h3{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0}.component-type{color:var(--info);background:var(--info-soft);border-radius:var(--r-xs);font-size:var(--fs-2xs);padding:3px 7px;font-weight:500}.update-main>p{color:var(--muted);font-size:var(--fs-sm);margin:var(--s2) 0;line-height:var(--lh-snug)}.update-main>small{color:var(--subtle);font-size:var(--fs-xs);display:block}.version-flow{align-items:center;gap:var(--s2);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.version-flow code{color:var(--text-2);font-size:var(--fs-sm);background:var(--surface-2);border-radius:var(--r-xs);padding:3px 7px}.version-flow em{font-size:var(--fs-2xs);color:var(--warn);background:var(--warn-soft);border-radius:var(--r-xs);padding:3px 7px;font-style:normal;font-weight:500}.update-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:140px;display:flex}.update-group{margin-bottom:var(--s3)}.update-group-head{align-items:center;gap:var(--s3);width:100%;min-height:50px;padding:var(--s3) var(--s4);border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);color:var(--text);text-align:left;cursor:pointer;transition:all var(--dur) var(--ease);grid-template-columns:34px 1fr auto 18px;display:grid}.update-group-head:hover{border-color:var(--border-strong);background:var(--surface-2)}.update-group-head>svg{color:var(--muted);transition:transform var(--dur) var(--ease)}.update-group-head>svg.rotated{transform:rotate(90deg)}.update-group-title{flex-direction:column;gap:2px;min-width:0;display:flex}.update-group-title strong{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:550}.update-group-title small{color:var(--muted);font-size:var(--fs-sm)}.update-group-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.update-group-badges em{font-style:normal;font-size:var(--fs-2xs);padding:4px var(--s2);border-radius:var(--r-xs);align-items:center;gap:5px;font-weight:500;display:inline-flex}.update-group-badges em.danger{color:var(--danger);background:var(--danger-soft)}.update-group-badges em.warn{color:var(--warn);background:var(--warn-soft)}.update-group-badges em.ok{color:var(--ok);background:var(--ok-soft)}.update-group .update-list{padding:var(--s3) 0 var(--s1) var(--s4);border-left:1px solid var(--border);margin-left:var(--s4)}.activity-grid{gap:var(--s4);margin-bottom:var(--s4);grid-template-columns:.9fr 1.1fr;display:grid}.issues-panel,.history-panel{min-height:440px}.issue-list{padding:0 var(--s4)}.issue-list article{gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border);grid-template-columns:30px 1fr 30px;align-items:start;display:grid}.issue-list article:last-child{border-bottom:0}.issue-list article>i{border-radius:var(--r-sm);width:28px;height:28px;color:var(--warn);background:var(--warn-soft);place-items:center;display:grid}.issue-list article>i.high,.issue-list article>i.critical{color:var(--danger);background:var(--danger-soft)}.issue-list article>div>div:first-child{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.issue-list strong{font-size:var(--fs-md);font-weight:550}.issue-list p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:5px 0}.issue-list article>div>span{color:var(--subtle);font-size:var(--fs-xs)}.icon-button.resolve{width:30px;height:30px;color:var(--accent)}.timeline{padding:var(--s2) var(--s4);max-height:600px;overflow:auto}.timeline:focus-visible,.route-list:focus-visible,.assistant-thread:focus-visible{outline-offset:-2px}.timeline article{gap:var(--s3);grid-template-columns:66px 12px 1fr;display:grid}.timeline-time{text-align:right;padding-top:2px}.timeline-time strong,.timeline-time span{display:block}.timeline-time strong{font-size:var(--fs-sm);color:var(--text-2)}.timeline-time span{font-size:var(--fs-2xs);color:var(--subtle);margin-top:2px}.timeline article>i{background:var(--ok);border-radius:50%;width:9px;height:9px;margin-top:5px;position:relative}.timeline article>i:after{content:"";background:var(--border);width:1px;height:calc(100% + 60px);position:absolute;top:12px;left:4px}.timeline article:last-child>i:after{display:none}.timeline article>i.high,.timeline article>i.critical{background:var(--danger)}.timeline article>i.warning{background:var(--warn)}.timeline article>div:last-child{border-bottom:1px solid var(--border);padding-bottom:var(--s3);min-width:0}.timeline article:last-child>div:last-child{border-bottom:0}.timeline article>div:last-child>div{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.timeline article>div:last-child strong{font-size:var(--fs-md);font-weight:550}.timeline article p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:5px 0}.timeline article>div:last-child>span{color:var(--subtle);font-size:var(--fs-xs)}.runs-panel{margin-bottom:var(--s5)}.runs-table{padding:0 var(--s4) var(--s3)}.runs-row{align-items:center;gap:var(--s2);border-bottom:1px solid var(--border);min-height:38px;font-size:var(--fs-sm);color:var(--muted);grid-template-columns:1.6fr .6fr .8fr 1fr .4fr;display:grid}.runs-row:last-child{border-bottom:0}.runs-row strong{color:var(--text);font-weight:500}.runs-row.head{min-height:34px;color:var(--subtle);text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-2xs);font-weight:600}.report-grid{gap:var(--s3);grid-template-columns:repeat(2,1fr);display:grid}.report-card{padding:var(--s4);border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);gap:var(--s4);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--dur) var(--ease);grid-template-columns:42px 1fr 20px;align-items:center;display:grid}.report-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.report-icon{border-radius:var(--r-md);width:40px;height:40px;color:var(--warn);background:var(--warn-soft);place-items:center;display:grid}.report-icon.passed{color:var(--ok);background:var(--ok-soft)}.report-icon.failed{color:var(--danger);background:var(--danger-soft)}.report-card>div:nth-child(2)>span{color:var(--accent);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.report-card h3{font-size:var(--fs-lg);letter-spacing:-.01em;margin:5px 0}.report-card p{color:var(--muted);font-size:var(--fs-sm);margin:0 0 7px}.report-card small{color:var(--subtle);font-size:var(--fs-xs)}.report-download{margin-left:auto;text-decoration:none}.settings-grid{gap:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}.setting-card{padding:var(--s4);gap:var(--s3);display:flex}.setting-icon{border-radius:var(--r-md);width:40px;height:40px;color:var(--accent);background:var(--accent-soft);flex:none;place-items:center;display:grid}.setting-card h3{font-size:var(--fs-lg);margin:0 0 var(--s2);letter-spacing:-.01em}.setting-card p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:var(--s3) 0 0}.architecture-card{grid-column:1/-1}.architecture-flow{justify-content:center;align-items:center;gap:var(--s4);padding:var(--s7) var(--s5) var(--s5);color:var(--muted);flex-wrap:wrap;display:flex}.architecture-flow span{text-align:center;min-width:132px;padding:var(--s3);border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-sm);font-weight:550}.architecture-sources{padding:0 var(--s5) var(--s6);flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.architecture-sources span{color:var(--muted);border:1px solid var(--border);border-radius:var(--r-full);padding:5px var(--s3);font-size:var(--fs-xs)}.user-admin-card,.security-admin-card,.integration-card,.readiness-card{grid-column:1/-1}.user-admin-body,.security-body{padding:var(--s5)}.user-create-form{gap:var(--s3);padding-bottom:var(--s5);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr .7fr auto;align-items:end;display:grid}.user-list{padding-top:var(--s2)}.user-row{gap:var(--s3);border-bottom:1px solid var(--border);grid-template-columns:1fr 150px auto auto;align-items:center;min-height:46px;display:grid}.user-row:last-child{border-bottom:0}.user-row strong,.user-row span{display:block}.user-row strong{font-size:var(--fs-md);font-weight:550}.user-row span{color:var(--muted);font-size:var(--fs-xs);margin-top:3px}.user-row select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:34px;color:var(--text);padding:0 var(--s2);font-size:var(--fs-sm)}.security-state{align-items:center;gap:var(--s3);display:flex}.security-state p{color:var(--muted);font-size:var(--fs-sm);flex:1}.mfa-setup{gap:var(--s6);margin-top:var(--s5);padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);grid-template-columns:180px 1fr;align-items:center;display:grid}.mfa-setup p,.recovery-codes p{color:var(--muted);font-size:var(--fs-sm)}.mfa-setup code{color:var(--accent);overflow-wrap:anywhere}.qr-box{width:168px;height:168px;padding:var(--s2);border-radius:var(--r-md);background:#fff;place-items:center;display:grid}.recovery-codes{margin-top:var(--s4);padding:var(--s4);border:1px solid var(--warn-line);border-radius:var(--r-lg);background:var(--warn-soft)}.recovery-codes pre{columns:2;color:var(--warn);font-size:var(--fs-sm);line-height:1.8}.mfa-disable{margin-top:var(--s4);padding:var(--s4);border:1px solid var(--danger-line);border-radius:var(--r-lg);background:var(--danger-soft)}.mfa-disable>strong{font-size:var(--fs-md);margin-bottom:var(--s3);display:block}.mfa-disable>.button{margin-top:var(--s3)}.readiness-list{padding:var(--s2) var(--s5) var(--s4);gap:var(--s2);display:grid}.readiness-list>span,.readiness-list>div>span{color:var(--danger);font-size:var(--fs-sm);align-items:center;gap:7px;margin-top:5px;display:flex}.readiness-list>div{padding:var(--s3) 0;border-bottom:1px solid var(--border)}.readiness-list>div:last-child{border-bottom:0}.readiness-list>div strong{font-size:var(--fs-md);font-weight:550}.readiness-list span.warning{color:var(--warn)}.readiness-list span.ready{color:var(--ok)}.integration-list{padding:var(--s2) var(--s5) var(--s4)}.integration-row{gap:var(--s3);border-bottom:1px solid var(--border);grid-template-columns:28px minmax(180px,1fr) auto auto auto auto;align-items:center;min-height:50px;display:grid}.integration-row:last-child{border-bottom:0}.integration-row>svg{color:var(--accent)}.integration-row strong,.integration-row span{display:block}.integration-row strong{font-size:var(--fs-md);font-weight:550}.integration-row span{color:var(--muted);font-size:var(--fs-xs);overflow-wrap:anywhere;margin-top:3px}.modal-backdrop,.drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:var(--s6);background:#03080e9e;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:min(780px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);padding:var(--s6);overflow:auto}.modal-header{justify-content:space-between;gap:var(--s5);margin-bottom:var(--s5);display:flex}.modal-header h2{font-size:var(--fs-xl);margin:var(--s1) 0;letter-spacing:-.02em}.form-grid{gap:var(--s4);grid-template-columns:repeat(2,1fr);display:grid}.span-2{grid-column:span 2}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:var(--fs-xs);font-weight:550}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);width:100%;min-height:40px;color:var(--text);padding:0 var(--s3);font-size:var(--fs-md);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);outline:none}.field textarea{padding:var(--s3);resize:vertical;font-family:var(--mono);font-size:var(--fs-sm);line-height:var(--lh-normal)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input::placeholder,.field textarea::placeholder{color:var(--subtle)}.policy-box{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-lg);padding:var(--s4);margin-top:var(--s5)}.policy-title{align-items:center;gap:var(--s2);color:var(--accent);margin-bottom:var(--s2);display:flex}.policy-title strong,.policy-title span{display:block}.policy-title strong{color:var(--text);font-size:var(--fs-md)}.policy-title span{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.check-row{align-items:center;gap:var(--s2);min-height:30px;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;display:flex}.check-row input{accent-color:var(--accent);width:15px;height:15px}.modal-actions{justify-content:flex-end;gap:var(--s2);padding-top:var(--s5);display:flex}.form-error,.global-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--r-sm);padding:var(--s3);font-size:var(--fs-sm);margin-top:var(--s3)}.global-error{margin-bottom:var(--s4);align-items:center;gap:var(--s2);display:flex}.global-error button{color:var(--danger);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-left:auto;display:flex}.test-plan-modal{width:min(940px,100%)}.route-editor{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.route-add{gap:var(--s2);padding:var(--s3);border-bottom:1px solid var(--border);display:flex}.route-add input{border:1px solid var(--border);border-radius:var(--r-sm);min-height:36px;color:var(--text);background:var(--surface-2);padding:0 var(--s3);flex:1}.route-list{max-height:230px;padding:var(--s2) var(--s3);overflow:auto}.route-list .check-row{border-bottom:1px solid var(--border)}.route-list .check-row span{flex:1}.route-list .check-row em{color:var(--subtle);font-size:var(--fs-xs);font-style:normal}.budget-grid{grid-template-columns:repeat(3,1fr)}.drawer-actions{margin:var(--s4) 0;flex-wrap:wrap;gap:7px;display:flex}.report-modal{width:min(880px,100%)}.report-verdict{padding:var(--s4);border:1px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);border-radius:var(--r-md);gap:var(--s3);align-items:center;display:flex}.report-verdict.passed{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.report-verdict.failed{color:var(--danger);border-color:var(--danger-line);background:var(--danger-soft)}.report-verdict strong,.report-verdict span{display:block}.report-verdict strong{font-size:var(--fs-md)}.report-verdict span{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.section-label{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;margin:var(--s6) 0 var(--s3);font-weight:600}.gate-list{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s1) var(--s4)}.gate{align-items:center;gap:var(--s3);border-bottom:1px solid var(--border);grid-template-columns:10px 1fr auto;min-height:44px;display:grid}.gate:last-child{border:0}.gate-dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.gate-dot.passed{background:var(--ok)}.gate-dot.failed{background:var(--danger)}.gate-dot.warning,.gate-dot.needs_review{background:var(--warn)}.gate strong{font-size:var(--fs-md)}.gate p{color:var(--muted);font-size:var(--fs-xs);margin:3px 0 0}.artifact-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.artifact-grid a{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);color:var(--text-2);text-decoration:none;position:relative;overflow:hidden}.artifact-grid img{object-fit:cover;object-position:top;width:100%;height:116px;display:block}.artifact-grid span{color:#fff;border-radius:var(--r-xs);font-size:var(--fs-2xs);background:#030a11d6;align-items:center;gap:4px;padding:4px 7px;display:flex;position:absolute;inset:auto 6px 6px auto}.raw-details{margin-top:var(--s5);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.raw-details summary{padding:var(--s3);color:var(--muted);font-size:var(--fs-sm);cursor:pointer}.raw-details pre{border-top:1px solid var(--border);padding:var(--s4);background:var(--surface-2);max-height:340px;color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0;overflow:auto}.drawer-backdrop{place-items:stretch end;padding:0}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(500px,96vw);height:100vh;box-shadow:var(--shadow-lg);padding:var(--s6);overflow:auto}.drawer-head{margin-bottom:var(--s4);justify-content:space-between;align-items:center;display:flex}.drawer h2{margin:var(--s1) 0 var(--s2);font-size:var(--fs-2xl);letter-spacing:-.025em}.drawer>p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug)}.drawer-status{gap:var(--s2);margin:var(--s4) 0;flex-wrap:wrap;align-items:center;display:flex}.drawer-status>span:not(.status-chip){color:var(--muted);font-size:var(--fs-xs);border:1px solid var(--border);padding:5px var(--s2);border-radius:var(--r-xs)}.drawer-status strong{color:var(--text)}.discovery-box{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);min-height:70px;padding:var(--s3);flex-wrap:wrap;align-content:flex-start;gap:6px;display:flex}.discovery-box span{height:fit-content;color:var(--info);background:var(--info-soft);padding:5px var(--s2);border-radius:var(--r-xs);font-size:var(--fs-xs)}.discovery-box small{color:var(--muted);font-size:var(--fs-sm)}.detail-list{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s1) var(--s4);margin:0}.detail-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--s3);min-height:40px;display:flex}.detail-list>div:last-child{border:0}.detail-list dt{color:var(--muted);font-size:var(--fs-sm)}.detail-list dd{color:var(--text-2);font-size:var(--fs-sm);text-align:right;overflow-wrap:anywhere;margin:0}.empty{min-height:180px;padding:var(--s7);text-align:center;color:var(--subtle);grid-column:1/-1;place-content:center;justify-items:center;gap:2px;display:grid}.empty strong{color:var(--text);font-size:var(--fs-lg);margin:var(--s3) 0 var(--s1)}.empty span{color:var(--muted);font-size:var(--fs-sm);max-width:46ch;line-height:var(--lh-snug)}.empty-mini{color:var(--muted);text-align:center;padding:var(--s6);font-size:var(--fs-sm)}.page-loader{place-content:center;justify-items:center;gap:var(--s3);height:50vh;color:var(--muted);font-size:var(--fs-sm);display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{right:var(--s6);bottom:var(--s6);z-index:200;max-width:440px;padding:var(--s3) var(--s4);border-radius:var(--r-md);align-items:center;gap:var(--s2);color:var(--text);background:var(--surface);border:1px solid var(--ok-line);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);animation:toastIn .24s var(--ease);display:flex;position:fixed}.toast.error{border-color:var(--danger-line)}.toast svg{color:var(--ok);flex:none}.toast.error svg{color:var(--danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}.floating-add{display:none}.login-page{background:var(--bg);min-height:100vh;padding:var(--s4);place-items:center;display:grid;position:relative;overflow:hidden}.login-card{width:min(410px,100%);padding:var(--s7);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:2;position:relative}.login-card h1{font-size:var(--fs-3xl);letter-spacing:-.03em;margin:var(--s1) 0 var(--s2)}.login-card>p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:0 0 var(--s6)}.login-card form{gap:var(--s4);display:grid}.login-foot{color:var(--subtle);font-size:var(--fs-xs);margin-top:var(--s5);text-align:center;justify-content:center;align-items:center;gap:7px;display:flex}.login-glow{filter:blur(100px);opacity:.1;border-radius:50%;width:440px;height:440px;position:absolute}.login-glow.one{background:var(--accent);top:-240px;right:10%}.login-glow.two{background:var(--info);bottom:-300px;left:3%}.advisory-flag{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--r-xs);font-size:var(--fs-2xs);align-items:center;gap:5px;padding:3px 7px;font-weight:500;display:inline-flex}.advisory-detail{color:var(--danger);font-size:var(--fs-sm);margin:var(--s1) 0}.ai-hint{color:var(--info);background:var(--info-soft);border:1px solid var(--info-line);border-radius:var(--r-sm);padding:6px var(--s3);font-size:var(--fs-sm);align-items:center;gap:6px;margin:6px 0;display:flex}.ai-hint b{font-size:var(--fs-xs)}.fix-proposal{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);margin:var(--s2) 0;display:block;overflow:hidden}.fix-proposal-head{justify-content:space-between;align-items:center;gap:var(--s3);padding:6px var(--s3);border-bottom:1px solid var(--border);display:flex}.fix-proposal-head>span{color:var(--muted);font-size:var(--fs-xs);align-items:center;gap:6px;display:inline-flex}.fix-proposal pre{padding:var(--s3);font-size:var(--fs-xs);color:var(--text-2);white-space:pre;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.55;overflow-x:auto}.dependency-list{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);padding:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;gap:6px;display:flex}.dependency-list span{color:var(--muted);background:var(--surface-3);padding:4px var(--s2);border-radius:var(--r-xs);font-size:var(--fs-xs);align-items:center;gap:5px;display:inline-flex}.dependency-list span b{color:var(--text);font-weight:550}.dependency-list span em{color:var(--info);font-style:normal;font-size:var(--fs-2xs)}.dependency-list small{color:var(--muted);font-size:var(--fs-xs);align-self:center}.dependency-list span.unpinned{border:1px dashed var(--border-strong);background:0 0}.asset-group{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3);background:var(--surface)}.asset-children{margin-top:var(--s3);padding-left:var(--s4);border-left:1px solid var(--border)}.asset-children-label{color:var(--muted);font-size:var(--fs-xs);margin-bottom:var(--s2);align-items:center;gap:5px;display:inline-flex}.asset-card.archived{opacity:.6;border-style:dashed}.status-chip.archived{color:var(--muted);background:var(--surface-2)}.asset-archive{margin-top:var(--s6)}.relation-list{margin-bottom:var(--s4);flex-direction:column;gap:6px;display:flex}.relation{align-items:center;gap:var(--s3);padding:var(--s3);border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);color:var(--text);text-align:left;cursor:pointer;grid-template-columns:28px 1fr 15px;display:grid}.relation:hover{border-color:var(--border-strong)}.relation span{flex-direction:column;gap:1px;min-width:0;display:flex}.relation strong{font-size:var(--fs-md);font-weight:550}.relation small{color:var(--muted);font-size:var(--fs-xs)}.relation>svg{color:var(--muted)}.asset-group>.asset-cards{grid-template-columns:1fr}.asset-group>.asset-cards .asset-card{align-items:center;column-gap:var(--s5);row-gap:var(--s2);grid-template-columns:48px 1fr auto;grid-template-areas:"icon title facts""icon tags actions";display:grid}.asset-group>.asset-cards .asset-card-top{grid-area:icon;display:block}.asset-group>.asset-cards .asset-card-top .status-chip{display:none}.asset-group>.asset-cards .asset-card-title{grid-area:title}.asset-group>.asset-cards .tag-row{grid-area:tags}.asset-group>.asset-cards .asset-facts{border:0;grid-area:facts;padding:0}.asset-group>.asset-cards .asset-card-actions{grid-area:actions}.resource-panel{gap:var(--s3);margin-bottom:var(--s2);flex-direction:column;display:flex}.meter-head{justify-content:space-between;align-items:baseline;margin-bottom:5px;display:flex}.meter-head span{color:var(--muted);font-size:var(--fs-xs)}.meter-head strong{color:var(--text);font-size:var(--fs-sm)}.meter-track{border-radius:var(--r-full);background:var(--surface-3);height:8px;overflow:hidden}.meter-track i{border-radius:var(--r-full);background:var(--ok);height:100%;transition:width var(--dur) var(--ease);display:block}.meter-track.warning i{background:var(--warn)}.meter-track.danger i{background:var(--danger)}.resource-foot{color:var(--muted);font-size:var(--fs-xs);margin:var(--s1) 0 0}.security-panel{gap:var(--s2);margin-bottom:var(--s3);grid-template-columns:1fr 1fr;display:grid}.sec-tile{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s3);background:var(--surface-2);flex-direction:column;gap:3px;display:flex}.sec-tile span{color:var(--muted);font-size:var(--fs-xs)}.sec-tile strong{color:var(--text);font-size:var(--fs-lg)}.sec-tile.ok strong{color:var(--ok)}.sec-tile.danger{border-color:var(--danger-line)}.sec-tile.danger strong{color:var(--danger)}.sec-tile.muted strong{color:var(--muted)}.sec-list,.sec-ports{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s3);background:var(--surface-2);margin-bottom:var(--s3)}.sec-list-label{color:var(--muted);font-size:var(--fs-xs);margin-bottom:6px;font-weight:550;display:block}.sec-list>div{padding:var(--s1) 0;justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.sec-list code{color:var(--text-2);font-size:var(--fs-sm)}.sec-list b{color:var(--danger);font-size:var(--fs-xs)}.sec-list b.good{color:var(--ok)}.integrity-group{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);margin-bottom:var(--s2);overflow:hidden}.integrity-group summary{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);cursor:pointer;color:var(--text-2);font-size:var(--fs-sm);display:flex}.integrity-group summary::-webkit-details-marker{display:none}.integrity-group summary:before{content:"▸";color:var(--muted);font-size:var(--fs-xs);margin-right:var(--s1);transition:transform .15s}.integrity-group[open] summary:before{transform:rotate(90deg)}.integrity-group summary span{flex:1}.integrity-group summary em{color:var(--muted);font-style:normal;font-size:var(--fs-xs);background:var(--surface-3);padding:2px var(--s2);border-radius:var(--r-xs)}.integrity-group.danger{border-color:var(--danger-line)}.integrity-group.danger summary em{color:var(--danger)}.integrity-group>div{border-top:1px solid var(--border);padding:var(--s2) var(--s3);max-height:300px;overflow:auto}.integrity-group>div>div{justify-content:space-between;align-items:baseline;gap:var(--s3);padding:3px 0;display:flex}.integrity-group code{color:var(--text-2);font-size:var(--fs-xs);word-break:break-all}.integrity-group b{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;font-weight:500}.integrity-group b.quelle{color:var(--muted);opacity:.75}.integrity-note{align-items:flex-start;gap:var(--s2);color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0 0 var(--s3);display:flex}.integrity-note svg{flex:none;margin-top:2px}.integrity-note.ok svg{color:var(--ok)}.integrity-note.warn svg{color:var(--warn)}.sec-ports{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.sec-ports .sec-list-label{width:100%;margin-bottom:var(--s1)}.sec-ports em{color:var(--text-2);background:var(--surface-3);padding:3px var(--s2);border-radius:var(--r-xs);font-size:var(--fs-xs);font-style:normal}.security-cockpit{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);margin-bottom:var(--s3);background:var(--surface);box-shadow:var(--shadow-sm)}.security-cockpit.alert{border-color:var(--danger-line);background:var(--danger-soft)}.security-cockpit.watch{border-color:var(--warn-line);background:var(--warn-soft)}.cockpit-head{justify-content:space-between;align-items:center;gap:var(--s5);flex-wrap:wrap;display:flex}.cockpit-title{align-items:center;gap:var(--s3);display:flex}.cockpit-title svg{color:var(--ok)}.security-cockpit.alert .cockpit-title svg{color:var(--danger)}.security-cockpit.watch .cockpit-title svg{color:var(--warn)}.cockpit-title strong{font-size:var(--fs-lg);letter-spacing:-.01em;display:block}.cockpit-title span{color:var(--muted);font-size:var(--fs-sm)}.cockpit-metrics{gap:var(--s6);flex-wrap:wrap;display:flex}.cockpit-metrics>div{text-align:center}.cockpit-metrics b{font-size:var(--fs-xl);color:var(--text);display:block}.cockpit-metrics small{color:var(--muted);font-size:var(--fs-xs)}.cockpit-metrics .danger b{color:var(--danger)}.cockpit-metrics .warn b{color:var(--warn)}.cockpit-servers{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--border);flex-direction:column;gap:7px;display:flex}.cockpit-server{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;grid-template-columns:26px 1fr auto;display:grid}.cockpit-server:hover{border-color:var(--border-strong)}.cockpit-server span{flex-direction:column;gap:1px;min-width:0;display:flex}.cockpit-server strong{font-size:var(--fs-md);font-weight:550}.cockpit-server small{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cockpit-server em{font-style:normal;font-size:var(--fs-2xs);padding:4px var(--s2);border-radius:var(--r-xs);font-weight:550}.cockpit-server.alert em{color:var(--danger);background:var(--danger-soft)}.cockpit-server.watch em{color:var(--warn);background:var(--warn-soft)}.threat-banner{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);margin-bottom:var(--s3);border:1px solid var(--border);display:flex}.threat-banner.ok{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok)}.threat-banner.warning{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn)}.threat-banner.danger{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.threat-banner strong{font-size:var(--fs-md);display:block}.threat-banner span{color:var(--muted);font-size:var(--fs-sm)}.finding-list{margin-bottom:var(--s3);flex-direction:column;gap:6px;display:flex}.finding{gap:var(--s3);padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);grid-template-columns:8px 1fr;display:grid}.finding i{background:var(--muted);border-radius:50%;width:7px;height:7px;margin-top:5px}.finding.danger i{background:var(--danger)}.finding.warning i{background:var(--warn)}.finding strong{font-size:var(--fs-md);color:var(--text);font-weight:550}.finding p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:3px 0 0}.threat-badge{font-size:var(--fs-2xs);padding:4px var(--s2);border-radius:var(--r-xs);align-items:center;gap:5px;font-weight:550;display:inline-flex}.threat-badge.alert{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-line)}.threat-badge.watch{color:var(--warn);background:var(--warn-soft);border:1px solid var(--warn-line)}.threat-badge.ok{color:var(--ok);background:var(--ok-soft);border:1px solid var(--ok-line)}.asset-card-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.sec-server-list{flex-direction:column;gap:7px;display:flex}.sec-server{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;grid-template-columns:26px 1fr auto auto;display:grid}.sec-server:hover{border-color:var(--border-strong)}.sec-server.alert{border-color:var(--danger-line)}.sec-server.watch{border-color:var(--warn-line)}.sec-server-main{min-width:0}.sec-server-main strong{font-size:var(--fs-md);font-weight:550;display:block}.sec-server-main small{color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sec-server-facts{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.sec-server-facts span{color:var(--text-2);font-size:var(--fs-xs)}.sec-server-facts em{color:var(--muted);font-style:normal}.sec-server-facts .score-ok{color:var(--ok)}.sec-server-facts .score-warn{color:var(--warn)}.sec-server-facts .score-bad{color:var(--danger)}.attack-sources{gap:var(--s3);flex-direction:column;display:flex}.attack-sources>div{align-items:center;gap:var(--s3);grid-template-columns:130px 1fr 44px;display:grid}.attack-sources code{color:var(--text-2);font-size:var(--fs-sm)}.attack-sources .bar{background:var(--surface-3);border-radius:var(--r-full);height:7px;overflow:hidden}.attack-sources .bar i{background:var(--danger);border-radius:var(--r-full);height:100%;display:block}.attack-sources b{color:var(--danger);font-size:var(--fs-sm);text-align:right}.ai-incident{border:1px solid var(--info-line);background:var(--info-soft);border-radius:var(--r-md);padding:var(--s3) var(--s4);margin-bottom:var(--s3)}.ai-incident.danger{border-color:var(--danger-line);background:var(--danger-soft)}.ai-incident-head{align-items:center;gap:7px;margin-bottom:6px;display:flex}.ai-incident-head svg{color:var(--info)}.ai-incident-head strong{font-size:var(--fs-md);flex:1}.ai-incident-head em{font-style:normal;font-size:var(--fs-2xs);color:var(--warn);background:var(--warn-soft);border-radius:var(--r-xs);padding:3px 7px;font-weight:550}.ai-incident.danger .ai-incident-head em{color:var(--danger);background:var(--danger-soft)}.ai-incident p{color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:0 0 6px}.ai-incident .ai-attacker{color:var(--muted);font-style:italic}.ai-steps{padding-left:var(--s5);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:6px 0 0}.ai-steps li{margin-bottom:3px}.agent-live{color:var(--ok);font-size:var(--fs-xs);align-items:center;gap:5px;display:inline-flex}.agent-live i{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:2s infinite agentPulse}@keyframes agentPulse{0%{box-shadow:0 0 0 0 var(--ok-soft)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.agent-box{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3) var(--s4);margin-bottom:var(--s4)}.agent-box-inner{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.agent-box-inner strong{font-size:var(--fs-md);display:block}.agent-box-inner span{color:var(--muted);font-size:var(--fs-sm)}.agent-token pre{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s3);font-size:var(--fs-xs);color:var(--accent);white-space:pre-wrap;word-break:break-all;margin:6px 0;overflow-x:auto}.agent-token p{color:var(--text-2);font-size:var(--fs-sm);margin:0}.agent-token small{color:var(--muted);font-size:var(--fs-xs);margin-top:6px;display:block}.drift-box{border:1px solid var(--warn-line);background:var(--warn-soft);border-radius:var(--r-md);padding:var(--s3) var(--s4);margin-bottom:var(--s3)}.drift-change{gap:var(--s3);grid-template-columns:8px 1fr;padding:6px 0;display:grid}.drift-change i{background:var(--muted);border-radius:50%;width:7px;height:7px;margin-top:5px}.drift-change.danger i{background:var(--danger)}.drift-change.warning i{background:var(--warn)}.drift-change strong{font-size:var(--fs-md);color:var(--text);font-weight:550}.drift-change p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:2px 0 0}.fix-button{margin-top:var(--s2)}.fix-block{border-radius:var(--r-sm);padding:var(--s3) var(--s4);margin-bottom:var(--s3);border:1px solid var(--border)}.fix-block strong{font-size:var(--fs-md);margin-bottom:var(--s1);display:block}.fix-block p{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text-2);margin:3px 0 0}.fix-block.danger{border-color:var(--danger-line);background:var(--danger-soft)}.fix-block.danger strong{color:var(--danger)}.fix-block.warn{border-color:var(--warn-line);background:var(--warn-soft)}.fix-block.warn strong{color:var(--warn)}.fix-block.ok{border-color:var(--ok-line);background:var(--ok-soft)}.fix-block.ok strong{color:var(--ok)}.fix-pre{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s3);font-size:var(--fs-xs);color:var(--text-2);white-space:pre-wrap;word-break:break-word;margin:0 0 var(--s3);line-height:var(--lh-normal);overflow-x:auto}.scorecard{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:var(--s3);overflow:hidden}.scorecard.ok{border-color:var(--ok-line)}.scorecard.warning{border-color:var(--warn-line)}.scorecard.danger{border-color:var(--danger-line)}.scorecard-head{align-items:center;gap:var(--s4);width:100%;padding:var(--s3) var(--s4);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr 16px;display:grid}.scorecard-head>svg{color:var(--muted);transition:transform var(--dur) var(--ease)}.scorecard-head>svg.rotated{transform:rotate(90deg)}.score-value strong{font-size:var(--fs-2xl);letter-spacing:-.02em;line-height:1.1;display:block}.scorecard.ok .score-value strong{color:var(--ok)}.scorecard.warning .score-value strong{color:var(--warn)}.scorecard.danger .score-value strong{color:var(--danger)}.score-value span{color:var(--muted);font-size:var(--fs-xs)}.score-counts{flex-wrap:wrap;gap:6px;display:flex}.score-counts em{font-style:normal;font-size:var(--fs-2xs);padding:4px var(--s2);border-radius:var(--r-xs);font-weight:500}.score-counts em.ok{color:var(--ok);background:var(--ok-soft)}.score-counts em.danger{color:var(--danger);background:var(--danger-soft)}.score-counts em.muted{color:var(--muted);background:var(--surface-3)}.score-checks{border-top:1px solid var(--border);padding:var(--s1) var(--s4) var(--s3)}.score-check{gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border);grid-template-columns:16px 1fr;display:grid}.score-check:last-child{border-bottom:0}.score-check>svg{margin-top:2px}.score-check.ok>svg{color:var(--ok)}.score-check.danger>svg{color:var(--danger)}.score-check.muted>svg{color:var(--muted)}.score-check strong{font-size:var(--fs-md);color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-weight:550;display:flex}.score-check strong em{font-style:normal;font-size:var(--fs-2xs);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 6px;font-weight:500}.score-check p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:3px 0 0}.score-check .score-action{color:var(--warn)}.score-check small{color:var(--subtle);font-size:var(--fs-xs);margin-top:3px;display:block}.cert-box{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s4);gap:var(--s3);background:var(--surface-2);display:grid}.cert-box.ok{border-color:var(--ok-line)}.cert-box.warning{border-color:var(--warn-line)}.cert-box.danger{border-color:var(--danger-line)}.cert-box.muted p{color:var(--muted);font-size:var(--fs-sm);margin:0}.cert-head{gap:var(--s5);flex-wrap:wrap;align-items:center;display:flex}.cert-head>div:first-child{min-width:100px;display:grid}.cert-head strong{font-size:var(--fs-2xl);letter-spacing:-.02em}.cert-head span{font-size:var(--fs-xs);color:var(--muted)}.cert-head dl{gap:var(--s2) var(--s5);flex:1;grid-template-columns:repeat(2,minmax(120px,1fr));margin:0;display:grid}.cert-head dl div{min-width:0;display:grid}.cert-head dt{font-size:var(--fs-xs);color:var(--muted)}.cert-head dd{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.cert-ok{font-size:var(--fs-sm);color:var(--ok);align-items:center;gap:7px;margin:0;display:flex}.cert-foot{color:var(--muted);font-size:var(--fs-xs)}.cert-foot.warn{color:var(--warn)}.masked{font-family:var(--mono)}.tag-template{font-size:var(--fs-2xs);border-radius:var(--r-full);background:var(--surface-3);color:var(--muted);margin-left:7px;padding:2px 7px;font-style:normal;font-weight:500}.impact-trigger{margin-top:var(--s3)}.link-button{color:var(--accent);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.impact-box{margin-top:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3) var(--s4);gap:var(--s2);background:var(--surface-2);border-left-width:3px;display:grid}.impact-box.ok{border-left-color:var(--ok)}.impact-box.warning{border-left-color:var(--warn)}.impact-box.danger{border-left-color:var(--danger)}.impact-head{gap:var(--s3);flex-wrap:wrap;align-items:baseline;display:flex}.impact-head strong{font-size:var(--fs-md)}.impact-head em{font-size:var(--fs-xs);color:var(--muted);font-style:normal}.impact-head em.warn{color:var(--warn)}.impact-box p{font-size:var(--fs-sm);line-height:var(--lh-snug);margin:0}.impact-reco{font-weight:550}.impact-none{color:var(--muted)}.impact-changes{padding-left:var(--s4);gap:6px;margin:0;display:grid}.impact-changes li{font-size:var(--fs-sm);color:var(--muted)}.impact-changes li.relevant{color:var(--text)}.impact-changes li b{margin-right:5px}.impact-changes small{color:var(--muted);font-size:var(--fs-xs);margin-top:2px;display:block}.impact-files{gap:var(--s1);font-size:var(--fs-sm);display:grid}.impact-files span{color:var(--muted);font-size:var(--fs-xs);font-weight:550}.impact-foot{gap:var(--s4);border-top:1px solid var(--border);padding-top:var(--s2);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;align-items:center;display:flex}.impact-foot span{align-items:center;gap:var(--s1);display:inline-flex}.impact-foot .warn{color:var(--warn)}.assistant{gap:var(--s3);grid-template-rows:1fr auto auto;height:calc(100vh - 230px);min-height:460px;display:grid}.assistant-thread{gap:var(--s4);align-content:start;padding-right:6px;display:grid;overflow-y:auto}.assistant-intro{text-align:center;gap:var(--s2);padding:var(--s8) var(--s5);color:var(--muted);justify-items:center;display:grid}.assistant-intro h3{color:var(--text);font-size:var(--fs-xl);letter-spacing:-.02em;margin:0}.assistant-intro p{max-width:58ch;font-size:var(--fs-md);line-height:var(--lh-normal);margin:0}.assistant-suggestions{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.assistant-suggestions button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--r-full);padding:var(--s2) var(--s4);font-size:var(--fs-sm);cursor:pointer;transition:all var(--dur) var(--ease)}.assistant-suggestions button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.assistant-turn.user{background:var(--accent);max-width:72%;color:var(--accent-fg);border-radius:var(--r-lg) var(--r-lg) 3px var(--r-lg);padding:var(--s3) var(--s4);justify-self:end}.assistant-turn.user p{font-size:var(--fs-md);line-height:var(--lh-snug);margin:0}.assistant-turn.bot{gap:var(--s3);grid-template-columns:30px 1fr;max-width:88%;display:grid}.assistant-turn.bot>i{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);width:30px;height:30px;color:var(--accent);place-items:center;display:grid}.assistant-turn.bot p{font-size:var(--fs-md);line-height:var(--lh-normal);white-space:pre-wrap;margin:0}.assistant-turn.bot.error p{color:var(--danger)}.assistant-steps{margin:var(--s3) 0 0;padding-left:var(--s5);font-size:var(--fs-sm);color:var(--muted);gap:5px;display:grid}.assistant-steps li::marker{color:var(--accent)}.assistant-meta{gap:var(--s3);margin-top:var(--s2);font-size:var(--fs-xs);color:var(--subtle);flex-wrap:wrap;display:flex}.assistant-meta .warn{color:var(--warn);font-style:normal}.assistant-thinking{color:var(--muted);align-items:center;gap:7px;display:inline-flex}.assistant-input{gap:var(--s2);display:flex}.assistant-input input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3) var(--s4);color:var(--text);font-size:var(--fs-md);flex:1}.assistant-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.assistant-note{color:var(--subtle);font-size:var(--fs-xs);text-align:center}@media (width<=1240px){.metrics-grid,.asset-cards{grid-template-columns:repeat(2,1fr)}.span-8,.span-7{grid-column:span 12}.span-4,.span-5{grid-column:span 6}.settings-grid{grid-template-columns:repeat(2,1fr)}.setting-card:nth-child(3){grid-column:1/-1}}@media (width<=900px){.sidebar{width:74px;padding:var(--s4) var(--s2)}.brand{padding:0 var(--s2) var(--s5);justify-content:center}.brand>div:last-child,.sidebar nav button span,.sidebar nav button b,.mode-card div,.mode-card>i,.sidebar-foot>button span{display:none}.sidebar nav button,.sidebar-foot>button{justify-content:center;padding:0}.mode-card{padding:var(--s3);justify-content:center}.workspace{margin-left:74px}.topbar{padding:0 var(--s4)}.topbar>div:first-child,.user-chip>div{display:none}main{padding:var(--s5) var(--s4) var(--s8)}.dashboard-grid{display:block}.dashboard-grid>.panel{margin-bottom:var(--s4)}.asset-cards,.report-grid,.activity-grid,.settings-grid{grid-template-columns:1fr}.setting-card:nth-child(3),.architecture-card{grid-column:auto}.architecture-flow svg{transform:rotate(90deg)}.update-card{grid-template-columns:60px 1fr}.update-actions{grid-column:2;justify-content:flex-start}.notification-popover{width:min(380px,100vw - 100px);right:-50px}.table-row{grid-template-columns:2fr 1fr 1fr}.table-row>:nth-child(2),.table-row>:nth-child(5){display:none}.runs-row{grid-template-columns:1.6fr .7fr 1fr}.runs-row>:nth-child(4),.runs-row>:nth-child(5){display:none}.user-create-form{grid-template-columns:1fr 1fr}.user-row{padding:var(--s3) 0;grid-template-columns:1fr 120px}.integration-row{padding:var(--s3) 0;grid-template-columns:25px 1fr auto}.budget-grid{grid-template-columns:1fr 1fr}.asset-group>.asset-cards .asset-card{grid-template-columns:1fr;grid-template-areas:"icon""title""tags""facts""actions"}}@media (width<=760px){.update-group-head{row-gap:var(--s2);grid-template-columns:30px 1fr 18px}.update-group-badges{grid-column:1/-1;justify-content:flex-start}.update-group .update-list{padding-left:var(--s2);margin-left:var(--s2)}}@media (width<=640px){.mfa-setup{grid-template-columns:1fr}.qr-box{margin:0 auto}.security-state{flex-direction:column;align-items:flex-start}.recovery-codes pre{columns:1}.budget-grid{grid-template-columns:1fr}}@media (width<=580px){.sidebar{width:auto;height:62px;padding:6px var(--s2);border:0;border-top:1px solid var(--border);background:color-mix(in srgb, var(--sidebar) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:row;inset:auto 0 0}.brand,.sidebar-foot{display:none}.sidebar nav{flex-direction:row;justify-content:space-around;width:100%;overflow-x:auto}.sidebar nav button{min-width:48px;min-height:48px}.workspace{margin-left:0;padding-bottom:62px}.topbar{height:58px;padding:0 var(--s3)}main{padding:var(--s4) var(--s3) var(--s8)}.page-heading{display:block}.page-heading>.button{display:none}.metrics-grid{gap:var(--s2);grid-template-columns:1fr 1fr}.metric-card{padding:var(--s3);gap:var(--s2)}.metric-icon{width:30px;height:30px}.metric-card strong{font-size:var(--fs-xl)}.asset-cards,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.modal-backdrop{padding:var(--s2)}.modal{max-height:calc(100vh - 16px);padding:var(--s4)}.update-card{grid-template-columns:1fr}.risk-badge{width:100%;padding:var(--s2);justify-content:center;align-items:center;gap:7px;display:flex}.update-actions{grid-column:1}.artifact-grid{grid-template-columns:1fr 1fr}.search{flex:1;min-width:0}.toolbar>span{display:none}.assistant{height:calc(100vh - 250px)}.assistant-turn.user,.assistant-turn.bot{max-width:100%}.floating-add{right:var(--s4);z-index:30;border-radius:var(--r-lg);background:var(--accent);width:52px;height:52px;color:var(--accent-fg);box-shadow:var(--shadow-md);border:0;justify-content:center;align-items:center;display:flex;position:fixed;bottom:76px}.floating-add span{display:none}.notification-popover{top:62px;right:var(--s2);width:calc(100vw - 16px);position:fixed}.login-card{padding:var(--s5)}.toast{right:var(--s3);left:var(--s3);max-width:none;bottom:76px}}.stat-strip{gap:var(--s2) var(--s5);padding:0 0 var(--s3);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.stat-strip b{color:var(--text);font-weight:600}.worklist{margin-bottom:var(--s3)}.task-list{flex-direction:column;display:flex}.task{align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s4);border:0;border-top:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;grid-template-columns:4px 1fr auto 16px;display:grid}.task:hover{background:var(--surface-hover)}.task>i{border-radius:var(--r-full);background:var(--muted);width:4px;height:26px}.task.critical>i,.task.high>i{background:var(--danger)}.task.medium>i,.task.warning>i{background:var(--warn)}.task-main{min-width:0;display:grid}.task-main strong{font-size:var(--fs-sm);font-weight:550}.task-main small{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task>em{font-style:normal;font-size:var(--fs-2xs);padding:3px var(--s2);border-radius:var(--r-xs);color:var(--muted);background:var(--surface-2);white-space:nowrap;font-weight:550}.task.critical>em,.task.high>em{color:var(--danger);background:var(--danger-soft)}.task.medium>em{color:var(--warn);background:var(--warn-soft)}.task>svg{color:var(--subtle)}@media (width<=580px){.task>em{display:none}}.table-row{grid-template-columns:2.2fr .9fr .7fr .9fr .8fr .9fr}.cell-score em{font-style:normal;font-size:var(--fs-sm);font-weight:550}.cell-score .score-ok{color:var(--ok)}.cell-score .score-warn{color:var(--warn)}.cell-score .score-bad{color:var(--danger)}.cell-score .muted{font-weight:400}.row-flag{color:var(--danger);font-weight:500}@media (width<=1240px){.table-row{grid-template-columns:2fr .9fr .7fr .9fr .8fr}.table-row>:nth-child(6){display:none}}@media (width<=900px){.table-row{grid-template-columns:2fr .8fr .8fr}.table-row>:nth-child(4),.table-row>:nth-child(5),.table-row>:nth-child(6){display:none}}.report-list{flex-direction:column;display:flex}.report-row{align-items:center;gap:var(--s3);width:100%;padding:var(--s2) var(--s4);border:0;border-top:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:8px 1fr auto 16px;display:grid}.report-row:hover{background:var(--surface-hover)}.report-dot{background:var(--warn);border-radius:50%;width:8px;height:8px}.report-dot.passed{background:var(--ok)}.report-dot.failed{background:var(--danger)}.report-main{min-width:0;display:grid}.report-main strong{font-size:var(--fs-sm);font-weight:550}.report-main small{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-row>svg{color:var(--subtle)}.report-row .muted{white-space:nowrap}@media (width<=700px){.report-row>.muted{display:none}}.mini-timeline.wide span{justify-content:space-between;align-items:baseline;gap:var(--s4);display:flex}.mini-timeline.wide small{white-space:nowrap;margin-top:0}.chart-body{padding:var(--s4)}.chart-legend{gap:var(--s3);flex-wrap:wrap;display:flex}.chart-legend span{font-size:var(--fs-2xs);color:var(--muted);align-items:center;gap:5px;display:inline-flex}.chart-legend i{border-radius:2px;width:8px;height:8px}.chart-legend i.ok{background:var(--ok)}.chart-legend i.danger{background:var(--danger)}.chart-legend i.warn{background:var(--warn)}.bar-chart{align-items:flex-end;gap:4px;height:150px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;height:100%;display:flex}.bar-stack{flex-direction:column;flex:1;justify-content:flex-end;gap:1px;width:100%;display:flex}.bar-stack i{border-radius:2px;width:100%;min-height:2px;display:block}.bar-stack i.ok{background:var(--ok)}.bar-stack i.danger{background:var(--danger)}.bar-stack i.warn{background:var(--warn)}.bar-stack i.bar-empty{background:var(--surface-3);flex:none;height:3px}.bar-col small{color:var(--subtle);font-size:var(--fs-2xs);white-space:nowrap}.hbar{align-items:center;column-gap:var(--s3);width:100%;padding:var(--s2) 0;color:var(--text);text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;grid-template-columns:minmax(90px,1.1fr) 2fr auto;grid-template-areas:"label track value""label foot value";display:grid}.hbar+.hbar{border-top:1px solid var(--border)}.hbar:hover{background:var(--surface-hover)}.hbar-label{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;grid-area:label;font-weight:550;overflow:hidden}.hbar-track{border-radius:var(--r-full);background:var(--surface-3);grid-area:track;height:8px;overflow:hidden}.hbar-track i{border-radius:var(--r-full);height:100%;display:block}.hbar-track i.ok{background:var(--ok)}.hbar-track i.warn{background:var(--warn)}.hbar-track i.danger{background:var(--danger)}.hbar b{font-size:var(--fs-sm);white-space:nowrap;text-align:right;grid-area:value;font-weight:600}.hbar small{color:var(--subtle);font-size:var(--fs-2xs);grid-area:foot;margin-top:3px}@media (width<=700px){.bar-col small{display:none}.bar-col:nth-child(3n+1) small{display:block}}.field-hint{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);padding:var(--s2) var(--s3);background:var(--surface-2);border-radius:var(--r-sm);border:1px solid var(--border);margin:0}.manual-hint{font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);padding:5px var(--s2);text-align:right;align-items:center;display:inline-flex}.guided{gap:var(--s2);justify-items:flex-end;display:grid}.guided ol{padding-left:var(--s4);font-size:var(--fs-xs);color:var(--muted);text-align:left;gap:3px;margin:0;display:grid}.guided ol li::marker{color:var(--subtle)}.manual-hint.done{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line);gap:5px}.group-action{align-items:center;gap:var(--s3);padding:0 0 var(--s2);flex-wrap:wrap;display:flex}.group-action small{color:var(--muted);font-size:var(--fs-xs)}.build-stamp{color:var(--subtle);font-size:var(--fs-2xs);text-align:center;padding:0 0 var(--s2);font-variant-numeric:tabular-nums}@media (width<=900px){.build-stamp{display:none}}.run-progress{margin-top:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);border-left-width:3px;gap:5px;display:grid}.run-progress.running,.run-progress.queued{border-left-color:var(--info)}.run-progress.completed{border-left-color:var(--ok)}.run-progress.failed,.run-progress.rollback_failed{border-left-color:var(--danger)}.run-progress.rolled_back,.run-progress.needs_review{border-left-color:var(--warn)}.run-steps{flex-wrap:wrap;gap:5px;display:flex}.run-step{font-size:var(--fs-2xs);border-radius:var(--r-xs);background:var(--surface-3);color:var(--subtle);white-space:nowrap;align-items:center;gap:4px;padding:3px 7px;display:inline-flex}.run-step>i{opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px}.run-step.passed{color:var(--ok);background:var(--ok-soft)}.run-step.failed{color:var(--danger);background:var(--danger-soft)}.run-step.needs_review,.run-step.warning{color:var(--warn);background:var(--warn-soft)}.run-step.running{color:var(--info);background:var(--info-soft)}.run-progress small{color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-snug)}.run-diagnosis{border-top:1px solid var(--border);padding-top:var(--s2);gap:4px;display:grid}.run-diagnosis strong{font-size:var(--fs-sm);color:var(--warn);align-items:center;gap:6px;display:inline-flex}.run-diagnosis.ok strong{color:var(--ok)}.run-diagnosis p{font-size:var(--fs-xs);color:var(--text-2);line-height:var(--lh-snug);margin:0}.run-diagnosis ol{padding-left:var(--s4);font-size:var(--fs-xs);color:var(--muted);gap:2px;margin:2px 0 0;display:grid}.run-diagnosis .run-fix{color:var(--text)}.run-diagnosis>small{color:var(--subtle);font-size:var(--fs-2xs)}.approval-why{color:var(--warn);font-size:var(--fs-2xs);text-align:right;line-height:1.35}.update-card{position:relative}.update-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-line)}.update-pick{cursor:pointer;place-items:center;margin-bottom:2px;display:grid}.update-pick input{cursor:pointer;width:17px;height:17px;accent-color:var(--accent)}.update-lead{flex-direction:column;align-items:center;gap:5px;display:flex}.order-step{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.02em;white-space:nowrap}.order-group{color:var(--subtle);font-size:var(--fs-2xs);white-space:nowrap;font-style:normal}.order-why{color:var(--subtle);font-size:var(--fs-2xs);align-items:center;gap:6px;margin:4px 0 0;display:flex}.done-block{margin-top:var(--s3);border-top:1px solid var(--border);padding-top:var(--s3)}.done-head{color:var(--muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:4px 0;display:inline-flex}.done-head:hover{color:var(--text-2)}.done-head .rotated{transform:rotate(90deg)}.update-card.done{opacity:.72}.group-action{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.dep-panel{margin:var(--s2) 0;flex-direction:column;gap:4px;display:flex}.dep-note{font-size:var(--fs-2xs);color:var(--muted);border-left:2px solid var(--border);padding-left:var(--s2);align-items:flex-start;gap:6px;margin:0;line-height:1.45;display:flex}.dep-note b{color:var(--text-2);font-weight:550}.dep-note>svg{flex:none;margin-top:2px}.dep-note.warning{color:var(--warn);border-left-color:var(--warn-line)}.dep-note.critical{color:var(--danger);border-left-color:var(--danger-line)}.dep-note.critical b,.dep-note.warning b{color:inherit}.window-picker{gap:var(--s2);flex-direction:column;display:flex}.window-rhythm,.window-days{flex-wrap:wrap;gap:5px;display:flex}.window-rhythm button,.window-days button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--r-sm);font-size:var(--fs-xs);cursor:pointer;padding:5px 11px}.window-days button{min-width:40px}.window-rhythm button.active,.window-days button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.window-time{align-items:center;gap:var(--s2);display:flex}.window-time input{width:auto}.window-time em{color:var(--muted);font-style:normal;font-size:var(--fs-xs)}.window-time small{color:var(--warn);font-size:var(--fs-2xs)}.window-preview{color:var(--subtle);font-size:var(--fs-2xs)}.check-row.danger span b{color:var(--danger)}.channel-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.channel-bar button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--r-full);font-size:var(--fs-xs);cursor:pointer;align-items:center;gap:6px;padding:5px 13px;display:inline-flex}.channel-bar button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.channel-bar button>span{background:var(--surface-2);border-radius:var(--r-full);font-size:var(--fs-2xs);color:var(--subtle);padding:0 6px}.channel-bar button.active>span{background:var(--surface);color:var(--accent)}.channel-bar small{color:var(--subtle);font-size:var(--fs-2xs);align-items:center;gap:5px;display:inline-flex}.component-type.channel-repository{color:var(--info);background:var(--info-soft);border-color:var(--info-line)}.component-type.channel-site{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.dependabot-hint.warning{color:var(--warn)}.dependabot-hint.high{color:var(--danger)}.update-family{margin-bottom:var(--s5)}.update-family.grouped{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);padding:var(--s2)}.update-family.grouped>.update-group+.update-group{margin-top:var(--s2)}.update-group{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.update-group.nested{margin-left:var(--s5);border-left:3px solid var(--accent-line)}.update-group-title small em.tie{color:var(--accent);font-style:normal}.update-group>.group-action{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.update-group>.group-action small{color:var(--muted);font-size:var(--fs-xs)}.update-group>.update-list{padding:var(--s3) var(--s4) var(--s4)}.update-group>.done-block{padding:0 var(--s4) var(--s3);margin-top:0}.update-group-head{width:100%}.report-metrics{gap:var(--s2);margin:var(--s3) 0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.report-metrics>div{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s2) var(--s3);background:var(--surface-2)}.report-metrics span{color:var(--subtle);font-size:var(--fs-2xs);display:block}.report-metrics strong{font-size:var(--fs-md)}.report-metrics>div.over{border-color:var(--warn-line);background:var(--warn-soft)}.report-metrics>div.over strong{color:var(--warn)}.report-ai{margin:0 0 var(--s3);padding:var(--s3);border:1px solid var(--info-line);background:var(--info-soft);border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-snug);align-items:flex-start;gap:7px;display:flex}.report-ai>svg{color:var(--info);flex:none;margin-top:3px}.report-ai em{color:var(--muted);font-style:normal}.report-ai.breaking{border-color:var(--danger-line);background:var(--danger-soft)}.shot-row{margin-bottom:var(--s4)}.shot-view{color:var(--muted);font-size:var(--fs-xs);margin-bottom:6px;display:block}.shot-grid{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.shot{margin:0}.shot a{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);display:block;position:relative;overflow:hidden}.shot img{object-fit:cover;object-position:top center;width:100%;height:420px;display:block}.shot-open{border-radius:var(--r-sm);background:var(--surface);width:24px;height:24px;color:var(--muted);border:1px solid var(--border);opacity:0;transition:opacity var(--dur) var(--ease);place-items:center;display:grid;position:absolute;top:6px;right:6px}.shot a:hover .shot-open{opacity:1}.shot figcaption{color:var(--subtle);font-size:var(--fs-2xs);text-align:center;margin-top:5px}.shot.diff a{border-color:var(--warn-line)}.shot.diff figcaption{color:var(--warn)}.customer-report{width:92vw;max-width:900px;padding:0}.report-toolbar{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);background:var(--surface-2);z-index:2;display:flex;position:sticky;top:0}.report-range{gap:5px;display:flex}.report-range button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--r-full);font-size:var(--fs-xs);cursor:pointer;padding:5px 12px}.report-range button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.report-toolbar-actions{align-items:center;gap:var(--s2);display:flex}.sheet{padding:var(--s6) var(--s6) var(--s5);color:var(--text)}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--s4);border-bottom:2px solid var(--text);padding-bottom:var(--s3);margin-bottom:var(--s4);display:flex}.sheet-head h1{letter-spacing:-.02em;margin:0;font-size:26px}.sheet-sub{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 0}.sheet-period{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;margin:0}.sheet-summary{gap:var(--s3);margin-bottom:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}.sheet-summary>div{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3);text-align:center}.sheet-summary strong{font-size:28px;line-height:1.1;display:block}.sheet-summary span{color:var(--muted);font-size:var(--fs-2xs)}.sheet-summary>div.warn{border-color:var(--warn-line);background:var(--warn-soft)}.sheet-summary>div.warn strong{color:var(--warn)}.sheet-lead{font-size:var(--fs-md);margin:0 0 var(--s5);line-height:1.6}.sheet h2{font-size:var(--fs-lg);margin:var(--s5) 0 var(--s3);align-items:center;gap:7px;display:flex}.sheet-note{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:0 0 var(--s3)}.sheet-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.sheet-table th{text-align:left;color:var(--muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:0 var(--s2) 6px 0}.sheet-table td{padding:var(--s2) var(--s2) var(--s2) 0;border-bottom:1px solid var(--border);vertical-align:top}.sheet-table td small{color:var(--subtle);font-size:var(--fs-2xs);display:block}.sheet-table .nowrap{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs)}.sheet-table tr.row-warn td{background:var(--warn-soft)}.tag-security{font-style:normal;font-size:var(--fs-2xs);color:var(--danger);background:var(--danger-soft);border-radius:var(--r-xs);margin-left:6px;padding:1px 6px}.sheet-list{padding-left:var(--s4);font-size:var(--fs-sm);margin:0;line-height:1.7}.sheet-shots{margin-bottom:var(--s4)}.sheet-shots-title{font-size:var(--fs-sm);margin-bottom:6px;display:block}.sheet-shots-title em{color:var(--muted);font-style:normal}.sheet-shot-grid{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.sheet-shot-grid figure{margin:0}.sheet-shot-grid img{border:1px solid var(--border);border-radius:var(--r-sm);object-fit:cover;object-position:top center;width:100%;height:280px;display:block}.sheet-shot-grid figcaption{color:var(--subtle);font-size:var(--fs-2xs);text-align:center;margin-top:4px}.sheet-foot{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid var(--border);color:var(--subtle);font-size:var(--fs-2xs)}@media print{body:has(.customer-report) .app-shell>:not(:has(.customer-report)){display:none!important}:is(body:has(.customer-report) .drawer-backdrop,body:has(.customer-report) .sidebar,body:has(.customer-report) .topbar){display:none!important}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;display:block;position:static}.customer-report{width:auto;max-width:none;box-shadow:none;border:0;max-height:none;position:static;overflow:visible}.report-toolbar{display:none}.sheet{padding:0}.sheet section,.sheet-shots,.sheet-table tr{break-inside:avoid}}.modal-backdrop.report-layer{z-index:140}.run-watcher{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3);margin:var(--s3) 0;background:var(--surface-2)}.run-watcher.running{border-color:var(--info-line);background:var(--info-soft)}.run-watcher.completed{border-color:var(--ok-line);background:var(--ok-soft)}.run-watcher.failed{border-color:var(--danger-line);background:var(--danger-soft)}.run-watcher-head{align-items:center;gap:var(--s2);display:flex}.run-watcher-head strong{font-size:var(--fs-sm);flex:1;align-items:center;gap:6px;display:inline-flex}.run-watcher-time{color:var(--muted);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.run-phases{margin:var(--s3) 0 0;flex-direction:column;gap:5px;padding:0;list-style:none;display:flex}.run-phases li{font-size:var(--fs-xs);color:var(--muted);grid-template-columns:15px 1fr;align-items:start;gap:7px;display:grid}.run-phases li>svg{margin-top:2px}.run-phases li small{color:var(--subtle);font-size:var(--fs-2xs);grid-column:2;line-height:1.4}.run-phases li.passed{color:var(--ok)}.run-phases li.warning{color:var(--warn)}.run-phases li.failed{color:var(--danger)}.run-phases li.skipped,.run-phases li.wartet,.run-phases li.offen{color:var(--subtle)}.phase-dot{background:var(--border-strong);border-radius:50%;width:7px;height:7px;margin:5px 0 0 4px}.run-findings{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border)}.run-findings strong{font-size:var(--fs-sm);display:block}.run-findings span{color:var(--muted);font-size:var(--fs-xs);margin-top:2px;display:block}.run-watcher-error{color:var(--danger);font-size:var(--fs-xs);margin:var(--s2) 0 0}.icon-button.small{padding:3px}.share-page{background:var(--surface-2);min-height:100vh;padding:var(--s6) var(--s4)}.share-gate{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:420px;padding:var(--s6);text-align:center;box-shadow:var(--shadow-sm);margin:12vh auto}.share-gate-icon{width:46px;height:46px;margin:0 auto var(--s3);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);place-items:center;display:grid}.share-gate h1{margin:0 0 6px;font-size:22px}.share-gate p{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:0 0 var(--s4)}.share-gate input{width:100%;margin-bottom:var(--s3);text-align:center;letter-spacing:.05em}.share-gate .button{justify-content:center;width:100%}.share-error{color:var(--danger);font-size:var(--fs-sm);margin:0 0 var(--s3)}.share-error.center{text-align:center}.share-actions{max-width:880px;margin:0 auto var(--s3);justify-content:flex-end;display:flex}.share-sheet{background:var(--surface);max-width:880px;color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s6) var(--s6) var(--s5);box-shadow:var(--shadow-sm);margin:0 auto}.share-brand{color:var(--accent);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s3);align-items:center;gap:7px;display:inline-flex}.share-sheet header{border-bottom:2px solid var(--text);padding-bottom:var(--s3);margin-bottom:var(--s4)}.share-sheet h1{letter-spacing:-.02em;margin:0;font-size:30px}.share-sub{font-size:var(--fs-md);margin:6px 0 0}.share-period{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 0}.share-kpi{gap:var(--s3);margin-bottom:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}.share-kpi>div{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3);text-align:center}.share-kpi strong{font-size:30px;line-height:1.1;display:block}.share-kpi span{color:var(--muted);font-size:var(--fs-2xs)}.share-kpi>div.warn{border-color:var(--warn-line);background:var(--warn-soft)}.share-kpi>div.warn strong{color:var(--warn)}.share-kpi>div.ok strong{color:var(--ok)}.share-lead{font-size:var(--fs-md);margin:0 0 var(--s5);line-height:1.65}.share-sheet h2{font-size:var(--fs-lg);margin:var(--s5) 0 var(--s3);align-items:center;gap:8px;display:flex}.share-note{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:0 0 var(--s3)}.share-sheet table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.share-sheet th{text-align:left;color:var(--muted);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:0 var(--s2) 7px 0}.share-sheet td{padding:var(--s3) var(--s2) var(--s3) 0;border-bottom:1px solid var(--border);vertical-align:top}.share-sheet td small{color:var(--subtle);font-size:var(--fs-2xs);margin-top:2px;display:block}.share-sheet .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs)}.share-sheet .nowrap{white-space:nowrap}.chip-security{font-style:normal;font-size:var(--fs-2xs);color:var(--danger);background:var(--danger-soft);border-radius:var(--r-xs);margin-left:7px;padding:2px 7px}.share-sheet ul{padding-left:var(--s4);font-size:var(--fs-sm);margin:0;line-height:1.8}.share-shots{margin-bottom:var(--s5)}.share-shots-title{font-size:var(--fs-md);font-weight:550;display:block}.share-verdict{color:var(--muted);font-size:var(--fs-sm);margin:3px 0 var(--s2);line-height:var(--lh-snug)}.share-shot-grid{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.share-shot-grid figure{margin:0}.share-shot-grid img{border:1px solid var(--border);border-radius:var(--r-sm);object-fit:cover;object-position:top center;width:100%;height:340px;display:block}.share-shot-grid figcaption{color:var(--subtle);font-size:var(--fs-2xs);text-align:center;margin-top:5px}.share-sheet footer{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid var(--border);color:var(--subtle);font-size:var(--fs-2xs);line-height:var(--lh-snug)}@media print{.share-page{background:0 0;padding:0}.share-actions{display:none}.share-sheet{box-shadow:none;border:0;max-width:none;padding:0}.share-sheet section,.share-shots,.share-sheet tr{break-inside:avoid}}@media (width<=640px){.share-kpi{grid-template-columns:repeat(2,1fr)}.share-shot-grid{grid-template-columns:1fr}}.share-created{margin:var(--s3) var(--s4) 0;padding:var(--s3);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-md)}.share-created>strong{color:var(--accent);font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.share-created>p{color:var(--muted);font-size:var(--fs-xs);margin:4px 0 var(--s3);line-height:var(--lh-snug)}.share-created-row{gap:var(--s2);grid-template-columns:92px 1fr;align-items:baseline;margin-bottom:4px;display:grid}.share-created-row span{color:var(--muted);font-size:var(--fs-2xs)}.share-created-row code{font-size:var(--fs-xs);word-break:break-all;background:var(--surface);border-radius:var(--r-xs);padding:2px 6px}.share-created-actions{gap:var(--s2);margin-top:var(--s3);display:flex}.share-warn{color:var(--warn);font-size:var(--fs-2xs);line-height:var(--lh-snug);margin:var(--s2) 0 0;align-items:flex-start;gap:6px;display:flex}.share-warn code{background:var(--surface);border-radius:var(--r-xs);padding:1px 4px}.runtime-setting{padding:var(--s3) var(--s4) var(--s4);border-bottom:1px solid var(--border)}.runtime-setting:last-child{border-bottom:0}.runtime-hint{color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-snug);margin:6px 0 0}.runtime-foot{justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s2);display:flex}.runtime-foot small{color:var(--subtle);font-size:var(--fs-2xs)}.paketliste{margin:5px 0 0;padding:0;list-style:none}.paketliste li{align-items:baseline;gap:var(--s2);color:var(--muted);font-size:var(--fs-2xs);flex-wrap:wrap;line-height:1.7;display:flex}.paketliste code{font-size:var(--fs-2xs);color:var(--subtle)}
