:root{--brand:#5d50f0;--brand-hover:#3a2cc9;--brand-ink:#2a1f8f;--accent:#8b80f5;--brass:#c6a15b;--bg:#f4f1ea;--bg-elev:#fbfaf5;--surface:#fff;--surface-2:#f0ece1;--border:#e4dfd1;--border-soft:#ede9dd;--text:#0b0e15;--text-soft:#2c3038;--text-muted:#6a6f7c;--text-dim:#9aa0ab;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--info:#2563eb;--rail-bg:#0b0e15;--rail-bg-2:#161a23;--rail-fg:#9aa0ab;--rail-fg-strong:#f4f1ea;--rail-dim:#6a6f7c;--rail-border:#f4f1ea14;--rail-active-fg:#fff;--rail-active-bg:color-mix(in srgb, var(--brand) 28%, transparent);--rail-count-bg:#f4f1ea14;--code-bg:#0b0e15;--code-text:#edeae0;--brand-soft:color-mix(in srgb, var(--brand) 11%, var(--bg-elev));--brand-tint:color-mix(in srgb, var(--brand) 16%, transparent);--ring-focus:color-mix(in srgb, var(--brand) 28%, transparent);--radius:14px;--radius-sm:9px;--radius-lg:20px;--radius-pill:999px;--shadow:0 1px 2px #0f172a0d, 0 10px 28px #0f172a0d;--shadow-hi:0 8px 20px #0f172a1f, 0 20px 56px #0f172a1a;--shadow-rail:0 0 0 1px var(--rail-border);--font-sans:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-base:14px;--pad-card:22px;--pad-card-sm:16px;--pad-cell-y:12px;--pad-cell-x:16px;--nav-pad-y:8.5px;--ctl-pad-y:9px;--gap:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-palette=brass]{--brand:#c6a15b;--brand-hover:#a9853f;--brand-ink:#6e5320;--accent:#d8bc86}html[data-palette=spruce]{--brand:#0e8c7d;--brand-hover:#0b6f63;--brand-ink:#0a4a42;--accent:#2dd4bf}html[data-palette=iris]{--brand:#6d4aff;--brand-hover:#5a36e6;--brand-ink:#3a23a0;--accent:#b794ff}html[data-theme=dark]{--bg:#07090f;--bg-elev:#0f131c;--surface:#12161f;--surface-2:#0b0e15;--border:#232834;--border-soft:#1a1e28;--text:#f4f1ea;--text-soft:#cdcabf;--text-muted:#8a8f9c;--text-dim:#5f6472;--rail-bg:#05070c;--rail-bg-2:#12161f;--code-bg:#05070c;--code-text:#edeae0;--shadow:0 1px 2px #00000080, 0 10px 28px #00000059;--shadow-hi:0 10px 28px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-density=compact]{--font-base:13px;--pad-card:16px;--pad-card-sm:12px;--pad-cell-y:8px;--pad-cell-x:12px;--nav-pad-y:6px;--ctl-pad-y:7px;--gap:12px}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:var(--font-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.55}.tnum,.stat .value,.kpi .value,table td,.mono{font-variant-numeric:tabular-nums}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:22px;font-weight:700}h2{letter-spacing:-.01em;margin:24px 0 12px;font-size:16px;font-weight:650}h3{color:var(--text-soft);margin:16px 0 8px;font-size:14px;font-weight:600}p{margin:0 0 12px}.muted,small{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.spacer{flex:1}.app-shell{grid-template:"sidebar topbar"60px"sidebar main"1fr/244px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--rail-bg);color:var(--rail-fg);border-right:1px solid var(--rail-border);z-index:40;flex-direction:column;grid-area:sidebar;gap:2px;height:100vh;padding:14px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:8px}.sidebar .brand{color:var(--rail-fg-strong);align-items:center;gap:11px;padding:8px 10px 18px;display:flex}.sidebar .brand .brand-name{letter-spacing:.14em;text-transform:uppercase;font-size:17px;font-weight:800}.sidebar .brand .brand-sub{letter-spacing:.04em;text-transform:uppercase;color:var(--rail-dim);margin-top:1px;font-size:10.5px;font-weight:500;display:block}.sidebar nav{flex-direction:column;gap:1px;display:flex}.sidebar .nav-section{color:var(--rail-dim);text-transform:uppercase;letter-spacing:.09em;padding:15px 12px 5px;font-size:10.5px;font-weight:650}.sidebar a.nav-item{padding:var(--nav-pad-y) 11px;border-radius:var(--radius-sm);color:var(--rail-fg);align-items:center;gap:11px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}.sidebar a.nav-item:hover{background:var(--rail-bg-2);color:var(--rail-fg-strong);text-decoration:none}.sidebar a.nav-item.active{background:var(--rail-active-bg);color:var(--rail-active-fg)}.sidebar a.nav-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:18px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.sidebar .nav-item .icon{opacity:.9;flex:none;width:17px;height:17px}.sidebar a.nav-item.active .icon{opacity:1}.nav-count{font-variant-numeric:tabular-nums;background:var(--rail-count-bg);color:var(--rail-fg-strong);border-radius:var(--radius-pill);text-align:center;min-width:18px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:650}.nav-count.danger{background:color-mix(in srgb, var(--danger) 80%, black);color:#fff}.topbar{background:var(--bg-elev);border-bottom:1px solid var(--border);z-index:30;grid-area:topbar;align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .hamburger{border:1px solid var(--border);color:var(--text-soft);border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:none}.topbar .hamburger:hover{background:var(--surface-2)}.breadcrumb{align-items:center;gap:7px;min-width:0;font-size:14px;display:flex}.breadcrumb .crumb-root{color:var(--text-muted);font-weight:500}.breadcrumb .crumb-sep{color:var(--text-dim)}.breadcrumb .crumb-here{color:var(--text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.topsearch{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);width:280px;max-width:32vw;color:var(--text-muted);align-items:center;gap:8px;padding:7px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.topsearch:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-focus)}.topsearch input{width:100%;color:var(--text);background:0 0;border:0;padding:0;font-size:13px}.topsearch input:focus{box-shadow:none;outline:none}.topsearch .kbd{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);background:var(--bg-elev);border-radius:5px;padding:1px 5px;font-size:10.5px}.tenant-pill{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:9px;padding:5px 12px 5px 6px;line-height:1.15;display:flex}.tenant-pill .dot{background:linear-gradient(135deg, var(--brand), var(--accent));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.tenant-pill .name{font-size:12.5px;font-weight:600}.tenant-pill .region{color:var(--text-muted);font-size:10.5px}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-soft);border:1px solid var(--border);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:background .14s,color .14s,border-color .14s;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn .icon{width:18px;height:18px}.icon-btn .dot-badge{background:var(--danger);color:#fff;border-radius:var(--radius-pill);text-align:center;border:2px solid var(--bg-elev);font-variant-numeric:tabular-nums;min-width:16px;padding:0 5px;font-size:10.5px;line-height:16px;position:absolute;top:-5px;right:-5px}.popover{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-hi);z-index:100;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.popover-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.popover-item:hover{background:var(--brand-soft)}.popover-item.danger{color:var(--danger)}.popover-sep{border-top:1px solid var(--border)}.swatch-row{gap:8px;display:flex}.swatch{cursor:pointer;outline:1px solid var(--border);outline-offset:-1px;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:flex-end;width:34px;height:34px;padding-bottom:3px;display:inline-flex}.swatch.sel{border-color:var(--text)}.swatch.indigo{background:linear-gradient(135deg,#5d50f0,#8b80f5)}.swatch.brass{background:linear-gradient(135deg,#c6a15b,#d8bc86)}.swatch.spruce{background:linear-gradient(135deg,#0e8c7d,#2dd4bf)}.swatch.iris{background:linear-gradient(135deg,#6d4aff,#b794ff)}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:3px;padding:3px;display:inline-flex}.segmented button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 11px;font-size:12.5px;font-weight:600}.segmented button.sel{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow)}.main{grid-area:main;padding:24px 30px 56px;animation:.22s ease-out fadeUp;overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.container{max-width:1180px;margin:0}.page-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head h1{margin:0}.rail-scrim{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-card);box-shadow:var(--shadow)}.card+.card{margin-top:var(--gap)}.kpi-grid{gap:var(--gap);grid-template-columns:repeat(4,1fr);display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:4px;min-width:0;padding:16px 18px 12px;display:flex}.kpi .kpi-top{color:var(--text-muted);align-items:center;gap:8px;display:flex}.kpi .kpi-top .icon{width:16px;height:16px}.kpi .label{letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:650}.kpi .value{letter-spacing:-.02em;font-size:26px;font-weight:750;line-height:1.1}.kpi .foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi .delta{font-size:12px;font-weight:600}.kpi .delta.down{color:var(--danger)}.kpi .delta.flat{color:var(--text-muted)}.overview-grid{gap:var(--gap);grid-template-columns:1.6fr 1fr;align-items:start;display:grid}.section-title{align-items:center;gap:8px;margin:0 0 14px;font-size:14px;font-weight:650;display:flex}.section-title .spacer{flex:1}.ring-wrap{align-items:center;gap:18px;display:flex}.ring-legend{flex-direction:column;flex:1;gap:8px;display:flex}.ring-legend .leg{align-items:center;gap:8px;font-size:13px;display:flex}.ring-legend .leg .sw{border-radius:3px;flex:none;width:9px;height:9px}.ring-legend .leg .n{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:650}.feed{flex-direction:column;display:flex}.feed .feed-item{border-bottom:1px solid var(--border-soft);gap:11px;padding:11px 2px;display:flex}.feed .feed-item:last-child{border-bottom:0}.feed .feed-item .fi-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.feed .feed-item .fi-body{flex:1;min-width:0}.feed .feed-item .fi-title{font-size:13px;font-weight:550}.feed .feed-item .fi-meta{color:var(--text-muted);margin-top:2px;font-size:11.5px}.dot-warning{background:var(--warning)}.dot-danger{background:var(--danger)}.empty{text-align:center;color:var(--text-muted);padding:28px 12px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{width:100%;padding:var(--ctl-pad-y) 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface);color:var(--text);font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-focus);outline:none}label{color:var(--text-soft);margin:0 0 6px;font-size:13px;font-weight:550;display:block}button{padding:var(--ctl-pad-y) 16px;background:var(--brand);color:#fff;border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:0;font-size:13.5px;font-weight:600;transition:background .15s,transform 50ms,box-shadow .15s}button:hover{background:var(--brand-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}button.secondary:hover{background:var(--surface-2);border-color:var(--text-dim)}button.danger{background:var(--danger)}button.danger:hover{background:#b91c1c}button.ghost{color:var(--text-soft);background:0 0;border:0;padding:6px 10px;font-weight:500}button.ghost:hover{color:var(--text);background:var(--surface-2)}table{border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--radius);width:100%;overflow:hidden}th,td{padding:var(--pad-cell-y) var(--pad-cell-x);text-align:left;border-bottom:1px solid var(--border-soft)}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);font-size:11.5px;font-weight:650}tr:last-child td{border-bottom:0}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--surface-2)}.table-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--radius);overflow-x:auto}.badge{border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:650;line-height:1.4;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.online,.badge.running,.badge.active,.badge.completed,.badge.succeeded{color:#15803d;background:#dcfce7}.badge.offline,.badge.failed,.badge.cancelled,.badge.error{color:#991b1b;background:#fee2e2}.badge.pending,.badge.never_seen,.badge.queued,.badge.idle{color:var(--text-muted);background:#f1f5f9}.badge.warn,.badge.degraded{color:#92400e;background:#fef3c7}.badge.info,.badge.synced{color:#1e40af;background:#dbeafe}html[data-theme=dark] .badge.online,html[data-theme=dark] .badge.running,html[data-theme=dark] .badge.active,html[data-theme=dark] .badge.completed,html[data-theme=dark] .badge.succeeded{color:#4ade80;background:#052e16}html[data-theme=dark] .badge.offline,html[data-theme=dark] .badge.failed,html[data-theme=dark] .badge.cancelled,html[data-theme=dark] .badge.error{color:#f87171;background:#450a0a}html[data-theme=dark] .badge.pending,html[data-theme=dark] .badge.never_seen,html[data-theme=dark] .badge.queued,html[data-theme=dark] .badge.idle{color:var(--text-dim);background:#1e293b}html[data-theme=dark] .badge.warn,html[data-theme=dark] .badge.degraded{color:#fbbf24;background:#422006}html[data-theme=dark] .badge.info,html[data-theme=dark] .badge.synced{color:#93c5fd;background:#0f1f44}.notice{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:16px;padding:12px 16px;font-size:13.5px}.notice.info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.notice.warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.notice.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.notice.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}html[data-theme=dark] .notice.info{color:#93c5fd;background:#0f1f44;border-color:#1e3a8a}html[data-theme=dark] .notice.warn{color:#fbbf24;background:#422006;border-color:#78350f}html[data-theme=dark] .notice.error{color:#f87171;background:#450a0a;border-color:#7f1d1d}html[data-theme=dark] .notice.success{color:#4ade80;background:#052e16;border-color:#14532d}.takeover-overlay{z-index:1000;background:#0b0e158c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.takeover-card{width:100%;max-width:560px;max-height:85vh;overflow-y:auto}.agreement-body h2{margin-top:0}.agreement-body ul{margin:12px 0;padding-left:20px}.agreement-body li{margin:4px 0}pre{background:var(--code-bg);color:var(--code-text);border-radius:var(--radius-sm);font-size:12.5px;line-height:1.55;font-family:var(--font-mono);padding:16px;overflow-x:auto}code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px;font-size:92%}pre code{background:0 0;border:0;padding:0}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tabs button{color:var(--text-muted);background:0 0;border-radius:0;padding:8px 14px;font-weight:500}.tabs button.active{color:var(--brand);border-bottom:2px solid var(--brand)}.tabs button:hover{color:var(--text);background:0 0}.markdown{max-width:880px;line-height:1.7}.markdown h1,.markdown h2,.markdown h3{margin-top:28px}.markdown h1{border-bottom:1px solid var(--border);padding-bottom:8px;font-size:28px}.markdown h2{border-bottom:1px solid var(--border-soft);padding-bottom:6px;font-size:20px}.markdown ul,.markdown ol{margin:8px 0 16px;padding-left:24px}.markdown li{margin:4px 0}.markdown table{margin:16px 0}.markdown blockquote{border-left:3px solid var(--brand);background:var(--brand-soft);color:var(--text-soft);border-radius:4px;margin:12px 0;padding:4px 16px}.skeleton{background:linear-gradient(90deg, var(--surface-2), var(--border-soft), var(--surface-2));background-size:200% 100%;border-radius:6px;height:14px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.login-split{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--rail-bg);color:var(--rail-fg);flex-direction:column;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";pointer-events:none;background:radial-gradient(700px 360px at 75% 18%, color-mix(in srgb, var(--brand) 40%, transparent), transparent 70%), radial-gradient(560px 320px at 18% 92%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 72%);opacity:.5;position:absolute;inset:0}.login-brand>*{z-index:1;position:relative}.login-brand .lb-top{color:var(--rail-fg-strong);align-items:center;gap:11px;display:flex}.login-brand .lb-top .brand-name{letter-spacing:-.02em;font-size:19px;font-weight:750}.login-brand .lb-headline{letter-spacing:-.025em;color:var(--rail-fg-strong);max-width:16ch;margin-top:auto;font-size:30px;font-weight:750;line-height:1.18}.login-brand .lb-sub{color:var(--rail-fg);max-width:42ch;margin-top:16px;font-size:15px;line-height:1.6}.login-brand .lb-points{flex-direction:column;gap:12px;margin-top:28px;margin-bottom:8px;display:flex}.login-brand .lb-point{color:var(--rail-fg);align-items:center;gap:11px;font-size:13.5px;display:flex}.login-brand .lb-point .icon{width:18px;height:18px;color:var(--accent);flex:none}.login-form-wrap{background:var(--bg);justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-form{width:100%;max-width:380px}.login-form h1{font-size:24px}@media (width<=1080px){.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar""main"}.sidebar{width:264px;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0006}.sidebar.open{transform:translate(0)}.topbar .hamburger{display:inline-flex}.rail-scrim.show{z-index:39;background:#02061080;display:block;position:fixed;inset:0}}@media (width<=860px){.login-split{grid-template-columns:1fr}.login-brand{min-height:230px;padding:32px 28px}.login-brand .lb-headline{margin-top:18px;font-size:24px}.login-brand .lb-points{display:none}}@media (width<=720px){.topsearch{display:none}.overview-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.main{padding:18px 16px 48px}}@media (width<=560px){.kpi-grid{grid-template-columns:1fr}.tenant-pill .name,.tenant-pill .region{display:none}.tenant-pill{padding:4px}.breadcrumb .crumb-root,.breadcrumb .crumb-sep{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.ops-head{justify-content:space-between;align-items:center;gap:var(--gap);flex-wrap:wrap;display:flex}.ops-head h1{margin:0}.ops-head-actions{align-items:center;gap:.5rem;display:flex}.ops-depth{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.ops-depth select{padding:.25rem .4rem}.ops-banner{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-soft);border-radius:8px;margin-bottom:.6rem;padding:.6rem .8rem;font-size:.85rem}.ops-banner-error{border-color:var(--danger);color:var(--danger)}.ops-strip{gap:var(--gap);margin:var(--gap) 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.ops-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.8rem 1rem}.ops-stat-value{font-size:1.6rem;font-weight:650;line-height:1.1}.ops-stat-label{color:var(--text-muted);margin-top:.15rem;font-size:.78rem}.ops-stat.tone-good .ops-stat-value{color:var(--success)}.ops-stat.tone-bad .ops-stat-value{color:var(--danger)}.ops-main{gap:var(--gap);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}@media (width<=1024px){.ops-main{grid-template-columns:minmax(0,1fr)}}.ops-graph{min-width:0}.lg-canvas{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.lg-empty{border:1px dashed var(--border);background:var(--bg-elev);text-align:center;color:var(--text-muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.lg-empty p{max-width:42ch;margin:.25rem 0}.ops-inspector{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem;position:sticky;top:1rem}.ops-inspector-empty{color:var(--text-muted)}.ops-insp-title{word-break:break-word;margin:0 0 .15rem;font-size:1rem}.ops-insp-ns{color:var(--text-muted);word-break:break-all;margin-bottom:.75rem;font-family:ui-monospace,monospace;font-size:.74rem}.ops-insp-dl{grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:0 0 .8rem;font-size:.82rem;display:grid}.ops-insp-dl dt{color:var(--text-muted)}.ops-insp-dl dd{margin:0}.ops-fail{color:var(--danger)}.ops-error{background:var(--bg-elev);border:1px solid var(--danger);border-radius:8px;margin-bottom:.8rem;padding:.5rem .6rem}.ops-error-label{text-transform:uppercase;letter-spacing:.04em;color:var(--danger);margin-bottom:.25rem;font-size:.7rem}.ops-error code{word-break:break-word;font-size:.74rem;display:block}.ops-actions{flex-wrap:wrap;gap:.4rem;display:flex}.ops-actions button{padding:.35rem .6rem;font-size:.8rem}.ops-msg{color:var(--text-muted);margin-top:.6rem;font-size:.8rem}.ops-hint{color:var(--text-muted);font-size:.78rem}.ops-failures{margin-top:var(--gap)}.ops-failures h2{margin:0 0 .5rem;font-size:1rem}.ops-fail-list{margin:0;padding:0;list-style:none}.ops-fail-list li{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(120px,200px) 90px minmax(0,1fr) auto;align-items:baseline;gap:.6rem;padding:.45rem 0;font-size:.82rem;display:grid}@media (width<=800px){.ops-fail-list li{grid-template-columns:1fr;gap:.15rem}}.ops-fail-link{color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.ops-fail-link:hover{background:0 0;text-decoration:underline}.ops-fail-when{color:var(--text-muted);font-size:.76rem}.ops-fail-msg{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.lg-canvas{border:1px solid var(--border);background:var(--surface);border-radius:10px;position:relative;overflow:hidden}.lg-svg{cursor:grab;-webkit-user-select:none;user-select:none;display:block}.lg-svg:active{cursor:grabbing}.lg-edge{fill:none;stroke:var(--border);stroke-width:1.6px}.lg-arrow-head{fill:var(--border)}.lg-g{cursor:pointer}.lg-g:focus{outline:none}.lg-g:focus .lg-rect,.lg-g:hover .lg-rect{stroke:var(--accent)}.lg-rect{fill:var(--bg-elev);stroke:var(--border);stroke-width:1px}.lg-rect-dataset{stroke-dasharray:4 3}.lg-rect.is-selected{stroke:var(--accent);stroke-width:2px}.lg-title{fill:var(--text);font-size:12.5px;font-weight:600}.lg-sub{fill:var(--text-muted);font-size:10.5px}.lg-sub-bad{fill:var(--danger)}.lg-mono{font-family:ui-monospace,monospace;font-size:9.5px}.lg-controls{gap:4px;display:flex;position:absolute;bottom:10px;left:10px}.lg-controls button{background:var(--surface);width:28px;height:28px;color:var(--text);border:1px solid var(--border);padding:0;font-size:.95rem;line-height:1}.lg-controls button:hover{background:var(--surface-2)}
