:root{color-scheme:light dark;--font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 9999px;--t-fast: .15s ease;--t-normal: .25s cubic-bezier(.4, 0, .2, 1);--t-slow: .4s cubic-bezier(.4, 0, .2, 1);--nav: #17211f;--nav-soft: #24322f;--nav-border: #2c3a37;--nav-text: #d9e3df;--nav-text-muted: #82918c;--nav-active: #2a3a36;--nav-hover: #24332f;--nav-accent: #35b89d;--accent: #167d69;--accent-strong: #0e6655;--accent-soft: #e4f3ef;--accent-hover: color-mix(in oklch, var(--accent), black 10%);--text: #17211f;--text-secondary: #475569;--muted: #64736f;--faint: #8d9b97;--border: #dfe6e3;--border-subtle: #eef2f0;--border-strong: #cbd6d2;--surface: #ffffff;--surface-soft: #f7f9f8;--surface-hover: #f1f5f4;--surface-page: #f3f6f5;--warning: #b96d00;--warning-strong: #8d5300;--warning-soft: #fff5df;--warning-accent: #d8860b;--danger: #b83a3a;--danger-strong: #a02e2e;--danger-soft: #fff0ef;--danger-accent: #c33b3b;--success: #187b52;--success-soft: #eaf6ef;--success-accent: #29936a;--info: #2563eb;--info-soft: #dbeafe;--shadow-sm: 0 1px 3px rgba(28, 43, 38, .06);--shadow-md: 0 4px 12px rgba(28, 43, 38, .08);--shadow-lg: 0 10px 30px rgba(28, 43, 38, .1);--shadow-xl: 0 18px 40px rgba(24, 42, 36, .12);--skeleton-base: #e2e8e0;--skeleton-highlight: #f1f5f0;--table-header-bg: #f5f8f7;--table-row-hover: #fbfcfc;--table-row-alt: #fafbfa;--table-border: #e9eeec;--topology-bg: #f8faf9;--topology-grid: #d7e0dd;--topology-node-border: #cfdad6;--topology-node-shadow: 0 5px 15px rgba(30, 49, 43, .08);--topology-node-hover-shadow: 0 8px 24px rgba(30, 49, 43, .14);--topology-handle: #668c82;--topology-edge-normal: #8ca49e;--topology-container-bg: rgba(226, 240, 235, .28);--topology-container-border: #95b4ab;--topology-app-card: #eef4f8;--topology-app-card-header: #e4eef5;--topology-app-card-border: #688ba3;--topology-app-card-tile: #f7fafc}[data-theme=dark]{--nav: #0a0f0e;--nav-soft: #131a18;--nav-border: #1e2826;--nav-text: #c4d4cf;--nav-text-muted: #6b7a75;--nav-active: #1a2624;--nav-hover: #161f1d;--nav-accent: #35b89d;--accent: #2dbf9e;--accent-strong: #20a888;--accent-soft: rgba(45, 191, 158, .12);--accent-hover: color-mix(in oklch, var(--accent), white 12%);--text: #e2e8e0;--text-secondary: #94a399;--muted: #7a8a84;--faint: #5a6a64;--border: #1e2826;--border-subtle: #161e1c;--border-strong: #2d3a37;--surface: #131a18;--surface-soft: #0f1514;--surface-hover: #1a2422;--surface-page: #0a0f0e;--warning: #f0a030;--warning-strong: #d8860b;--warning-soft: rgba(240, 160, 48, .12);--warning-accent: #f0a030;--danger: #ef5050;--danger-strong: #d93838;--danger-soft: rgba(239, 80, 80, .12);--danger-accent: #ef5050;--success: #2dbf6e;--success-soft: rgba(45, 191, 110, .12);--success-accent: #2dbf6e;--info: #4d8ef1;--info-soft: rgba(77, 142, 241, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .3);--shadow-xl: 0 18px 40px rgba(0, 0, 0, .35);--skeleton-base: #1a2422;--skeleton-highlight: #24322f;--table-header-bg: #161e1c;--table-row-hover: #1a2422;--table-row-alt: #161e1c;--table-border: #1e2826;--topology-bg: #0f1514;--topology-grid: #1e2826;--topology-node-border: #2d3a37;--topology-node-shadow: 0 5px 15px rgba(0, 0, 0, .3);--topology-node-hover-shadow: 0 8px 24px rgba(0, 0, 0, .4);--topology-handle: #4a635d;--topology-edge-normal: #4a635d;--topology-container-bg: rgba(45, 191, 158, .05);--topology-container-border: #2d3a37;--topology-app-card: #18262f;--topology-app-card-header: #1d303a;--topology-app-card-border: #668fa8;--topology-app-card-tile: #101a20}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--nav: #0a0f0e;--nav-soft: #131a18;--nav-border: #1e2826;--nav-text: #c4d4cf;--nav-text-muted: #6b7a75;--nav-active: #1a2624;--nav-hover: #161f1d;--accent: #2dbf9e;--accent-strong: #20a888;--accent-soft: rgba(45, 191, 158, .12);--accent-hover: color-mix(in oklch, var(--accent), white 12%);--text: #e2e8e0;--text-secondary: #94a399;--muted: #7a8a84;--faint: #5a6a64;--border: #1e2826;--border-subtle: #161e1c;--border-strong: #2d3a37;--surface: #131a18;--surface-soft: #0f1514;--surface-hover: #1a2422;--surface-page: #0a0f0e;--warning: #f0a030;--warning-strong: #d8860b;--warning-soft: rgba(240, 160, 48, .12);--warning-accent: #f0a030;--danger: #ef5050;--danger-strong: #d93838;--danger-soft: rgba(239, 80, 80, .12);--danger-accent: #ef5050;--success: #2dbf6e;--success-soft: rgba(45, 191, 110, .12);--success-accent: #2dbf6e;--info: #4d8ef1;--info-soft: rgba(77, 142, 241, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .3);--shadow-xl: 0 18px 40px rgba(0, 0, 0, .35);--skeleton-base: #1a2422;--skeleton-highlight: #24322f;--table-header-bg: #161e1c;--table-row-hover: #1a2422;--table-row-alt: #161e1c;--table-border: #1e2826;--topology-bg: #0f1514;--topology-grid: #1e2826;--topology-node-border: #2d3a37;--topology-node-shadow: 0 5px 15px rgba(0, 0, 0, .3);--topology-node-hover-shadow: 0 8px 24px rgba(0, 0, 0, .4);--topology-handle: #4a635d;--topology-edge-normal: #4a635d;--topology-container-bg: rgba(45, 191, 158, .05);--topology-container-border: #2d3a37;--topology-app-card: #18262f;--topology-app-card-header: #1d303a;--topology-app-card-border: #668fa8;--topology-app-card-tile: #101a20}}*{box-sizing:border-box}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html,body,#root{min-height:100%;margin:0}html{font-size:16px}body{min-width:320px;min-height:100vh;font-family:var(--font-family);font-size:var(--fs-base);color:var(--text);background:var(--surface-page);font-synthesis:none;text-rendering:optimizeLegibility;transition:background var(--t-normal),color var(--t-normal)}button,input,select{font:inherit}button{color:inherit}button,a,select,input{outline:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.skip-link{position:absolute;top:-40px;left:8px;z-index:9999;padding:var(--sp-2) var(--sp-4);background:var(--surface);color:var(--accent);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;transition:top var(--t-fast)}.skip-link:focus{top:8px}.app-shell{min-height:100vh;display:flex;background:var(--surface-page)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:220px;display:flex;flex-direction:column;color:var(--nav-text);background:var(--nav);border-right:1px solid var(--nav-border);transition:width var(--t-normal)}.brand{height:72px;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);border-bottom:1px solid var(--nav-border);background:linear-gradient(180deg,var(--nav-soft) 0%,var(--nav) 100%)}.brand-mark{width:36px;height:36px;display:grid;place-items:center;overflow:hidden;color:#fff;background:var(--accent);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px #ffffff24,0 2px 8px #167d694d}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.brand div{display:grid;gap:2px;min-width:0}.brand strong{font-size:var(--fs-base);letter-spacing:.01em;color:#fff;overflow-wrap:anywhere}.brand small{font-size:var(--fs-xs);letter-spacing:.11em;color:var(--nav-text-muted);text-transform:uppercase}.workspace-switcher{margin:var(--sp-4) var(--sp-3) var(--sp-5);padding:var(--sp-3);display:grid;grid-template-columns:18px 1fr;gap:var(--sp-2);align-items:center;background:var(--nav-soft);border:1px solid var(--nav-border);border-radius:var(--r-md);color:#b8c6c1;cursor:default}.workspace-switcher div{min-width:0;display:grid;gap:2px}.workspace-switcher span{font-size:var(--fs-sm);font-weight:650;color:#edf4f1}.workspace-switcher small{font-size:var(--fs-xs);color:var(--nav-text-muted)}.sidebar nav{flex:1;min-height:0;padding:0 var(--sp-3) var(--sp-3);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--nav-border) transparent}.nav-group{margin-bottom:var(--sp-1)}.nav-group-toggle{width:100%;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-3);color:var(--nav-text-muted);background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:680;letter-spacing:.1em;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.nav-group-toggle:hover,.nav-group-toggle.has-active{color:#dce8e4;background:#ffffff09}.nav-group-toggle svg{transition:transform var(--t-fast)}.nav-group-toggle svg.is-expanded{transform:rotate(180deg)}.nav-group-items{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}.nav-group-items>div{min-height:0;overflow:hidden;padding-left:var(--sp-1)}.nav-group-items.is-expanded{grid-template-rows:1fr;opacity:1}@media(prefers-reduced-motion:reduce){.nav-group-items{transition:none}}.nav-label{margin:0 var(--sp-3) var(--sp-2);font-size:var(--fs-xs);letter-spacing:.15em;color:var(--nav-text-muted)}.nav-item{height:42px;display:flex;align-items:center;gap:var(--sp-3);margin:3px 0;padding:0 var(--sp-3);color:#a9b8b3;text-decoration:none;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:580;transition:color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);position:relative}.nav-item:hover{color:#f1f6f4;background:var(--nav-hover)}.nav-item.is-active{color:#fff;background:var(--nav-active);box-shadow:inset 4px 0 0 var(--nav-accent);border-radius:0 var(--r-sm) var(--r-sm) 0}.nav-item em{min-width:20px;height:18px;margin-left:auto;display:grid;place-items:center;padding:0 5px;color:#ffd8ab;background:#613c17;border-radius:var(--r-full);font-size:var(--fs-xs);font-style:normal}.sidebar-footer{margin-top:auto;border-top:1px solid var(--nav-border)}.sidebar-footer>button{width:calc(100% - 20px);height:40px;margin:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);color:#96a6a1;background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.sidebar-footer>button:hover{background:var(--nav-hover);color:#fff}.operator{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.operator>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#17332d;background:#8cd8c6;font-size:var(--fs-xs);font-weight:750}.operator>div:not(.language-switcher){display:grid;gap:2px}.operator strong{color:#cbd7d3;font-size:var(--fs-sm)}.operator small{color:var(--nav-text-muted);font-size:var(--fs-xs)}.app-main{width:calc(100% - 220px);min-height:100vh;margin-left:220px;transition:width var(--t-normal),margin var(--t-normal)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success-accent);box-shadow:0 0 0 4px var(--success-soft);animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{box-shadow:0 0 0 4px var(--success-soft)}50%{box-shadow:0 0 0 7px transparent}}.stale-banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-6);background:var(--warning-soft);color:var(--warning-strong);border-bottom:1px solid color-mix(in oklch,var(--warning-accent),transparent 70%);font-size:var(--fs-sm)}.stale-banner button{margin-left:auto;padding:var(--sp-1) var(--sp-3);color:#fff;background:var(--warning);border:0;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:background var(--t-fast)}.stale-banner button:hover{background:var(--warning-strong)}.content{min-height:calc(100vh - 44px)}.page{max-width:1700px;margin:0 auto;padding:var(--sp-5) var(--sp-6) var(--sp-8);animation:page-enter var(--t-normal)}.topology-page,.resources-page{height:calc(100vh - 44px);padding:12px 16px 16px;display:flex;flex-direction:column}.topology-page .topology-split{flex:1;min-height:0}.topology-workspace,.inventory-panel{height:100%;min-height:0;display:flex;flex-direction:column}@keyframes page-enter{0%{transform:translateY(4px)}}.page-heading{min-height:68px;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-5)}.page-heading h1{margin:2px 0 var(--sp-1);font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.025em}.page-heading p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.page-heading .page-context{color:var(--accent);font-size:var(--fs-xs);font-weight:800;letter-spacing:.15em}.page-heading-meta{display:flex;align-items:center;gap:var(--sp-2);margin-top:22px;color:var(--muted);font-size:var(--fs-sm)}.compact-heading{min-height:58px;margin-bottom:var(--sp-3)}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.summary-item{min-width:0;min-height:88px;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);border-right:1px solid var(--border);position:relative;transition:background var(--t-fast)}.summary-item:last-child{border-right:0}.summary-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:background var(--t-fast)}.summary-item.tone-warning:before{background:var(--warning-accent)}.summary-item.tone-danger:before{background:var(--danger-accent)}.summary-item:hover{background:var(--surface-hover)}.summary-icon{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;color:var(--text-secondary);background:var(--surface-soft);border-radius:var(--r-md);transition:transform var(--t-fast)}.summary-item:hover .summary-icon{transform:scale(1.08)}.summary-item.tone-warning .summary-icon{color:var(--warning-accent);background:var(--warning-soft)}.summary-item.tone-danger .summary-icon{color:var(--danger-accent);background:var(--danger-soft)}.summary-item>div{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:var(--sp-2)}.summary-item p{grid-column:1 / -1;margin:0 0 3px;color:var(--muted);font-size:var(--fs-xs)}.summary-item strong{font-size:var(--fs-xl);line-height:1.1;letter-spacing:-.02em}.summary-item span:last-child{overflow:hidden;color:var(--faint);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--sp-4)}.topology-panel,.alert-panel{min-width:0;overflow:hidden}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-fast)}.panel:hover{box-shadow:var(--shadow-md)}.panel-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:0 var(--sp-5);border-bottom:1px solid var(--border)}.panel-header h2{margin:0 0 3px;font-size:var(--fs-md)}.panel-header p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.panel-header-actions{display:flex;align-items:center;gap:var(--sp-2)}.text-button{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) 2px;color:var(--accent);background:transparent;border:0;font-size:var(--fs-sm);font-weight:650;cursor:pointer;transition:color var(--t-fast)}.text-button:hover{color:var(--accent-strong)}.secondary-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-3);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:620;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.secondary-button:hover{color:var(--accent);border-color:color-mix(in oklch,var(--accent),transparent 40%);background:var(--accent-soft)}.secondary-button:active{transform:scale(.97)}.topology-canvas{position:relative;width:100%;height:auto;min-height:0;flex:1 1 auto;overflow:hidden;background:var(--topology-bg);transition:background var(--t-normal)}.react-flow__controls{border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);overflow:hidden}.react-flow__controls-button{width:30px;height:30px;color:var(--text-secondary);background:var(--surface);border-color:var(--border)}.react-flow__controls-button:hover{background:var(--surface-hover)}.react-flow__minimap{border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:none}.react-flow__node{transition:z-index 0s .25s}.react-flow__node:hover{z-index:1000!important;transition:z-index 0s}.react-flow__node.selected{z-index:1000!important}.react-flow__node.dragging{z-index:1100!important}.topology-node{position:relative;width:210px;min-height:96px;padding:var(--sp-3) var(--sp-3) var(--sp-2);background:var(--surface);border:1px solid var(--topology-node-border);border-left:4px solid #6d9087;border-radius:var(--r-md);box-shadow:var(--topology-node-shadow);cursor:pointer;transition:box-shadow var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.topology-node:hover{transform:translateY(-2px);box-shadow:var(--topology-node-hover-shadow)}.topology-node.is-selected{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),var(--topology-node-hover-shadow)}.topology-node-warning{border-left-color:var(--warning-accent);background:linear-gradient(90deg,var(--warning-soft) 0%,var(--surface) 30%)}.topology-node-critical{border-left-color:var(--danger-accent);background:linear-gradient(90deg,var(--danger-soft) 0%,var(--surface) 30%);animation:critical-pulse 2s ease-in-out infinite}@keyframes critical-pulse{0%,to{box-shadow:var(--topology-node-shadow)}50%{box-shadow:var(--topology-node-shadow),0 0 0 3px var(--danger-soft)}}.topology-node:has(.topology-node-select:focus-visible){border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),var(--topology-node-hover-shadow)}.topology-node-head{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:var(--sp-2)}.node-icon{width:30px;height:30px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-sm)}.node-title-wrap strong{overflow:hidden;font-size:var(--fs-sm);line-height:1.3;white-space:nowrap;text-overflow:ellipsis}.node-title-wrap span{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase}.node-meta{margin:var(--sp-2) 0 0 38px;overflow:hidden;color:var(--text-secondary);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis}.node-expand{min-height:28px;margin:var(--sp-1) 0 0 38px;display:inline-flex;align-items:center;gap:3px;padding:0 var(--sp-1);color:var(--accent);background:none;border:0;font-size:var(--fs-sm);font-weight:650;cursor:pointer;transition:color var(--t-fast)}.node-expand:hover{color:var(--accent-strong)}.topology-node>.demo-tag{position:absolute;right:var(--sp-2);bottom:var(--sp-2);color:var(--warning-strong);font-size:var(--fs-xs)}.topology-canvas{position:relative;width:100%;height:auto;min-height:0;overflow:hidden;background:var(--topology-bg)}.topology-canvas.is-compact{height:auto;min-height:0}.business-preview{position:relative;min-height:430px;padding:46px 24px 28px;overflow:hidden;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-soft) 100%)}.business-preview-mainline{display:grid;grid-template-columns:minmax(126px,1fr) 34px minmax(148px,1.1fr) 34px minmax(136px,1fr) 52px minmax(150px,1.1fr);align-items:center;gap:6px}.business-preview-node{position:relative;z-index:2;min-width:0;min-height:76px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--topology-node-border);border-left:3px solid var(--success-accent);border-radius:7px;box-shadow:0 5px 14px #1e312b12;cursor:pointer}.business-preview-node:hover{border-color:#75aa9d;box-shadow:0 8px 20px #1e312b1c}.business-preview-node:focus-visible{outline:3px solid rgba(22,125,105,.22);outline-offset:2px}.business-preview-node.status-warning{border-left-color:var(--warning);background:linear-gradient(90deg,#fff8e9 0,#fff 38%)}.business-preview-node.status-critical{border-left-color:var(--danger);background:linear-gradient(90deg,#fff0ef 0,#fff 38%)}.business-preview-node.status-unknown{border-left-color:#8c9995}.business-preview-icon{width:32px;height:32px;display:grid;place-items:center;color:#2f6f60;background:#eaf3f0;border-radius:6px}.business-preview-copy{min-width:0;display:grid;gap:3px}.business-preview-copy strong,.business-preview-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.business-preview-copy strong{font-size:11px}.business-preview-copy small{color:#71807c;font-size:8px}.business-preview-arrow{position:relative;display:grid;justify-items:center;color:#78928a}.business-preview-arrow:before{content:"";position:absolute;top:50%;left:-8px;right:-8px;height:2px;background:#bccbc6;transform:translateY(-50%)}.business-preview-arrow svg{position:relative;margin-left:auto;background:#f8fbfa}.business-preview-arrow span{position:absolute;z-index:1;bottom:15px;color:#96600c;font-size:8px;font-weight:700;white-space:nowrap}.business-preview-arrow.is-warning{color:#b16c04}.business-preview-arrow.is-warning:before{background:repeating-linear-gradient(90deg,#d8860b 0 7px,transparent 7px 11px)}.business-preview-incident{width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;margin:16px 0 26px auto;padding:8px 10px;color:#80500b;background:#fff6e4;border:1px solid #efd7a7;border-radius:5px}.business-preview-incident span{display:flex;gap:8px;font-size:9px}.business-preview-downstream{position:relative;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding-top:24px}.business-preview-downstream:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:#bccbc6}.business-preview-downstream:after{content:"";position:absolute;top:-27px;right:10%;width:1px;height:27px;background:#bccbc6}.business-preview-branch-line{position:absolute;top:0;left:10%;right:10%}.business-preview-downstream .business-preview-node:before{content:"";position:absolute;bottom:100%;left:50%;width:1px;height:24px;background:#bccbc6}.react-flow__controls{border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #1c2b2614;overflow:hidden}.react-flow__controls-button{width:27px;height:27px;color:#4c5e59;background:#fff;border-color:var(--border)}.react-flow__minimap{border:1px solid var(--border);border-radius:5px;box-shadow:none}.topology-node{position:relative;width:185px;min-height:91px;padding:11px 11px 9px;background:var(--surface);border:1px solid var(--topology-node-border);border-left:3px solid var(--topology-handle);border-radius:7px;box-shadow:0 5px 15px #1e312b14;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.topology-node:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1e312b1f}.topology-node.is-selected{border-color:#248e77;box-shadow:0 0 0 3px #248e7729,0 8px 20px #1e312b1f}.topology-node-warning{border-left-color:var(--warning);background:linear-gradient(90deg,#fffaf0 0,#fff 26%)}.topology-node-critical{border-left-color:var(--danger);background:linear-gradient(90deg,#fff3f2 0,#fff 26%)}.topology-node-unknown{border-left-color:#8c9995}.topology-node-warning:after,.topology-node-critical:after{content:"";position:absolute;inset:-5px;z-index:0;border:1px solid transparent;border-radius:10px;pointer-events:none}.topology-node-warning:after{border-color:color-mix(in oklch,var(--warning-accent),transparent 42%);animation:topology-warning-pulse 2s ease-in-out infinite}.topology-node-critical:after{border-color:color-mix(in oklch,var(--danger-accent),transparent 34%);animation:topology-critical-pulse 1.5s ease-in-out infinite}@keyframes topology-warning-pulse{0%,to{opacity:.42;box-shadow:0 0 0 1px color-mix(in oklch,var(--warning-accent),transparent 88%)}50%{opacity:1;box-shadow:0 0 0 6px color-mix(in oklch,var(--warning-accent),transparent 82%),0 0 16px color-mix(in oklch,var(--warning-accent),transparent 74%)}}@keyframes topology-critical-pulse{0%,to{opacity:.5;box-shadow:0 0 0 1px color-mix(in oklch,var(--danger-accent),transparent 86%)}50%{opacity:1;box-shadow:0 0 0 7px color-mix(in oklch,var(--danger-accent),transparent 78%),0 0 18px color-mix(in oklch,var(--danger-accent),transparent 68%)}}.topology-node-select{width:100%;display:block;padding:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.topology-node:has(.topology-node-select:focus-visible){border-color:#248e77;box-shadow:0 0 0 4px #248e7738,0 8px 20px #1e312b1f}.unified-topology-canvas{isolation:isolate;background:linear-gradient(180deg,var(--surface) 0%,var(--topology-bg) 100%)}.unified-topology-canvas .react-flow__pane{cursor:grab}.unified-topology-canvas .react-flow__node-container{pointer-events:none!important}.unified-topology-canvas .react-flow__node-resource{pointer-events:all!important}.unified-zone-node{position:relative;width:100%;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;align-content:start;row-gap:2px;padding:12px 14px;color:var(--accent-strong);background:var(--topology-container-bg);border:1px dashed var(--topology-container-border);border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff80}.unified-zone-node strong{justify-self:start;color:var(--accent-strong);font-size:13px;font-weight:750;letter-spacing:.01em}.unified-zone-node span{justify-self:start;align-self:start;color:var(--text-secondary);font:650 11px ui-monospace,SFMono-Regular,Menlo,monospace}.unified-zone-node small{grid-column:1 / -1;align-self:end;color:var(--muted);font-size:11px;font-weight:550;line-height:1.45}.topology-region-tone-0{--topology-region-accent: #2878b8;--topology-region-soft: rgba(40,120,184,.08)}.topology-region-tone-1{--topology-region-accent: #7a5eb5;--topology-region-soft: rgba(122,94,181,.08)}.topology-region-tone-2{--topology-region-accent: #b86d24;--topology-region-soft: rgba(184,109,36,.08)}.topology-region-tone-3{--topology-region-accent: #168878;--topology-region-soft: rgba(22,136,120,.08)}.topology-region-tone-4{--topology-region-accent: #a84f77;--topology-region-soft: rgba(168,79,119,.08)}.topology-region-tone-5{--topology-region-accent: #55752b;--topology-region-soft: rgba(85,117,43,.08)}.topology-region-multi{--topology-region-accent: #65727d;--topology-region-soft: rgba(101,114,125,.08)}.topology-region-unknown{--topology-region-accent: #8a9691;--topology-region-soft: rgba(138,150,145,.08)}.unified-zone-node[class*=topology-region-]{border-color:color-mix(in srgb,var(--topology-region-accent) 58%,transparent);background:linear-gradient(180deg,var(--topology-region-soft),var(--topology-container-bg) 34%)}.unified-zone-node[class*=topology-region-]:before{content:"";position:absolute;top:0;right:12px;left:12px;height:3px;background:var(--topology-region-accent);border-radius:0 0 3px 3px;opacity:.72}.unified-zone-node.is-region-zone{border-style:solid;border-width:1.5px;box-shadow:inset 0 0 0 1px #ffffffb8,0 4px 12px #1e312b0f}.unified-zone-node.is-region-zone strong{color:var(--topology-region-accent);font-size:14px}.unified-zone-node.is-region-zone>span{color:var(--text-secondary);font-weight:700}.topology-region-legend{position:absolute;top:10px;right:12px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:72%;margin:0;padding:0;list-style:none}.topology-region-legend li{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;color:var(--text-secondary);background:color-mix(in srgb,var(--surface) 88%,var(--topology-region-soft));border:1px solid color-mix(in srgb,var(--topology-region-accent) 35%,var(--border));border-radius:999px;box-shadow:0 1px 2px #1e312b0f}.topology-region-legend li>i{width:7px;height:7px;flex:0 0 7px;background:var(--topology-region-accent);border-radius:50%}.topology-region-legend li>span{color:var(--text-secondary);font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:none}.topology-region-legend li>small{grid-column:auto;color:var(--muted);font-size:9px;line-height:1.2;white-space:nowrap}.unified-topology-node{width:184px;min-height:116px;padding-bottom:24px;cursor:default}.topology-node-host{min-height:154px;padding-bottom:9px}.topology-node-host[class*=topology-region-]:before{content:"";position:absolute;z-index:1;top:-1px;right:8px;left:8px;height:3px;background:var(--topology-region-accent);border-radius:0 0 3px 3px}.topology-node-region{display:inline-flex;align-items:center;gap:4px;min-width:0;color:var(--topology-region-accent, var(--muted));font-size:9px;font-weight:750;line-height:1.2;white-space:nowrap}.topology-node-region>i{width:6px;height:6px;flex:0 0 6px;background:var(--topology-region-accent, var(--muted));border-radius:50%}.topology-node-host:has(.data-dependency-toggle-row){padding-bottom:39px}.topology-node-data-service{min-height:116px;padding-bottom:9px;border-left-color:#427ca5}.topology-node-data-service:has(.mode-self_hosted){border-left-color:#a96509}.topology-node-client{min-height:148px;padding-bottom:9px}.topology-node-host.topology-node-warning,.topology-node-host.topology-node-critical{background:var(--surface);border-color:var(--topology-node-border);border-left-color:var(--topology-handle)}.topology-node-host.topology-node-warning:after,.topology-node-host.topology-node-critical:after{content:none;animation:none;box-shadow:none}.topology-node-public-entry{width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;color:var(--accent-strong);background:transparent;border:0;border-radius:50%;box-shadow:none}.topology-node-public-entry:hover{transform:scale(1.06);box-shadow:none}.topology-node-public-entry.is-selected{border:0;box-shadow:none}.topology-node-public-entry:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border:0;box-shadow:none}.topology-node-public-entry:after{content:none}.topology-node-public-entry .react-flow__handle,.topology-node-public-entry:hover .react-flow__handle,.topology-node-public-entry:focus-visible .react-flow__handle{opacity:0}.public-entry-enterprise-device-icon{position:relative;width:48px;height:48px;display:grid;place-items:center;color:var(--accent-strong)}.enterprise-network-device-glyph{width:36px;height:32px;overflow:visible}.enterprise-network-device-chassis{fill:color-mix(in srgb,var(--surface) 72%,var(--accent-soft));stroke:currentColor;stroke-width:1.6}.enterprise-network-device-rack-ear,.enterprise-network-device-mark{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25}.enterprise-network-device-port{fill:color-mix(in srgb,currentColor 82%,#10231f);stroke:none}.enterprise-network-device-led{fill:var(--success-accent);stroke:var(--surface);stroke-width:.55}.public-entry-status-dot{position:absolute;top:4px;right:3px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%}.public-entry-status-healthy{background:var(--success-accent)}.public-entry-status-warning{background:var(--warning-accent)}.public-entry-status-critical{background:var(--danger-accent)}.public-entry-status-unknown{background:#8c9995}.unified-topology-node .node-title-wrap strong{line-height:1.2;white-space:normal;text-overflow:clip}.unified-topology-node:focus-visible{outline:none;border-color:#248e77;box-shadow:0 0 0 4px #248e7738,0 10px 24px #1e312b24}.unified-topology-node.is-attention{animation:attention-pulse 1.8s ease-in-out 2}.unified-topology-node .react-flow__handle{opacity:0;transition:opacity .12s ease}.unified-topology-node:hover .react-flow__handle,.unified-topology-node:focus-visible .react-flow__handle{opacity:.72}.application-component-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:8px 0 0;padding:0}.application-component-item{min-width:0;min-height:38px;display:grid;align-content:center;gap:2px;padding:5px 6px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px}.application-component-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.application-component-item strong{overflow:hidden;color:var(--text-secondary);font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.application-component-item span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:700;line-height:1.2}.application-component-item span i{width:6px;height:6px;flex:0 0 6px;background:#8c9995;border-radius:50%}.application-component-region{overflow:hidden;color:var(--muted);font-size:8px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.client-traffic-metrics{margin-top:7px;padding-top:6px;border-top:1px solid var(--border-subtle)}.client-traffic-metric-grid{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:0;padding:0}.client-traffic-metric-item{min-width:0;grid-column:span 2;display:grid;gap:1px;padding:4px 5px;background:var(--surface-soft);border:1px solid var(--border);border-radius:4px}.client-traffic-metric-item:nth-child(-n+2){grid-column:span 3}.client-traffic-metric-item span{overflow:hidden;color:var(--muted);font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.client-traffic-metric-item strong{overflow:hidden;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.client-traffic-metrics>p{margin:4px 0 0;color:var(--faint);font-size:7px;font-weight:600;line-height:1.2;text-align:right}.application-component-healthy span{color:var(--success)}.application-component-healthy span i{background:var(--success-accent)}.application-component-warning{background:var(--surface-soft);border-color:var(--warning-accent);box-shadow:inset 3px 0 var(--warning-accent),0 0 0 1px color-mix(in srgb,var(--warning-accent),transparent 72%);animation:application-warning-breathe 1.9s ease-in-out infinite}.application-component-warning span{color:var(--warning-strong)}.application-component-warning span i{background:var(--warning-accent)}.application-component-critical{background:var(--surface-soft);border-color:var(--danger-accent);box-shadow:inset 3px 0 var(--danger-accent),0 0 0 1px color-mix(in srgb,var(--danger-accent),transparent 68%);animation:application-critical-breathe 1.35s ease-in-out infinite}.application-component-critical span{color:var(--danger-strong)}.application-component-critical span i{background:var(--danger-accent)}@keyframes application-warning-breathe{0%,to{background-color:var(--surface-soft);border-color:color-mix(in srgb,var(--warning-accent),transparent 16%);box-shadow:inset 3px 0 var(--warning-accent),0 0 0 1px color-mix(in srgb,var(--warning-accent),transparent 78%),0 0 4px color-mix(in srgb,var(--warning-accent),transparent 84%)}50%{background-color:color-mix(in srgb,var(--surface-soft) 82%,var(--warning-accent));border-color:var(--warning-accent);box-shadow:inset 3px 0 var(--warning-accent),0 0 0 3px color-mix(in srgb,var(--warning-accent),transparent 70%),0 0 14px color-mix(in srgb,var(--warning-accent),transparent 58%)}}@keyframes application-critical-breathe{0%,to{background-color:var(--surface-soft);border-color:color-mix(in srgb,var(--danger-accent),transparent 12%);box-shadow:inset 3px 0 var(--danger-accent),0 0 0 1px color-mix(in srgb,var(--danger-accent),transparent 74%),0 0 5px color-mix(in srgb,var(--danger-accent),transparent 80%)}50%{background-color:color-mix(in srgb,var(--surface-soft) 78%,var(--danger-accent));border-color:var(--danger-accent);box-shadow:inset 3px 0 var(--danger-accent),0 0 0 3px color-mix(in srgb,var(--danger-accent),transparent 62%),0 0 16px color-mix(in srgb,var(--danger-accent),transparent 50%)}}.application-component-empty{margin:8px 0 0;padding:9px;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border);border-radius:5px;font-size:9px;text-align:center}.data-dependency-toggle-row{position:absolute;left:10px;right:9px;bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--muted);font-size:9px;font-weight:700}.data-dependency-toggle{width:26px;height:26px;min-height:26px;flex:0 0 26px;padding:0;color:var(--accent);background:var(--accent-soft);border-color:#b7d5cc}.data-dependency-toggle svg{transition:transform var(--t-fast)}.data-dependency-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.data-service-summary{display:grid;gap:6px;margin-top:9px}.data-service-mode-row{display:flex;align-items:center;justify-content:space-between;gap:7px}.data-service-mode{min-width:0;padding:2px 5px;overflow:hidden;color:#2f668d;background:#e9f2f8;border-radius:3px;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.data-service-mode.mode-self_hosted{color:#8b5609;background:#fff2dc}.data-service-mode-row code{color:var(--text-secondary);font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}.data-service-summary>small{overflow:hidden;color:var(--muted);font:600 8px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.data-service-metrics{display:grid;grid-template-columns:1fr 1fr;gap:5px}.data-service-metrics span{min-width:0;color:var(--muted);font-size:8px;white-space:nowrap}.data-service-metrics strong{color:var(--text);font:750 9px ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes attention-pulse{50%{box-shadow:0 0 0 6px #d8860b2e,0 10px 24px #1e312b24}}.topology-node-head{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:start;gap:7px}.node-icon{width:27px;height:27px;display:grid;place-items:center;color:#2f6f60;background:#eaf3f0;border-radius:5px}.node-title-wrap{min-width:0;display:grid;gap:2px}.node-title-wrap strong{overflow:hidden;color:var(--text);font-size:13px;line-height:1.3;white-space:nowrap;text-overflow:ellipsis}.node-title-wrap span{color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.node-meta{margin:8px 0 0 34px;overflow:hidden;color:#546560;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.unified-topology-node:not(.topology-node-host):not(.topology-node-public-entry) .node-meta{overflow:visible;line-height:1.35;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}.node-expand{min-height:26px;margin:5px 0 0 34px;display:inline-flex;align-items:center;gap:3px;padding:0 4px;color:var(--accent);background:none;border:0;font-size:11px;font-weight:650;cursor:pointer}.topology-node>.demo-tag{position:absolute;right:8px;bottom:7px;color:var(--warning-strong);font-size:10px}.react-flow__handle{width:6px;height:6px;background:#668c82;border:1px solid white}.topology-container-node{width:100%;height:100%;padding:8px 10px;color:#3c5d55;background:#e2f0eb47;border:1px dashed #95b4ab;border-radius:8px}.topology-container-node button{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:3px 6px;color:inherit;background:#ffffffc2;border:1px solid rgba(149,180,171,.55);border-radius:5px;cursor:pointer}.topology-container-node span{font-size:11px;font-weight:750}.topology-container-node small{margin-left:3px;color:#687b76;font-size:10px}.topology-edge-warning .react-flow__edge-path{stroke-dasharray:8 5;animation:dash-flow .9s linear infinite;filter:drop-shadow(0 0 2px rgba(216,134,11,.3))}.topology-edge-critical .react-flow__edge-path{stroke-dasharray:6 4;animation:dash-flow .65s linear infinite;filter:drop-shadow(0 0 3px rgba(195,59,59,.38))}.topology-edge-ingress .react-flow__edge-path{opacity:.52}.topology-edge-secondary .react-flow__edge-path{opacity:.58}.topology-edge-primary .react-flow__edge-path{opacity:.92}.topology-edge-healthy .react-flow__edge-path{opacity:.3}.topology-edge-unknown .react-flow__edge-path{opacity:.18}.topology-edge .react-flow__edge-path{stroke-linecap:round;stroke-linejoin:round;transition:opacity var(--t-fast),filter var(--t-fast)}.topology-edge.is-dimmed .react-flow__edge-path{opacity:.08;filter:none}.topology-edge-warning.is-dimmed .react-flow__edge-path,.topology-edge-critical.is-dimmed .react-flow__edge-path{opacity:.42}.topology-edge.is-focus-path .react-flow__edge-path{opacity:1;filter:drop-shadow(0 0 3px color-mix(in oklch,currentColor,transparent 55%))}.is-impact-path path{stroke-dasharray:8 4;filter:drop-shadow(0 0 3px rgba(216,134,11,.35))}.is-impact-path .react-flow__edge-path{opacity:1}.topology-edge-label{position:absolute;z-index:4;padding:2px 5px;color:var(--text-secondary);background:color-mix(in oklch,var(--surface),transparent 5%);border:1px solid var(--border);border-radius:4px;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #1e312b0f}.topology-edge-label-warning{color:var(--warning-strong);border-color:color-mix(in oklch,var(--warning-accent),transparent 55%)}.topology-empty{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:8px;color:#667570;pointer-events:none}.topology-empty svg{color:#8a9994}.topology-empty strong{color:#3c4d48;font-size:13px}.topology-empty span{font-size:11px}.topology-hover-card{position:absolute;z-index:20;width:min(420px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;color:var(--text);background:color-mix(in oklch,var(--surface),transparent 1.5%);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 18px 48px #172b2533;overscroll-behavior:contain;scrollbar-width:thin}.hover-card-header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 15px 12px;background:color-mix(in oklch,var(--surface),transparent 3%);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hover-card-header>div{min-width:0}.hover-card-header span:first-child{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.12em}.hover-card-header h2{margin:4px 0 3px;overflow:hidden;font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.hover-card-header p{margin:0;color:var(--muted);font:600 9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.hover-card-section{padding:13px 15px 15px}.hover-card-section+.hover-card-section{border-top:1px solid var(--border)}.hover-card-section-title{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:#3f554f}.hover-card-section-title svg{color:var(--accent)}.hover-card-section-title strong{font-size:11px}.hover-card-section-title>span:last-child{margin-left:auto;color:#74837f;font-size:9px}.hover-card-section-title>.demo-data-label:last-child{color:#835d14}.hover-resource-list{display:grid;gap:9px}.hover-resource{display:grid;gap:8px;padding:11px;background:var(--surface-soft);border:1px solid var(--border);border-radius:7px}.hover-resource-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px}.hover-resource-head>div{min-width:0;display:grid;gap:2px}.hover-resource-head strong{font-size:11px}.hover-resource-head small{color:var(--muted);font-size:8px;letter-spacing:.06em}.hover-resource>p{margin:0 0 0 36px;color:var(--muted);font-size:9px}.hover-resource-facts{display:grid;grid-template-columns:1.4fr 1fr;gap:7px;margin:0 0 0 36px}.hover-resource-facts div{min-width:0;display:grid;gap:3px}.hover-resource-facts dt{color:var(--faint);font-size:8px}.hover-resource-facts dd{margin:0;overflow-wrap:anywhere;font:650 8px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.hover-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.hover-fact-grid>div{min-width:0;padding:8px 9px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px}.hover-fact-grid dt{display:flex;align-items:center;gap:4px;margin-bottom:4px;color:#74837f;font-size:9px}.hover-fact-grid dd{margin:0;color:#30443e;font:650 10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.hover-application-list{display:grid;gap:8px}.hover-application{padding:10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:7px}.hover-application-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px}.hover-application-icon{width:28px;height:28px;display:grid;place-items:center;color:#317465;background:#e8f2ef;border-radius:5px}.hover-application-head>div{min-width:0;display:grid;gap:2px}.hover-application-head strong{font-size:10px}.hover-application-head small{overflow:hidden;color:#7c8b87;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.hover-application-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 7px 36px;color:#657570;font-size:8px}.hover-application-metrics span{display:inline-flex;align-items:center;gap:3px}.hover-port-list{margin-left:36px;display:grid;gap:5px}.hover-port{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 8px;background:var(--surface);border:1px solid var(--border);border-radius:5px}.hover-port code{color:#285f52;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.hover-port>span{min-width:0;color:#61716c;font:600 8px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.hover-port>strong{padding:2px 5px;color:#46678c;background:#edf4fb;border-radius:3px;font-size:8px;white-space:nowrap}.hover-port>small{grid-column:1 / -1;color:#71817c;font-size:8px;line-height:1.4;overflow-wrap:anywhere}.topology-hover-card-application{width:min(360px,calc(100% - 24px));background:var(--topology-app-card);border-color:var(--topology-app-card-border);border-left:3px solid var(--topology-app-card-border)}.topology-hover-card-application .hover-card-header{background:var(--topology-app-card-header);border-bottom-color:var(--topology-app-card-border)}.topology-hover-card-application .hover-card-header h2,.topology-hover-card-application .hover-fact-grid dd,.topology-hover-card-application .hover-port code{color:var(--text)}.topology-hover-card-application .hover-card-header p,.topology-hover-card-application .hover-fact-grid dt,.topology-hover-card-application .hover-port>span,.topology-hover-card-application .hover-port>small{color:var(--muted)}.topology-hover-card-application .hover-fact-grid>div{background:var(--topology-app-card-tile);border-color:color-mix(in srgb,var(--topology-app-card-border),transparent 54%)}.topology-hover-card-application .hover-port{background:var(--topology-app-card-tile);border-color:color-mix(in srgb,var(--topology-app-card-border),transparent 54%)}.hover-card-application-detail .hover-port-list{margin-left:0}.hover-application-fact-grid>div:last-child:nth-child(odd){grid-column:1 / -1}.node-tooltip{position:absolute;left:50%;top:calc(100% + 8px);z-index:100;min-width:220px;max-width:300px;padding:var(--sp-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-xl);opacity:0;visibility:hidden;transform:translate(-50%) translateY(4px) scale(.96);pointer-events:none;transition:opacity .2s ease,visibility .2s,transform .2s ease}.topology-node:hover .node-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1);transition-delay:.05s}.tooltip-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.tooltip-header strong{font-size:var(--fs-sm)}.tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-1);font-size:var(--fs-xs)}.tooltip-row>span:first-child{color:var(--muted)}.tooltip-row code{color:var(--accent-strong);font-family:var(--font-mono);font-size:var(--fs-xs)}.tooltip-role{color:var(--text-secondary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.tooltip-metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1);margin:var(--sp-2) 0;padding:var(--sp-2) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.tooltip-metric{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-1);padding:2px var(--sp-1)}.tooltip-metric>span{color:var(--muted);font-size:var(--fs-xs)}.tooltip-metric>strong{font-size:var(--fs-sm)}.tooltip-confidence{margin-top:var(--sp-2)}@media(max-width:720px){.node-tooltip{display:none}}.topology-3d-canvas{position:relative;width:100%;height:auto;min-height:0;flex:1 1 auto;overflow:hidden;background:var(--topology-bg);border-radius:0 0 var(--r-lg) var(--r-lg)}.topology-3d-canvas canvas{display:block}.topology-3d-canvas .scene-tooltip{font-family:var(--font-family)!important;background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-sm)!important;box-shadow:var(--shadow-lg)!important;opacity:.95!important}.topology-3d-canvas .graph-tooltip{background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-radius:var(--r-sm)!important;box-shadow:var(--shadow-lg)!important;padding:var(--sp-2) var(--sp-3)!important;font-size:var(--fs-sm)!important;opacity:.95!important}.topology-3d-canvas{border:1px solid var(--border);box-shadow:var(--shadow-md)}.topology-3d-canvas .graph-tooltip{max-width:320px!important;border-radius:var(--r-md)!important;font-family:var(--font-family)!important;line-height:1.6!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}[data-theme=dark] .topology-3d-canvas .graph-tooltip{background:#131a18f2!important;border-color:var(--border-strong)!important;color:#e8ede9!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .topology-3d-canvas .graph-tooltip{background:#131a18f2!important;border-color:var(--border-strong)!important;color:#e8ede9!important}}.topology-3d-hint{position:absolute;right:var(--sp-3);bottom:var(--sp-3);z-index:5;padding:var(--sp-1) var(--sp-3);color:var(--muted);background:#ffffffd9;border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}[data-theme=dark] .topology-3d-hint{background:#131a18d9}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .topology-3d-hint{background:#131a18d9}}@media(prefers-reduced-motion:reduce){.topology-3d-canvas *{animation:none!important}}.react-flow__handle{width:7px;height:7px;background:var(--topology-handle);border:1px solid var(--surface)}.topology-container-node{width:100%;height:100%;padding:var(--sp-3) var(--sp-4);color:var(--text-secondary);background:var(--topology-container-bg);border:1px dashed var(--topology-container-border);border-radius:var(--r-md);pointer-events:none}.topology-container-node>span{font-size:var(--fs-sm);font-weight:750}.topology-container-node small{margin-left:var(--sp-2);color:var(--muted);font-size:var(--fs-xs)}.topology-edge-warning path{filter:drop-shadow(0 0 2px rgba(216,134,11,.24))}.is-impact-path path{stroke-dasharray:8 4;animation:dash-flow .8s linear infinite;filter:drop-shadow(0 0 3px rgba(216,134,11,.35))}@keyframes dash-flow{to{stroke-dashoffset:-12}}.topology-empty{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:var(--sp-2);color:var(--muted);pointer-events:none}.topology-empty svg{color:var(--faint)}.topology-empty strong{color:var(--text-secondary);font-size:var(--fs-md)}.topology-empty span{font-size:var(--fs-sm)}.inventory-count{display:flex;align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-5)}.inventory-count strong{color:var(--accent-strong);font-size:var(--fs-xl)}.inventory-toolbar-count{flex:0 0 auto;margin:0 0 0 auto}.inventory-toolbar-count strong{font-size:var(--fs-lg)}.inventory-panel{overflow:hidden}.inventory-toolbar{min-height:60px;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.inventory-search{width:min(360px,45%)}.inventory-search input{width:100%}.inventory-toolbar .secondary-button{margin-left:0}.table-wrap{max-height:calc(100vh - 155px);overflow:auto}.inventory-panel .table-wrap{flex:1 1 auto;min-height:0;max-height:none}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}thead{position:sticky;top:0;z-index:2}th{height:40px;padding:0 var(--sp-4);color:var(--muted);background:var(--table-header-bg);border-bottom:1px solid var(--border);text-align:left;font-size:var(--fs-xs);font-weight:700;white-space:nowrap}td{height:52px;padding:var(--sp-2) var(--sp-4);color:var(--text-secondary);background:var(--surface);border-bottom:1px solid var(--table-border);vertical-align:middle}tbody tr:nth-child(2n) td{background:var(--table-row-alt)}tbody tr:hover td{background:var(--table-row-hover)}.resource-name-cell{display:flex;align-items:center;gap:var(--sp-3);min-width:175px}.resource-name-cell>div{min-width:0;display:grid;gap:3px}.resource-name-cell strong{overflow:hidden;max-width:220px;color:var(--text);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.resource-name-cell small{color:var(--muted);font-size:var(--fs-xs)}.resource-type-icon{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:800}.type-security-group{color:var(--warning-strong);background:var(--warning-soft)}.type-eip,.type-route53{color:var(--info);background:var(--info-soft)}.table-primary,.table-secondary{display:block}.table-primary{color:var(--text);font-size:var(--fs-sm)}.table-secondary{margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.spec-cell{max-width:230px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-xs)}.locate-button{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);color:var(--accent);background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:650;cursor:pointer;min-height:32px;transition:background var(--t-fast),color var(--t-fast)}.locate-button:hover{background:var(--accent-soft);color:var(--accent-strong)}.locate-button:disabled{opacity:.55;cursor:not-allowed}.primary-button:disabled{opacity:.6;cursor:not-allowed}.acr-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0 0 var(--sp-4)}.acr-tab.is-active{color:#fff;background:var(--nav);border-color:var(--nav)}.acr-row-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px}.acr-mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.acr-cleanup-page tbody tr.is-selected td{background:var(--accent-soft)}.acr-preview-summary{margin:0 0 var(--sp-3);color:var(--muted);font-size:var(--fs-sm)}.site-config-page{display:grid;align-content:start;gap:var(--sp-4)}.site-config-page .page-heading{margin-bottom:0}.site-config-page .panel:hover{box-shadow:var(--shadow-sm)}.site-config-page .panel-header-actions .secondary-button,.site-config-page .panel-header-actions .primary-button{min-height:40px;padding:0 13px;font-size:var(--fs-sm);font-weight:700;border-radius:5px}.site-config-readonly{color:var(--muted);font-size:var(--fs-sm)}.site-config-alert{margin:0;padding:var(--sp-3) var(--sp-4);color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in oklch,var(--danger),transparent 70%);border-radius:var(--r-md);font-size:var(--fs-sm)}.site-config-group .panel-header h2{display:flex;align-items:center;gap:var(--sp-2)}.site-config-group .form-grid{padding-top:16px}.site-config-field-hint{color:var(--muted);font-size:var(--fs-xs);line-height:1.5}.site-config-apply-body{display:grid;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-5)}.site-config-apply-log{margin:0;padding:0;list-style:none;display:grid;gap:2px}.site-config-apply-log li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:8px 0;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-sm)}.site-config-apply-log li:last-child{border-bottom:0;padding-bottom:0}.site-config-apply-log code{color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs)}.acr-error-cell{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acr-drawer-error{flex:0 0 auto;max-height:7.5rem;overflow:auto;white-space:pre-wrap;word-break:break-word}.acr-drawer-overlay{position:fixed;inset:0;z-index:50;display:none;justify-content:flex-end;background:#17211f8c}.acr-drawer-overlay.is-open{display:flex}.acr-drawer-panel{width:min(52rem,100%);height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-xl);border-radius:0}.acr-drawer-panel .table-wrap{flex:1 1 auto;min-height:0;max-height:none}.acr-dialog-overlay{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:var(--sp-4);background:#17211f8c}.acr-dialog-overlay.is-open{display:flex}.acr-dialog{width:min(32rem,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);overflow:hidden}.acr-dialog form{padding:var(--sp-5);display:grid;gap:var(--sp-3)}.acr-dialog label{display:grid;gap:6px;color:var(--muted);font-size:var(--fs-sm)}.acr-dialog input[type=text],.acr-dialog input[type=number],.acr-dialog select{width:100%;height:36px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:5px}.acr-dialog .checkbox-field{display:flex;align-items:center;gap:8px;color:var(--text)}.acr-dialog footer{display:flex;justify-content:flex-end;gap:9px;min-height:57px;padding:10px 20px;background:var(--surface-soft);border-top:1px solid var(--border)}.empty-state{min-height:220px;display:grid;place-items:center;align-content:center;gap:var(--sp-2);color:var(--muted)}.empty-state strong{color:var(--text-secondary);font-size:var(--fs-md)}.empty-state p{margin:0;font-size:var(--fs-sm)}.alert-summary-row{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.alert-summary-row>div{min-height:72px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-right:1px solid var(--border)}.alert-summary-row>div:last-child{border-right:0}.alert-summary-row svg{color:var(--warning-accent)}.alert-summary-row span{color:var(--muted);font-size:var(--fs-sm)}.alert-summary-row strong{font-size:var(--fs-xl)}.alert-summary-label{display:flex;align-items:center;gap:var(--sp-2)}.alert-summary-label .demo-data-label{font-style:normal;white-space:nowrap}.alerts-table-panel{overflow:hidden}.alert-table-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-4);border-bottom:1px solid var(--border)}.alert-table-head h2{margin:0;font-size:var(--fs-md)}.alert-table-head span{color:var(--muted);font-size:var(--fs-xs)}.alert-list{padding:var(--sp-1) 0}.alert-item{position:relative;width:100%;display:grid;grid-template-columns:4px 1fr;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);text-align:left;background:var(--surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t-fast)}.alert-item:hover{background:var(--surface-hover)}.alert-rail{width:4px;min-height:100%;background:var(--warning-accent);border-radius:2px}.alert-copy{min-width:0}.alert-copy>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.alert-copy time{color:var(--muted);font-size:var(--fs-xs)}.alert-copy strong{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-md)}.alert-copy p{margin:0 0 var(--sp-2);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.55}.alert-copy>span{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--accent);font-size:var(--fs-xs);font-weight:650}.impact-note{display:flex;gap:var(--sp-3);margin:var(--sp-4);padding:var(--sp-3);color:var(--warning-strong);background:var(--warning-soft);border:1px solid color-mix(in oklch,var(--warning-accent),transparent 60%);border-radius:var(--r-md)}.impact-note svg{flex:0 0 auto;margin-top:1px}.impact-note strong{font-size:var(--fs-sm)}.impact-note p{margin:3px 0 0;font-size:var(--fs-xs);line-height:1.5}.full-alert-item{display:grid;grid-template-columns:80px 1fr auto;gap:var(--sp-4);align-items:center;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.full-alert-copy strong{font-size:var(--fs-md)}.full-alert-copy p{margin:var(--sp-1) 0 var(--sp-2);color:var(--text-secondary);font-size:var(--fs-sm)}.full-alert-copy>div{display:flex;flex-wrap:wrap;gap:var(--sp-4);color:var(--muted);font-size:var(--fs-xs)}.status-chip{width:max-content;display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:680;white-space:nowrap}.status-chip-compact{padding:2px var(--sp-1);font-size:var(--fs-xs)}.status-healthy{color:var(--success);background:var(--success-soft)}.status-warning{color:var(--warning-strong);background:var(--warning-soft)}.status-critical{color:var(--danger);background:var(--danger-soft)}.status-unknown{color:var(--muted);background:var(--surface-soft)}.demo-data-label,.source-data-label{width:max-content;display:inline-flex;align-items:center;padding:2px var(--sp-1);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:680}.demo-data-label{color:var(--warning-strong);background:var(--warning-soft);border:1px solid color-mix(in oklch,var(--warning-accent),transparent 60%)}.source-data-label{color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in oklch,var(--accent),transparent 60%)}.topology-workspace{overflow:hidden}.topology-toolbar{min-height:56px;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border)}.segmented-control{display:flex;padding:3px;background:var(--surface-soft);border-radius:var(--r-sm)}.segmented-control button{min-height:32px;padding:0 var(--sp-3);color:var(--muted);background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:650;cursor:pointer;transition:color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.segmented-control button:hover{color:var(--text-secondary)}.segmented-control button.is-active{color:var(--accent-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.search-control{height:36px;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-2);color:var(--muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.search-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-control input{width:160px;color:var(--text);background:transparent;border:0;font-size:var(--fs-sm)}.search-control input::placeholder{color:var(--faint)}.search-control button{width:22px;height:22px;display:grid;place-items:center;padding:0;color:var(--muted);background:var(--surface-soft);border:0;border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.search-control button:hover{background:var(--surface-hover);color:var(--text-secondary)}.select-control{height:36px;display:flex;align-items:center;gap:var(--sp-1);padding-left:var(--sp-2);color:var(--muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm)}.select-control select,.plain-select{height:34px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer}.select-control select{padding:0 var(--sp-2) 0 var(--sp-1);border:0}.plain-select{padding:0 var(--sp-2)}.toggle-control{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.toggle-control input{position:absolute;opacity:0;pointer-events:none}.toggle-control span{position:relative;width:32px;height:18px;background:var(--border-strong);border-radius:var(--r-full);transition:background var(--t-fast)}.toggle-control span:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--surface);border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform var(--t-fast)}.toggle-control input:checked+span{background:var(--accent)}.toggle-control input:checked+span:after{transform:translate(14px)}.toggle-control input:focus-visible+span{box-shadow:0 0 0 3px var(--accent-soft)}.loading-state{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;gap:var(--sp-4);color:var(--text-secondary)}.loading-state strong{font-size:var(--fs-md)}.loading-state p{margin:var(--sp-1) 0 0;color:var(--muted);font-size:var(--fs-sm)}.loading-mark{width:44px;height:44px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-md);animation:soft-pulse 1.6s ease-in-out infinite}@keyframes soft-pulse{50%{opacity:.55;transform:scale(.96)}}.error-state{min-height:calc(100vh - 60px);display:grid;place-items:center;align-content:center;gap:var(--sp-2);color:var(--warning-strong)}.error-state h2{margin:0;font-size:var(--fs-lg)}.error-state p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.error-state button{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);color:#fff;background:var(--accent);border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast)}.error-state button:hover{background:var(--accent-strong)}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 37%,var(--skeleton-base) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.skeleton-summary-item{min-height:88px;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-right:1px solid var(--border)}.skeleton-summary-item:last-child{border-right:0}.skeleton-icon{width:40px;height:40px;flex-shrink:0}.skeleton-lines{flex:1;display:grid;gap:var(--sp-1)}.skeleton-line{height:12px}.skeleton-line:last-child{width:60%}@media(max-width:1440px){.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}}.primary-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:5px;text-decoration:none;font-size:10px;font-weight:700;cursor:pointer}.primary-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.deployment-summary-band{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:15px;background:#fff;border:1px solid var(--border);border-radius:8px}.deployment-summary-band>div{min-height:72px;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:13px 17px;border-right:1px solid var(--border)}.deployment-summary-band>div:last-child{border-right:0}.deployment-summary-band svg{color:var(--accent)}.deployment-summary-band span{color:var(--muted);font-size:9px}.deployment-summary-band strong{font-size:18px}.deployment-table-panel{overflow:hidden}.release-code{color:#275f53;font:650 8px ui-monospace,SFMono-Regular,Menlo,monospace}.deployment-state{width:max-content;display:inline-flex;align-items:center;padding:4px 7px;color:#52615d;background:#edf1f0;border-radius:4px;font-size:8px;font-weight:750;white-space:nowrap}.state-succeeded{color:var(--success);background:var(--success-soft)}.state-failed{color:var(--danger);background:var(--danger-soft)}.state-cancelled{color:#8a5a05;background:var(--warning-soft)}.state-destroyed{color:#52615d;background:#e4e9e7}.state-awaiting_approval{color:#8a5a05;background:var(--warning-soft)}.state-provisioning,.state-bootstrapping,.state-configuring,.state-verifying{color:#286451;background:var(--accent-soft)}.deployment-stepper{display:grid;grid-template-columns:repeat(4,1fr);max-width:760px;margin:0 auto 18px}.deployment-stepper>div{position:relative;display:flex;align-items:center;gap:7px;color:#87948f;font-size:9px}.deployment-stepper>div:after{content:"";position:absolute;left:29px;right:8px;top:12px;height:1px;background:#dbe3e0}.deployment-stepper>div:last-child:after{display:none}.deployment-stepper span{z-index:1;width:24px;height:24px;display:grid;place-items:center;color:#6d7c77;background:#eef2f0;border:1px solid #d8e0dd;border-radius:50%}.deployment-stepper .is-active{color:var(--text)}.deployment-stepper .is-active span{color:#fff;background:var(--accent);border-color:var(--accent)}.deployment-form,.plan-review{max-width:860px;margin:0 auto;overflow:hidden}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px}.form-grid label{display:grid;gap:6px}.form-grid label>span,.readonly-field>span{color:var(--muted);font-size:9px;font-weight:650}.form-grid input,.form-grid select{width:100%;height:36px;padding:0 10px;color:var(--text);background:#fff;border:1px solid var(--border-strong);border-radius:5px;font-size:10px}.span-2{grid-column:1 / -1}.readonly-field{display:grid;gap:6px}.readonly-field strong{height:36px;display:flex;align-items:center;padding:0 10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px;font-size:10px}.checkbox-field{grid-template-columns:16px 1fr!important;align-items:center}.checkbox-field input{width:15px;height:15px}.form-actions{min-height:57px;display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:10px 20px;background:#fafbfb;border-top:1px solid var(--border)}.form-error{margin:0 20px 12px;color:var(--danger);font-size:9px}.consent-policy{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:12px;padding:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px}.consent-policy>div{display:grid;min-width:0;gap:5px}.consent-policy span{color:var(--muted);font-size:8px;font-weight:650}.consent-policy strong,.consent-policy code{overflow-wrap:anywhere;color:var(--text);font-size:9px}.blueprint-summary{display:flex;align-items:center;gap:18px;padding:15px 20px;background:#f5f9f7;border-bottom:1px solid var(--border)}.blueprint-summary strong{font-size:11px}.blueprint-summary span{color:var(--muted);font-size:9px}.node-spec-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:17px 20px 4px}.node-spec-grid div{display:grid;gap:4px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:5px}.node-spec-grid strong{font-size:9px}.node-spec-grid span{color:var(--muted);font-size:8px}.domain-grid{padding-top:13px}.subdomain-preview{display:grid;grid-template-columns:1fr 1fr;gap:6px}.subdomain-preview code{padding:7px 8px;color:#41645b;background:#f5f8f7;border-radius:4px;font-size:8px}.release-selection{display:flex;align-items:center;justify-content:space-between;margin:18px 20px 2px;padding:13px;background:#f4faf7;border:1px solid #cfe4dc;border-radius:6px;color:var(--accent-strong)}.release-selection>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px}.release-selection strong{font-size:10px}.release-selection small{grid-column:1 / -1;color:var(--muted);font-size:8px}.release-stable{padding:2px 5px;color:#fff;background:var(--success);border-radius:3px;font-size:7px;font-weight:800}.secret-note{display:flex;align-items:center;gap:8px;padding:9px;color:#5c6d68;background:#f6f8f7;border-radius:5px;font-size:8px}.plan-review-head{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid var(--border)}.plan-review-head h2{margin:4px 0;font-size:18px}.plan-review-head p{margin:0;color:var(--muted);font-size:9px}.plan-review-head svg{color:var(--success)}.plan-change-grid{display:grid;grid-template-columns:repeat(3,1fr)}.plan-change-grid>div{min-height:110px;display:grid;align-content:center;gap:7px;padding:18px 22px;border-right:1px solid var(--border)}.plan-change-grid>div:last-child{border-right:0}.plan-change-grid span,.plan-change-grid small{color:var(--muted);font-size:8px}.plan-change-grid strong{font-size:13px}.deployment-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:15px}.deployment-detail-main{min-width:0;display:grid;align-content:start;gap:15px}.deployment-timeline ol{list-style:none;margin:0;padding:17px 20px}.deployment-timeline li{position:relative;display:grid;grid-template-columns:26px 1fr;gap:9px;min-height:60px}.deployment-timeline li:after{content:"";position:absolute;left:12px;top:25px;bottom:0;width:1px;background:var(--border)}.deployment-timeline li:last-child:after{display:none}.deployment-timeline li>span{width:25px;height:25px;display:grid;place-items:center;color:var(--success);background:var(--success-soft);border-radius:50%}.deployment-timeline .is-current>span{color:var(--accent);background:var(--accent-soft)}.deployment-timeline li div{display:grid;align-content:start;gap:5px;padding-top:4px}.deployment-timeline strong{font-size:10px}.deployment-timeline time{color:var(--faint);font-size:8px}.deployment-facts{display:grid;align-content:start;gap:15px}.deployment-fact-list{margin:0;padding:13px 16px}.deployment-fact-list div{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.deployment-fact-list div:last-child{border-bottom:0}.deployment-fact-list dt{color:var(--muted);font-size:8px}.deployment-fact-list dd{margin:0;overflow:hidden;font:650 8px ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.deployment-actions{overflow:hidden}.deployment-actions>button{margin:12px 0 0 14px}.deployment-actions>button:last-child{margin-bottom:14px}.deployment-timeline .deployment-timeline-list{display:grid;gap:0;margin:0;padding:18px 20px;list-style:none}.deployment-timeline .timeline-event{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;min-height:76px;padding:0 0 16px}.deployment-timeline .timeline-event:after{content:"";position:absolute;left:14px;top:29px;bottom:0;width:1px;background:var(--border)}.deployment-timeline .timeline-event:last-child:after{display:none}.deployment-timeline .timeline-event-icon{width:29px;height:29px;display:grid;place-items:center;color:var(--success);background:var(--success-soft);border:1px solid transparent;border-radius:50%}.deployment-timeline .timeline-status-running .timeline-event-icon,.deployment-timeline .timeline-status-pending .timeline-event-icon{color:var(--accent);background:var(--accent-soft);border-color:#b8ddd1}.deployment-timeline .timeline-status-failed .timeline-event-icon{color:var(--danger);background:var(--danger-soft);border-color:#e8c3c0}.deployment-timeline .timeline-status-cancelled .timeline-event-icon{color:#8a5a05;background:var(--warning-soft);border-color:#e7d3a4}.deployment-timeline .timeline-status-skipped .timeline-event-icon,.deployment-timeline .timeline-status-info .timeline-event-icon{color:var(--muted);background:var(--surface-soft);border-color:var(--border)}.deployment-timeline .timeline-event-body{min-width:0;display:grid;align-content:start;gap:6px;padding:3px 0 0}.deployment-timeline .timeline-event-heading{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.deployment-timeline .timeline-event-heading time{margin-left:auto;color:var(--faint);font-size:var(--fs-xs)}.deployment-timeline .timeline-phase-label,.deployment-timeline .timeline-status-label{width:max-content;padding:3px 6px;border-radius:3px;font-size:var(--fs-xs);font-weight:750}.deployment-timeline .timeline-phase-label{color:#426159;background:#edf3f1}.deployment-timeline .timeline-status-label{color:var(--muted);background:var(--surface-soft)}.deployment-timeline .timeline-status-label-running{color:var(--accent-strong);background:var(--accent-soft)}.deployment-timeline .timeline-status-label-succeeded{color:var(--success);background:var(--success-soft)}.deployment-timeline .timeline-status-label-failed{color:var(--danger);background:var(--danger-soft)}.deployment-timeline .timeline-status-label-cancelled{color:#8a5a05;background:var(--warning-soft)}.deployment-timeline .timeline-event-body>strong{overflow-wrap:anywhere;font-size:var(--fs-sm)}.deployment-timeline .timeline-event-detail{margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:var(--fs-xs);line-height:1.55}.deployment-timeline .timeline-status-failed .timeline-event-body{padding:10px 12px;background:#fff8f7;border:1px solid #e8c3c0;border-radius:6px}.deployment-timeline .timeline-diagnostic{min-width:0;display:grid;gap:10px;margin-top:3px;padding:11px;color:var(--danger);background:var(--danger-soft);border-radius:5px}.deployment-timeline .timeline-diagnostic>div{min-width:0;display:grid;gap:5px;padding:0}.deployment-timeline .timeline-diagnostic span{font-size:var(--fs-xs);font-weight:800}.deployment-timeline .timeline-diagnostic-summary{padding-bottom:10px;border-bottom:1px solid #ebd1ce}.deployment-timeline .timeline-diagnostic-summary strong{color:#6d211d;font-size:var(--fs-sm);line-height:1.55}.deployment-timeline .timeline-failure-code{box-sizing:border-box;width:100%;max-width:100%;padding:3px 6px;overflow-wrap:anywhere;word-break:break-word;color:#8b312c;background:#fff;border:1px solid #e5bbb7;border-radius:3px;font-weight:750}.deployment-timeline .timeline-diagnostic code{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;color:#7f2925;font-size:var(--fs-xs);line-height:1.5}.deployment-timeline .timeline-diagnostic ol,.deployment-timeline .timeline-diagnostic ul{display:grid;gap:5px;margin:0;padding:0 0 0 18px}.deployment-timeline .timeline-diagnostic ol{list-style:decimal}.deployment-timeline .timeline-diagnostic ul{list-style:disc}.deployment-timeline .timeline-diagnostic li{min-height:0;display:list-item;padding:0;color:#6e3531;font-size:var(--fs-xs);line-height:1.5}.deployment-timeline .timeline-diagnostic li:after{display:none}.deployment-timeline .timeline-verification-list li::marker{content:"✓  ";color:var(--success);font-weight:800}.deployment-timeline .timeline-recovery-action{padding:9px 10px!important;background:#fff;border:1px solid #e5bbb7;border-radius:4px}.deployment-timeline .timeline-recovery-action strong{color:#6d211d;font-size:var(--fs-sm)}.deployment-actions .danger-action{color:var(--danger);border-color:#dfb6b3}.destroy-confirm{display:grid;gap:8px;margin:12px 14px 14px;padding:11px;background:var(--danger-soft);border:1px solid #e8c3c0;border-radius:5px}.destroy-confirm strong{color:var(--danger);font-size:9px}.destroy-confirm code{overflow-wrap:anywhere;color:var(--muted);font-size:7px}.destroy-confirm button{width:100%}.destroy-unavailable{display:grid;gap:4px;margin:12px 14px 14px;padding:11px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:5px;font-size:8px}.destroy-unavailable strong{color:var(--text);font-size:9px}.action-message{margin:10px 14px 14px;color:var(--success);font-size:9px}.backup-id-field{display:grid;gap:5px;margin:12px 14px 0}.backup-id-field span{color:var(--muted);font-size:9px;font-weight:650}.backup-id-field input{width:100%;height:34px;padding:0 9px;color:var(--text);background:#fff;border:1px solid var(--border-strong);border-radius:5px;font:9px ui-monospace,monospace}.backup-id-field small{color:var(--muted);font-size:8px}.lifecycle-recovery{display:grid;gap:7px;margin-top:12px;padding:12px 14px;background:var(--surface-soft);border-block:1px solid var(--border)}.lifecycle-recovery strong{font-size:10px}.lifecycle-recovery span{color:var(--muted);font-size:9px}.lifecycle-recovery code{color:var(--accent-strong);font-size:8px;overflow-wrap:anywhere}.lifecycle-recovery p{margin:0;color:var(--danger);font-size:9px}.lifecycle-recovery button{width:max-content}.lifecycle-recovery-actions{display:flex;flex-wrap:wrap;gap:7px}.backup-artifact-list{min-width:0;margin:0;padding:0;border:0}.backup-artifact-row{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:46px;padding:8px 16px;border-bottom:1px solid var(--border)}.backup-artifact-row code{min-width:0;overflow-wrap:anywhere;color:var(--accent-strong);font-size:8px}.backup-artifact-row time,.backup-artifact-row span{color:var(--muted);font-size:8px}.backup-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.backup-inventory-panel .danger-action{color:var(--danger);border-color:#dfb6b3}.backup-restore-confirm{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:12px 16px;color:var(--danger);background:var(--danger-soft);border-top:1px solid #e8c3c0}.backup-restore-confirm strong{font-size:9px}.backup-restore-confirm code{min-width:0;overflow-wrap:anywhere;font-size:8px}.snapshot-artifact-list{min-width:0;margin:0;padding:0;border:0}.snapshot-artifact-row{min-width:0;display:grid;grid-template-columns:18px 72px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:46px;padding:8px 16px;border-bottom:1px solid var(--border)}.snapshot-artifact-row strong{font-size:9px}.snapshot-artifact-row code{min-width:0;overflow-wrap:anywhere;color:var(--accent-strong);font-size:8px}.snapshot-artifact-row time,.snapshot-artifact-row span{color:var(--muted);font-size:8px}.snapshot-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.snapshot-inventory-panel .danger-action{color:var(--danger);border-color:#dfb6b3}.snapshot-recovery-confirm{display:grid;gap:10px;padding:12px 16px;color:var(--danger);background:var(--danger-soft);border-top:1px solid #e8c3c0}.snapshot-recovery-confirm strong{font-size:9px}.snapshot-recovery-confirm code{min-width:0;overflow-wrap:anywhere;font-size:8px}.snapshot-recovery-confirm label{display:grid;gap:6px}.snapshot-recovery-confirm label span{font-size:8px;font-weight:700}.snapshot-recovery-confirm input{width:100%;min-height:38px}.snapshot-recovery-confirm>div{display:flex;flex-wrap:wrap;gap:8px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f1}.login-panel{width:min(100%,360px);display:grid;gap:15px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 42px #18302a1f}.login-brand{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border)}.login-brand>span{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:var(--accent);border-radius:6px}.login-brand div{display:grid;gap:2px}.login-brand strong{font-size:13px}.login-brand small{color:var(--muted);font-size:8px}.login-heading{display:flex;align-items:flex-start;gap:10px}.login-heading svg{margin-top:2px;color:var(--accent)}.login-heading h1{margin:0;font-size:16px}.login-heading p{margin:5px 0 0;color:var(--muted);font-size:9px}.login-panel label{display:grid;gap:6px}.login-panel label span{color:var(--muted);font-size:9px;font-weight:650}.login-panel input{height:38px;padding:0 10px;border:1px solid var(--border-strong);border-radius:5px;font-size:11px}.login-panel .primary-button{width:100%}.login-error{margin:0;color:var(--danger);font-size:9px}.operator{position:relative}.operator-logout{position:absolute;right:4px;width:36px!important;min-width:36px;min-height:36px;padding:0!important;display:grid!important;place-items:center}.deployment-checkpoint{margin:0;padding:0 16px 14px;color:var(--muted);font-size:9px}.deployment-checkpoint code{color:var(--accent-strong)}.deployment-error{margin-top:0}.catalog-state{max-width:620px;display:grid;gap:10px;margin:40px auto;padding:24px}.catalog-state h2,.catalog-state p{margin:0}.catalog-state p{color:var(--muted);font-size:10px}.catalog-state button{width:max-content}.plan-warnings{margin:14px 20px 0;padding:12px;color:#76520b;background:var(--warning-soft);border:1px solid #e7d3a4;border-radius:5px;font-size:9px}.plan-warnings p{margin:5px 0 0}.demo-tag{color:#7a5200;background:var(--warning-soft)}.plan-review-metadata{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px;margin:0;padding:14px 20px 0;border-top:1px solid var(--border)}.plan-review-metadata div{min-width:0;display:grid;gap:5px}.plan-review-metadata dt{color:var(--muted);font-size:8px}.plan-review-metadata dd{min-width:0;margin:0;font-size:9px}.plan-review-metadata code{display:block;overflow-wrap:anywhere;color:var(--accent-strong);font-size:8px}.deployment-approval-review .plan-warnings{margin-bottom:14px}.plan-substitutions{margin:14px 20px 0;padding:12px;color:#59410e;background:#fff8e7;border:1px solid #e7d3a4;border-radius:5px;font-size:9px}.plan-substitutions ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.plan-substitutions li{display:flex;align-items:center;justify-content:space-between;gap:12px}.plan-substitutions code{overflow-wrap:anywhere;color:var(--accent-strong)}.plan-substitution-confirmation{margin:14px 20px 0}.plan-review{max-width:1180px}.infrastructure-plan{min-width:0;display:grid;gap:18px;margin-top:18px;padding:18px 20px 22px;border-top:1px solid var(--border)}.infrastructure-hosts,.infrastructure-network{min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:7px}.infrastructure-section-head{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.infrastructure-section-head>div{min-width:0;display:grid;gap:3px}.infrastructure-section-head span,.infrastructure-section-head small{color:var(--muted);font-size:var(--fs-xs)}.infrastructure-section-head h3{margin:0;font-size:var(--fs-lg)}.infrastructure-section-head small{text-align:right}.host-plan-table-wrap{min-width:0;overflow-x:auto}.host-plan-table{width:100%;min-width:940px;border-collapse:collapse}.host-plan-table th,.host-plan-table td{min-width:0;padding:11px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:var(--fs-xs)}.host-plan-table thead th{color:var(--muted);background:var(--surface);font-weight:700;white-space:nowrap}.host-plan-table tbody tr:last-child>*{border-bottom:0}.host-plan-table tbody th{color:var(--text);font-weight:750}.host-plan-table td{color:var(--muted)}.host-plan-table td code,.host-plan-table td span,.host-plan-table td small{display:block;min-width:0;overflow-wrap:anywhere}.host-plan-table td code{color:var(--text);font:650 var(--fs-xs) ui-monospace,SFMono-Regular,Menlo,monospace}.host-plan-table td small{margin-top:4px;color:var(--muted)}.network-flow{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:0;padding:16px;list-style:none;border-bottom:1px solid var(--border)}.network-flow li{position:relative;min-width:0;display:grid;align-content:start;gap:4px;padding:10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px}.network-flow li:not(:last-child):after{content:"→";position:absolute;right:-17px;top:50%;color:var(--faint);transform:translateY(-50%)}.network-flow strong{overflow-wrap:anywhere;font-size:var(--fs-xs)}.network-flow span{color:var(--muted);font-size:var(--fs-xs);line-height:1.45}.network-config-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px;padding:16px}.network-config-card{min-width:0;padding:14px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px}.network-config-card h4{margin:0 0 12px;font-size:var(--fs-md)}.network-dns-card{grid-column:1 / -1}.network-facts{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.network-facts div{min-width:0;display:grid;gap:4px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.network-facts dt{color:var(--muted);font-size:var(--fs-xs)}.network-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--fs-sm)}.network-facts code{color:var(--accent-strong);font-size:inherit}.network-detail-list,.security-rule-list,.domain-plan-list{min-width:0;display:grid;gap:7px;margin:0;padding:0;list-style:none}.network-detail-list li{min-width:0;display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);gap:4px 10px;padding:8px 0;border-bottom:1px solid var(--border)}.network-detail-list li:last-child{border-bottom:0}.network-detail-list strong{font-size:var(--fs-xs)}.network-detail-list span,.network-detail-list code{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:var(--fs-xs)}.network-detail-list span{grid-column:2}.network-allowlists{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.network-allowlists>div{min-width:0;display:grid;align-content:start;gap:4px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.network-allowlists strong{font-size:var(--fs-xs)}.network-allowlists code{overflow-wrap:anywhere;color:var(--accent-strong);font-size:var(--fs-xs)}.security-rule-list li{min-width:0;display:grid;grid-template-columns:38px minmax(130px,.8fr) minmax(0,1.4fr);align-items:start;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}.security-rule-list li:last-child{border-bottom:0}.security-rule-list strong,.security-rule-list code{min-width:0;overflow-wrap:anywhere;font-size:var(--fs-xs)}.security-rule-list code{color:var(--muted)}.rule-action{padding:2px 4px;border-radius:3px;text-align:center;font-size:9px;font-weight:750}.rule-action-allow{color:var(--success);background:var(--success-soft)}.rule-action-deny,.rule-action-drop{color:var(--danger);background:var(--danger-soft)}.network-dns-card .network-facts,.domain-plan-list{grid-template-columns:repeat(4,minmax(0,1fr))}.domain-plan-list li{min-width:0;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.domain-plan-list code{display:block;overflow-wrap:anywhere;color:var(--accent-strong);font-size:var(--fs-xs)}.infrastructure-plan-unavailable{margin:18px 20px 20px;padding:14px;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:6px;font-size:var(--fs-sm)}.field-help{min-width:0;display:grid;gap:4px;margin-top:2px;color:var(--muted);font-size:var(--fs-xs);line-height:1.55}.field-help p{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;margin:0}.field-help strong{color:var(--faint);font-size:inherit;font-weight:700}.field-help span,.field-help code{min-width:0;overflow-wrap:anywhere;color:inherit;font:inherit}.field-help code{color:var(--accent-strong)}.checkbox-field-group{min-width:0;display:grid;gap:7px}.checkbox-field-group .checkbox-field{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px}.checkbox-field-group .checkbox-field span{color:var(--text);font-size:var(--fs-sm);font-weight:650}.blueprint-guidance{min-width:0;padding:8px 20px 0}.release-selection-group{min-width:0;display:grid;gap:7px;margin:18px 20px 2px}.release-selection-group .release-selection{margin:0}.secret-note-group,.subdomain-preview-group{min-width:0;display:grid;gap:7px}.plan-change-grid>div{min-width:0;align-content:start}.plan-change-grid .field-help{margin-top:5px}.plan-review-metadata .field-help{margin-top:3px}.plan-guidance,.final-approval-help{min-width:0;margin:12px 20px 0}.admin-operations-page{display:grid;align-content:start;gap:15px}.admin-operations-page .panel{overflow:hidden}.audit-filter-form{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.audit-filter-form label{display:grid;gap:5px}.audit-filter-form label span{color:var(--muted);font-size:8px;font-weight:650}.audit-filter-form input{min-width:0;height:34px;padding:0 9px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:5px}.audit-filter-actions,.claim-confirmation,.audit-pagination{display:flex;align-items:center;gap:7px}.audit-filter-actions{grid-column:1 / -1;justify-content:flex-end}.audit-pagination{justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border);color:var(--muted);font-size:8px}.admin-operations-page table td{vertical-align:middle}.admin-operations-page td small{display:block;margin-top:4px;color:var(--muted)}.claim-key,.audit-detail{display:block;max-width:310px;overflow-wrap:anywhere;white-space:normal}.empty-panel-copy{margin:0;padding:20px;color:var(--muted);font-size:9px}.idempotency-review-panel .danger-action,.operation-run-review-panel .danger-action{color:var(--danger);border-color:#dfb6b3}.operation-run-confirmation{min-width:0;display:grid;gap:7px}.operation-run-confirmation label{min-width:0;display:grid;gap:5px}.operation-run-confirmation label span{color:var(--muted);font-size:8px;font-weight:650}.operation-run-confirmation input{min-width:0;width:min(100%,360px);height:34px;padding:0 9px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:5px}.lifecycle-review-panel .danger-action{color:var(--danger);border-color:#dfb6b3}.primary-button{min-height:40px;font-size:var(--fs-sm)}.deployment-summary-band{background:var(--surface)}.deployment-summary-band span,.deployment-stepper>div,.form-grid label>span,.readonly-field>span,.blueprint-summary span,.node-spec-grid strong,.plan-review-head p,.deployment-timeline strong,.backup-id-field span,.lifecycle-recovery span,.catalog-state p,.plan-warnings,.plan-review-metadata dd,.plan-substitutions,.empty-panel-copy,.login-heading p,.login-panel label span,.login-error{font-size:var(--fs-sm)}.release-code,.deployment-state,.consent-policy span,.consent-policy strong,.consent-policy code,.node-spec-grid span,.subdomain-preview code,.release-selection small,.release-stable,.secret-note,.plan-change-grid span,.plan-change-grid small,.deployment-timeline time,.deployment-fact-list dt,.deployment-fact-list dd,.destroy-confirm code,.destroy-unavailable,.backup-id-field small,.lifecycle-recovery code,.backup-artifact-row code,.backup-artifact-row time,.backup-artifact-row span,.snapshot-artifact-row code,.snapshot-artifact-row time,.snapshot-artifact-row span,.deployment-checkpoint,.plan-review-metadata dt,.plan-review-metadata code,.audit-filter-form label span,.audit-pagination,.operation-run-confirmation label span,.login-brand small{font-size:var(--fs-xs)}.form-grid input,.form-grid select{min-height:42px;height:auto;color:var(--text);background:var(--surface);font-size:var(--fs-sm)}.form-grid input::placeholder,.backup-id-field input::placeholder,.login-panel input::placeholder{color:var(--faint)}.readonly-field strong{min-height:42px;height:auto;font-size:var(--fs-sm)}.form-actions,.blueprint-summary,.node-spec-grid div,.subdomain-preview code,.release-selection,.secret-note{background:var(--surface-soft)}.release-selection{border-color:var(--border-strong)}.deployment-stepper strong{position:relative;z-index:2;padding-inline:4px;background:var(--surface-page)}.backup-id-field input,.login-panel input{min-height:42px;height:auto;color:var(--text);background:var(--surface);font-size:var(--fs-sm)}.login-page{background:var(--surface-page)}.login-panel{background:var(--surface);box-shadow:var(--shadow-xl)}.operator-logout{margin-left:auto;color:var(--nav-text);background:transparent;border:0}.operator{padding-right:46px}.language-switcher{position:relative;margin-left:auto}.language-switcher-trigger{min-width:42px;height:34px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:inherit;background:transparent;border:1px solid transparent;border-radius:5px;font:inherit;font-size:var(--fs-xs);font-weight:700;cursor:pointer}.language-switcher-trigger:hover,.language-switcher-trigger[aria-expanded=true]{background:var(--nav-hover);border-color:var(--nav-border)}.language-switcher-menu{position:absolute;right:0;bottom:calc(100% + 7px);z-index:100;width:146px;padding:5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 12px 28px #10231e2e}.language-switcher-menu button{width:100%;height:34px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;color:inherit;background:transparent;border:0;border-radius:4px;font:inherit;font-size:var(--fs-sm);cursor:pointer}.language-switcher-menu button:hover{background:var(--surface-soft)}.login-language{position:absolute;top:20px;right:20px;color:var(--text)}.login-language .language-switcher-menu{top:calc(100% + 7px);bottom:auto}.login-language .language-switcher-trigger:hover,.login-language .language-switcher-trigger[aria-expanded=true]{background:var(--surface);border-color:var(--border)}.app-utility-bar{height:44px;display:flex;align-items:center;justify-content:flex-end;padding:0 20px;color:var(--text);background:var(--surface);border-bottom:1px solid var(--border)}.app-utility-bar .language-switcher-menu{top:calc(100% + 7px);bottom:auto}.app-utility-bar .language-switcher-trigger{border-color:var(--border)}.app-utility-bar .language-switcher-trigger:hover,.app-utility-bar .language-switcher-trigger[aria-expanded=true]{background:var(--surface-soft)}.topology-workspace .react-flow__controls-button{width:36px;height:36px}.backup-artifact-row,.snapshot-artifact-row{cursor:pointer}.backup-artifact-row:focus-within,.snapshot-artifact-row:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.backup-artifact-row input,.snapshot-artifact-row input{width:18px;height:18px;accent-color:var(--accent)}.business-preview-copy strong{font-size:var(--fs-sm)}.business-preview-copy small,.business-preview-arrow span,.business-preview-incident span{font-size:var(--fs-xs)}.application-component-item strong{font-size:12px}.application-component-item span,.client-traffic-metric-item span{font-size:11px}.client-traffic-metric-item strong{font-size:12px}.client-traffic-metrics>p{font-size:11px}.hover-card-header span:first-child,.hover-resource-head small,.hover-resource-facts dt,.hover-application-head small,.hover-application-metrics,.hover-port>strong,.hover-port>small{font-size:var(--fs-xs)}@media(max-width:1279px){.sidebar{width:76px}.brand{justify-content:center;padding:0}.brand>div,.workspace-switcher div,.workspace-switcher>svg:last-child,.nav-item span,.nav-label,.nav-group-toggle,.operator div,.sidebar-footer>button{display:none}.nav-group-items{display:block;opacity:1}.workspace-switcher{display:flex;justify-content:center;margin:var(--sp-4) var(--sp-3) var(--sp-5);padding:var(--sp-3)}.nav-item{justify-content:center;padding:0}.nav-item em{position:absolute;margin:-22px 0 0 24px}.operator{justify-content:center;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) 0 var(--sp-4)}.operator-logout{position:static;right:auto;width:36px!important;min-width:36px;min-height:36px;margin:0}.app-main{width:calc(100% - 76px);margin-left:76px}.page{padding-inline:18px}.summary-item{padding-inline:11px}.summary-item>div{display:block}.summary-item span:last-child{display:block;margin-top:3px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 285px}.business-preview-mainline{grid-template-columns:minmax(104px,1fr) 18px minmax(112px,1fr) 18px minmax(104px,1fr) 26px minmax(112px,1fr);gap:3px}.business-preview-node{min-height:72px;grid-template-columns:28px minmax(0,1fr);padding:8px}.business-preview-node .status-chip{grid-column:2}.business-preview-icon{width:28px;height:28px}}@media(max-width:980px){.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-item{border-bottom:1px solid var(--border)}.summary-item:nth-child(3){border-right:0}.dashboard-grid{grid-template-columns:1fr}.alert-panel{display:none}.topology-toolbar{flex-wrap:wrap}.toggle-control{margin-left:0}.topology-workspace .topology-canvas{min-height:0}.deployment-detail-grid{grid-template-columns:1fr}.node-spec-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.sidebar{width:58px}.app-main{width:calc(100% - 58px);margin-left:58px}.brand-mark{width:31px;height:31px}.nav-item{width:44px;height:44px;margin:3px auto}.page{padding:16px 12px 24px}.topology-page,.resources-page{height:calc(100vh - 44px);padding:8px 8px 12px}.page-heading{min-height:auto}.summary-strip{grid-template-columns:1fr 1fr}.summary-item:nth-child(2n){border-right:0}.topology-panel,.topology-workspace{overflow:hidden}.topology-canvas{width:100%}.topology-hover-card{left:8px!important;width:calc(100% - 16px);max-height:calc(100% - 16px)}.hover-fact-grid{grid-template-columns:1fr}.hover-port-list,.hover-application-metrics{margin-left:0}.inventory-toolbar{flex-wrap:wrap}.inventory-search{width:100%}.inventory-toolbar-count,.inventory-toolbar .secondary-button{margin-left:0}.table-wrap{overflow-x:auto}table{min-width:900px}.resources-page{height:auto;min-height:calc(100vh - 44px)}.resources-page .inventory-panel{height:auto}.resources-page .table-wrap{max-height:none;overflow:visible}.acr-drawer-panel{width:100%}.inventory-panel table{min-width:0}.inventory-panel thead{display:none}.inventory-panel tbody{display:grid}.inventory-panel tbody tr{display:grid;padding:8px 0;border-bottom:1px solid var(--border)}.inventory-panel tbody tr:last-child{border-bottom:0}.inventory-panel td{display:grid;grid-template-columns:minmax(84px,32%) minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:7px 14px;border:0}.inventory-panel td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-xs);font-weight:650}.inventory-panel td>*{min-width:0;overflow-wrap:anywhere}.inventory-panel .locate-button{min-height:44px;width:max-content}.alert-summary-row{grid-template-columns:1fr}.alert-summary-row>div{border-right:0;border-bottom:1px solid var(--border)}.full-alert-item{grid-template-columns:1fr}.business-preview{min-height:auto;padding:20px 14px}.business-preview-mainline{display:flex;flex-direction:column}.business-preview-mainline .business-preview-node{width:100%}.business-preview-arrow{width:28px;height:28px}.business-preview-arrow:before{inset:-4px auto -4px 50%;width:2px;height:auto;transform:translate(-50%)}.business-preview-arrow svg{margin:auto;transform:rotate(90deg)}.business-preview-arrow span{left:22px;bottom:8px}.business-preview-incident{width:100%;margin:14px 0 22px}.business-preview-incident span{display:grid;gap:3px}.business-preview-downstream{grid-template-columns:1fr}.business-preview-downstream:before,.business-preview-downstream:after,.business-preview-downstream .business-preview-node:before{display:none}.deployment-summary-band,.plan-change-grid{grid-template-columns:1fr}.deployment-summary-band>div,.plan-change-grid>div{border-right:0;border-bottom:1px solid var(--border)}.deployment-table-panel .panel-header{height:auto;flex-wrap:wrap;padding-block:12px}.panel-header-actions{width:100%;justify-content:flex-end}.deployments-page .table-wrap{max-height:none;overflow:visible}.deployment-table-panel table{min-width:0}.deployment-table-panel thead{display:none}.deployment-table-panel tbody{display:grid}.deployment-table-panel tbody tr{display:grid;padding:8px 0;border-bottom:1px solid var(--border)}.deployment-table-panel tbody tr:last-child{border-bottom:0}.deployment-table-panel td{display:grid;grid-template-columns:minmax(76px,30%) minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:7px 14px;border:0}.deployment-table-panel td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-xs);font-weight:650}.deployment-table-panel td>*{min-width:0;overflow-wrap:anywhere}.deployment-table-panel .text-button{min-height:44px;width:max-content}.deployment-detail-page .compact-heading{flex-wrap:wrap}.deployment-detail-page .compact-heading>div,.deployment-detail-page .compact-heading h1,.deployment-detail-grid,.deployment-timeline li div,.deployment-facts{min-width:0}.deployment-detail-page .compact-heading h1,.deployment-timeline strong{overflow-wrap:anywhere}.deployment-fact-list div{grid-template-columns:70px minmax(0,1fr)}.deployment-fact-list dd{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.deployment-actions button,.deployment-actions input{min-height:44px}.deployment-actions>button{max-width:calc(100% - 28px);height:auto;white-space:normal}.plan-review-metadata{grid-template-columns:1fr}.infrastructure-plan{max-width:100%;min-width:0;gap:14px;padding:14px 12px 18px}.infrastructure-section-head{align-items:flex-start;flex-direction:column;gap:5px}.infrastructure-section-head small{text-align:left}.host-plan-table-wrap{overflow:visible}.host-plan-table{min-width:0;display:block}.host-plan-table thead{display:none}.host-plan-table tbody{display:grid;gap:10px}.host-plan-table tbody tr{min-width:0;display:grid;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.host-plan-table tbody th{padding:4px 6px 9px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.host-plan-table td{min-width:0;display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);gap:9px;padding:7px 6px;border:0}.host-plan-table td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-xs);font-weight:650}.host-plan-table td>*{min-width:0;overflow-wrap:anywhere}.network-flow{grid-template-columns:1fr;gap:16px}.network-flow li:not(:last-child):after{content:"↓";inset:auto auto -17px 50%;transform:translate(-50%)}.network-config-grid{grid-template-columns:1fr;padding:12px}.network-dns-card{grid-column:auto}.network-facts,.network-dns-card .network-facts,.network-allowlists,.domain-plan-list{grid-template-columns:1fr}.security-rule-list li{grid-template-columns:38px minmax(0,1fr)}.security-rule-list code{grid-column:1 / -1}.network-detail-list li{grid-template-columns:1fr}.network-detail-list span{grid-column:auto}.audit-filter-form{grid-template-columns:1fr}.audit-filter-form input{min-height:44px;height:auto}.audit-filter-actions,.audit-pagination{flex-wrap:wrap}.audit-filter-actions button,.audit-pagination button,.claim-confirmation button,.operation-run-confirmation input{min-height:44px}.audit-pagination{justify-content:space-between}.claim-confirmation{align-items:stretch;flex-direction:column}.admin-operations-page .table-wrap{max-height:none;overflow:visible}.admin-operations-page table{min-width:0}.admin-operations-page thead{display:none}.admin-operations-page tbody{display:grid}.admin-operations-page tbody tr{display:grid;padding:8px 0;border-bottom:1px solid var(--border)}.admin-operations-page tbody tr:last-child{border-bottom:0}.admin-operations-page td{display:grid;grid-template-columns:minmax(76px,30%) minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:7px 14px;border:0}.admin-operations-page td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-xs);font-weight:650}.admin-operations-page td>*{min-width:0;overflow-wrap:anywhere}.lifecycle-recovery button{max-width:100%;min-height:44px;white-space:normal}.backup-artifact-row{grid-template-columns:18px minmax(0,1fr)}.backup-artifact-row time,.backup-artifact-row span{grid-column:2}.backup-actions button{min-height:44px}.backup-restore-confirm{grid-template-columns:1fr}.backup-restore-confirm button{min-height:44px;width:100%}.snapshot-artifact-row{grid-template-columns:18px minmax(0,1fr)}.snapshot-artifact-row strong,.snapshot-artifact-row code,.snapshot-artifact-row time,.snapshot-artifact-row span{grid-column:2}.snapshot-actions button,.snapshot-recovery-confirm button{min-height:44px;width:100%}.snapshot-recovery-confirm>div{display:grid}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.form-grid input,.form-grid select{min-height:44px;font-size:16px}.field-help{font-size:12px}.field-help p{grid-template-columns:32px minmax(0,1fr)}.search-control input,.topology-toolbar select,.inventory-toolbar select,.backup-id-field input,.audit-filter-form input,.login-panel input,.operation-run-confirmation input{font-size:16px}.primary-button,.secondary-button,.topology-toolbar button,.topology-toolbar input,.topology-toolbar select,.inventory-toolbar button,.inventory-toolbar input,.inventory-toolbar select,.topology-toolbar .search-control,.topology-toolbar .select-control{min-height:44px}.topology-workspace .react-flow__controls-button{width:44px;height:44px}.operator-logout{min-height:44px;width:44px!important;min-width:44px}.backup-artifact-row input,.snapshot-artifact-row input{width:20px;height:20px}.consent-policy{grid-template-columns:1fr}.node-spec-grid{grid-template-columns:1fr 1fr}.deployment-stepper strong{display:inline}}.topology-page{height:auto;min-height:calc(100vh - 44px);gap:12px}.topology-page-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.topology-page-heading h1{margin:0;color:var(--text);font-size:19px;line-height:1.2;letter-spacing:0}.topology-page-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.topology-sync-state{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px;white-space:nowrap}.topology-sync-state .icon-button{width:32px;height:32px;display:grid;place-items:center;padding:0}.topology-sync-state .icon-button:disabled{opacity:.55}.core-system-health-band{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.system-health-card{min-width:0;position:relative;overflow:hidden;padding:0;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--success-accent);border-radius:7px;box-shadow:0 3px 12px #1e312b0e}.system-health-card.is-expanded{grid-column:1 / -1}.system-health-card.status-warning{border-top-color:var(--warning-accent)}.system-health-card.status-critical{border-color:color-mix(in oklch,var(--danger-accent),white 45%);border-top-color:var(--danger-accent)}.system-health-card.status-unknown{border-top-color:var(--faint)}.system-health-card.has-active-alert:after{content:"";position:absolute;inset:0;border:2px solid var(--danger-accent);border-radius:6px;pointer-events:none;animation:topology-alert-border 1.55s ease-in-out infinite}.unified-topology-node.has-active-alert{border-color:var(--danger-accent);box-shadow:0 0 0 3px #c8453d1f,0 8px 20px #1e312b1f}.topology-alert-badge{position:absolute;top:-9px;right:7px;z-index:3;padding:3px 6px;color:#fff;background:var(--danger-accent);border-radius:4px;box-shadow:0 2px 7px #c8453d47;font-size:8px;font-weight:800}.system-health-summary{width:100%;min-width:0;min-height:72px;display:grid;grid-template-columns:28px minmax(72px,1fr) auto 14px;grid-template-rows:auto auto;align-items:center;gap:5px 7px;padding:7px 9px;color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.system-health-summary:hover{background:var(--surface-hover)}.system-health-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--accent-strong);background:var(--accent-soft);border-radius:5px}.system-health-icon svg{width:15px;height:15px}.system-health-title{min-width:0}.system-health-title strong,.system-health-title small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-health-title strong{color:var(--text);font-size:12px}.system-health-title small{margin-top:2px;color:var(--muted);font-size:9px}.system-health-status{display:inline-flex;align-items:center;gap:3px;color:var(--success);font-size:9px;font-weight:800;white-space:nowrap}.system-health-status svg{width:11px;height:11px}.system-health-status.status-warning{color:var(--warning-strong)}.system-health-status.status-critical{color:var(--danger)}.system-health-status.status-unknown{color:var(--muted)}.system-health-current{min-width:0;grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.system-current-metric{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:3px;padding:2px 4px;background:var(--surface-soft);border-radius:3px}.system-current-metric small{color:var(--muted);font-size:8px}.system-current-metric strong{min-width:0;overflow:hidden;color:var(--text-secondary);font:700 9px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.system-health-chevron{width:13px;height:13px;color:var(--muted)}.system-health-details{padding:9px 10px 10px;border-top:1px solid var(--border-subtle)}.system-member-selector{min-width:0;display:flex;gap:3px;overflow-x:auto;padding-bottom:5px}.system-member-selector button{min-width:max-content;height:28px;padding:0 9px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:700;cursor:pointer}.system-member-selector button.is-active{color:var(--accent-strong);background:var(--surface);border-color:var(--accent)}.system-member-context{min-width:0;display:flex;justify-content:space-between;gap:12px;margin:3px 0 8px;color:var(--muted);font-size:9px}.system-member-context span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-member-context strong{color:var(--text-secondary);font:700 9px var(--font-mono);white-space:nowrap}.system-history-grid{display:grid;grid-template-columns:repeat(3,minmax(100px,.7fr)) minmax(260px,2fr);gap:6px}.system-history-metric,.system-history-traffic{min-width:0;padding:7px 8px;background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:4px}.system-history-metric>span,.system-history-traffic>span{color:var(--muted);font-size:9px}.system-history-metric>strong,.system-history-traffic>strong{display:block;margin-top:2px;color:var(--text);font:750 11px var(--font-mono)}.system-history-metric>small,.system-history-traffic>small{display:block;margin-top:3px;overflow:hidden;color:var(--faint);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.system-alert-strip{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-top:7px;padding:5px 6px;color:var(--danger);background:var(--danger-soft);border:0;border-radius:4px;text-align:left;cursor:pointer}.system-alert-strip span{font-size:8px;font-weight:800;white-space:nowrap}.system-alert-strip strong{min-width:0;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.system-history-state{margin-top:7px;color:var(--faint);font-size:8px;text-align:right}.metric-window-control{height:32px;display:inline-grid;grid-template-columns:repeat(4,34px);flex:0 0 auto;padding:2px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px}.metric-window-control button{min-width:0;padding:0;color:var(--muted);background:transparent;border:0;border-radius:3px;font-size:9px;font-weight:700;cursor:pointer}.metric-window-control button.is-active{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px 3px #1e312b1f}.topology-page .topology-split{height:clamp(560px,calc(100dvh - 190px),920px);min-height:560px;flex:1 0 auto}.topology-focus-button{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;margin-left:auto;padding:0}.topology-page.is-focus-mode{position:fixed;inset:0;z-index:100;width:100%;max-width:none;min-height:0;height:100dvh;padding:8px;gap:6px;background:var(--surface-page)}.topology-page.is-focus-mode .topology-split{height:100%;min-height:0;flex:1 1 auto}.topology-page.is-focus-mode .topology-workspace{border-radius:4px}.topology-focus-alert-indicator{min-height:24px;display:inline-flex;align-items:center;align-self:flex-start;gap:5px;padding:0 8px;color:var(--danger);background:var(--danger-soft);border-left:3px solid var(--danger-accent);font-size:10px;font-weight:750}.topology-focus-alert-indicator svg{width:12px;height:12px}.topology-canvas-shell{position:relative;min-width:0;min-height:0;flex:1 1 auto;overflow:hidden}.topology-canvas-shell>.topology-canvas{height:100%}.topology-overview-layer{position:absolute;inset:0;transition:opacity .18s ease,filter .18s ease}.topology-overview-layer.is-focus-background{opacity:.24;filter:saturate(.55);pointer-events:none}.topology-node-host:has(.data-dependency-toggle-row){cursor:pointer}.topology-mode-control button{min-width:58px}.topology-mode-control button:disabled{opacity:.45;cursor:not-allowed}.topology-focus-island{position:absolute;z-index:12;top:50%;left:calc((100% - 360px)/2);width:min(640px,calc(100% - 400px));height:min(400px,calc(100% - 32px));display:grid;grid-template-rows:52px minmax(0,1fr);overflow:hidden;color:var(--text);background:color-mix(in srgb,var(--surface) 97%,transparent);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:8px;box-shadow:0 22px 58px #122d2633;transform:translate(-50%,-50%)}.topology-focus-island-head{min-width:0;display:flex;align-items:center;gap:12px;padding:0 13px 0 15px;border-bottom:1px solid var(--border)}.topology-focus-island-head>div{min-width:0;display:grid;gap:2px}.topology-focus-island-head strong,.topology-focus-island-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-focus-island-head strong{font-size:13px}.topology-focus-island-head span{color:var(--muted);font-size:9px}.topology-focus-island-head .icon-button{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;margin-left:auto;padding:0}.topology-focus-graph{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:54px;overflow:hidden;padding:24px 20px 18px;background-image:radial-gradient(circle,var(--topology-grid) 1px,transparent 1px);background-size:20px 20px}.topology-focus-resource{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--topology-node-border);border-left:3px solid var(--success-accent);border-radius:6px;box-shadow:0 5px 14px #1e312b1a;cursor:pointer}.topology-focus-resource:hover,.topology-focus-resource.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),0 8px 20px #1e312b21}.topology-focus-resource.status-warning{border-left-color:var(--warning-accent)}.topology-focus-resource.status-critical{border-left-color:var(--danger-accent)}.topology-focus-resource.status-unknown{border-left-color:var(--faint)}.topology-focus-resource-icon{width:30px;height:30px;display:grid;place-items:center;color:var(--accent-strong);background:var(--accent-soft);border-radius:5px}.topology-focus-resource>span:nth-child(2){min-width:0;display:grid;gap:3px}.topology-focus-resource strong,.topology-focus-resource small,.topology-focus-resource em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.topology-focus-resource strong{font-size:11px}.topology-focus-resource small{color:var(--muted);font-size:9px}.topology-focus-resource em{color:var(--accent-strong);font-size:9px;font-style:normal;font-weight:700}.topology-focus-root{position:relative;width:min(230px,100%)}.topology-focus-root:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:28px;background:color-mix(in srgb,var(--accent) 60%,var(--border))}.topology-focus-branches{position:relative;width:100%;min-width:0;display:flex;justify-content:center;align-items:flex-start;gap:14px;overflow-x:auto;padding:0 6px 8px}.topology-focus-branches:before{content:"";position:absolute;top:-27px;left:max(9%,30px);right:max(9%,30px);height:1px;background:color-mix(in srgb,var(--accent) 60%,var(--border))}.topology-focus-dependency{position:relative;width:220px;flex:0 0 220px}.topology-focus-dependency:before{content:"";position:absolute;bottom:100%;left:50%;width:1px;height:28px;background:color-mix(in srgb,var(--accent) 60%,var(--border))}.topology-inspector{position:absolute;z-index:14;inset:0 0 0 auto;width:360px;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;color:var(--text);background:var(--surface);border-left:1px solid var(--border);box-shadow:-10px 0 26px #122d261a}.topology-inspector-head{min-width:0;padding:16px 17px 14px;border-bottom:1px solid var(--border)}.topology-inspector-head>span{color:var(--accent-strong);font-size:9px;font-weight:800}.topology-inspector-head>div{min-width:0;display:flex;align-items:center;gap:9px;margin-top:6px}.topology-inspector-head h2{min-width:0;margin:0;overflow:hidden;font-size:17px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.topology-inspector-head p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.topology-inspector-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 10px;border-bottom:1px solid var(--border)}.topology-inspector-tabs button{min-width:0;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 4px;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.topology-inspector-tabs button.is-active{color:var(--accent-strong);border-bottom-color:var(--accent)}.topology-inspector-body{min-height:0;overflow-y:auto;padding:14px}.topology-inspector-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;background:var(--border);border:1px solid var(--border);border-radius:5px}.topology-inspector-metric-grid>div{min-width:0;min-height:72px;padding:11px;background:var(--surface)}.topology-inspector-metric-grid span{display:block;color:var(--muted);font-size:9px}.topology-inspector-metric-grid strong{display:block;margin-top:7px;overflow-wrap:anywhere;font:750 15px var(--font-mono);letter-spacing:0}.topology-inspector-section-title{margin:18px 0 7px;font-size:10px;letter-spacing:0}.topology-inspector-facts{margin:0;border-top:1px solid var(--border-subtle)}.topology-inspector-facts>div{min-width:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:10px 1px;border-bottom:1px solid var(--border-subtle);font-size:9px}.topology-inspector-facts dt{color:var(--muted)}.topology-inspector-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;text-align:right;font-weight:650}.topology-inspector-dependencies{display:grid;gap:8px}.topology-inspector-dependencies button{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) 8px;align-items:center;gap:9px;padding:9px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer}.topology-inspector-dependencies button:hover,.topology-inspector-dependencies button.is-active{border-color:var(--accent);background:var(--accent-soft)}.topology-inspector-dependencies button>span:first-child{width:30px;height:30px;display:grid;place-items:center;color:var(--accent-strong);background:var(--surface-soft);border-radius:5px}.topology-inspector-dependencies button>span:nth-child(2){min-width:0}.topology-inspector-dependencies strong,.topology-inspector-dependencies small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-inspector-dependencies strong{font-size:10px}.topology-inspector-dependencies small{margin-top:3px;color:var(--muted);font-size:8px}.topology-inspector-dependencies i{width:8px;height:8px;border-radius:50%;background:var(--faint)}.topology-inspector-dependencies i.status-healthy{background:var(--success-accent)}.topology-inspector-dependencies i.status-warning{background:var(--warning-accent)}.topology-inspector-dependencies i.status-critical{background:var(--danger-accent)}.topology-inspector-empty{margin:30px 0;color:var(--muted);font-size:10px;text-align:center}.topology-inspector-applications{display:grid;gap:1px;background:var(--border-subtle)}.topology-inspector-applications>div{min-width:0;display:flex;justify-content:space-between;gap:10px;padding:9px;background:var(--surface);font-size:9px}.topology-inspector-applications span{min-width:0;display:inline-flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topology-inspector-applications strong{color:var(--muted);white-space:nowrap}@media(max-width:1050px){.topology-inspector{width:320px}.topology-focus-island{left:calc((100% - 320px)/2);width:min(600px,calc(100% - 344px))}}@media(max-width:720px){.topology-focus-island{top:8px;left:8px;width:calc(100% - 16px);height:calc(55% - 12px);transform:none}.topology-focus-graph{gap:42px;padding:14px 10px 10px}.topology-focus-root:after,.topology-focus-dependency:before{height:22px}.topology-focus-branches:before{top:-21px}.topology-focus-dependency{width:min(210px,76vw);flex-basis:min(210px,76vw)}.topology-inspector{inset:auto 0 0;width:100%;height:45%;border-top:1px solid var(--border);border-left:0;box-shadow:0 -10px 26px #122d261a}.topology-inspector-head{padding:10px 13px 8px}.topology-inspector-head>div{margin-top:3px}.topology-inspector-head h2{font-size:14px}.topology-inspector-tabs button{min-height:38px;height:38px}.topology-inspector-body{padding:10px}}@keyframes topology-alert-border{0%,to{opacity:.38;box-shadow:inset 0 0 #c8453d00}50%{opacity:1;box-shadow:inset 0 0 0 3px #c8453d17}}@media(max-width:1380px){.core-system-health-band{grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);grid-template-columns:none;overflow-x:auto;padding-bottom:3px}.system-health-card.is-expanded{grid-column:auto;grid-row:span 2;width:min(760px,78vw)}.system-history-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.system-history-traffic{grid-column:1 / -1}}@media(max-width:860px){.topology-page-heading{align-items:flex-start}.core-system-health-band{grid-auto-columns:minmax(250px,78vw);padding-bottom:5px;scroll-snap-type:x proximity}.system-health-card{scroll-snap-align:start}.metric-window-control{order:4}.topology-toolbar{overflow-x:auto}}@media(max-width:560px){.topology-page-heading{display:grid}.topology-sync-state{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.system-health-card.has-active-alert:after{animation:none;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.topology-split{display:flex;gap:var(--sp-4);height:100%;min-height:0}.topology-split .topology-workspace{flex:1;min-width:0;overflow:hidden}.runbook-sidebar{width:380px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column}.runbook-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column;flex:1}.runbook-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);background:var(--surface-soft);flex-shrink:0}.runbook-panel-title{display:flex;align-items:flex-start;gap:var(--sp-3)}.runbook-panel-title h2{font-size:var(--fs-sm);font-weight:700;color:var(--text);margin:0 0 3px;line-height:1.4}.runbook-panel-title .runbook-impact{font-size:var(--fs-xs);color:var(--text-secondary);margin:0;line-height:1.4}.runbook-severity-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:5px}.runbook-severity-dot.severity-critical{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.runbook-severity-dot.severity-warning{background:var(--warning-accent);box-shadow:0 0 0 3px var(--warning-soft)}.runbook-panel-meta{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.runbook-duration{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--danger);font-weight:600;white-space:nowrap}.runbook-steps{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:0;overflow-y:auto;flex:1}.runbook-step{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle)}.runbook-step:last-child{border-bottom:none}.runbook-step-num{width:22px;height:22px;border-radius:50%;background:var(--text);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.runbook-step-content{flex:1;min-width:0}.runbook-step-header{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-1);flex-wrap:wrap}.runbook-step-header strong{font-size:var(--fs-xs);color:var(--text);font-weight:700;line-height:1.4}.runbook-who{font-size:10px;color:var(--accent);font-weight:600;background:var(--accent-soft);padding:1px 6px;border-radius:var(--r-full);white-space:nowrap}.runbook-step-content p{font-size:var(--fs-xs);color:var(--text-secondary);margin:0 0 var(--sp-1);line-height:1.55}.runbook-check{display:flex;align-items:flex-start;gap:3px;font-size:11px;color:var(--muted);font-style:italic;margin-top:var(--sp-1)}.runbook-check svg{flex-shrink:0;margin-top:1px}.runbook-resolution{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);background:var(--success-soft);border-top:1px solid var(--border-subtle);font-size:var(--fs-xs);color:var(--success);flex-shrink:0}.runbook-resolution svg{flex-shrink:0;margin-top:1px}.traffic-page{display:flex;flex-direction:column;gap:var(--sp-4)}.traffic-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}.traffic-header h1{margin:0;font-size:var(--fs-2xl)}.traffic-subtitle{margin:3px 0 0;color:var(--muted);font-size:var(--fs-sm)}.traffic-window-tabs{display:flex;gap:2px;padding:3px;background:var(--surface-soft);border-radius:var(--r-sm)}.traffic-window-tabs button{min-height:30px;padding:0 var(--sp-3);color:var(--muted);background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:650;cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.traffic-window-tabs button.is-active{color:var(--accent-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.traffic-summary-strip{display:grid;grid-template-columns:repeat(6,1fr);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.traffic-stat{min-height:80px;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-right:1px solid var(--border);color:var(--accent)}.traffic-stat:last-child{border-right:0}.traffic-stat.tone-warning{color:var(--warning-accent)}.traffic-stat.tone-danger{color:var(--danger)}.traffic-stat.tone-good{color:var(--success)}.traffic-stat.tone-warn{color:var(--warning-accent)}.traffic-stat.tone-crit{color:var(--danger)}.traffic-stat>div{display:grid;gap:3px}.traffic-stat span{color:var(--muted);font-size:var(--fs-xs);font-weight:650}.traffic-stat strong{font-size:var(--fs-xl);font-weight:800;color:var(--text)}.traffic-stat strong.text-warning{color:var(--warning-strong)}.traffic-stat strong.text-danger{color:var(--danger)}.traffic-stat strong.text-good{color:var(--success)}.traffic-stat strong.text-warn{color:var(--warning-strong)}.traffic-stat strong.text-crit{color:var(--danger)}.traffic-stat--clickable{cursor:pointer;background:none;font:inherit;text-align:left;position:relative;border-top:0;border-bottom:0;border-left:0;transition:background .15s}.traffic-stat--clickable:hover{background:var(--surface-2, rgba(127, 127, 127, .06))}.traffic-stat--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.drill-caret{margin-left:auto;color:var(--muted);transition:transform .2s;flex-shrink:0}.drill-caret.is-open{transform:rotate(180deg)}.traffic-stat--ref{color:var(--muted)}.traffic-stat--ref strong{color:var(--text-secondary, var(--muted));font-weight:700}.ft-sev-tag{display:inline-block;margin-left:var(--sp-1);padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;vertical-align:middle}.ft-sev-tag.sev-good{color:var(--success);background:var(--success-soft)}.ft-sev-tag.sev-warn{color:var(--warning-strong);background:var(--warning-soft)}.ft-sev-tag.sev-crit{color:var(--danger);background:var(--danger-soft)}.traffic-drill{overflow:hidden}.traffic-drill .panel-header h2{display:flex;align-items:center;gap:var(--sp-1)}.traffic-drill-empty{padding:var(--sp-8) var(--sp-5);text-align:center;color:var(--muted);font-size:var(--fs-sm)}.traffic-drill-table-wrap{overflow-x:auto}.traffic-drill-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.traffic-drill-table th,.traffic-drill-table td{padding:var(--sp-2) var(--sp-4);text-align:left;border-bottom:1px solid var(--border)}.traffic-drill-table th{color:var(--muted);font-size:var(--fs-xs);font-weight:700;background:var(--surface-2, rgba(127, 127, 127, .04))}.traffic-drill-table th.num,.traffic-drill-table td.num{text-align:right;font-variant-numeric:tabular-nums}.traffic-drill-table tbody tr:last-child td{border-bottom:0}.traffic-drill-table .drill-key{font-weight:650;color:var(--text)}.traffic-drill-table .text-muted{color:var(--muted)}.traffic-drill-table .text-good{color:var(--success)}.traffic-drill-table .text-warn{color:var(--warning-strong)}.traffic-drill-table .text-crit{color:var(--danger)}.traffic-drill-table .sev-row-crit td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.traffic-drill-table .sev-row-warn td:first-child{box-shadow:inset 3px 0 0 var(--warning-accent)}.traffic-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.traffic-card{overflow:hidden}.traffic-card .panel-header h2{display:flex;align-items:center;gap:var(--sp-1)}.traffic-full-row{grid-column:1 / -1}.traffic-geo-list{padding:var(--sp-4) var(--sp-5);display:grid;gap:var(--sp-3)}.geo-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-2)}.geo-label{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--text-secondary);min-width:160px}.geo-bar-wrap{flex:1;height:8px;background:var(--surface-soft);border-radius:var(--r-full);overflow:hidden;margin:0 var(--sp-2);min-width:0}.geo-bar{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width .4s ease}.geo-meta{display:flex;gap:var(--sp-2);align-items:center}.geo-pct{font-size:var(--fs-sm);font-weight:700;color:var(--text);min-width:36px;text-align:right}.geo-count{font-size:var(--fs-xs);color:var(--muted);min-width:28px;text-align:right}.trend-up{color:var(--danger)}.trend-down{color:var(--accent)}.trend-stable{color:var(--faint)}.routing-list{padding:var(--sp-4) var(--sp-5);display:grid;gap:var(--sp-4)}.routing-row{display:grid;gap:var(--sp-1)}.routing-label-wrap{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.routing-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-accent{background:var(--accent)}.dot-success{background:var(--success)}.dot-warning{background:var(--warning-accent)}.dot-danger{background:var(--danger)}.routing-label{flex:1;color:var(--text-secondary)}.routing-pct{font-weight:700;color:var(--text)}.routing-bar-wrap{height:10px;background:var(--surface-soft);border-radius:var(--r-full);overflow:hidden}.routing-bar{height:100%;border-radius:var(--r-full);transition:width .4s ease}.bar-accent{background:var(--accent)}.bar-success{background:var(--success)}.bar-warning{background:var(--warning-accent)}.bar-danger{background:var(--danger)}.routing-count{font-size:var(--fs-xs);color:var(--muted);text-align:right}.routing-total{margin:var(--sp-2) var(--sp-5) var(--sp-3);font-size:var(--fs-xs);color:var(--muted);text-align:right;border-top:1px solid var(--border-subtle);padding-top:var(--sp-2)}.error-list{padding:var(--sp-4) var(--sp-5);display:grid;gap:var(--sp-3)}.error-row{display:grid;gap:var(--sp-1)}.error-meta{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}.error-type{color:var(--text-secondary);flex:1}.error-pct-inline{color:var(--muted);font-size:var(--fs-xs);min-width:3rem;text-align:right}.error-count{font-weight:700;color:var(--danger);min-width:2.5rem;text-align:right}.error-bar-wrap{position:relative;height:8px;background:var(--surface-soft);border-radius:var(--r-full);overflow:hidden}.error-bar{height:100%;background:color-mix(in oklch,var(--danger),transparent 30%);border-radius:var(--r-full);transition:width .4s ease}.error-pct{font-size:var(--fs-xs);color:var(--muted);min-width:3.5rem;text-align:right}.traffic-grid--loading{opacity:.45;pointer-events:none;transition:opacity .2s}.traffic-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.traffic-table thead th{height:36px;padding:0 var(--sp-3);color:var(--muted);background:var(--table-header-bg);border-bottom:1px solid var(--border);text-align:left;font-size:var(--fs-xs);font-weight:700;white-space:nowrap}.traffic-table td{height:44px;padding:var(--sp-2) var(--sp-3);color:var(--text-secondary);border-bottom:1px solid var(--table-border);vertical-align:middle;background:var(--surface)}.traffic-table tbody tr:last-child td{border-bottom:0}.traffic-table tbody tr:nth-child(2n) td{background:var(--table-row-alt)}.traffic-table tbody tr:hover td{background:var(--table-row-hover)}.rank-num{color:var(--faint);font-weight:700;font-size:var(--fs-xs);width:28px}.model-name{font-weight:650;color:var(--text)}.sub-pct{display:block;font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.text-danger{color:var(--danger);font-weight:700}.muted{color:var(--muted)}.key-mask{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-strong);background:var(--accent-soft);padding:2px var(--sp-2);border-radius:var(--r-sm)}.traffic-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:700}.badge-success{color:var(--success);background:var(--success-soft)}.badge-warning{color:var(--warning-strong);background:var(--warning-soft)}.badge-danger{color:var(--danger);background:var(--danger-soft)}.mini-bar-wrap{display:flex;align-items:center;gap:var(--sp-2);min-width:80px}.mini-bar{height:6px;background:var(--accent);border-radius:var(--r-full);min-width:4px}.mini-bar-wrap span{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.traffic-alert-note{padding:var(--sp-3) var(--sp-4);color:var(--warning-strong);background:var(--warning-soft);border-top:1px solid color-mix(in oklch,var(--warning-accent),transparent 60%);font-size:var(--fs-xs)}@media(max-width:1100px){.traffic-summary-strip{grid-template-columns:repeat(3,1fr)}.traffic-stat:nth-child(3n){border-right:0}.traffic-stat:nth-child(n+4){border-top:1px solid var(--border)}.traffic-grid{grid-template-columns:1fr}}@media(max-width:720px){.traffic-summary-strip{grid-template-columns:1fr 1fr}.traffic-stat:nth-child(3n){border-right:1px solid var(--border)}.traffic-stat:nth-child(2n){border-right:0}.traffic-stat:nth-child(n+3){border-top:1px solid var(--border)}.traffic-header{flex-wrap:wrap}}.ops-dashboard-page{display:grid;gap:12px;padding-top:14px}.ops-dashboard-toolbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px}.ops-dashboard-toolbar>div:first-child{min-width:0;display:flex;align-items:baseline;gap:10px}.ops-dashboard-toolbar strong{font-size:15px}.ops-dashboard-toolbar span{color:var(--muted);font-size:var(--fs-xs)}.ops-dashboard-actions{display:flex;align-items:center;gap:7px}.ops-range-control{height:30px;display:grid;grid-template-columns:repeat(4,34px);padding:2px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px}.ops-range-control button{padding:0;color:var(--muted);background:transparent;border:0;border-radius:3px;font-size:var(--fs-xs);font-weight:700;cursor:pointer}.ops-range-control button.is-active{color:var(--accent);background:var(--surface);box-shadow:var(--shadow-sm)}.ops-icon-button{width:30px;height:30px;display:grid;place-items:center;padding:0;color:var(--muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;cursor:pointer}.ops-icon-button:hover{color:var(--accent);border-color:var(--accent)}.ops-health-band{display:grid;grid-template-columns:minmax(285px,1.35fr) repeat(4,minmax(120px,.68fr));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ops-health-main{min-height:82px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:center;position:relative;padding:11px 14px}.ops-health-main:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--faint)}.ops-health-main.status-critical{background:linear-gradient(90deg,var(--danger-soft),var(--surface))}.ops-health-main.status-critical:before{background:var(--danger)}.ops-health-main.status-warning{background:linear-gradient(90deg,var(--warning-soft),var(--surface))}.ops-health-main.status-warning:before{background:var(--warning)}.ops-health-main.status-healthy{background:linear-gradient(90deg,var(--success-soft),var(--surface))}.ops-health-main.status-healthy:before{background:var(--success)}.ops-health-main>span{width:44px;height:44px;display:grid;place-items:center;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:6px}.ops-health-main.status-critical>span{color:var(--danger);border-color:color-mix(in oklch,var(--danger),transparent 65%)}.ops-health-main.status-warning>span{color:var(--warning)}.ops-health-main.status-healthy>span{color:var(--success)}.ops-health-main small,.ops-health-main strong,.ops-health-main p{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-health-main small{color:var(--muted);font-size:var(--fs-xs);font-weight:750}.ops-health-main strong{margin-top:3px;font-size:18px}.ops-health-main p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--fs-xs)}.ops-health-stat{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:11px 13px;border-left:1px solid var(--border)}.ops-health-stat span,.ops-health-stat strong,.ops-health-stat small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-health-stat span{color:var(--muted);font-size:var(--fs-xs)}.ops-health-stat strong{margin-top:4px;font:800 17px ui-monospace,SFMono-Regular,Menlo,monospace}.ops-health-stat strong.is-danger{color:var(--danger)}.ops-health-stat small{margin-top:4px;color:var(--faint);font-size:var(--fs-xs)}.ops-primary-incident{min-height:68px;display:grid;grid-template-columns:4px 38px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:8px 11px 8px 0;background:var(--surface);border:1px solid color-mix(in oklch,var(--danger),transparent 58%);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.ops-incident-rail{align-self:stretch;background:var(--danger)}.ops-severity{width:36px;height:25px;display:grid;place-items:center;color:#fff;background:var(--danger);border-radius:4px;font-size:var(--fs-xs);font-weight:850}.ops-incident-copy{min-width:0}.ops-incident-copy strong,.ops-incident-copy p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-incident-copy strong{font-size:var(--fs-sm)}.ops-incident-copy p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-xs)}.ops-primary-incident dl{display:grid;grid-template-columns:repeat(3,auto);gap:17px;margin:0}.ops-primary-incident dl div{min-width:0}.ops-primary-incident dt{color:var(--faint);font-size:var(--fs-xs)}.ops-primary-incident dd{max-width:150px;margin:3px 0 0;overflow:hidden;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ops-primary-incident>button{height:29px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;color:#fff;background:var(--danger);border:1px solid var(--danger);border-radius:4px;font-size:var(--fs-xs);font-weight:750;cursor:pointer}.ops-primary-incident.is-healthy{grid-template-columns:24px minmax(0,1fr);padding-left:13px;color:var(--success);border-color:color-mix(in oklch,var(--success),transparent 65%)}.ops-system-panel{min-width:0;overflow:hidden}.ops-system-layout{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:272px}.ops-system-list{border-right:1px solid var(--border)}.ops-system-row{width:100%;min-height:54px;display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:8px;align-items:center;position:relative;padding:7px 10px;color:var(--text);background:var(--surface);border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer}.ops-system-row:last-child{border-bottom:0}.ops-system-row:hover,.ops-system-row.is-active{background:var(--surface-hover)}.ops-system-row.is-active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.ops-system-row.has-alert:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--danger);animation:ops-alert-rail 1.5s ease-in-out infinite}@keyframes ops-alert-rail{50%{opacity:.28;box-shadow:0 0 9px var(--danger)}}.ops-system-icon{width:29px;height:29px;display:grid;place-items:center;color:#347aa5;background:#eaf3f8;border-radius:4px}.ops-system-row.has-alert .ops-system-icon{color:var(--danger);background:var(--danger-soft)}.ops-system-name{min-width:0}.ops-system-name strong,.ops-system-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-system-name strong{font-size:var(--fs-sm)}.ops-system-name small{margin-top:3px;color:var(--faint);font-size:var(--fs-xs)}.ops-status{display:inline-flex;align-items:center;gap:4px;color:var(--faint);font-size:var(--fs-xs);font-weight:800;white-space:nowrap}.ops-status i{width:5px;height:5px;background:currentColor;border-radius:50%}.ops-status.status-healthy{color:var(--success)}.ops-status.status-warning{color:var(--warning)}.ops-status.status-critical{color:var(--danger)}.ops-system-detail{min-width:0;padding:12px}.ops-system-detail-head{min-height:40px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ops-system-detail-head>div:first-child{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center}.ops-detail-icon{width:36px;height:36px;display:grid;place-items:center;color:#347aa5;background:#eaf3f8;border-radius:5px}.ops-detail-icon.status-critical{color:var(--danger);background:var(--danger-soft)}.ops-detail-icon.status-warning{color:var(--warning);background:var(--warning-soft)}.ops-system-detail-head h3{margin:0;font-size:var(--fs-md)}.ops-system-detail-head p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-xs)}.ops-member-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.ops-member-tabs button{height:25px;padding:0 8px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;font-size:var(--fs-xs);cursor:pointer}.ops-member-tabs button.is-active{color:#347aa5;background:var(--surface);border-color:#347aa5}.ops-member-context{min-height:30px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:9px;padding:6px 8px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;font-size:var(--fs-xs)}.ops-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}.ops-metric-tile{min-width:0;min-height:82px;display:flex;flex-direction:column;justify-content:center;padding:9px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px}.ops-metric-tile span,.ops-metric-tile strong,.ops-metric-tile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-metric-tile span{color:var(--muted);font-size:var(--fs-xs)}.ops-metric-tile strong{margin-top:6px;font:800 14px ui-monospace,SFMono-Regular,Menlo,monospace}.ops-metric-tile small{margin-top:5px;color:var(--faint);font-size:var(--fs-xs)}.ops-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.62fr);gap:12px;align-items:start}.ops-dashboard-main,.ops-dashboard-side{min-width:0;display:grid;gap:12px}.ops-capacity-scroll{max-width:100%;overflow-x:auto}.ops-capacity-table{width:100%;min-width:850px;border-collapse:collapse}.ops-capacity-table th,.ops-capacity-table td{height:38px;padding:0 10px;border-bottom:1px solid var(--border);font-size:var(--fs-xs);text-align:left;white-space:nowrap}.ops-capacity-table thead th{height:33px;color:var(--muted);background:var(--surface-soft);font-weight:650}.ops-capacity-table tbody th{color:var(--text);font-weight:750}.ops-capacity-table tbody td{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ops-capacity-table tbody tr:last-child th,.ops-capacity-table tbody tr:last-child td{border-bottom:0}.ops-infra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.ops-infra-grid>button{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);padding:12px;color:var(--text);background:var(--surface);border:0;border-right:1px solid var(--border);text-align:left;cursor:pointer}.ops-infra-grid>button:last-child{border-right:0}.ops-infra-grid>button:hover,.ops-infra-grid>button.is-active{background:var(--surface-hover)}.ops-infra-grid svg{grid-row:1 / 4;margin-top:1px;color:#347aa5}.ops-infra-grid span,.ops-infra-grid strong,.ops-infra-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-infra-grid span{color:var(--muted);font-size:var(--fs-xs)}.ops-infra-grid strong{margin-top:6px;font:800 14px ui-monospace,SFMono-Regular,Menlo,monospace}.ops-infra-grid small{margin-top:4px;color:var(--faint);font-size:var(--fs-xs)}.ops-infra-detail{border-top:1px solid var(--border)}.ops-infra-detail>header{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;background:var(--surface-soft)}.ops-infra-detail>header strong,.ops-infra-detail>header small{display:block}.ops-infra-detail>header strong{font-size:var(--fs-sm)}.ops-infra-detail>header small{margin-top:2px;color:var(--muted);font-size:var(--fs-xs)}.ops-infra-detail-scroll{max-width:100%;max-height:290px;overflow:auto}.ops-infra-detail table{width:100%;border-collapse:collapse}.ops-infra-detail th,.ops-infra-detail td{height:36px;padding:0 12px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--fs-xs);text-align:left;white-space:nowrap}.ops-infra-detail thead th{position:sticky;top:0;color:var(--muted);background:var(--surface);font-weight:650}.ops-infra-detail tbody th{color:var(--text);font-weight:700}.ops-infra-detail tbody tr:last-child th,.ops-infra-detail tbody tr:last-child td{border-bottom:0}.ops-alert-list>button{width:100%;min-height:54px;display:grid;grid-template-columns:3px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px 8px 0;color:var(--text);background:var(--surface);border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer}.ops-alert-list>button:hover{background:var(--surface-hover)}.ops-alert-level{align-self:stretch;background:var(--warning)}.ops-alert-level.level-p0,.ops-alert-level.level-p1{background:var(--danger)}.ops-alert-list strong,.ops-alert-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-alert-list strong{font-size:var(--fs-xs)}.ops-alert-list small{margin-top:4px;color:var(--muted);font-size:var(--fs-xs)}.ops-alert-list time{color:var(--faint);font-size:var(--fs-xs);white-space:nowrap}.ops-empty-state{min-height:54px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;color:var(--muted);font-size:var(--fs-xs)}.ops-self-checks,.ops-change-list{padding:2px 10px 5px}.ops-self-checks>div,.ops-change-list>div:not(.ops-empty-state){min-height:42px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:7px;align-items:center;border-bottom:1px solid var(--border)}.ops-self-checks>div:last-child,.ops-change-list>div:last-child{border-bottom:0}.ops-self-checks>div>span,.ops-change-list>div>span{width:25px;height:25px;display:grid;place-items:center;color:var(--muted);background:var(--surface-soft);border-radius:4px}.ops-self-checks>div>span.is-good{color:var(--success);background:var(--success-soft)}.ops-self-checks p,.ops-change-list p{min-width:0;margin:0}.ops-self-checks strong,.ops-self-checks small,.ops-change-list strong,.ops-change-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-self-checks strong,.ops-change-list strong{font-size:var(--fs-xs)}.ops-self-checks small,.ops-change-list small{margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.ops-self-checks em{color:var(--faint);font-size:var(--fs-xs);font-style:normal;font-weight:750}.ops-change-list time{color:var(--faint);font-size:var(--fs-xs);white-space:nowrap}@media(max-width:1360px){.ops-health-band{grid-template-columns:minmax(270px,1.25fr) repeat(2,1fr)}.ops-health-stat:nth-child(4),.ops-health-stat:nth-child(5){border-top:1px solid var(--border)}.ops-primary-incident dl{grid-template-columns:repeat(2,auto)}.ops-primary-incident dl>div:last-child{display:none}.ops-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-infra-grid{grid-template-columns:1fr 1fr}.ops-infra-grid>button:nth-child(2){border-right:0}.ops-infra-grid>button:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media(max-width:1050px){.ops-dashboard-grid{grid-template-columns:1fr}.ops-dashboard-side{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.ops-primary-incident{grid-template-columns:4px 38px minmax(0,1fr) auto}.ops-primary-incident dl{display:none}}@media(max-width:820px){.ops-dashboard-toolbar>div:first-child span{display:none}.ops-health-band{grid-template-columns:1fr 1fr}.ops-health-main{grid-column:1 / -1}.ops-health-stat{border-top:1px solid var(--border)}.ops-system-layout{grid-template-columns:1fr}.ops-system-list{display:grid;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--border)}.ops-system-row{border-right:1px solid var(--border)}.ops-system-detail-head{display:grid}.ops-member-tabs{justify-content:flex-start}.ops-dashboard-side{grid-template-columns:1fr}}@media(max-width:620px){.ops-primary-incident{grid-template-columns:4px 34px minmax(0,1fr)}.ops-primary-incident>button{display:none}.ops-metric-grid{grid-template-columns:1fr 1fr}.ops-system-list,.ops-infra-grid{grid-template-columns:1fr}.ops-infra-grid>button{border-right:0;border-bottom:1px solid var(--border)}}.env-tabs{display:inline-flex;padding:3px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--sp-4);flex-wrap:wrap}.env-tabs button{min-height:34px;padding:0 var(--sp-4);color:var(--muted);background:transparent;border:0;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:650;cursor:pointer}.env-tabs button:hover{color:var(--text-secondary)}.env-tabs button.is-active{color:var(--accent-strong);background:var(--surface);box-shadow:var(--shadow-sm)}.env-tabs button .badge{margin-left:5px;padding:1px 6px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:700;background:var(--accent-soft);color:var(--accent-strong)}.env-tabs button .badge.muted{background:var(--surface-hover);color:var(--muted)}.acct-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:680;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-secondary)}.acct-tag.host{background:var(--accent-soft);color:var(--accent-strong)}.resource-type-icon.type-acr{color:var(--warning-strong);background:var(--warning-soft)}.resource-type-icon.type-rds{color:var(--info);background:var(--info-soft)}.resource-type-icon.type-redis{color:var(--danger);background:var(--danger-soft)}.sync-banner{margin:0 var(--sp-4) var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm)}.sync-banner.is-error{color:var(--danger-strong);background:var(--danger-soft)}.sync-banner.is-partial{color:var(--warning-strong);background:var(--warning-soft)}.inventory-toolbar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap}.inventory-count{display:flex;align-items:baseline;gap:var(--sp-2);margin-left:auto}.inventory-count strong{color:var(--accent-strong);font-size:var(--fs-lg)}.inventory-count span{color:var(--muted);font-size:var(--fs-sm)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}.pagination .info{color:var(--muted);font-size:var(--fs-sm)}.pagination .pages{display:flex;align-items:center;gap:4px;margin-left:auto}.pagination .pages button{min-width:32px;height:32px;padding:0 var(--sp-2);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer}.pagination .pages button.is-active{color:#fff;background:var(--accent);border-color:var(--accent)}.pagination .pages button:disabled{opacity:1;cursor:default;color:var(--muted);background:var(--surface-soft)}.drawer-backdrop{position:fixed;inset:0;z-index:50;padding:0;border:0;background:#0f171459;opacity:0;pointer-events:none;transition:opacity var(--t-fast)}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.inventory-drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform var(--t-normal)}.inventory-drawer.is-open{transform:translate(0)}.backup-management-page{min-width:0;display:grid;gap:var(--sp-4)}.backup-page-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.backup-page-header>div{min-width:0;display:flex;align-items:center;gap:var(--sp-2)}.backup-page-header>div:first-child{display:grid;gap:3px}.backup-page-header h1{margin:0;color:var(--text);font-size:var(--fs-xl);letter-spacing:0}.backup-page-header span{color:var(--muted);font-size:var(--fs-xs)}.backup-plan-panel{min-width:0;overflow:hidden}.backup-plan-panel .table-wrap{max-height:calc(100vh - 170px)}.backup-plan-panel table{min-width:1040px}.backup-plan-panel td>strong,.backup-plan-panel td>small{display:block}.backup-plan-panel td>small{margin-top:4px;color:var(--muted);font-size:var(--fs-xs)}.backup-row-actions{display:flex;align-items:center;gap:6px}.backup-row-actions .icon-button,.backup-page-header .icon-button,.backup-modal-header .icon-button{width:34px;height:34px;display:inline-grid;place-items:center;padding:0;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer}.backup-row-actions .icon-button:hover,.backup-page-header .icon-button:hover,.backup-modal-header .icon-button:hover{color:var(--accent-strong);border-color:var(--accent)}.backup-error{padding:10px 12px;color:var(--danger);background:var(--danger-soft);border:1px solid #e8c3c0;border-radius:var(--r-sm);font-size:var(--fs-xs)}.backup-detail-loading{position:fixed;right:24px;bottom:24px;z-index:65;padding:10px 14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);font-size:var(--fs-xs)}.backup-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#1018207a}.backup-modal{width:min(980px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.backup-detail{width:min(1120px,100%)}.backup-modal-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--border)}.backup-modal-header>div{min-width:0;display:grid;gap:3px}.backup-modal-header h2{margin:0;color:var(--text);font-size:var(--fs-lg);letter-spacing:0}.backup-modal-header span{color:var(--muted);font-size:var(--fs-xs)}.backup-modal-body{min-height:0;flex:1 1 auto;overflow:auto;padding:18px}.backup-modal-footer{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid var(--border)}.backup-modal-footer button{display:inline-flex;align-items:center;gap:7px}.backup-stepper{display:flex;align-items:center;margin:0;padding:14px 18px;list-style:none;background:var(--surface-soft);border-bottom:1px solid var(--border)}.backup-stepper li{min-width:0;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--fs-xs)}.backup-stepper li:not(:last-child){flex:1}.backup-stepper li:not(:last-child):after{content:"";flex:1 1 auto;min-width:16px;height:1px;margin:0 12px 0 4px;background:var(--border)}.backup-stepper li>span{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%}.backup-stepper li strong{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-stepper li.is-active{color:var(--accent-strong)}.backup-stepper li.is-active>span,.backup-stepper li.is-done>span{color:#fff;background:var(--accent-strong);border-color:var(--accent-strong)}.backup-stepper li.is-done:after{background:var(--accent)}.backup-scope-toolbar{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px}.backup-field{min-width:0;display:grid;gap:6px;color:var(--muted);font-size:var(--fs-xs);font-weight:650}.backup-field input{width:100%;min-height:38px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm)}.backup-field input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.backup-field.is-invalid input{border-color:var(--danger)}.backup-field.is-invalid input:focus{outline:2px solid var(--danger-soft);border-color:var(--danger)}.backup-field-error{color:var(--danger);font-size:var(--fs-xs);font-weight:600}.backup-input-icon{position:relative;display:block}.backup-input-icon svg{position:absolute;top:50%;left:10px;color:var(--muted);transform:translateY(-50%)}.backup-input-icon input{padding-left:34px}.backup-selected-count{min-width:84px;height:38px;display:flex;align-items:baseline;justify-content:center;gap:5px;padding:8px 12px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-sm)}.backup-selected-count strong{color:var(--accent-strong);font-size:var(--fs-lg)}.backup-selected-count span{color:var(--muted);font-size:var(--fs-xs)}.backup-candidate-table{max-height:360px;border:1px solid var(--border);border-radius:var(--r-sm)}.backup-candidate-table table{min-width:820px}.backup-candidate-table td strong,.backup-candidate-table td small{display:block}.backup-candidate-table td small{margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.backup-candidate-table tr.is-disabled{opacity:.62}.backup-candidate-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-strong)}.backup-conflict{color:var(--warning-strong);font-size:var(--fs-xs)}.backup-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;color:var(--muted);font-size:var(--fs-xs)}.backup-pagination>div{display:flex;align-items:center;gap:8px}.backup-pagination button{min-height:30px;padding:0 10px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.backup-pagination button:disabled{opacity:.45}.backup-empty{min-height:120px;display:grid;place-items:center;color:var(--muted);font-size:var(--fs-sm)}.backup-form-grid{max-width:680px;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px auto}.backup-field-wide{grid-column:1 / -1}.backup-env-picker{position:relative;min-width:0}.backup-env-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;width:100%;z-index:30;max-height:240px;overflow:auto;margin:0;padding:4px 0;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);box-sizing:border-box}.backup-env-menu button{display:block;width:100%;padding:8px 10px;color:var(--text);background:transparent;border:0;text-align:left;font-size:var(--fs-sm);cursor:pointer}.backup-env-menu button:hover,.backup-env-menu button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong)}.backup-run-now{grid-column:1 / -1;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;padding:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer}.backup-run-now input{margin-top:3px;accent-color:var(--accent-strong)}.backup-run-now span{display:grid;gap:4px}.backup-run-now strong{color:var(--text);font-size:var(--fs-sm)}.backup-run-now small{color:var(--muted);font-size:var(--fs-xs);line-height:1.6}.backup-timezone{grid-column:1 / -1;display:grid;grid-template-columns:90px auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm)}.backup-timezone>span,.backup-timezone small{color:var(--muted);font-size:var(--fs-xs)}.backup-timezone strong{color:var(--accent-strong)}.backup-policy-options{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px auto}.backup-policy-options>label{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer}.backup-policy-options>label.is-selected{background:var(--accent-soft);border-color:var(--accent)}.backup-policy-options input{margin-top:3px;accent-color:var(--accent-strong)}.backup-policy-options label span{display:grid;gap:6px}.backup-policy-options label strong{color:var(--text);font-size:var(--fs-sm)}.backup-policy-options label small{color:var(--muted);font-size:var(--fs-xs);line-height:1.6}.backup-confirmation{max-width:760px;display:grid;gap:14px;margin:0 auto}.backup-confirmation dl,.backup-plan-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.backup-confirmation dl>div,.backup-plan-meta>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:11px 12px;border-bottom:1px solid var(--border)}.backup-confirmation dt,.backup-plan-meta dt{color:var(--muted);font-size:var(--fs-xs)}.backup-confirmation dd,.backup-plan-meta dd{min-width:0;margin:0;color:var(--text);font-size:var(--fs-xs);overflow-wrap:anywhere}.backup-disk-summary,.backup-confirm-machines,.backup-member-strip{display:flex;flex-wrap:wrap;gap:8px}.backup-disk-summary span,.backup-confirm-machines span{padding:7px 10px;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs)}.backup-detail .backup-modal-body{display:grid;gap:18px}.backup-detail-section{min-width:0;display:grid;gap:10px}.backup-detail-section h3{margin:0;color:var(--text);font-size:var(--fs-sm);letter-spacing:0}.backup-member-strip>span{min-width:200px;display:grid;gap:4px;padding:9px 11px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm)}.backup-member-strip strong{color:var(--text);font-size:var(--fs-xs)}.backup-member-strip small{color:var(--muted);font-size:var(--fs-xs)}.backup-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.backup-record-count{color:var(--muted);font-size:var(--fs-xs)}.backup-record-table table{min-width:640px}.backup-record-table td .locate-button{display:inline-flex;align-items:center;gap:4px}.backup-record-table tr.is-expanded td{background:var(--accent-soft)}.backup-records{min-width:0;display:grid;gap:10px}.backup-execution-summary{display:flex;flex-wrap:wrap;gap:16px;padding:10px 12px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs)}.backup-machine-record{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm)}.backup-machine-record>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.backup-machine-record>header>div{min-width:0;display:grid;gap:3px}.backup-machine-record header strong{color:var(--text);font-size:var(--fs-sm)}.backup-machine-record header small{color:var(--muted);font-size:var(--fs-xs);overflow-wrap:anywhere}.backup-snapshot-table{max-height:240px}.backup-snapshot-table table{min-width:760px}.backup-snapshot-table code{color:var(--accent-strong);font-size:var(--fs-xs)}.backup-record-error{padding:9px 12px;color:var(--danger);background:var(--danger-soft);border-top:1px solid #e8c3c0;font-size:var(--fs-xs)}@media(max-width:760px){.backup-page-header{align-items:flex-start}.backup-page-header>div:last-child{flex:0 0 auto}.backup-modal-backdrop{padding:0;place-items:stretch}.backup-modal{width:100%;max-height:100vh;border-radius:0}.backup-stepper{padding:10px}.backup-stepper li{justify-content:center}.backup-stepper li strong,.backup-stepper li:after{display:none}.backup-scope-toolbar,.backup-form-grid,.backup-policy-options{grid-template-columns:1fr}.backup-field-wide,.backup-timezone{grid-column:auto}.backup-timezone{grid-template-columns:70px auto}.backup-timezone small{grid-column:1 / -1}.backup-confirmation dl,.backup-plan-meta{grid-template-columns:1fr}.backup-section-heading{align-items:flex-start;flex-direction:column}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--border)}.drawer-title{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.drawer-title>div{min-width:0;display:grid;gap:3px}.drawer-title strong{overflow:hidden;color:var(--text);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap}.drawer-title small{color:var(--muted);font-size:var(--fs-xs);font-family:var(--font-mono)}.drawer-close{width:32px;height:32px;display:grid;place-items:center;color:var(--muted);background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer}.drawer-body{overflow:auto;padding:var(--sp-4) var(--sp-5) var(--sp-8)}.drawer-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-4)}.drawer-section{margin-top:var(--sp-5)}.drawer-section h3{margin:0 0 var(--sp-2);font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em;color:var(--muted)}.detail-grid{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.detail-grid>div{display:grid;grid-template-columns:110px 1fr;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm)}.detail-grid>div:last-child{border-bottom:0}.detail-grid dt{color:var(--muted);font-size:var(--fs-xs);align-self:center}.detail-grid dd{margin:0;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);word-break:break-all;align-self:center}.primary-button:disabled{opacity:.55;cursor:not-allowed}.bandwidth-sync-modal{width:min(1280px,100%)}.bandwidth-sync-body{display:grid;gap:14px}.bandwidth-sync-summary{display:flex;flex-wrap:wrap;gap:8px}.bandwidth-sync-summary span{padding:6px 9px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs)}.bandwidth-sync-summary strong{margin-left:4px;color:var(--text)}.bandwidth-sync-table-wrap{max-height:min(58vh,620px)}.bandwidth-sync-table-wrap table{min-width:1080px}.bandwidth-sync-table-wrap td strong,.bandwidth-sync-table-wrap td small{display:block}.bandwidth-sync-table-wrap td small{margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.bandwidth-sync-table-wrap code{color:var(--text-secondary);font-size:var(--fs-xs)}.compact-select{min-width:112px;min-height:32px;padding:4px 28px 4px 8px}.bandwidth-status{display:inline-flex;padding:2px 7px;border-radius:var(--r-full);color:var(--text-secondary);background:var(--surface-soft);font-size:var(--fs-xs);font-weight:700}.bandwidth-status.is-ready,.bandwidth-status.is-updated{color:var(--accent-strong);background:var(--accent-soft)}.bandwidth-status.is-unchanged{color:var(--success);background:var(--success-soft)}.bandwidth-status.is-unsupported,.bandwidth-status.is-manual{color:var(--warning-strong);background:var(--warning-soft)}.bandwidth-status.is-failed{color:var(--danger);background:var(--danger-soft)}.bandwidth-sync-actions{display:flex;align-items:center;gap:8px}:root{color-scheme:light}input:not([type=checkbox]),textarea,select{color:var(--text)!important;background-color:#fff!important;border-color:var(--border-strong)!important;-webkit-text-fill-color:var(--text)!important;color-scheme:light!important}input:not([type=checkbox])::placeholder,textarea::placeholder{color:var(--muted)!important;opacity:1;-webkit-text-fill-color:var(--muted)!important}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;padding:0;background:#fff;border:1px solid #94a3b8;border-radius:3px;box-shadow:none;color-scheme:light;cursor:pointer;position:relative;vertical-align:middle}input[type=checkbox]:checked{background:#2563eb;border-color:#2563eb}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.rolling-page{display:grid;gap:15px}.rolling-heading{align-items:flex-start}.rolling-breadcrumb{margin-bottom:4px;color:var(--muted);font-size:var(--fs-xs)}.rolling-heading h1{margin:0}.rolling-heading p{margin:5px 0 0;color:var(--muted);font-size:var(--fs-sm)}.rolling-summary{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.rolling-summary>div{min-height:86px;display:grid;align-content:center;gap:3px;padding:14px 17px;border-right:1px solid var(--border)}.rolling-summary>div:last-child{border-right:0}.rolling-summary span,.rolling-summary small{color:var(--muted);font-size:var(--fs-xs)}.rolling-summary strong{color:var(--text);font-size:18px;line-height:1.25}.rolling-site-switcher{width:fit-content;min-width:112px;padding:3px 28px 3px 0;border:0;background-color:transparent;color:var(--text);font-size:18px;font-weight:700;line-height:1.25;cursor:pointer}.rolling-site-switcher:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--r-sm)}.rolling-site-switcher:disabled{cursor:wait;opacity:.65}.rolling-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px;align-items:start}.rolling-main,.rolling-side{min-width:0;display:grid;gap:15px}.rolling-panel{min-width:0;overflow:hidden}.rolling-panel-header{min-height:68px;align-items:flex-start}.rolling-panel-header h2{margin:0;font-size:var(--fs-lg)}.rolling-panel-header p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-xs)}.rolling-status-pill,.rolling-table-status,.rolling-step-status{width:max-content;display:inline-flex;align-items:center;padding:3px 7px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:750;white-space:nowrap}.rolling-status-pill.is-ok,.rolling-table-status.success,.rolling-step-status.is-done{color:var(--success);background:var(--success-soft)}.rolling-status-pill.is-partial,.rolling-table-status.degraded{color:var(--warning-strong);background:var(--warning-soft)}.rolling-status-pill.is-running,.rolling-table-status.running,.rolling-step-status.is-running{color:var(--accent-strong);background:var(--accent-soft)}.rolling-status-pill.is-failed,.rolling-table-status.failed,.rolling-table-status.aborted,.rolling-step-status.is-failed{color:var(--danger);background:var(--danger-soft)}.rolling-topology{padding:18px}.rolling-flow{min-width:0;display:grid;grid-template-columns:minmax(170px,.8fr) 30px minmax(240px,1fr);gap:12px;align-items:center}.rolling-node,.rolling-infra-node{min-width:0;display:flex;align-items:center;gap:9px;padding:11px 12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--r-md)}.rolling-node>i,.rolling-infra-node>i{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;color:var(--accent-strong);background:var(--accent-soft);border-radius:7px;font-size:9px;font-style:normal;font-weight:800}.rolling-node>div,.rolling-infra-node>div{min-width:0;flex:1}.rolling-node strong,.rolling-infra-node strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.rolling-node small,.rolling-infra-node small{display:block;margin-top:2px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs)}.rolling-node>b{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.rolling-node.running,.rolling-infra-node.running{border-color:#9ed4c5;box-shadow:0 0 0 3px #21846c14}.rolling-node.running>i,.rolling-infra-node.running>i{animation:rolling-spin-pulse 1.2s ease-in-out infinite}.rolling-node.failed,.rolling-infra-node.failed{color:var(--danger);background:var(--danger-soft);border-color:#e8c3c0}.rolling-node.failed>i,.rolling-infra-node.failed>i{color:var(--danger);background:#fff}.rolling-arrow{color:var(--faint);font-size:21px;text-align:center}.rolling-slots{min-width:0;display:grid;gap:8px}.rolling-slots .slot-blue{border-left:3px solid #8b9b96}.rolling-slots .slot-green{border-left:3px solid var(--accent)}.rolling-slots .slot-green>i{color:#fff;background:var(--accent)}.rolling-infra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px;padding-top:15px;border-top:1px dashed var(--border-strong)}.rolling-infra-node{min-height:60px;padding:9px 10px}.rolling-infra-node>span{color:var(--success);font-size:var(--fs-xs);white-space:nowrap}.rolling-infra-node.running>span{color:var(--accent-strong)}.rolling-infra-node.failed>span{color:var(--danger)}.rolling-progress{padding:15px 18px 5px}.rolling-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:var(--fs-sm)}.rolling-progress>div:first-child span{color:var(--accent-strong);font-weight:750}.rolling-progress-track{height:9px;overflow:hidden;background:var(--surface-soft);border-radius:var(--r-full)}.rolling-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#5bb79f);border-radius:inherit;transition:width .35s ease}.rolling-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:20px 18px 16px;list-style:none}.rolling-step{position:relative;min-width:0;display:grid;grid-template-rows:29px minmax(0,1fr);gap:8px;min-height:96px;padding:0 12px 14px 0}.rolling-step:after{content:"";position:absolute;left:29px;right:0;top:14px;height:1px;background:var(--border)}.rolling-step:nth-child(4n):after,.rolling-step:last-child:after{display:none}.rolling-step-dot{position:relative;z-index:1;width:29px;height:29px;display:grid;place-items:center;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border-strong);border-radius:50%;font-size:var(--fs-xs);font-weight:800}.rolling-step.is-done .rolling-step-dot{color:#fff;background:var(--success);border-color:var(--success)}.rolling-step.is-running .rolling-step-dot{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent)}.rolling-step.is-failed .rolling-step-dot{color:#fff;background:var(--danger);border-color:var(--danger)}.rolling-step-copy{min-width:0;display:grid;align-content:start;gap:4px;padding-right:8px}.rolling-step-copy>div{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.rolling-step-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs)}.rolling-step-copy time{margin-left:auto;color:var(--faint);font-size:var(--fs-xs);white-space:nowrap}.rolling-step-copy small{overflow-wrap:anywhere;color:var(--muted);font-size:10px;line-height:1.35}.rolling-step-error{margin:0;overflow-wrap:anywhere;color:var(--danger);font-size:var(--fs-xs);line-height:1.35}.rolling-spinner{width:13px;height:13px;display:block;border:2px solid rgba(27,119,98,.25);border-top-color:var(--accent);border-radius:50%;animation:rolling-spin .8s linear infinite}.rolling-empty-step{grid-column:1 / -1;padding:12px;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:var(--r-sm);font-size:var(--fs-sm)}.rolling-error-box{display:grid;gap:5px;margin:0 18px 18px;padding:12px;color:var(--danger);background:var(--danger-soft);border:1px solid #e8c3c0;border-radius:var(--r-sm)}.rolling-error-box strong{font-size:var(--fs-sm)}.rolling-error-box p{margin:0;overflow-wrap:anywhere;font-size:var(--fs-sm)}.rolling-error-box code{color:#7f2925;font-size:var(--fs-xs)}.rolling-component-outcomes{display:grid;gap:6px;margin:5px 0;padding:10px;color:var(--text);background:var(--surface);border-radius:var(--r-sm);font-size:var(--fs-xs)}.rolling-component-outcomes span{display:block}.rolling-component-outcomes .is-success:before{content:"✓ ";color:var(--success);font-weight:800}.rolling-component-outcomes .is-rollback:before{content:"↩ ";color:var(--warning);font-weight:800}.rolling-component-outcomes .is-available:before{content:"● ";color:var(--success);font-weight:800}.rolling-feedback-toast{position:fixed;z-index:3000;top:18px;right:18px;width:min(440px,calc(100vw - 36px));display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px;color:#762d29;background:color-mix(in srgb,var(--danger-soft) 94%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 48%,var(--border));border-radius:var(--r-md);box-shadow:0 14px 38px #47201e38}.rolling-feedback-toast>div{display:grid;gap:4px}.rolling-feedback-toast strong{font-size:var(--fs-sm)}.rolling-feedback-toast p{margin:0;overflow-wrap:anywhere;font-size:var(--fs-xs);line-height:1.55;white-space:pre-wrap}.rolling-feedback-toast button{flex:none;width:26px;height:26px;padding:0;border:0;border-radius:50%;color:inherit;background:transparent;cursor:pointer;font-size:20px;line-height:1}.rolling-strategy-body{display:grid;gap:0;padding:3px 16px 16px}.rolling-fact{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid var(--border)}.rolling-fact span{color:var(--muted);font-size:var(--fs-xs)}.rolling-fact strong{overflow-wrap:anywhere;font-size:var(--fs-sm)}.rolling-protection{margin-top:12px;padding:10px;color:#53645f;background:var(--surface-soft);border-radius:var(--r-sm)}.rolling-protection b{color:var(--text);font-size:var(--fs-xs)}.rolling-protection p{margin:4px 0 0;font-size:var(--fs-xs);line-height:1.5}.rolling-full-button{width:100%;margin-top:14px}.rolling-history tbody tr{cursor:pointer}.rolling-history tbody tr.is-selected{background:var(--surface-soft)}.rolling-history td small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.rolling-history td{vertical-align:middle}.rolling-history .text-button{font-weight:750}.rolling-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;color:var(--muted);border-top:1px solid var(--border);font-size:var(--fs-xs)}.rolling-history-pagination>div{display:flex;align-items:center;gap:8px}.rolling-history-pagination button{min-height:30px;padding:0 10px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm)}.rolling-history-pagination button:disabled{opacity:.45;cursor:default}.rolling-dialog{max-width:860px}.rolling-dialog form{max-height:min(76vh,860px);overflow-y:auto;padding:18px}.rolling-dialog form>p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.rolling-dialog footer,.rolling-confirm footer{display:flex;justify-content:flex-end;gap:8px;margin-top:6px;padding-top:13px;border-top:1px solid var(--border)}.rolling-confirm{display:grid;gap:14px;padding:18px}.rolling-confirm-path{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,1fr);align-items:center;gap:9px;padding:12px;background:var(--surface-soft);border-radius:var(--r-sm)}.rolling-confirm-path span{color:var(--muted);font-size:var(--fs-xs)}.rolling-confirm-path strong{min-width:0;overflow:hidden;color:var(--accent-strong);text-overflow:ellipsis;white-space:nowrap;font:650 var(--fs-xs) ui-monospace,monospace}.rolling-confirm-path b{color:var(--faint)}.rolling-check-list{display:grid;gap:7px}.rolling-check-list p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.rolling-form-error{position:sticky;z-index:2;top:-18px;margin:-18px -18px 2px!important;padding:11px 18px;color:var(--danger)!important;background:var(--danger-soft);border-bottom:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));font-weight:650}.rolling-sql-section{display:grid;gap:12px;margin-top:5px;padding:15px;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.rolling-sql-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.rolling-sql-heading div{display:grid;gap:4px}.rolling-sql-heading strong{color:var(--text);font-size:var(--fs-md)}.rolling-sql-heading small,.rolling-sql-section>p{margin:0;color:var(--muted);font-size:var(--fs-xs)}.rolling-sql-heading>span{padding:3px 8px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:999px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:11px;white-space:nowrap}.rolling-sql-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rolling-gate-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.rolling-gate-guide li{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.rolling-gate-guide li>b{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;color:var(--muted);background:var(--surface-soft);font-size:11px}.rolling-gate-guide li>span{min-width:0;display:grid;gap:3px}.rolling-gate-guide strong{font-size:var(--fs-xs)}.rolling-gate-guide small{color:var(--muted);font-size:10px;line-height:1.4}.rolling-gate-guide li.is-current{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.rolling-gate-guide li.is-current>b{color:#fff;background:var(--accent)}.rolling-gate-guide li.is-done{border-color:color-mix(in srgb,var(--success) 42%,var(--border))}.rolling-gate-guide li.is-done>b{color:#fff;background:var(--success)}.rolling-gate-guide li.is-done>b:after{content:"✓"}.rolling-gate-guide li.is-done>b{font-size:0}.rolling-sql-mode label,.rolling-sql-skip{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);background:var(--surface)}.rolling-sql-editor{display:grid;gap:10px}.rolling-sql-tabs{display:flex;gap:6px}.rolling-sql-tabs button{padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);background:var(--surface);cursor:pointer}.rolling-sql-tabs button.is-active{border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.rolling-sql-upload{display:flex!important;align-items:center;gap:10px!important;padding:10px;border:1px dashed var(--border);border-radius:var(--r-sm)}.rolling-sql-upload input{max-width:230px}.rolling-sql-editor textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:var(--r-sm);padding:10px;color:var(--text);background:var(--surface);font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.rolling-sql-actions{display:flex;flex-wrap:wrap;gap:8px}.rolling-field-hint{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.rolling-field-hint.is-error{color:var(--danger)}.rolling-baseline-hint{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.rolling-baseline-hint:before{content:"🔒 "}.rolling-emergency-override{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-soft)}.rolling-emergency-override.is-expanded{border-color:color-mix(in srgb,var(--danger) 58%,var(--border));background:color-mix(in srgb,var(--danger-soft) 68%,var(--surface))}.rolling-emergency-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 13px;color:var(--text);text-align:left;background:transparent;border:0;cursor:pointer}.rolling-emergency-toggle>span:first-child{min-width:0}.rolling-emergency-toggle strong,.rolling-emergency-toggle small{display:block}.rolling-emergency-toggle strong{font-size:var(--fs-sm)}.rolling-emergency-toggle small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.rolling-emergency-override.is-expanded .rolling-emergency-toggle strong,.rolling-emergency-override.is-expanded .rolling-emergency-toggle small{color:var(--danger)}.rolling-emergency-risk{padding:2px 7px;color:var(--danger);border:1px solid currentColor;border-radius:999px;font-size:10px;font-weight:750}.rolling-emergency-chevron{width:20px;color:var(--muted);font-size:18px;line-height:1;text-align:center}.rolling-emergency-content{display:grid;gap:10px;padding:0 13px 13px;border-top:1px solid color-mix(in srgb,var(--danger) 24%,var(--border))}.rolling-emergency-content>p{margin:12px 0 0;color:var(--danger);font-size:var(--fs-xs);font-weight:650;line-height:1.6}.rolling-emergency-content>small{color:var(--danger);font-size:11px}.rolling-emergency-override textarea{width:100%;resize:vertical;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));border-radius:var(--r-sm);padding:9px 10px;color:var(--text);background:var(--surface)}.rolling-runtime-status{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--danger) 24%,var(--border))}.rolling-runtime-status span{min-width:0;overflow:hidden;color:var(--muted);font:11px/1.5 ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.rolling-runtime-status span.is-error{color:var(--danger);white-space:normal}.rolling-emergency-confirm{padding:12px;border:1px solid color-mix(in srgb,var(--danger) 58%,var(--border));border-radius:var(--r-sm);color:var(--danger);background:var(--danger-soft)}.rolling-emergency-confirm p{margin:5px 0 0;font-size:var(--fs-xs);line-height:1.5}.rolling-sql-result{display:grid;gap:8px;padding:11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.rolling-sql-result.is-passed{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.rolling-sql-result.is-failed{border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.rolling-sql-result>div:first-child{display:flex;justify-content:space-between;gap:10px}.rolling-sql-result>div:first-child span,.rolling-sql-result>small{color:var(--muted);font:11px ui-monospace,monospace}.rolling-sql-result>p{margin:0;color:var(--muted);font-size:var(--fs-xs);white-space:pre-wrap}.rolling-sql-result table{min-width:680px;font-size:11px}.rolling-sql-result td:nth-child(4){max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace}.rolling-sql-result td.is-failed{color:var(--danger);white-space:pre-wrap}.rolling-sql-result td.is-passed{color:var(--success)}.rolling-config-section{border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.rolling-config-editor>small{color:var(--muted);font-size:11px;line-height:1.6}.rolling-config-source{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.rolling-config-source>span{color:var(--muted);font-size:11px}.rolling-config-source code{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px}.rolling-config-source small{color:var(--muted);font:11px ui-monospace,monospace}@keyframes rolling-spin{to{transform:rotate(360deg)}}@keyframes rolling-spin-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 5px #21846c1f}}@media(prefers-reduced-motion:reduce){.rolling-spinner,.rolling-node.running>i,.rolling-infra-node.running>i{animation:none}.rolling-progress-track>span{transition:none}}@media(max-width:1100px){.rolling-layout{grid-template-columns:1fr}.rolling-side{order:-1}}@media(max-width:760px){.rolling-summary{grid-template-columns:repeat(2,1fr)}.rolling-summary>div:nth-child(2){border-right:0}.rolling-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.rolling-flow{grid-template-columns:1fr}.rolling-arrow{transform:rotate(90deg)}.rolling-infra-grid{grid-template-columns:repeat(2,1fr)}.rolling-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.rolling-step:nth-child(4n):after{display:block}.rolling-step:nth-child(2n):after{display:none}.rolling-history-pagination{align-items:flex-start;flex-direction:column}.rolling-history-pagination>div{width:100%;justify-content:space-between}.rolling-confirm-path{grid-template-columns:auto minmax(0,1fr)}.rolling-confirm-path b{display:none}.rolling-gate-guide{grid-template-columns:1fr}}
