@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.shell{--bg: var(--ec-bg);--surface: var(--ec-surface);--surface-2: var(--ec-surface-2);--surface-3: var(--ec-surface-3);--text: var(--ec-text);--text-muted: var(--ec-text-muted);--text-faint: var(--ec-text-faint);--border: var(--ec-border);--border-strong: var(--ec-border-strong);--accent: var(--ec-accent);--accent-strong: var(--ec-accent-strong);--accent-weak: var(--ec-accent-weak);--ok: var(--ec-success);--warn: var(--ec-warning);--danger: var(--ec-danger);--info: var(--ec-info);--ok-bg: var(--ec-success-bg);--warn-bg: var(--ec-warning-bg);--danger-bg: var(--ec-danger-bg);--shadow-sm: var(--ec-shadow-sm);--shadow-md: var(--ec-shadow-md);--r-sm: var(--ec-r-sm);--r-md: var(--ec-r-md);--r-lg: var(--ec-r-lg);--s1: var(--ec-s1);--s2: var(--ec-s2);--s3: var(--ec-s3);--s4: var(--ec-s4);--s5: var(--ec-s5);--s6: var(--ec-s6);display:grid;grid-template-columns:264px minmax(0,1fr);width:100%;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-feature-settings:"cv02","cv03","cv04";-webkit-font-smoothing:antialiased}.shell[data-sidebar=collapsed]{grid-template-columns:58px minmax(0,1fr)}.shell-boot{display:grid;min-height:100vh;place-items:center;background:var(--bg);color:var(--text-muted)}.shell-boot-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s3)}.shell-boot-mark{width:44px;height:44px;opacity:.95}.shell-boot-title{font-size:var(--text-xl, 16px);font-weight:700;letter-spacing:.02em;color:var(--text)}.shell-boot-spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:shell-boot-spin .7s linear infinite}@keyframes shell-boot-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.shell-boot-spinner{animation:none}}.shell-side{position:relative;z-index:20;display:flex;min-height:0;flex-direction:column;gap:var(--s3);border-right:1px solid var(--border);background:var(--surface);padding:0 var(--s3) var(--s3);transition:width .18s ease,padding .18s ease}.shell-side[data-collapsed=true]{align-items:center;gap:var(--s3);overflow:visible;padding:0 9px var(--s3)}.shell-brand,.shell-head-row,.shell-head-main,.head-pills,.head-actions,.shell-user,.shell-user-actions,.shell-objects-head,.ctx-head,.ctx-card-title{display:flex;align-items:center}.shell-brand{gap:var(--s3);width:calc(100% + 24px);height:76px;margin:0 calc(var(--s3) * -1);justify-content:center;border-bottom:1px solid var(--border);padding:0 4px;min-width:0}.shell-brand-button{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;height:100%;border:0;background:transparent;color:inherit;padding:0;cursor:pointer}.shell-logo-img{display:block;object-fit:contain}.shell-logo-img-full{width:252px;max-width:100%;height:64px;object-position:center}.shell-logo-img-icon{width:32px;height:32px}.shell-collapse-btn{flex:0 0 auto}.shell-logo{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--r-sm);background:var(--accent);color:#fff;font-weight:800}.shell-brand-text b,.ctx-head b{display:block;font-size:15px;line-height:1}.shell-brand-text span,.eyebrow-label,.shell-side-title,.ctx-title{color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.park-btn,.obj-item,.add-obj-btn,.icon-btn{border:0;color:inherit;font:inherit;cursor:pointer}.park-btn{min-height:36px;border-radius:var(--r-md);background:transparent;padding:0 var(--s3);text-align:left;font-size:13px;font-weight:700;display:flex;align-items:center;gap:var(--s2)}.park-btn:hover,.park-btn[data-active=true]{background:color-mix(in srgb,var(--surface-2) 92%,var(--accent) 8%);color:var(--text)}.park-btn[data-active=true] svg{color:var(--accent)}.obj-search-wrap{display:flex;align-items:center;gap:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text-muted);padding:0 var(--s3)}.shell-side[data-collapsed=true] .shell-brand{width:100%;height:76px;margin:0;padding:0;justify-content:center;gap:0}.shell-side[data-collapsed=true] .shell-brand-button{flex:0 0 auto}.shell-side[data-collapsed=true] .shell-collapse-btn{position:relative;left:auto;top:auto;z-index:35}.shell-side[data-collapsed=true] .sidebar-label,.shell-side[data-collapsed=true] .shell-side-title,.shell-side[data-collapsed=true] .obj-search-wrap,.shell-side[data-collapsed=true] .obj-addr,.shell-side[data-collapsed=true] .obj-agent{display:none}.shell-side[data-collapsed=true] .park-btn,.shell-side[data-collapsed=true] .add-obj-btn,.shell-side[data-collapsed=true] .shell-utility-btn,.shell-side[data-collapsed=true] .shell-account-card{width:40px;height:40px;justify-content:center;padding:0}.shell-side[data-collapsed=true] .shell-objects-head{justify-content:center}.shell-side[data-collapsed=true] .shell-account-card{min-height:40px;box-shadow:none}.obj-search{width:100%;height:36px;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px}.shell-objects-head{justify-content:space-between}.add-obj-btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-sm);background:transparent;color:var(--accent);padding:5px 8px;font-size:13px;font-weight:700}.add-obj-btn:hover{background:var(--accent-weak)}.shell-objects{display:flex;min-height:0;flex:1;flex-direction:column;gap:4px;overflow-y:auto}.shell-side[data-collapsed=true] .shell-objects{width:100%;align-items:center;overflow:visible}.obj-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:3px var(--s3);align-items:center;border-radius:var(--r-md);background:transparent;padding:var(--s3);text-align:left}.shell-side[data-collapsed=true] .obj-item{width:38px;height:38px;grid-template-columns:1fr;place-items:center;gap:0;padding:0}.obj-item:hover,.obj-item[data-active=true]{background:var(--surface-2)}.obj-item[data-active=true]{box-shadow:inset 3px 0 0 var(--accent)}.obj-item .dot{grid-row:1 / span 2}.shell-side[data-collapsed=true] .obj-item .dot{grid-row:auto}.obj-name{overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.shell-side[data-collapsed=true] .obj-name{display:none}.obj-addr{grid-column:2 / -1;overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.obj-agent{color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.shell-user,.shell-sidebar-footer{justify-content:space-between;gap:var(--s3);border-top:1px solid var(--border);padding-top:var(--s3)}.shell-sidebar-footer{position:relative;display:grid;width:100%;align-content:end;gap:var(--s2)}.desktop-update-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s2);align-items:center;width:100%;min-height:58px;border:1px solid color-mix(in srgb,var(--warn) 42%,var(--border));border-radius:var(--r-md);background:radial-gradient(circle at 92% 20%,color-mix(in srgb,var(--warn) 22%,transparent),transparent 36%),color-mix(in srgb,var(--warn) 10%,var(--surface));color:var(--text);padding:var(--s3);text-align:left;box-shadow:var(--shadow-sm)}.desktop-update-card:hover{border-color:color-mix(in srgb,var(--warn) 64%,var(--border));transform:translateY(-1px)}.desktop-update-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--r-sm);background:color-mix(in srgb,var(--warn) 20%,var(--surface-2));color:var(--warn)}.desktop-update-card b,.desktop-update-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-update-card b{font-size:13px}.desktop-update-card small{margin-top:2px;color:var(--text-muted);font-size:11px;font-weight:800}.desktop-update-dot{border-color:color-mix(in srgb,var(--warn) 42%,var(--border))!important;background:color-mix(in srgb,var(--warn) 12%,var(--surface))!important;color:var(--warn)!important}.shell-utility-list,.shell-account-wrap{display:grid;gap:6px}.shell-utility-btn,.shell-account-card,.shell-account-menu button{display:flex;min-width:0;align-items:center;gap:var(--s2);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:800;line-height:1;min-height:38px;padding:0 var(--s3);text-align:left;cursor:pointer}.shell-utility-btn:hover,.shell-account-card:hover,.shell-account-menu button:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.shell-utility-btn[data-active=true]{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:var(--accent-weak);color:var(--accent)}.shell-utility-btn svg,.shell-account-card svg{flex:0 0 auto}.shell-utility-suffix{margin-left:auto;border-radius:999px;background:var(--surface-2);padding:2px 6px;color:var(--accent);font-size:10px;font-weight:850}.shell-download-group{display:grid;gap:6px}.shell-download-app{display:flex;min-width:0;align-items:center;gap:var(--s2);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font:inherit;font-size:13px;font-weight:850;line-height:1.15;min-height:46px;padding:0 var(--s3);text-align:left;cursor:pointer}.shell-download-app:hover{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.shell-download-app svg{flex:0 0 auto}.shell-download-app small{display:block;margin-top:2px;color:var(--text-muted);font-size:11px;font-weight:750}.shell-side[data-collapsed=true] .shell-download-app{justify-content:center;min-height:38px;border-radius:var(--r-sm)}.shell-download-options{display:grid;grid-template-columns:1fr 1fr;gap:4px}.shell-download-options button{display:grid;align-content:center;gap:1px;min-height:28px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.shell-download-options button small{color:var(--text-faint);font-size:10px;font-weight:750}.shell-download-options button:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));color:var(--accent)}.shell-download-options button:disabled{cursor:not-allowed;opacity:.58}.shell-download-options button:disabled:hover{border-color:var(--border);color:var(--text-muted)}.shell-download-details{justify-self:center;border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:850}.shell-download-details:hover{text-decoration:underline;text-underline-offset:3px}.shell-side[data-collapsed=true] .shell-download-group{display:block}.shell-theme-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:4px}.shell-theme-toggle button{display:inline-flex;min-width:0;min-height:38px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.shell-theme-toggle button[data-active=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.shell-theme-toggle button[data-active=true] svg{color:var(--accent)}.shell-account-wrap{position:relative}.shell-account-card{width:100%;border-color:var(--border);background:var(--surface);min-height:54px;box-shadow:var(--shadow-sm)}.shell-account-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent);font-size:13px;font-weight:900}.shell-account-meta{display:grid;min-width:0;gap:2px}.shell-account-meta b,.shell-account-menu-head b{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.shell-account-meta small,.shell-account-menu-head small{overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.shell-account-menu{position:absolute;z-index:80;bottom:calc(100% + 8px);left:0;display:grid;width:224px;gap:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-md);padding:var(--s2)}.shell-side[data-collapsed=true] .shell-account-menu{left:calc(100% + 10px);bottom:0}.shell-account-menu-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s2);align-items:center;border-bottom:1px solid var(--border);padding:var(--s2)}.shell-account-menu button{width:100%}.shell-user-name{font-size:13px;font-weight:700}.shell-user-actions{gap:var(--s2)}.shell-main{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden}.shell-head{flex:0 0 auto;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);padding:var(--s4) var(--s6)}.shell-head-row{gap:var(--s4)}.shell-head-main{min-width:0;flex:1;flex-wrap:wrap;gap:var(--s2) var(--s3)}.shell-head-main h1{margin:0;font-size:24px;font-weight:850;letter-spacing:0}.head-pills,.head-actions{gap:var(--s2)}.head-actions .status-badge{flex:0 0 auto}.shell-tabs{display:inline-flex;gap:3px;margin-top:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:3px}.shell-tabs button{min-height:32px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);padding:0 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.shell-tabs button[data-active=true]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.shell-content{min-height:0;flex:1;overflow-y:auto;padding:var(--s6)}.grid-sections,.portfolio-view{display:flex;width:100%;max-width:1200px;flex-direction:column;gap:var(--s4)}.shell-content.portfolio-view{width:100%;max-width:1200px;margin-inline:auto}.portfolio-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--accent) 7%,var(--surface)));box-shadow:var(--shadow-sm);padding:var(--s6)}.portfolio-hero h2{margin:4px 0;font-size:24px;line-height:1.12}.portfolio-hero p,.panel-note{margin:0;color:var(--text-muted)}.hero-score{min-width:144px;border-radius:var(--r-md);background:var(--accent-weak);padding:var(--s4);text-align:right}.hero-score span,.kpi-tile span,.health-card span{color:var(--text-muted);font-size:12px;font-weight:700}.hero-score strong,.kpi-tile strong,.health-card strong{display:block;font-size:24px;line-height:1.1}.kpi-grid,.object-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}.kpi-tile,.health-card,.shell .panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.kpi-tile,.health-card{display:grid;gap:var(--s2);padding:var(--s4)}.health-card.primary{grid-column:span 2;grid-template-columns:112px minmax(0,1fr);align-items:center}.shell .panel{padding:var(--s5)}.portfolio-grid,.object-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.object-insights{grid-template-columns:1.2fr 1fr}.section-title{margin-bottom:var(--s3)}.section-title-main{display:flex;align-items:center;gap:var(--s2)}.section-title h2{margin:0;font-size:15px}.insight-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4);align-items:center}.readiness-stack,.diagnostic-grid{display:grid;gap:var(--s3)}.readiness-stack div,.diagnostic-grid{border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.readiness-stack span,.diagnostic-grid span{display:block;color:var(--text-muted);font-size:13px}.diagnostic-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center}.obj-body{display:grid;min-height:0;flex:1;position:relative;grid-template-columns:minmax(0,1fr) 420px;overflow:hidden}.obj-body[data-rail=collapsed]{grid-template-columns:minmax(0,1fr)}.ctx-rail{display:flex;min-height:0;flex-direction:column;gap:var(--s4);border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;overflow-x:hidden;padding:var(--s5) var(--s5) var(--s5) var(--s6)}.rail-edge-toggle{position:absolute;top:16px;right:12px;z-index:45;display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted);cursor:pointer}.rail-edge-toggle:hover{background:var(--surface-2);color:var(--text)}.obj-body[data-rail=collapsed] .rail-edge-toggle{right:12px}.head-actions .button.ghost.small:last-child{display:none}.ctx-head{justify-content:space-between}.ctx-card{display:grid;gap:var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);padding:var(--s4)}.ctx-summary-card{border-left:3px solid var(--accent)}.ctx-card-title{gap:var(--s2);font-weight:800}.ctx-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font-size:13px}.ctx-row span:first-child{color:var(--text-muted)}.ai-card{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.ai-card p{margin:0;color:var(--text-muted);font-size:13px}.ctx-copy{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}.ctx-highlight{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.ctx-highlight span{color:var(--text-muted);font-size:12px;font-weight:700}.ctx-highlight b{font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);padding:3px 9px;font-size:12px;font-weight:800}.status-badge,.mode-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:24px;border:1px solid transparent;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.status-badge.ok,.mode-chip.ok{background:var(--ok-bg);color:var(--ok)}.status-badge.warn,.mode-chip.warn{background:var(--warn-bg);color:var(--warn)}.status-badge.danger,.mode-chip.danger{background:var(--danger-bg);color:var(--danger)}.status-badge.info,.mode-chip.info{background:var(--accent-weak);color:var(--info)}.status-badge.muted,.mode-chip.muted{border-color:var(--border);background:var(--surface-2);color:var(--text-muted)}.mode-chip[data-compact=true]{min-height:22px;padding:2px 8px}.score-ring{position:relative;display:grid;width:112px;height:112px;place-items:center;flex:0 0 auto}.score-ring[data-size=sm]{width:58px;height:58px}.score-ring[data-size=lg]{width:132px;height:132px}.score-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.score-ring-track,.score-ring-value{fill:none;stroke-width:8}.score-ring-track{stroke:var(--surface-3)}.score-ring-value{stroke:var(--ok);stroke-linecap:round;transition:stroke-dashoffset .18s ease}.score-ring.warn .score-ring-value{stroke:var(--warn)}.score-ring.danger .score-ring-value{stroke:var(--danger)}.score-ring-label{position:relative;display:grid;justify-items:center;gap:1px;text-align:center}.score-ring-label strong{font-size:24px;line-height:1}.score-ring-label span{max-width:86px;color:var(--text-muted);font-size:11px;font-weight:800}.score-ring[data-size=sm] .score-ring-label strong{font-size:16px}.score-ring[data-size=sm] .score-ring-label span{display:none}.score-ring[data-size=sm] .score-ring-track,.score-ring[data-size=sm] .score-ring-value{stroke-width:10}.metric-card{display:grid;min-height:98px;gap:var(--s2);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:var(--s4)}.metric-card span,.metric-card small{color:var(--text-muted);font-size:12px;font-weight:700}.metric-card strong{display:block;font-size:22px;line-height:1.1}.metric-card.ok strong{color:var(--ok)}.metric-card.warn strong{color:var(--warn)}.metric-card.danger strong{color:var(--danger)}.metric-card.info strong{color:var(--info)}.core-kpi-card{position:relative;display:grid;min-height:116px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,var(--accent) 8%),var(--surface));box-shadow:var(--shadow-sm);padding:var(--s3)}.core-kpi-card:after{position:absolute;right:-30px;bottom:-36px;width:112px;height:112px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);content:""}.core-kpi-card.ok:after{background:color-mix(in srgb,var(--ok) 14%,transparent)}.core-kpi-card.warn:after{background:color-mix(in srgb,var(--warn) 16%,transparent)}.core-kpi-card.danger:after{background:color-mix(in srgb,var(--danger) 14%,transparent)}.core-kpi-head,.core-kpi-value{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.core-kpi-head span,.core-kpi-card p{margin:0;color:var(--text-muted);font-size:12px;font-weight:750}.core-kpi-head i{display:grid;width:30px;height:30px;place-items:center;border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent)}.core-kpi-card.ok .core-kpi-head i{background:var(--ok-bg);color:var(--ok)}.core-kpi-card.warn .core-kpi-head i{background:var(--warn-bg);color:var(--warn)}.core-kpi-card.danger .core-kpi-head i{background:var(--danger-bg);color:var(--danger)}.core-kpi-value strong{color:var(--text);font-size:25px;line-height:1}.core-kpi-value small{border-radius:999px;background:var(--surface-2);color:var(--text-muted);padding:3px 8px;font-size:11px;font-weight:800;white-space:nowrap}.kpi-sparkline{position:relative;z-index:1;width:100%;height:42px;margin:2px 0}.kpi-sparkline-line,.kpi-sparkline-fill{fill:none;stroke:var(--accent);stroke-width:2.4;vector-effect:non-scaling-stroke}.kpi-sparkline-fill{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:none}.kpi-sparkline.ok .kpi-sparkline-line{stroke:var(--ok)}.kpi-sparkline.warn .kpi-sparkline-line{stroke:var(--warn)}.kpi-sparkline.danger .kpi-sparkline-line{stroke:var(--danger)}.kpi-sparkline.muted .kpi-sparkline-line{stroke:var(--text-faint)}.kpi-sparkline.ok .kpi-sparkline-fill{fill:color-mix(in srgb,var(--ok) 13%,transparent)}.kpi-sparkline.warn .kpi-sparkline-fill{fill:color-mix(in srgb,var(--warn) 14%,transparent)}.kpi-sparkline.danger .kpi-sparkline-fill{fill:color-mix(in srgb,var(--danger) 13%,transparent)}.kpi-sparkline.muted .kpi-sparkline-fill{fill:color-mix(in srgb,var(--text-faint) 10%,transparent)}.service-traffic-card{display:grid;gap:var(--s3);padding-bottom:var(--s3)}.service-traffic-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:var(--s4);align-items:start}.service-chart-panel{display:grid;min-height:214px;min-width:0;place-items:center;border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-2) 78%,var(--surface));padding:var(--s3) var(--s4)}.service-traffic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}.service-traffic-head p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.service-traffic-actions{display:flex;align-items:center;gap:var(--s2)}.period-switch{display:inline-flex;gap:3px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:3px}.period-switch button{min-height:30px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);padding:0 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.period-switch button[data-active=true]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.service-main-chart{width:100%;height:174px;max-height:174px}.service-chart-grid{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.service-chart-area{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:none}.service-chart-line{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.service-chart-point{fill:var(--surface);stroke:var(--accent);stroke-width:1.8;vector-effect:non-scaling-stroke}.service-chart-target{fill:transparent;pointer-events:all}.service-chart-hit[data-active=true] .service-chart-point,.service-chart-hit:hover .service-chart-point,.service-chart-hit:focus .service-chart-point{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 55%,transparent))}.service-main-chart.ok .service-chart-line,.service-main-chart.ok .service-chart-point{stroke:var(--ok)}.service-main-chart.warn .service-chart-line,.service-main-chart.warn .service-chart-point{stroke:var(--warn)}.service-main-chart.danger .service-chart-line,.service-main-chart.danger .service-chart-point{stroke:var(--danger)}.service-main-chart.ok .service-chart-area{fill:color-mix(in srgb,var(--ok) 12%,transparent)}.service-main-chart.warn .service-chart-area{fill:color-mix(in srgb,var(--warn) 14%,transparent)}.service-main-chart.danger .service-chart-area{fill:color-mix(in srgb,var(--danger) 12%,transparent)}.service-chart-summary{display:grid;align-content:start;gap:var(--s2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.service-chart-summary.ok{border-left-color:var(--ok)}.service-chart-summary.warn{border-left-color:var(--warn)}.service-chart-summary.danger{border-left-color:var(--danger)}.service-chart-summary strong{font-size:15px}.service-chart-summary>b{font-size:26px;line-height:1}.service-chart-summary p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.4}.trend-point-list{display:grid;gap:4px}.trend-point-list button{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(0,1fr) 42px;gap:var(--s2);align-items:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);min-height:28px;padding:5px 7px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.trend-point-list button:hover,.trend-point-list button:focus,.trend-point-list button[data-active=true]{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.trend-point-list i{display:block;height:5px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.trend-point-list em{display:block;height:100%;border-radius:inherit;background:var(--accent)}.trend-point-list b{text-align:right;color:var(--text)}.service-chart-footer{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:var(--s3);border-top:1px solid var(--border);padding-top:var(--s2)}.service-progress-item{display:grid;gap:4px;min-width:0}.service-progress-item span{overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.service-progress-item b{font-size:13px}.service-progress-item i{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.service-progress-item em{display:block;height:100%;border-radius:inherit;background:var(--accent)}.service-progress-item.ok em{background:var(--ok)}.service-progress-item.warn em{background:var(--warn)}.service-progress-item.danger em{background:var(--danger)}.service-progress-item.muted em{background:var(--text-faint)}.flatlogic-workspace-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--s3)}.service-status-panel,.service-map-panel,.service-queue-panel{min-width:0}.service-queue-panel{grid-column:1 / -1}.service-counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.service-counter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px var(--s2);align-items:center;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.service-counter i{display:grid;grid-row:span 2;width:32px;height:32px;place-items:center;border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent)}.service-counter.ok i{background:var(--ok-bg);color:var(--ok)}.service-counter.warn i{background:var(--warn-bg);color:var(--warn)}.service-counter.danger i{background:var(--danger-bg);color:var(--danger)}.service-counter span{color:var(--text-muted);font-size:12px;font-weight:800}.service-counter strong{font-size:22px;line-height:1}.service-map-title{align-items:center;justify-content:space-between}.yandex-map-preview{position:relative;min-height:254px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:radial-gradient(circle at 28% 32%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 26%),radial-gradient(circle at 72% 58%,color-mix(in srgb,var(--ok) 12%,transparent),transparent 22%),linear-gradient(135deg,var(--surface-2),var(--surface))}.map-grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--border) 70%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 70%,transparent) 1px,transparent 1px);background-size:46px 46px;opacity:.55}.map-point{position:absolute;z-index:1;display:grid;width:16px;height:16px;place-items:center;border:2px solid var(--surface);border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);cursor:pointer;transform:translate(-50%,-50%)}.map-point.ok{background:var(--ok);box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 18%,transparent)}.map-point.warn{background:var(--warn);box-shadow:0 0 0 5px color-mix(in srgb,var(--warn) 20%,transparent)}.map-point.danger{background:var(--danger);box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 18%,transparent)}.map-point span{position:absolute;left:18px;top:50%;min-width:max-content;max-width:160px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);opacity:0;padding:5px 7px;text-overflow:ellipsis;transform:translateY(-50%);transition:opacity .14s ease;white-space:nowrap;font-size:12px;font-weight:800}.map-point:hover span,.map-point:focus-visible span{opacity:1}.service-queue-list{display:grid;gap:var(--s2)}.service-queue-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto minmax(110px,auto) minmax(72px,auto);gap:var(--s3);align-items:center;width:100%;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:inherit;padding:var(--s3);text-align:left;cursor:pointer}.service-queue-row:hover,.service-queue-row:focus-visible{border-color:var(--border-strong);background:var(--surface-3)}.service-queue-row span:nth-child(2){display:grid;min-width:0;gap:2px}.service-queue-row b,.service-queue-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-queue-row small,.service-queue-row em{color:var(--text-muted);font-size:12px;font-style:normal}.service-queue-row>strong{justify-self:end;color:var(--text);font-size:12px}.device-status-bar{display:flex;height:9px;overflow:hidden;border-radius:999px;background:var(--surface-3);margin-bottom:var(--s4)}.device-status-bar span.ok{background:var(--ok)}.device-status-bar span.danger{background:var(--danger)}.empty-state,.error-state{display:grid;gap:var(--s2);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-muted);padding:var(--s5)}.empty-state b,.error-state b{color:var(--text)}.error-state{grid-template-columns:auto minmax(0,1fr);border-style:solid;border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:var(--danger-bg)}.error-state span{display:block}.skeleton-block{display:grid;gap:var(--s3)}.skeleton-block span{height:42px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:240% 100%;animation:shell-pulse 1.2s infinite linear}@keyframes shell-pulse{to{background-position:-240% 0}}.health-factor-list,.ctx-factor-list,.contract-grid{display:grid;gap:var(--s2)}.health-factor-list div,.ctx-factor-list div,.contract-grid div{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s2) var(--s3)}.health-factor-list span,.ctx-factor-list span,.contract-grid span{color:var(--text-muted);font-size:12px;font-weight:700}.health-factor-list b,.contract-grid b{font-size:12px}.object-table-title{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.filter-row{display:inline-flex;align-items:center;gap:4px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:3px}.filter-row button{min-height:28px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);padding:0 var(--s3);font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.filter-row button[data-active=true]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.attention-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;border:0;border-radius:var(--r-md);background:var(--surface-2);color:inherit;padding:var(--s3);text-align:left;cursor:pointer}.attention-item:hover{background:var(--surface-3)}.attention-item span{display:grid;gap:2px}.attention-item small{color:var(--text-muted)}.integration-strip div{display:flex;align-items:center;gap:var(--s3)}.integration-strip span{color:var(--text-muted)}.service-command-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s4)}.service-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.service-module-card{display:grid;min-width:0;gap:var(--s4);align-content:start}.service-module-body{display:grid;gap:var(--s3)}.service-module-body>div:first-child{display:grid;gap:4px}.service-module-body b{font-size:16px}.service-module-body span,.service-module-stats span,.service-modal-head p{color:var(--text-muted);font-size:13px}.service-module-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.service-module-stats div{display:grid;min-width:0;gap:3px;border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.service-module-stats b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.service-module-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.service-module-actions .button{flex:0 1 auto;min-width:0}.manage-overview-panel{display:grid;gap:var(--s2)}.manage-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}.manage-card{display:grid;min-width:0;gap:var(--s3);align-content:start}.manage-card-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent)}.manage-card h3{margin:0 0 4px;font-size:14px}.manage-card p{min-height:42px;margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.manage-card .button{width:fit-content}.manage-modal-content>.panel{box-shadow:none}.service-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 72%,rgba(0,0,0,.45));padding:var(--s6)}.service-modal{display:flex;width:min(1180px,calc(100vw - 48px));max-height:calc(100dvh - 48px);min-height:min(720px,calc(100dvh - 48px));flex-direction:column;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-md)}.service-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--accent-weak));padding:var(--s5)}.service-modal-head h2{margin:4px 0;font-size:22px}.service-modal-head p{max-width:760px;margin:0}.service-modal-body{min-height:0;overflow:auto;padding:var(--s5)}.service-modal-body>.panel{box-shadow:none}.service-modal .tech-workspace-grid{align-items:start}.service-modal .command-panel>.section-title:first-child{display:none}.tech-workspace-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.4fr);gap:var(--s4)}.tech-card-grid,.ppr-list,.backup-list,.integration-list{display:grid;gap:var(--s3)}.backup-panel{min-width:0;grid-column:1 / -1}.backup-vault{display:grid;gap:var(--s4)}.backup-vault-head,.backup-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}.backup-vault-head h3,.backup-detail-head h4{margin:2px 0 0}.backup-detail-head span{color:var(--text-muted);font-size:12px}.backup-vault-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.25fr);gap:var(--s4)}.backup-artifacts,.backup-version-list{display:grid;gap:var(--s3)}.backup-artifact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s2) var(--s3);align-items:center;width:100%;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:inherit;padding:var(--s3);text-align:left;cursor:pointer}.backup-artifact[data-active=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:inset 3px 0 0 var(--accent)}.backup-artifact span{display:grid;gap:2px}.backup-artifact small{color:var(--text-muted)}.backup-artifact .status-badge:last-child{grid-column:2}.backup-detail{display:grid;min-width:0;gap:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s4)}.backup-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s2)}.diff-preview{display:grid;gap:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);padding:var(--s3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.diff-preview b{font-family:inherit}.diff-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-preview .added{color:var(--ok)}.diff-preview .changed{color:var(--warn)}.diff-preview .removed{color:var(--danger)}.backup-version{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr) auto;align-items:center;gap:var(--s3);border-bottom:1px solid var(--border);padding:var(--s3) 0}.backup-version div{display:grid;gap:2px}.backup-version span,.backup-version p{color:var(--text-muted);font-size:12px}.backup-version p{margin:0}.tech-card{display:grid;gap:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s4)}.tech-card[data-active=true]{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:inset 3px 0 0 var(--accent)}.tech-card-head,.tech-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.tech-card-foot{flex-wrap:wrap}.tech-card-head span,.tech-card p,.tech-card-foot span{color:var(--text-muted);font-size:12px;margin:0}.runner-panel{min-width:0}.tech-runner{display:grid;gap:var(--s4)}.tech-runner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4)}.tech-runner-head h3{margin:2px 0 4px;font-size:18px}.tech-runner-head p{margin:0;color:var(--text-muted);font-size:13px}.run-progress{display:grid;gap:var(--s2);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.run-progress>div{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.run-progress b{font-size:18px}.run-progress span{color:var(--text-muted);font-size:12px;font-weight:700}.run-progress i{display:block;height:8px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.run-progress i span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .22s ease}.run-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.tech-step-list{display:grid;gap:var(--s3)}.tech-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3)}.tech-step[data-status=running]{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.tech-step[data-status=passed]{border-color:color-mix(in srgb,var(--ok) 32%,var(--border))}.tech-step-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:var(--surface)}.tech-step-icon.ok{color:var(--ok)}.tech-step-icon.info{color:var(--info)}.tech-step-icon.danger{color:var(--danger)}.tech-step-icon.muted{color:var(--text-faint)}.tech-step-main{display:grid;min-width:0;gap:var(--s2)}.tech-step-title{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.tech-step-title b{font-size:13px}.tech-step p{margin:0;color:var(--text-muted);font-size:13px}.tech-step dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px var(--s3);margin:0;color:var(--text-muted);font-size:12px}.tech-step dt{font-weight:800}.tech-step dd{margin:0}.tech-step code{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-muted);padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.run-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);border:1px solid color-mix(in srgb,var(--ok) 36%,var(--border));border-radius:var(--r-md);background:var(--ok-bg);color:var(--ok);padding:var(--s3)}.run-result span{display:block;color:var(--text-muted);font-size:12px}.ppr-item,.backup-item,.integration-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s3);border-bottom:1px solid var(--border);padding:var(--s3) 0}.ppr-item{grid-template-columns:62px minmax(0,1fr);align-items:start}.ppr-item>div,.backup-item>div,.integration-item>div{min-width:0}.ppr-actions,.task-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--s2)}.ppr-actions{grid-column:2;max-width:100%}.ppr-actions .button{flex:0 1 auto;max-width:100%;white-space:normal}.task-board{display:grid;gap:var(--s3)}.service-task{display:grid;gap:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s4)}.service-task[data-status=in_progress]{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:inset 3px 0 0 var(--accent)}.service-task[data-status=done]{border-color:color-mix(in srgb,var(--ok) 32%,var(--border));opacity:.82}.service-task[data-status=deferred]{opacity:.72}.task-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3)}.service-task p{margin:0;color:var(--text-muted);font-size:13px}.task-meta{display:flex;flex-wrap:wrap;gap:var(--s2)}.task-meta span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--surface);color:var(--text-muted);padding:4px 8px;font-size:12px;font-weight:700}.backup-item,.integration-item{grid-template-columns:auto minmax(0,1fr) auto}.integration-item{grid-template-columns:auto minmax(0,1fr)}.ppr-item b,.backup-item b,.integration-item b{display:block;font-size:13px}.ppr-item span,.ppr-item small,.backup-item span,.integration-item span{display:block;color:var(--text-muted);font-size:12px}.score-context-card{align-items:center;grid-template-columns:auto minmax(0,1fr)}.pill.ok,.dot.ok,.ok{color:var(--ok)}.pill.ok{border-color:transparent;background:var(--ok-bg)}.pill.danger{border-color:transparent;background:var(--danger-bg);color:var(--danger)}.pill.warn{border-color:transparent;background:var(--warn-bg);color:var(--warn)}.pill.muted{color:var(--text-muted)}.danger{color:var(--danger)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.dot.danger{background:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-bg)}.dot.info{background:var(--info);box-shadow:0 0 0 3px var(--accent-weak)}.table-scroll{overflow-x:auto}.shell .tc-table{width:100%;border-collapse:collapse}.shell .tc-table th,.shell .tc-table td{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;font-size:13px}.shell .tc-table th{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dev-row{cursor:pointer}.dev-row:hover>td{background:var(--surface-2)}.inc-row,.metric-row{display:grid;align-items:center;gap:var(--s3);border-bottom:1px solid var(--border);padding:var(--s3) 0}.inc-row{grid-template-columns:9px minmax(180px,1fr) minmax(180px,1fr) auto}.metric-row{grid-template-columns:minmax(160px,1fr) 150px auto}.inc-title,.metric-label b{font-size:13px;font-weight:800}.inc-meta,.metric-label span,.tc-sub{color:var(--text-muted);font-size:12px}.inc-actions{display:flex;gap:var(--s2)}.metric-val{min-width:82px;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:800}.spark{width:150px}.spark-line{stroke:var(--accent);stroke-width:2}.spark-area{fill:var(--accent-weak)}.donut-card{display:grid;grid-template-columns:86px auto;gap:var(--s3);align-items:center}.donut-chart{width:86px;height:86px;transform:rotate(-90deg)}.donut-track,.donut-slice{fill:none;stroke-width:4}.donut-track{stroke:var(--surface-3)}.donut-slice{stroke:var(--accent)}.donut-meta strong{display:block;font-size:24px}.donut-meta span{color:var(--text-muted);font-size:12px}.viz-tone-ok{stroke:var(--ok);background:var(--ok)}.viz-tone-warn{stroke:var(--warn);background:var(--warn)}.viz-tone-danger{stroke:var(--danger);background:var(--danger)}.viz-tone-info{stroke:var(--info);background:var(--info)}.viz-tone-muted{stroke:var(--text-faint);background:var(--text-faint)}.bar-meter,.protocol-bars{display:grid;gap:var(--s3)}.bar-meter-head,.protocol-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);align-items:center;font-size:12px}.bar-meter-head b,.protocol-row b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bar-meter-track,.protocol-track{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.bar-meter-track span,.protocol-track i{display:block;height:100%;border-radius:inherit}.protocol-row{grid-template-columns:82px minmax(0,1fr) 28px}.protocol-track i{background:var(--accent)}.trend-bars{display:flex;height:88px;align-items:end;gap:6px}.trend-bars span{flex:1;min-width:8px;border-radius:999px 999px 3px 3px}.icon-btn{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted)}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.mobile-menu,.mobile-close,.mobile-scrim,.mobile-bottom-nav,.mobile-object-strip,.mobile-action-center{display:none}.shell-empty,.shell-empty-main{color:var(--text-muted);font-size:13px;padding:var(--s3)}.shell-empty-main{display:grid;min-height:60vh;place-items:center}.shell button:focus-visible,.shell input:focus-visible,.shell a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1180px){.shell{grid-template-columns:232px minmax(0,1fr)}.shell[data-sidebar=collapsed]{grid-template-columns:58px minmax(0,1fr)}.shell-head{padding:var(--s4) var(--s5)}.shell-tabs button,.button,.icon-btn{min-height:38px}.portfolio-grid,.object-insights,.service-command-grid,.service-module-grid,.manage-card-grid,.tech-workspace-grid,.backup-vault-grid{grid-template-columns:1fr}.service-chart-footer{grid-template-columns:repeat(3,minmax(0,1fr))}.service-traffic-body,.flatlogic-workspace-grid{grid-template-columns:1fr}.service-queue-panel{grid-column:auto}.obj-body{grid-template-columns:minmax(0,1fr)}.ctx-rail{position:fixed;inset:72px 16px 16px auto;z-index:40;width:min(440px,calc(100vw - 32px));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.rail-edge-toggle{position:fixed;top:84px;right:min(440px,calc(100vw - 32px))}.obj-body[data-rail=collapsed] .rail-edge-toggle{right:16px}}@media(max-width:760px){.shell{grid-template-columns:1fr;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.shell[data-sidebar=collapsed]{grid-template-columns:1fr}.shell-side{position:fixed;inset:0 auto 0 0;z-index:60;width:min(320px,88vw);transform:translate(-104%);transition:transform .18s ease;box-shadow:var(--shadow-md)}.shell-side[data-collapsed=true]{align-items:stretch;gap:var(--s4);width:min(320px,88vw);padding:var(--s5) var(--s4)}.shell-side[data-collapsed=true] .sidebar-label,.shell-side[data-collapsed=true] .shell-side-title,.shell-side[data-collapsed=true] .obj-search-wrap,.shell-side[data-collapsed=true] .obj-addr,.shell-side[data-collapsed=true] .obj-agent{display:revert}.shell-side[data-collapsed=true] .shell-brand,.shell-side[data-collapsed=true] .shell-objects-head{justify-content:space-between}.shell-side[data-collapsed=true] .shell-brand-button{flex:1}.shell-side[data-collapsed=true] .shell-logo-img-icon{display:none}.shell-side[data-collapsed=true] .shell-logo-img-full{display:block}.shell-side[data-collapsed=true] .shell-collapse-btn{position:static;box-shadow:none}.shell-side[data-collapsed=true] .park-btn,.shell-side[data-collapsed=true] .add-obj-btn,.shell-side[data-collapsed=true] .shell-utility-btn,.shell-side[data-collapsed=true] .shell-account-card{width:auto;height:auto;justify-content:flex-start;padding:0 var(--s2)}.shell-side[data-collapsed=true] .shell-objects{align-items:stretch;overflow-y:auto}.shell-side[data-collapsed=true] .obj-item{width:auto;height:auto;grid-template-columns:10px minmax(0,1fr) auto;place-items:initial;gap:3px var(--s3);padding:var(--s3)}.shell-side[data-collapsed=true] .obj-name{display:block}.shell-side[data-open=true]{transform:translate(0)}.mobile-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;border:0;background:#00000057}.mobile-scrim[data-open=true],.mobile-menu,.mobile-close{display:grid}.mobile-scrim:not([data-open=true]){display:none}.mobile-close{margin-left:auto}.shell-head{position:sticky;top:0;z-index:30;padding:var(--s3);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.shell-head-row{align-items:flex-start;gap:var(--s2)}.shell-head-main{gap:4px var(--s2)}.shell-head-main h1{width:100%;overflow:hidden;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.head-pills{width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.head-pills::-webkit-scrollbar{display:none}.head-actions{margin-left:auto}.head-actions .button{display:none}.shell-tabs{display:none;width:100%;overflow-x:auto}.shell-tabs button{white-space:nowrap}.shell-content{padding:var(--s3) var(--s3) calc(var(--s6) + 82px)}.portfolio-view{padding-bottom:calc(var(--s6) + 82px)}.mobile-object-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:var(--s2);margin-top:var(--s3)}.mobile-object-strip div,.mobile-object-strip button{min-width:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:inherit;padding:7px 8px}.mobile-object-strip span{display:block;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.mobile-object-strip b{display:block;margin-top:2px;font-size:13px;line-height:1.1}.mobile-object-strip button{min-height:44px;color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer}.mobile-action-center{display:grid;gap:var(--s3);border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,transparent),var(--bg));padding:var(--s3)}.mobile-action-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s2);align-items:center;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:var(--s3)}.mobile-action-state{width:10px;height:42px;border-radius:999px;background:var(--ok)}.mobile-action-state.danger{background:var(--danger)}.mobile-action-head b,.mobile-primary-incident b{display:block;overflow:hidden;font-size:14px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-action-head span:not(.mobile-action-state):not(.status-badge),.mobile-primary-incident small{display:block;margin-top:3px;color:var(--text-muted);font-size:12px;line-height:1.35}.mobile-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.mobile-action-grid button,.mobile-primary-incident{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.mobile-action-grid button{display:grid;min-width:0;min-height:76px;align-content:center;gap:4px;padding:var(--s2);text-align:left}.mobile-action-grid button:hover,.mobile-primary-incident:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}.mobile-action-grid svg{color:var(--accent)}.mobile-action-grid span{overflow:hidden;color:var(--text-muted);font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.mobile-action-grid b{overflow:hidden;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-primary-incident{display:grid;gap:var(--s2);padding:var(--s3);text-align:left}.mobile-primary-incident>span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s2);align-items:center}.mobile-bottom-nav{position:fixed;right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-md);padding:6px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav button{display:grid;min-width:0;min-height:52px;place-items:center;gap:2px;border:0;border-radius:13px;background:transparent;color:var(--text-muted);font:inherit;font-size:10px;font-weight:850;cursor:pointer}.mobile-bottom-nav button[data-active=true]{background:var(--accent-weak);color:var(--accent)}.mobile-bottom-nav svg{width:18px;height:18px}.mobile-bottom-nav span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.service-module-stats{grid-template-columns:1fr}.service-modal-backdrop{padding:var(--s2)}.service-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);min-height:calc(100dvh - 16px)}.service-modal-head,.service-modal-body{padding:var(--s3)}.service-modal-head h2{font-size:18px}.portfolio-hero,.service-traffic-head,.diagnostic-grid,.object-table-title,.integration-strip div,.score-context-card{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.kpi-grid,.object-health-grid{grid-template-columns:1fr 1fr}.kpi-grid{gap:var(--s2)}.core-kpi-card{min-height:104px;padding:var(--s3)}.core-kpi-value strong{font-size:22px}.kpi-sparkline{height:34px}.service-chart-footer,.service-counter-grid{grid-template-columns:1fr}.service-queue-row{grid-template-columns:auto minmax(0,1fr)}.service-queue-row .status-badge,.service-queue-row em,.service-queue-row>strong{grid-column:2;justify-self:start}.yandex-map-preview{min-height:220px}.service-traffic-actions{align-items:stretch;flex-direction:column}.period-switch{width:100%}.period-switch button{flex:1}.trend-point-list button{grid-template-columns:minmax(80px,.8fr) minmax(0,1fr) 42px}.health-card.primary{grid-column:1 / -1}.inc-row,.metric-row{grid-template-columns:1fr}.inc-row .dot{display:none}.insight-layout{grid-template-columns:1fr}.filter-row{width:100%}.ppr-item,.backup-item,.run-result,.backup-version{grid-template-columns:1fr}.backup-vault-head,.backup-detail-head{flex-direction:column}.backup-detail-actions,.ppr-actions,.task-actions{justify-content:flex-start}.tech-runner-head,.tech-step-title{align-items:flex-start;flex-direction:column}.tech-step dl{grid-template-columns:1fr}.ctx-rail{inset:auto 10px 10px 10px;width:auto;max-height:calc(72vh - 74px)}.rail-edge-toggle,.obj-body[data-rail=collapsed] .rail-edge-toggle{position:fixed;right:14px;bottom:calc(72vh + 92px);top:auto}}@media(max-width:420px){.mobile-object-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-object-strip button{grid-column:1 / -1}.mobile-action-head{grid-template-columns:auto minmax(0,1fr)}.mobile-action-head .status-badge{grid-column:2;justify-self:start}.mobile-action-grid,.kpi-grid,.object-health-grid{grid-template-columns:1fr}.portfolio-hero{padding:var(--s4)}.portfolio-hero h2{font-size:20px}.mobile-bottom-nav{right:6px;left:6px;border-radius:16px;padding:5px}.mobile-bottom-nav button{min-height:50px;font-size:9px}}.alert-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.alert-form .obj-search{flex:1 1 200px;min-width:160px}.alert-form select{padding:7px 9px;border-radius:8px;border:1px solid var(--border, #2a3344);background:var(--surface-2, #161c27);color:inherit;font-size:13px}.cmd-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.toast-wrap{position:fixed;right:var(--s4);bottom:var(--s4);z-index:200;display:flex;flex-direction:column;gap:var(--s2);max-width:min(380px,calc(100vw - 2 * var(--s4)));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);border-left:3px solid var(--info);font-size:var(--text-md, 13px);line-height:1.4;cursor:default;animation:toast-in .18s ease-out}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--info)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.wb-config-panel{display:grid;gap:var(--s5)}.wb-config-empty{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s5);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-bg);color:var(--text)}.wb-config-empty h3{margin:0 0 var(--s2);font-size:15px}.wb-config-empty p{margin:0;color:var(--text-muted);max-width:60ch}.wb-bus-controls{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-end}.wb-field{display:grid;gap:var(--s1);font-size:13px;color:var(--text-muted)}.wb-field>span{font-weight:500}.wb-field select,.wb-slave-input{min-width:140px;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:inherit;font-size:14px}.wb-field select:focus,.wb-slave-input:focus{outline:2px solid var(--accent);outline-offset:1px}.wb-field-toggle{flex-direction:row;align-items:center;gap:var(--s2)}.wb-field-toggle input{width:16px;height:16px;accent-color:var(--accent)}.wb-count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 var(--s2);border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}.wb-devices-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.wb-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(110px,.9fr) minmax(120px,.8fr) minmax(140px,1fr) auto;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);align-items:center;font-size:13px}.wb-row-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.wb-row[data-conflict=true]{background:var(--danger-bg)}.wb-row[data-selected=true] .wb-cell-type{color:var(--accent);font-weight:600}.wb-cell-name{font-weight:500;color:var(--text)}.wb-cell-type{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--text-muted)}.wb-cell-func{color:var(--text-muted)}.wb-slave-input{min-width:70px;width:80px}.wb-slave-input[data-conflict=true]{border-color:var(--danger);background:var(--danger-bg)}.wb-slave-warn{margin-left:var(--s2);color:var(--danger);vertical-align:middle}.wb-regmap-section .section-title h2 code{font-size:13px;color:var(--accent)}.wb-regmap-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;max-height:420px;overflow-y:auto}.wb-regmap-row{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(90px,.7fr) minmax(110px,.9fr) minmax(70px,.5fr) minmax(70px,.5fr) minmax(60px,.5fr) minmax(40px,.3fr);gap:var(--s3);padding:var(--s2) var(--s4);background:var(--surface);align-items:center;font-size:12px;font-family:ui-monospace,SF Mono,Menlo,monospace}.wb-regmap-row-head{background:var(--surface-2);font-family:inherit;font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.wb-regmap-row[data-ro=true] .wb-regmap-name{color:var(--text-muted)}.wb-regmap-name{color:var(--text);font-weight:500}.wb-regmap-regtype code{padding:1px var(--s2);border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent);font-size:11px}.wb-regmap-addr{color:var(--accent);font-weight:600}.wb-regmap-addr-dec{color:var(--text-faint);font-weight:400}.wb-preview-actions{display:flex;gap:var(--s2);margin-left:auto}.wb-config-preview{margin:0;padding:var(--s4);max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.wb-config-preview code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.55;color:var(--text);white-space:pre}.wb-preview-conflict{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--danger);border-radius:var(--r-md);background:var(--danger-bg);color:var(--danger)}.wb-preview-conflict p{margin:0}.wb-catalog-section .section-title h2 code{font-size:13px}.wb-catalog-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:var(--s4);align-items:start}.wb-catalog-list{list-style:none;margin:0;padding:0;max-height:520px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.wb-catalog-item{display:grid;width:100%;gap:2px;padding:var(--s3) var(--s4);border:none;border-bottom:1px solid var(--border-subtle);background:transparent;text-align:left;cursor:pointer;color:var(--text);font:inherit}.wb-catalog-item:last-child{border-bottom:none}.wb-catalog-item:hover{background:var(--surface-2)}.wb-catalog-item[data-active=true]{background:var(--accent-weak)}.wb-catalog-type{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;font-weight:600;color:var(--accent)}.wb-catalog-title{font-size:12px;color:var(--text-muted)}@media(max-width:880px){.wb-catalog-layout{grid-template-columns:1fr}.wb-row,.wb-regmap-row{grid-template-columns:1fr 1fr}.wb-regmap-row-head{display:none}}.knx-config-panel{display:grid;gap:var(--s5)}.knx-config-empty{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s5);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-bg);color:var(--text)}.knx-config-empty h3{margin:0 0 var(--s2);font-size:15px}.knx-config-empty p{margin:0;color:var(--text-muted);max-width:60ch}.knx-options-section{display:grid;gap:var(--s3)}.knx-field{display:grid;gap:var(--s1);font-size:13px;color:var(--text-muted)}.knx-field>span{font-weight:500}.knx-zone-input{width:90px;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:inherit;font-size:14px}.knx-zone-input:focus{outline:2px solid var(--accent);outline-offset:1px}.knx-totals-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3)}.knx-total-tile{display:grid;gap:var(--s1);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:center}.knx-total-tile[data-tone=ok]{border-color:var(--ok);background:var(--ok-bg)}.knx-total-tile[data-tone=info]{border-color:var(--info, var(--accent));background:var(--accent-weak)}.knx-total-tile[data-tone=warn]{border-color:var(--warn);background:var(--warn-bg)}.knx-total-value{font-size:26px;font-weight:700;color:var(--text);line-height:1}.knx-total-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.knx-count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 var(--s2);border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}.knx-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.knx-row{display:grid;padding:var(--s3) var(--s4);background:var(--surface);align-items:center;font-size:13px;gap:var(--s3)}.knx-row-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.knx-rooms-section .knx-row{grid-template-columns:minmax(0,1.6fr) minmax(60px,.4fr) minmax(80px,.5fr) minmax(0,1.2fr)}.knx-cell-room{font-weight:500;color:var(--text)}.knx-cell-zone{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;color:var(--accent)}.knx-cell-range code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--text-muted)}.knx-functions-section .knx-row{grid-template-columns:minmax(90px,.6fr) minmax(0,1.8fr) minmax(0,1fr) minmax(100px,.7fr)}.knx-functions-section .knx-row[data-role=dimming]{background:var(--warn-bg)}.knx-cell-addr code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;font-weight:700;color:var(--accent)}.knx-cell-func{color:var(--text)}.knx-dim-tag{margin-left:var(--s2);padding:1px var(--s2);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font-size:10px;font-weight:600;text-transform:uppercase}.knx-cell-room{color:var(--text-muted);font-size:12px}.knx-role-pill{display:inline-block;padding:2px var(--s2);border-radius:var(--r-sm);font-size:11px;font-weight:600;background:var(--accent-weak);color:var(--accent)}.knx-role-pill[data-role=status]{background:var(--surface-2);color:var(--text-muted)}.knx-role-pill[data-role=dimming]{background:var(--warn-bg);color:var(--warn)}.knx-preview-actions{display:flex;gap:var(--s2);margin-left:auto}.knx-csv-preview{margin:0;padding:var(--s4);max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.knx-csv-preview code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.55;color:var(--text);white-space:pre}@media(max-width:760px){.knx-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knx-rooms-section .knx-row,.knx-functions-section .knx-row{grid-template-columns:1fr 1fr}.knx-row-head{display:none}}.disk-panel{display:grid;gap:var(--s5)}.disk-connection-body{display:grid;gap:var(--s4)}.disk-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin:0}.disk-meta-item{display:grid;gap:var(--s1)}.disk-meta-item dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.disk-meta-item dd{margin:0;font-size:14px;color:var(--text)}.disk-meta-item dd code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--accent)}.disk-connection-actions{display:flex;gap:var(--s2);flex-wrap:wrap}.disk-oauth-hint{margin:0;font-size:12px;color:var(--text-faint);font-style:italic}.disk-status-pill{display:inline-flex;align-items:center;gap:var(--s1);padding:4px var(--s3);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font-size:12px;font-weight:600}.disk-status-pill[data-connected=true]{background:var(--ok-bg);color:var(--ok)}.disk-count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 var(--s2);border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}.disk-folder-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.disk-folder-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-sm);color:var(--text-muted)}.disk-folder-item:hover{background:var(--surface-2)}.disk-folder-info{display:grid;gap:2px}.disk-folder-name{font-size:13px;font-weight:500;color:var(--text)}.disk-folder-detail{font-size:11px;color:var(--text-faint)}.disk-files-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.disk-file-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(80px,.5fr) minmax(90px,.6fr) auto;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);align-items:center;font-size:13px}.disk-file-row-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.disk-file-row[data-parseable=true]{background:var(--ok-bg)}.disk-file-name{display:flex;align-items:center;gap:var(--s2);color:var(--text);min-width:0}.disk-file-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disk-parseable-tag{flex-shrink:0;padding:1px var(--s2);border-radius:var(--r-sm);background:var(--ok);color:var(--surface);font-size:10px;font-weight:600;text-transform:uppercase}.disk-file-size,.disk-file-date{color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.disk-file-actions{display:flex;gap:var(--s1);justify-content:flex-end}.disk-files-empty{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s5);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-bg);color:var(--text)}.disk-files-empty h3{margin:0 0 var(--s2);font-size:15px}.disk-files-empty p{margin:0;color:var(--text-muted);max-width:50ch}.spin{animation:disk-spin .8s linear infinite}@keyframes disk-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.disk-meta-grid{grid-template-columns:1fr}.disk-file-row{grid-template-columns:1fr auto}.disk-file-row-head{display:none}}.mqtt-config-panel{display:grid;gap:var(--s5)}.mqtt-config-empty{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s5);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-bg);color:var(--text)}.mqtt-config-empty h3{margin:0 0 var(--s2);font-size:15px}.mqtt-config-empty p{margin:0;color:var(--text-muted);max-width:60ch}.mqtt-options-grid{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-end}.mqtt-field{display:grid;gap:var(--s1);font-size:13px;color:var(--text-muted)}.mqtt-field>span{font-weight:500}.mqtt-input{min-width:200px;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:inherit;font-size:14px}.mqtt-input-narrow{min-width:90px;width:100px}.mqtt-input:focus{outline:2px solid var(--accent);outline-offset:1px}.mqtt-field-toggle{flex-direction:row;align-items:center;gap:var(--s2)}.mqtt-field-toggle input{width:16px;height:16px;accent-color:var(--accent)}.mqtt-totals-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s3)}.mqtt-total-tile{display:grid;gap:var(--s1);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:center}.mqtt-total-tile[data-tone=ok]{border-color:var(--ok);background:var(--ok-bg)}.mqtt-total-tile[data-tone=info]{border-color:var(--accent);background:var(--accent-weak)}.mqtt-total-tile[data-tone=warn]{border-color:var(--warn);background:var(--warn-bg)}.mqtt-total-value{font-size:26px;font-weight:700;color:var(--text);line-height:1}.mqtt-total-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.mqtt-count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 var(--s2);border-radius:var(--r-sm);background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}.mqtt-tree{display:grid;gap:var(--s4)}.mqtt-device-node{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.mqtt-device-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-muted)}.mqtt-device-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;font-weight:700;color:var(--accent)}.mqtt-device-name{font-size:13px;font-weight:500;color:var(--text)}.mqtt-device-kind{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint)}.mqtt-topic-list{list-style:none;margin:0;padding:0}.mqtt-topic-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:1px solid var(--border-subtle);font-size:12px}.mqtt-topic-item:last-child{border-bottom:none}.mqtt-topic-dir{flex-shrink:0;display:inline-block;padding:1px var(--s2);border-radius:var(--r-sm);font-size:10px;font-weight:600;text-transform:uppercase;background:var(--surface-2);color:var(--text-muted);min-width:78px;text-align:center}.mqtt-topic-dir[data-direction=command]{background:var(--ok-bg);color:var(--ok)}.mqtt-topic-dir[data-direction=sensor]{background:var(--accent-weak);color:var(--accent)}.mqtt-topic-path{font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--text);font-weight:500}.mqtt-topic-cmd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-faint)}.mqtt-topic-type{margin-left:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-muted);padding:1px var(--s2);border-radius:var(--r-sm);background:var(--surface-2)}.mqtt-topic-units{font-size:11px;color:var(--accent);font-weight:600}.mqtt-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.mqtt-row{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.5fr);gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);align-items:center;font-size:12px}.mqtt-row-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.mqtt-row[data-component=light] .mqtt-cell-name{color:var(--warn)}.mqtt-ha-pill{display:inline-block;padding:2px var(--s2);border-radius:var(--r-sm);font-size:11px;font-weight:600;background:var(--accent-weak);color:var(--accent)}.mqtt-ha-pill[data-component=light]{background:var(--warn-bg);color:var(--warn)}.mqtt-ha-pill[data-component=sensor],.mqtt-ha-pill[data-component=binary_sensor]{background:var(--ok-bg);color:var(--ok)}.mqtt-cell-name{color:var(--text);font-weight:500}.mqtt-cell-object code,.mqtt-cell-topic code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-muted)}.mqtt-preview-actions{display:flex;gap:var(--s2);margin-left:auto}.mqtt-conf-preview{margin:0;padding:var(--s4);max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.mqtt-conf-preview code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.55;color:var(--text);white-space:pre}@media(max-width:880px){.mqtt-totals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mqtt-row{grid-template-columns:1fr 1fr}.mqtt-row-head{display:none}.mqtt-topic-item{flex-wrap:wrap}}.import-panel{display:grid;gap:var(--s5)}.import-dropzone{display:grid;place-items:center;gap:var(--s3);padding:var(--s6);border:2px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-muted);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.import-dropzone:hover,.import-dropzone.drag-over{border-color:var(--accent);background:var(--accent-weak)}.import-dropzone-text{display:flex;flex-direction:column;align-items:center;gap:var(--s2);font-size:14px}.import-dropzone-text strong{color:var(--text);font-size:15px}.import-dropzone-formats{font-size:12px;color:var(--text-faint);font-family:ui-monospace,SF Mono,Menlo,monospace}.import-status-ok{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--ok);border-radius:var(--r-md);background:var(--ok-bg);color:var(--text)}.import-status-ok code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--accent)}.import-status-meta{margin-left:var(--s3);font-size:12px;color:var(--text-muted)}.import-status-empty{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-muted)}.import-status-empty p{margin:0}.import-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s4)}.import-metric{display:grid;gap:var(--s1);padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.import-metric[data-tone=ok]{border-color:var(--ok);background:var(--ok-bg)}.import-metric[data-tone=warn]{border-color:var(--warn);background:var(--warn-bg)}.import-metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:600}.import-metric-value{font-size:15px;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-metric-value.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700}.import-metric[data-tone=warn] .import-metric-value{color:var(--warn)}.import-metric[data-tone=ok] .import-metric-value{color:var(--ok)}.import-warnings{margin-top:var(--s4);padding:var(--s4);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-bg)}.import-warnings-head{display:flex;align-items:center;gap:var(--s2);color:var(--warn);margin-bottom:var(--s3)}.import-warnings-count{margin-left:auto;padding:1px var(--s2);border-radius:var(--r-sm);background:var(--warn);color:var(--surface);font-size:11px;font-weight:700}.import-warnings-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}.import-warnings-list li{font-size:12px;color:var(--text);padding-left:var(--s4);position:relative}.import-warnings-list li:before{content:"!";position:absolute;left:0;color:var(--warn);font-weight:700}.import-warnings-more{font-style:italic;color:var(--text-muted)}.import-hint-list{margin:0;padding-left:var(--s5);display:grid;gap:var(--s2);color:var(--text-muted);font-size:13px}.import-hint-list li::marker{color:var(--accent);font-weight:700}@media(max-width:760px){.import-metrics-grid{grid-template-columns:1fr 1fr}}.import-target-object{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--accent-weak);color:var(--text);font-size:13px}.import-target-object[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.import-target-object strong{color:var(--accent)}.import-materializing{color:var(--text-muted);font-style:italic}.newobj-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,black 62%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.newobj-modal{width:100%;max-width:880px;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--ec-radius-panel);box-shadow:var(--ec-shadow-md);overflow:hidden}.newobj-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ec-s5) var(--ec-s6);border-bottom:1px solid var(--border)}.newobj-header-main{display:flex;align-items:center;gap:var(--ec-s4)}.newobj-header-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--ec-radius-control);background:var(--accent-weak);color:var(--accent);flex-shrink:0}.newobj-header h2{margin:0;font-size:18px;font-weight:700;color:var(--text)}.newobj-header p{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.newobj-close{display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:var(--ec-radius-control);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.newobj-close:hover{background:var(--surface-2);color:var(--text)}.newobj-error{display:flex;align-items:center;gap:var(--ec-s2);margin:var(--ec-s4) var(--ec-s6) 0;padding:var(--ec-s3) var(--ec-s4);border-radius:var(--ec-radius-control);background:var(--warn-bg);color:var(--warn);font-size:13px}.newobj-body{display:grid;grid-template-columns:1fr 1.1fr;gap:1px;background:var(--border);overflow-y:auto;min-height:0}.newobj-col{display:flex;flex-direction:column;gap:var(--ec-s4);padding:var(--ec-s5) var(--ec-s6);background:var(--surface)}.newobj-col-title{display:flex;align-items:center;gap:var(--ec-s3);margin-bottom:var(--ec-s2)}.newobj-col-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--surface);font-size:12px;font-weight:700;flex-shrink:0}.newobj-col-title h3{margin:0;font-size:15px;font-weight:600;color:var(--text)}.newobj-field{display:flex;flex-direction:column;gap:var(--ec-s2)}.newobj-field-label{display:flex;align-items:center;gap:var(--ec-s2);font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.newobj-field-label svg{color:var(--accent)}.newobj-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--ec-radius-control);background:var(--bg);color:var(--text);font:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.newobj-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.newobj-input::placeholder{color:var(--text-faint)}.newobj-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ec-s2)}.newobj-type-chip{display:flex;align-items:center;gap:var(--ec-s2);padding:10px 14px;border:1px solid var(--border);border-radius:var(--ec-radius-control);background:var(--bg);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer;transition:all .15s;text-align:left}.newobj-type-chip:hover{border-color:var(--accent);color:var(--text)}.newobj-type-chip[data-active=true]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.newobj-type-chip svg{flex-shrink:0}.newobj-integration-modes{display:flex;gap:var(--ec-s1);margin-bottom:var(--ec-s3)}.newobj-mode-btn{display:flex;align-items:center;gap:var(--ec-s1);padding:8px 12px;border:1px solid var(--border);border-radius:var(--ec-radius-control);background:var(--bg);color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.newobj-mode-btn:hover{border-color:var(--accent);color:var(--text)}.newobj-mode-btn[data-active=true]{border-color:var(--accent);background:var(--accent);color:var(--surface)}.newobj-integration-content{min-height:180px}.newobj-integration-hint{display:flex;flex-direction:column;align-items:center;gap:var(--ec-s3);padding:var(--ec-s6) var(--ec-s4);text-align:center;color:var(--text-faint)}.newobj-integration-hint svg{color:var(--text-faint)}.newobj-integration-hint p{margin:0;font-size:13px;max-width:36ch;line-height:1.5}.newobj-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--ec-s3);padding:var(--ec-s6);border:2px dashed var(--border-strong);border-radius:var(--ec-radius-panel);background:var(--surface-2);color:var(--text-muted);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.newobj-dropzone:hover,.newobj-dropzone.drag-over{border-color:var(--accent);background:var(--accent-weak)}.newobj-dropzone-text{display:flex;flex-direction:column;gap:2px}.newobj-dropzone-text strong{color:var(--text);font-size:14px}.newobj-dropzone-text span{font-size:12px;color:var(--text-faint)}.newobj-preview{display:flex;gap:var(--ec-s3);margin-top:var(--ec-s4);padding:var(--ec-s4);border:1px solid var(--ok);border-radius:var(--ec-radius-control);background:var(--ok-bg)}.newobj-preview svg{color:var(--ok);flex-shrink:0;margin-top:2px}.newobj-preview-body{display:flex;flex-direction:column;gap:2px}.newobj-preview-body strong{color:var(--text);font-size:14px}.newobj-preview-meta{font-size:12px;color:var(--text-muted)}.newobj-preview-protocols{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.newobj-proto-tag{padding:1px 8px;border-radius:var(--ec-radius-control);background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:600}.newobj-proto-tag[data-proto=knx]{background:var(--warn-bg);color:var(--warn)}.newobj-proto-tag[data-proto=dali]{background:var(--accent-weak);color:var(--accent)}.newobj-proto-tag[data-proto=modbus]{background:var(--ok-bg);color:var(--ok)}.newobj-api-form{display:flex;flex-direction:column;gap:var(--ec-s4)}.newobj-api-connect{align-self:flex-start}.newobj-api-hint{margin:0;font-size:12px;color:var(--text-faint);line-height:1.5}.newobj-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-s4);padding:var(--ec-s4) var(--ec-s6);border-top:1px solid var(--border)}.newobj-footer-hint{font-size:12px;color:var(--text-muted)}.newobj-footer-actions{display:flex;gap:var(--ec-s2);margin-left:auto}.newobj-spin{animation:newobj-spin .7s linear infinite}@keyframes newobj-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.newobj-body,.newobj-type-grid{grid-template-columns:1fr}.newobj-integration-modes{flex-wrap:wrap}}.devlist{display:grid;gap:var(--ec-s4)}.devlist-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-s4);flex-wrap:wrap}.devlist-stats{display:flex;gap:var(--ec-s4);font-size:13px;color:var(--text-muted)}.devlist-stat strong{color:var(--text)}.devlist-stat[data-tone=ok]{color:var(--ok)}.devlist-stat[data-tone=warn]{color:var(--warn)}.devlist-stat[data-tone=muted]{color:var(--text-faint)}.devlist-filters{display:flex;gap:var(--ec-s1)}.devlist-filter-btn{padding:5px 12px;border:1px solid var(--border);border-radius:var(--ec-radius-control);background:var(--bg);color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer;transition:all .15s}.devlist-filter-btn:hover{border-color:var(--accent);color:var(--text)}.devlist-filter-btn[data-active=true]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.devlist-group{display:grid;gap:var(--ec-s2)}.devlist-group-head{display:flex;align-items:center;gap:var(--ec-s2);padding:var(--ec-s2) 0;color:var(--text-muted)}.devlist-group-label{font-size:13px;font-weight:600;color:var(--text)}.devlist-group-count{padding:1px 8px;border-radius:var(--ec-radius-control);background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:700}.devlist-empty{display:flex;align-items:flex-start;gap:var(--ec-s4);padding:var(--ec-s6);border:1px dashed var(--border-strong);border-radius:var(--ec-radius-panel);background:var(--surface-2);color:var(--text-muted)}.devlist-empty svg{color:var(--text-faint);flex-shrink:0}.devlist-empty h3{margin:0 0 var(--ec-s2);font-size:15px;color:var(--text)}.devlist-empty p{margin:0;font-size:13px;max-width:50ch}.dot.muted{background:var(--text-faint);opacity:.5}.dot.warn{background:var(--warn)}.obj-item-wrapper{position:relative;display:flex;align-items:center}.obj-item-wrapper>.obj-item{flex:1;min-width:0}.obj-delete-btn{opacity:0;display:grid;place-items:center;width:24px;height:24px;margin-right:6px;border:none;border-radius:var(--ec-radius-control);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:opacity .15s,background .15s,color .15s}.obj-item-wrapper:hover>.obj-delete-btn,.obj-item-wrapper[data-active=true]>.obj-delete-btn{opacity:1}.obj-delete-btn:hover{background:var(--danger-bg);color:var(--danger)}.obj-delete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,black 62%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.obj-delete-modal{display:flex;flex-direction:column;align-items:center;gap:var(--ec-s4);padding:var(--ec-s6);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--ec-radius-panel);box-shadow:var(--ec-shadow-md);max-width:420px;text-align:center}.obj-delete-modal-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--danger-bg);color:var(--danger)}.obj-delete-modal h3{margin:0;font-size:18px;font-weight:700;color:var(--text)}.obj-delete-modal p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.obj-delete-modal-actions{display:flex;gap:var(--ec-s3);margin-top:var(--ec-s3)}.desktop-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:grid;place-items:center;background:#0000007a;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.desktop-update-modal{width:min(464px,100%);border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,#1f1f1f);color:var(--text);box-shadow:0 28px 80px #0000006b;padding:26px}.desktop-update-modal h3{margin:0;font-size:24px;line-height:1.15}.desktop-update-modal p{margin:12px 0 0;color:var(--text-muted);font-size:15px;line-height:1.5}.desktop-update-meta{display:grid;gap:6px;margin-top:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s3);color:var(--text-muted);font-size:13px}.desktop-update-meta b{color:var(--text)}.desktop-update-actions{display:flex;justify-content:flex-end;gap:var(--s3);margin-top:var(--s5)}.desktop-update-actions button{min-width:112px;min-height:40px;border:1px solid transparent;border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;font-weight:850;padding:0 16px}.desktop-update-actions button:hover{background:var(--surface-3)}.desktop-update-actions button.primary{background:#fff;color:#191b20}.desktop-update-actions button.primary:hover{filter:brightness(.94)}.import-update-warning{display:flex;align-items:flex-start;gap:var(--ec-s3);padding:var(--ec-s3) var(--ec-s4);border:1px solid var(--warn);border-radius:var(--ec-radius-control);background:var(--warn-bg);color:var(--text);font-size:13px;line-height:1.5}.import-update-warning svg{color:var(--warn);flex-shrink:0;margin-top:2px}.ai-chat-live{display:flex;flex-direction:column;gap:var(--ec-s4)}.ai-chat-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-s4);padding:var(--ec-s5);border-radius:var(--ec-radius-panel);background:var(--accent-weak)}.ai-chat-hero h3{margin:0;font-size:18px}.ai-chat-hero p{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.ai-chat-hero svg{color:var(--accent);flex-shrink:0}.ai-chat-messages{display:flex;flex-direction:column;gap:var(--ec-s3);max-height:420px;overflow-y:auto;padding:var(--ec-s4);border:1px solid var(--border);border-radius:var(--ec-radius-panel);background:var(--surface)}.ai-chat-empty{display:flex;flex-direction:column;align-items:center;gap:var(--ec-s3);text-align:center;color:var(--text-muted);padding:var(--ec-s6)}.ai-chat-empty svg{color:var(--text-faint)}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:var(--ec-s2);justify-content:center}.ai-chat-msg{display:flex;gap:var(--ec-s3);max-width:85%}.ai-chat-msg[data-role=user]{align-self:flex-end;flex-direction:row-reverse}.ai-chat-msg-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-weak);color:var(--accent);flex-shrink:0}.ai-chat-msg[data-role=user] .ai-chat-msg-avatar{background:var(--surface-2);color:var(--text-muted)}.ai-chat-msg-body{display:flex;flex-direction:column;gap:4px}.ai-chat-msg-text{padding:10px 14px;border-radius:var(--ec-radius-control);background:var(--surface-2);color:var(--text);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-chat-msg[data-role=user] .ai-chat-msg-text{background:var(--accent);color:var(--surface)}.ai-chat-typing{display:flex;gap:4px;padding:12px 14px;background:var(--surface-2);border-radius:var(--ec-radius-control)}.ai-chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:ai-chat-bounce 1.4s ease-in-out infinite}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes ai-chat-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.ai-chat-error{padding:var(--ec-s3) var(--ec-s4);border-radius:var(--ec-radius-control);background:var(--danger-bg);color:var(--danger);font-size:13px}.ai-chat-input-bar{display:flex;gap:var(--ec-s3);align-items:flex-end}.ai-chat-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--ec-radius-control);background:var(--bg);color:var(--text);font:inherit;font-size:14px;resize:none}.ai-chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.doclib-panel{display:grid;gap:var(--ec-s5)}.doclib-dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--ec-s3);padding:var(--ec-s6);border:2px dashed var(--border-strong);border-radius:var(--ec-radius-panel);background:var(--surface-2);color:var(--text-muted);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.doclib-dropzone:hover,.doclib-dropzone.drag-over{border-color:var(--accent);background:var(--accent-weak)}.doclib-dropzone-text{display:flex;flex-direction:column;gap:4px}.doclib-dropzone-text strong{color:var(--text);font-size:14px}.doclib-formats{font-size:12px;color:var(--text-faint)}.doclib-count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 var(--ec-s2);border-radius:var(--ec-r-sm);background:var(--accent-weak);color:var(--accent);font-size:12px;font-weight:600}.doclib-empty{display:flex;gap:var(--ec-s4);padding:var(--ec-s6);border:1px dashed var(--border-strong);border-radius:var(--ec-radius-panel);background:var(--surface-2);color:var(--text-muted)}.doclib-empty svg{color:var(--text-faint);flex-shrink:0}.doclib-empty h3{margin:0 0 var(--ec-s2);font-size:15px;color:var(--text)}.doclib-empty p{margin:0;font-size:13px;max-width:50ch}.doclib-list{display:grid;gap:var(--ec-s1)}.doclib-item{display:flex;align-items:center;gap:var(--ec-s3);padding:var(--ec-s3) var(--ec-s4);border:1px solid var(--border);border-radius:var(--ec-r-sm);background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.doclib-item:hover{border-color:var(--accent);background:var(--surface-2)}.doclib-item[data-selected=true]{border-color:var(--accent);background:var(--accent-weak)}.doclib-item-icon{color:var(--text-muted);flex-shrink:0}.doclib-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.doclib-item-name{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doclib-item-meta{font-size:12px;color:var(--text-faint)}.doclib-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--ec-r-sm);font-size:11px;font-weight:600;white-space:nowrap}.doclib-status-pill[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}.doclib-status-pill[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.doclib-status-pill[data-tone=danger]{background:var(--danger-bg);color:var(--danger)}.doclib-status-pill[data-tone=muted]{background:var(--surface-2);color:var(--text-muted)}.doclib-item-expand,.doclib-item-delete{display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--ec-r-sm);background:transparent;color:var(--text-muted);cursor:pointer}.doclib-item-expand:hover{background:var(--accent-weak);color:var(--accent)}.doclib-item-delete:hover{background:var(--danger-bg);color:var(--danger)}.doclib-detail-loading{display:flex;align-items:center;gap:var(--ec-s3);color:var(--text-muted);padding:var(--ec-s4)}.doclib-detail{display:grid;gap:var(--ec-s4)}.doclib-confidence{font-size:12px;color:var(--accent);font-weight:600}.doclib-registers-head{display:flex;align-items:center;gap:var(--ec-s2);margin-bottom:var(--ec-s3)}.doclib-registers-head svg{color:var(--accent)}.doclib-regtable{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--ec-r-sm);overflow:auto;max-height:400px}.doclib-regrow{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(100px,.8fr) minmax(80px,.5fr) minmax(60px,.4fr) minmax(60px,.4fr) minmax(50px,.3fr);gap:var(--ec-s3);padding:var(--ec-s2) var(--ec-s4);background:var(--surface);align-items:center;font-size:12px}.doclib-regrow-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.doclib-reg-name{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doclib-reg-addr code{font-family:ui-monospace,monospace;font-size:12px;color:var(--accent);font-weight:700}.doclib-reg-addr-dec{font-size:10px;color:var(--text-faint);margin-left:4px}.doclib-regtype-tag{display:inline-block;padding:1px 6px;border-radius:var(--ec-r-sm);font-size:10px;font-weight:600;background:var(--accent-weak);color:var(--accent)}.doclib-regtype-tag[data-type=holding]{background:var(--accent-weak);color:var(--accent)}.doclib-regtype-tag[data-type=input]{background:var(--ok-bg);color:var(--ok)}.doclib-regtype-tag[data-type=coil]{background:var(--warn-bg);color:var(--warn)}.doclib-regtype-tag[data-type=discrete]{background:var(--surface-2);color:var(--text-muted)}.doclib-text-section{display:flex;flex-direction:column;gap:var(--ec-s3)}.doclib-text-len{font-size:11px;color:var(--text-faint);margin-left:4px}.doclib-text-preview{margin:0;padding:var(--ec-s4);max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:var(--ec-r-sm);background:var(--surface-2)}.doclib-text-preview code{font-family:ui-monospace,monospace;font-size:12px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.doclib-text-trunc{font-size:11px;color:var(--text-faint);font-style:italic;margin-top:var(--ec-s2)}.doclib-spin{animation:doclib-spin .7s linear infinite}@keyframes doclib-spin{to{transform:rotate(360deg)}}.drift-pred-panel{display:grid;gap:var(--ec-s5)}.drift-ok{display:flex;align-items:center;gap:var(--ec-s3);padding:var(--ec-s4);border-radius:var(--ec-r-sm);background:var(--ok-bg);color:var(--ok);font-size:14px}.drift-ok svg{color:var(--ok);flex-shrink:0}.drift-alert{display:flex;align-items:flex-start;gap:var(--ec-s3);padding:var(--ec-s4);border-radius:var(--ec-r-sm);border:1px solid var(--warn);background:var(--warn-bg)}.drift-alert[data-risk=high],.drift-alert[data-risk=critical]{border-color:var(--danger);background:var(--danger-bg)}.drift-alert svg{color:var(--warn);flex-shrink:0;margin-top:2px}.drift-alert[data-risk=high] svg,.drift-alert[data-risk=critical] svg{color:var(--danger)}.drift-alert strong{display:block;color:var(--text);font-size:14px}.drift-seen{font-size:12px;color:var(--text-muted)}.drift-entries{display:grid;gap:2px;margin-top:var(--ec-s4);max-height:300px;overflow-y:auto}.drift-entry{display:grid;grid-template-columns:24px minmax(120px,.6fr) 1fr 1fr;gap:var(--ec-s3);padding:var(--ec-s2) var(--ec-s4);border-radius:var(--ec-r-sm);background:var(--surface);font-size:12px;align-items:center}.drift-entry[data-kind=added]{background:var(--ok-bg)}.drift-entry[data-kind=removed]{background:var(--danger-bg)}.drift-entry[data-kind=changed]{background:var(--warn-bg)}.drift-entry-kind{font-weight:700;text-align:center}.drift-entry[data-kind=added] .drift-entry-kind{color:var(--ok)}.drift-entry[data-kind=removed] .drift-entry-kind{color:var(--danger)}.drift-entry[data-kind=changed] .drift-entry-kind{color:var(--warn)}.drift-entry-path{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px}.drift-entry-old,.drift-entry-new{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.predictive-summary{display:flex;gap:var(--ec-s4);flex-wrap:wrap;margin-bottom:var(--ec-s4)}.pred-stat{font-size:13px;color:var(--text-muted)}.pred-stat[data-tone=ok]{color:var(--ok)}.pred-stat[data-tone=warn]{color:var(--warn)}.pred-stat[data-tone=danger]{color:var(--danger)}.predictive-list{display:grid;gap:var(--ec-s3)}.pred-item{padding:var(--ec-s4);border:1px solid var(--border);border-radius:var(--ec-r-sm);background:var(--surface)}.pred-item[data-risk=critical]{border-color:var(--danger);background:var(--danger-bg)}.pred-item[data-risk=high]{border-color:var(--danger)}.pred-item[data-risk=medium]{border-color:var(--warn)}.pred-item-head{display:flex;align-items:center;gap:var(--ec-s3);margin-bottom:var(--ec-s2);flex-wrap:wrap}.pred-item-head svg{color:var(--text-muted);flex-shrink:0}.pred-item-name{font-weight:600;color:var(--text);font-size:14px}.pred-score-badge{padding:2px 8px;border-radius:var(--ec-r-sm);font-size:11px;font-weight:700;background:var(--accent-weak);color:var(--accent)}.pred-score-badge[data-tone=danger]{background:var(--danger);color:var(--surface)}.pred-score-badge[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.pred-score-badge[data-tone=muted]{background:var(--surface-2);color:var(--text-muted)}.pred-eta{font-size:12px;color:var(--danger);font-weight:600;margin-left:auto}.pred-item-rec{margin:0;font-size:13px;color:var(--text);line-height:1.5}.pred-item-reasons{margin:var(--ec-s2) 0 0;padding-left:var(--ec-s5);font-size:12px;color:var(--text-muted)}.pred-item-reasons li{margin-bottom:2px}.fleet-panel{display:grid;gap:var(--s5)}.fleet-loading{display:flex;align-items:center;gap:var(--s3);color:var(--text-muted);padding:var(--s6)}.fleet-empty{padding:var(--s6);text-align:center;color:var(--text-muted)}.fleet-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s3)}.fleet-stat-tile{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.fleet-stat-tile[data-tone=ok]{border-color:var(--ok)}.fleet-stat-tile[data-tone=warn]{border-color:var(--warn)}.fleet-stat-tile[data-tone=danger]{border-color:var(--danger)}.fleet-stat-tile[data-tone=info]{border-color:var(--accent)}.fleet-stat-tile svg{color:var(--text-muted);flex-shrink:0}.fleet-stat-tile[data-tone=ok] svg{color:var(--ok)}.fleet-stat-tile[data-tone=warn] svg{color:var(--warn)}.fleet-stat-tile[data-tone=danger] svg{color:var(--danger)}.fleet-stat-tile[data-tone=info] svg{color:var(--accent)}.fleet-stat-value{display:block;font-size:22px;font-weight:700;color:var(--text);line-height:1}.fleet-stat-label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.fleet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.fleet-filters{display:flex;gap:var(--s1);flex-wrap:wrap}.fleet-filter-btn{padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer}.fleet-filter-btn:hover{border-color:var(--accent);color:var(--text)}.fleet-filter-btn[data-active=true]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.fleet-toolbar-actions{display:flex;align-items:center;gap:var(--s3)}.fleet-selected-count{font-size:13px;color:var(--accent);font-weight:600}.fleet-table{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.fleet-row{display:grid;grid-template-columns:32px minmax(160px,1.5fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(80px,.5fr) 50px 60px 60px;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface);align-items:center;font-size:13px}.fleet-row-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.fleet-row[data-status=critical]{background:var(--danger-bg)}.fleet-row[data-status=degraded]{background:var(--warn-bg)}.fleet-check-cell{display:grid;place-items:center}.fleet-cell-name{display:flex;flex-direction:column;gap:2px}.fleet-cell-name strong{color:var(--text)}.fleet-cell-name small{font-size:11px;color:var(--text-faint)}.fleet-cell-num{text-align:center}.fleet-score{display:inline-block;width:32px;text-align:center;padding:var(--s1) var(--s3);border-radius:var(--r-sm);font-weight:700;font-size:13px;margin-right:var(--s1)}.fleet-score[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}.fleet-score[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.fleet-score[data-tone=danger]{background:var(--danger-bg);color:var(--danger)}.fleet-status-tag{font-size:11px;color:var(--text-muted)}.fleet-agent-badge{font-size:11px;white-space:nowrap}.fleet-agent-badge[data-tone=ok]{color:var(--ok)}.fleet-agent-badge[data-tone=warn]{color:var(--warn)}.fleet-agent-badge[data-tone=muted]{color:var(--text-faint)}.fleet-incidents-badge{padding:var(--s1) var(--s3);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font-size:11px;font-weight:600}.fleet-incidents-badge[data-critical=true]{background:var(--danger-bg);color:var(--danger)}.fleet-drift-badge,.fleet-stale-badge{padding:1px var(--s3);border-radius:var(--r-sm);font-size:10px;font-weight:600}.fleet-drift-badge{background:var(--warn-bg);color:var(--warn)}.fleet-stale-badge{background:var(--surface-2);color:var(--text-faint)}.fleet-ok-icon{color:var(--ok)}.bulk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,black 62%,transparent)}.bulk-dialog{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--ec-radius-panel);box-shadow:var(--ec-shadow-md);overflow:hidden}.bulk-head{display:flex;align-items:center;justify-content:space-between;padding:var(--ec-s5) var(--ec-s6);border-bottom:1px solid var(--border)}.bulk-head h3{margin:0;font-size:16px}.bulk-head button{display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:var(--ec-r-sm);background:transparent;color:var(--text-muted);cursor:pointer}.bulk-head button:hover{background:var(--surface-2)}.bulk-body{padding:var(--ec-s5) var(--ec-s6);display:grid;gap:var(--ec-s4)}.bulk-field{display:grid;gap:var(--ec-s1);font-size:13px;color:var(--text-muted)}.bulk-field select,.bulk-field input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--ec-r-sm);background:var(--bg);color:var(--text);font:inherit;font-size:14px}.bulk-affected{display:flex;align-items:center;gap:var(--ec-s2);color:var(--text-muted);font-size:13px}.bulk-affected svg{color:var(--accent)}.bulk-preview-list{display:grid;gap:var(--ec-s1);max-height:200px;overflow-y:auto;padding:var(--ec-s3);border:1px solid var(--border);border-radius:var(--ec-r-sm);background:var(--surface-2)}.bulk-preview-item{display:flex;flex-direction:column;gap:2px;padding:var(--ec-s2) 0;border-bottom:1px solid var(--border)}.bulk-preview-item:last-child{border-bottom:none}.bulk-preview-item strong{font-size:13px;color:var(--text)}.bulk-preview-item span{font-size:12px;color:var(--text-muted)}.bulk-preview-more{font-size:12px;color:var(--text-faint);font-style:italic}.bulk-actions{display:flex;gap:var(--ec-s2);justify-content:flex-end;padding:var(--ec-s4) var(--ec-s6);border-top:1px solid var(--border)}@media(max-width:880px){.fleet-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-row{grid-template-columns:32px 1fr 1fr;font-size:12px}.fleet-row-head{display:none}}@media(max-width:760px){.fleet-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.fleet-summary-grid{grid-template-columns:1fr}}.wslite-panel{display:grid;gap:var(--ec-s5)}.wslite-empty{display:flex;gap:var(--ec-s4);padding:var(--ec-s6);border:1px dashed var(--border-strong);border-radius:var(--ec-radius-panel);background:var(--surface-2);color:var(--text-muted)}.wslite-empty svg{color:var(--text-faint);flex-shrink:0}.wslite-empty h3{margin:0 0 var(--ec-s2);font-size:15px;color:var(--text)}.wslite-empty p{margin:0;font-size:13px;max-width:50ch}.wslite-layout{display:grid;grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr);gap:var(--ec-s4);align-items:start}.wslite-sidebar{border:1px solid var(--border);border-radius:var(--ec-radius-panel);background:var(--surface);overflow:hidden}.wslite-sidebar-head{display:flex;align-items:center;gap:var(--ec-s2);padding:var(--ec-s3) var(--ec-s4);background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:13px}.wslite-file-list{list-style:none;margin:0;padding:0}.wslite-file-item{display:flex;align-items:center;gap:var(--ec-s3);width:100%;padding:var(--ec-s3) var(--ec-s4);border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.wslite-file-item:hover{background:var(--surface-2)}.wslite-file-item[data-active=true]{background:var(--accent-weak);color:var(--accent);font-weight:600}.wslite-file-icon{display:grid;place-items:center;min-width:32px;height:22px;padding:0 6px;border-radius:var(--ec-r-sm);background:var(--accent-weak);color:var(--accent);font-size:10px;font-weight:700}.wslite-file-icon[data-icon=knx]{background:var(--warn-bg);color:var(--warn)}.wslite-file-icon[data-icon=mqtt]{background:var(--ok-bg);color:var(--ok)}.wslite-file-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:12px}.wslite-main{display:grid;gap:var(--ec-s3)}.wslite-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ec-s3)}.wslite-filename{font-family:ui-monospace,monospace;font-size:14px;font-weight:600;color:var(--text)}.wslite-toolbar-actions{display:flex;gap:var(--ec-s2)}.wslite-code-preview{margin:0;padding:var(--ec-s4);max-height:500px;overflow:auto;border:1px solid var(--border);border-radius:var(--ec-r-sm);background:var(--surface-2)}.wslite-code-preview code{font-family:ui-monospace,monospace;font-size:12px;line-height:1.55;color:var(--text);white-space:pre}.wslite-ai-result{padding:var(--ec-s4);border:1px solid var(--accent);border-radius:var(--ec-r-sm);background:var(--accent-weak)}.wslite-ai-result-head{display:flex;align-items:center;gap:var(--ec-s2);margin-bottom:var(--ec-s2);color:var(--accent)}.wslite-ai-result-text{font-size:13px;color:var(--text);line-height:1.5;white-space:pre-wrap}.wslite-diff-hint{display:flex;align-items:center;gap:var(--ec-s2);padding:var(--ec-s3);color:var(--text-faint);font-size:12px}@media(max-width:760px){.wslite-layout{grid-template-columns:1fr}}.shell-overview-wrap{display:flex;flex-direction:column;gap:var(--s5);min-height:0;flex:1;overflow-y:auto;padding:var(--s6);max-width:1280px;width:100%;margin-inline:auto}.downloads-page{display:flex;flex:1;width:min(1180px,100%);min-height:0;flex-direction:column;gap:var(--s5);overflow-y:auto;margin-inline:auto;padding:var(--s6)}.downloads-hero,.downloads-toolbar,.downloads-platform-card,.downloads-release-notes{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.downloads-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s5);align-items:center;padding:var(--s6);background:radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 34%),var(--surface)}.downloads-hero h2{margin:var(--s2) 0 var(--s2);font-size:clamp(24px,3vw,34px);line-height:1.1}.downloads-hero p{max-width:720px;margin:0;color:var(--text-muted);font-size:15px;line-height:1.5}.downloads-hero-stat{display:grid;width:148px;height:148px;place-items:center;align-content:center;border:12px solid color-mix(in srgb,var(--accent) 26%,var(--surface-3));border-top-color:var(--accent);border-radius:999px;text-align:center}.downloads-hero-stat b{font-size:32px;line-height:1}.downloads-hero-stat span{max-width:86px;color:var(--text-muted);font-size:12px;font-weight:800}.downloads-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto;gap:var(--s3);align-items:center;padding:var(--s4)}.downloads-toolbar div{display:grid;gap:3px;min-height:52px;align-content:center;border-radius:var(--r-md);background:var(--surface-2);padding:0 var(--s4)}.downloads-toolbar span,.downloads-platform-card header span,.downloads-platform-meta dt{color:var(--text-muted);font-size:12px;font-weight:850}.downloads-toolbar b{min-width:0;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.downloads-platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}.downloads-platform-card{display:grid;gap:var(--s4);min-width:0;padding:var(--s5)}.downloads-platform-card[data-available=true]{border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.downloads-platform-card[data-available=false]{border-style:dashed}.downloads-platform-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s3);align-items:start}.downloads-platform-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:var(--r-md);background:var(--accent-weak);color:var(--accent)}.downloads-platform-card h3{margin:2px 0 4px;font-size:22px;line-height:1.15}.downloads-platform-card p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.downloads-platform-card strong{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--surface-2);padding:6px 9px;color:var(--text-muted);font-size:12px;white-space:nowrap}.downloads-platform-card[data-available=true] strong{background:var(--ok-bg);color:var(--ok)}.downloads-platform-meta{display:grid;gap:8px;margin:0}.downloads-platform-meta div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--s3);align-items:baseline;border-bottom:1px solid var(--border);padding-bottom:8px}.downloads-platform-meta div:last-child{border-bottom:0;padding-bottom:0}.downloads-platform-meta dd{min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.downloads-release-notes{padding:var(--s5)}.downloads-release-notes h3{margin:0 0 var(--s4);font-size:18px}.downloads-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.downloads-note-grid article{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--s4)}.downloads-note-grid b{display:block;margin-bottom:6px}.downloads-note-grid p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}@media(max-width:880px){.downloads-page{padding:var(--s4)}.downloads-hero,.downloads-toolbar,.downloads-platform-grid,.downloads-note-grid{grid-template-columns:1fr}.downloads-hero-stat{width:112px;height:112px;justify-self:start;border-width:9px}}@media(max-width:520px){.downloads-hero,.downloads-platform-card,.downloads-release-notes{padding:var(--s4)}.downloads-platform-card header{grid-template-columns:auto minmax(0,1fr)}.downloads-platform-card strong{grid-column:1 / -1;justify-self:start}.downloads-platform-meta div{grid-template-columns:76px minmax(0,1fr)}}.fleet-collapsible{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.fleet-collapsible[data-collapsed] .fleet-collapsible-head{border-bottom:none}.fleet-collapsible-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--s4) var(--s5);border:none;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-weight:700;font-size:15px;cursor:pointer;text-align:left}.fleet-collapsible-head:hover{background:color-mix(in srgb,var(--surface-2) 80%,var(--accent-weak))}.fleet-collapsible-title{display:inline-flex;align-items:center;gap:var(--s2)}.fleet-collapsible-title svg{color:var(--accent)}.fleet-collapsible-chev{color:var(--text-muted);transition:transform .18s ease;flex-shrink:0}.fleet-collapsible[data-collapsed] .fleet-collapsible-chev{transform:rotate(-90deg)}.fleet-collapsible:not([data-collapsed])>.fleet-panel{padding:var(--s5);gap:var(--s4)}.dkp-panel{display:grid;gap:var(--s5)}.dkp-loading{display:flex;align-items:center;gap:var(--s3);color:var(--text-muted);padding:var(--s6)}.dkp-empty{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s6);color:var(--text-muted)}.dkp-empty svg{color:var(--text-faint)}.dkp-toolbar{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}.dkp-filters{display:flex;gap:var(--s1)}.dkp-filter-btn{padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer}.dkp-filter-btn:hover{border-color:var(--accent);color:var(--text)}.dkp-filter-btn[data-active=true]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.dkp-search{display:flex;align-items:center;gap:var(--s1);padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);flex:1;min-width:200px}.dkp-search svg{color:var(--text-faint)}.dkp-search input{border:none;background:transparent;color:var(--text);font:inherit;font-size:13px;outline:none;width:100%}.dkp-extract-btn{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.dkp-extract-btn:hover{background:var(--accent-strong)}.dkp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s3)}.dkp-card{display:grid;gap:var(--s2);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;font:inherit;color:var(--text)}.dkp-card:hover{border-color:var(--accent)}.dkp-card-head{display:flex;align-items:center;justify-content:space-between}.dkp-vendor{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.dkp-vis-global{color:var(--accent)}.dkp-vis-private{color:var(--text-faint)}.dkp-model{font-size:16px;font-weight:700}.dkp-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.dkp-card-meta{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s1)}.dkp-reg-count{font-size:12px;color:var(--text-muted)}.dkp-verified-badge{display:inline-flex;align-items:center;gap:2px;font-size:11px;color:var(--ok);font-weight:600}.dkp-back-btn{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.dkp-back-btn:hover{border-color:var(--accent);color:var(--text)}.dkp-detail-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.dkp-detail-head svg{color:var(--accent);flex-shrink:0}.dkp-detail-title{font-size:18px;font-weight:700}.dkp-status-tag{margin-left:auto;padding:2px var(--s2);border-radius:var(--r-sm);font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-muted);text-transform:uppercase}.dkp-status-tag[data-status=global_verified],.dkp-status-tag[data-status=community_verified]{background:var(--ok-bg);color:var(--ok)}.dkp-reg-summary{display:flex;align-items:center;gap:var(--s4);font-size:13px;color:var(--text-muted)}.dkp-ok{color:var(--ok);display:inline-flex;align-items:center;gap:2px}.dkp-warn{color:var(--warn);display:inline-flex;align-items:center;gap:2px}.dkp-reg-table{border:1px solid var(--border);border-radius:var(--r-sm);overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-sm)}.dkp-reg-row{display:grid;grid-template-columns:50px 80px minmax(0,1fr) 70px 50px 60px 30px 100px;gap:var(--s2);padding:var(--s2) var(--s3);align-items:center;font-size:13px;border-bottom:1px solid var(--border)}.dkp-reg-row:last-child{border-bottom:none}.dkp-reg-row-head{background:var(--surface-2);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase}.dkp-reg-row[data-status=verified]{background:var(--ok-bg)}.dkp-reg-row[data-status=needs_review]{background:var(--warn-bg)}.dkp-fc-badge{font-size:10px;font-weight:700;padding:1px 4px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-muted);text-align:center}.dkp-addr{font-family:var(--font-mono);font-size:12px}.dkp-reg-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dkp-dtype,.dkp-unit{font-size:11px;color:var(--text-muted)}.dkp-conf{font-size:11px;font-weight:600}.dkp-conf[data-level=high]{color:var(--ok)}.dkp-conf[data-level=mid]{color:var(--warn)}.dkp-conf[data-level=low]{color:var(--danger)}.dkp-reg-status{text-align:center;font-size:14px}.dkp-reg-status[data-status=verified]{color:var(--ok)}.dkp-reg-status[data-status=needs_review]{color:var(--warn)}.dkp-reg-status[data-status=draft]{color:var(--text-faint)}.dkp-verify-btn{padding:3px var(--s2);border:1px solid var(--ok);border-radius:var(--r-sm);background:transparent;color:var(--ok);font:inherit;font-size:11px;cursor:pointer}.dkp-verify-btn:hover{background:var(--ok);color:var(--surface)}.dkp-verify-btn:disabled{opacity:.5;cursor:wait}.dkp-extract-form{display:grid;gap:var(--s3);padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.dkp-extract-form h3{margin:0;font-size:16px}.dkp-mode-toggle{display:flex;gap:var(--s1)}.dkp-mode-toggle button{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.dkp-mode-toggle button[data-active=true]{border-color:var(--accent);background:var(--accent-weak);color:var(--accent)}.dkp-field{display:grid;gap:var(--s1)}.dkp-field label{font-size:12px;color:var(--text-muted)}.dkp-field input{padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:inherit;font-size:14px}.dkp-execute-btn{padding:var(--s3) var(--s5);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.dkp-execute-btn:hover{background:var(--accent-strong)}.dkp-execute-btn:disabled{opacity:.6;cursor:wait}.dkp-draft-result{display:grid;gap:var(--s3)}.dkp-draft-summary h4{margin:0 0 var(--s2);font-size:14px}.dkp-draft-stats{display:flex;gap:var(--s3);font-size:13px;color:var(--text-muted);flex-wrap:wrap}.dkp-draft-stat-low{color:var(--text-faint)}.dkp-reg-more{padding:var(--s2) var(--s3);font-size:12px;color:var(--text-faint);font-style:italic}.dkp-save-btn{padding:var(--s3) var(--s5);border:1px solid var(--ok);border-radius:var(--r-sm);background:var(--ok);color:var(--surface);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.dkp-save-btn:hover{opacity:.9}.dkp-save-btn:disabled{opacity:.5;cursor:not-allowed}.spin{animation:dkp-spin 1s linear infinite}@keyframes dkp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dkp-verify-block{display:grid;gap:var(--s2);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.dkp-verify-head{display:flex;align-items:center;justify-content:space-between}.dkp-verify-title{font-size:13px;font-weight:600;color:var(--text)}.dkp-verify-status{padding:2px var(--s2);border-radius:var(--r-sm);font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-muted);text-transform:uppercase}.dkp-verify-status[data-status=community_verified],.dkp-verify-status[data-status=global_verified]{background:var(--ok-bg);color:var(--ok)}.dkp-verify-status[data-status=deprecated]{background:var(--danger-bg);color:var(--danger)}.dkp-verify-progress{position:relative;height:24px;background:var(--surface-2);border-radius:var(--r-sm);overflow:hidden}.dkp-verify-bar{position:absolute;top:0;left:0;height:100%;background:var(--ok);transition:width .3s ease}.dkp-verify-count{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;font-weight:600;color:var(--text)}.dkp-verify-tally{display:flex;gap:var(--s3);font-size:12px}.dkp-verify-actions{display:flex;gap:var(--s2)}.dkp-vote-confirm{display:inline-flex;align-items:center;gap:4px;padding:var(--s2) var(--s3);border:1px solid var(--ok);border-radius:var(--r-sm);background:transparent;color:var(--ok);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.dkp-vote-confirm:hover{background:var(--ok);color:var(--surface)}.dkp-vote-confirm:disabled{opacity:.5;cursor:wait}.dkp-vote-reject{display:inline-flex;align-items:center;gap:4px;padding:var(--s2) var(--s3);border:1px solid var(--warn);border-radius:var(--r-sm);background:transparent;color:var(--warn);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.dkp-vote-reject:hover{background:var(--warn);color:var(--surface)}.dkp-vote-reject:disabled{opacity:.5;cursor:wait}.ce-panel{display:grid;gap:var(--s5);max-width:900px}.ce-spin{animation:ce-spin 1s linear infinite}@keyframes ce-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ce-chat-section{display:grid;gap:var(--s3);padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm)}.ce-chat-head{display:flex;align-items:center;gap:var(--s3)}.ce-spark{color:var(--accent)}.ce-title{font-size:18px;font-weight:700}.ce-subtitle{font-size:13px;color:var(--text-muted)}.ce-input-wrap{display:grid;gap:var(--s2)}.ce-input{width:100%;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);font:inherit;font-size:14px;resize:vertical;outline:none;min-height:60px}.ce-input:focus{border-color:var(--accent)}.ce-send-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s3) var(--s5);border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:14px;font-weight:600;cursor:pointer;justify-self:start}.ce-send-btn:hover{background:var(--accent-strong)}.ce-send-btn:disabled{opacity:.6;cursor:wait}.ce-hint{font-size:11px;color:var(--text-faint)}.ce-chat-fallback{display:flex;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-muted)}.ce-chat-fallback svg{color:var(--text-faint);flex-shrink:0}.ce-chat-fallback p{margin:0;font-size:14px;line-height:1.5}.ce-plan-section{display:grid;gap:var(--s3);padding:var(--s5);border:1px solid var(--accent);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent-weak) 30%,var(--surface))}.ce-plan-head{display:flex;align-items:center;justify-content:space-between}.ce-plan-title{display:inline-flex;align-items:center;gap:var(--s2);font-size:15px;font-weight:700;color:var(--accent)}.ce-risk-badge{padding:2px var(--s2);border-radius:var(--r-sm);font-size:11px;font-weight:600;background:var(--ok-bg);color:var(--ok);text-transform:uppercase}.ce-explanation{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.ce-plan-steps{display:grid;gap:var(--s2)}.ce-plan-step{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.ce-step-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:700;flex-shrink:0}.ce-step-info{display:flex;align-items:center;gap:var(--s2);flex:1;min-width:0}.ce-step-action{font-family:var(--font-mono);font-size:12px;color:var(--accent)}.ce-step-target{font-size:12px;color:var(--text-muted)}.ce-step-expected{font-size:11px;color:var(--text-faint)}.ce-execute-btn{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5);border:1px solid var(--ok);border-radius:var(--r-md);background:var(--ok);color:var(--surface);font:inherit;font-size:14px;font-weight:600;cursor:pointer;justify-self:start}.ce-execute-btn:hover{opacity:.9}.ce-execute-btn:disabled{opacity:.6;cursor:wait}.ce-result-section{display:grid;gap:var(--s4)}.ce-result-head{display:flex;align-items:center;justify-content:space-between}.ce-back-btn{display:inline-flex;align-items:center;gap:var(--s1);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.ce-back-btn:hover{border-color:var(--accent);color:var(--text)}.ce-run-status{padding:2px var(--s2);border-radius:var(--r-sm);font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-muted);text-transform:uppercase}.ce-run-status[data-status=completed]{background:var(--ok-bg);color:var(--ok)}.ce-run-status[data-status=failed]{background:var(--danger-bg);color:var(--danger)}.ce-run-status[data-status=running]{background:var(--accent-weak);color:var(--accent)}.ce-timeline{display:grid;gap:var(--s2)}.ce-step-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.ce-step-completed{border-left:3px solid var(--ok)}.ce-step-failed{border-left:3px solid var(--danger)}.ce-step-running{border-left:3px solid var(--accent)}.ce-step-card-head{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s3) var(--s4);border:none;background:transparent;font:inherit;cursor:pointer;text-align:left}.ce-step-card-head:hover{background:var(--surface-2)}.ce-step-ok{color:var(--ok);flex-shrink:0}.ce-step-err{color:var(--danger);flex-shrink:0}.ce-step-pending{color:var(--text-faint);flex-shrink:0}.ce-step-card-action{font-family:var(--font-mono);font-size:13px;font-weight:600}.ce-step-card-target{font-size:12px;color:var(--text-muted)}.ce-step-card-summary{flex:1;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-evidence-count{font-size:11px;color:var(--accent);background:var(--accent-weak);padding:1px var(--s2);border-radius:var(--r-sm);flex-shrink:0}.ce-chevron{color:var(--text-faint);transition:transform .15s ease;flex-shrink:0}.ce-chevron-open{transform:rotate(90deg)}.ce-step-body{padding:0 var(--s4) var(--s4);display:grid;gap:var(--s3)}.ce-step-result,.ce-provenance{display:grid;gap:var(--s1)}.ce-result-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ce-result-json{margin:0;padding:var(--s3);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;color:var(--text);overflow-x:auto;max-height:300px}.ce-evidence-item{display:flex;align-items:baseline;gap:var(--s2);padding:var(--s1) var(--s2);border-bottom:1px solid var(--border);font-size:12px}.ce-evidence-item:last-child{border-bottom:none}.ce-evidence-type{padding:1px var(--s1);border-radius:var(--r-sm);font-size:10px;font-weight:600;flex-shrink:0}.ce-ev-metric_sample{background:var(--accent-weak);color:var(--accent)}.ce-ev-incident{background:var(--warn-bg);color:var(--warn)}.ce-ev-device{background:var(--ok-bg);color:var(--ok)}.ce-ev-device_register{background:var(--info-bg, var(--accent-weak));color:var(--info, var(--accent))}.ce-evidence-id{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);flex-shrink:0}.ce-evidence-snippet{color:var(--text-muted)}.ce-artifacts{display:grid;gap:var(--s2)}.ce-artifacts-head{display:flex;align-items:center;gap:var(--s2);font-size:14px;font-weight:600;color:var(--text)}.ce-artifact-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.ce-artifact-head{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s3) var(--s4);border:none;background:var(--surface-2);font:inherit;cursor:pointer;text-align:left}.ce-artifact-head:hover{background:color-mix(in srgb,var(--surface-2) 90%,var(--accent-weak))}.ce-artifact-head svg{color:var(--accent);flex-shrink:0}.ce-artifact-name{flex:1;font-size:13px;font-weight:600;font-family:var(--font-mono)}.ce-artifact-size{font-size:11px;color:var(--text-faint)}.ce-artifact-content{margin:0;padding:var(--s4);background:var(--bg);font-size:12px;line-height:1.5;color:var(--text);overflow-x:auto;max-height:500px;white-space:pre-wrap}.ce-history{display:grid;gap:var(--s1);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.ce-history-head{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ce-history-item{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border:none;border-radius:var(--r-sm);background:transparent;font:inherit;cursor:pointer;text-align:left}.ce-history-item:hover{background:var(--surface-2)}.ce-history-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ce-dot-completed{background:var(--ok)}.ce-dot-failed{background:var(--danger)}.ce-dot-running{background:var(--accent)}.ce-dot-pending{background:var(--text-faint)}.ce-history-template{font-family:var(--font-mono);font-size:12px;color:var(--text);flex:1}.ce-history-date{font-size:11px;color:var(--text-faint)}:root{color-scheme:dark;--ec-radius-control: 6px;--ec-radius-panel: 8px;--ec-radius-pill: 999px;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 14px;--text-xl: 16px;--text-2xl: 18px;--text-3xl: 20px;--text-4xl: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--elevation-1: 0 1px 2px rgba(22, 32, 42, .05), 0 0 0 1px rgba(22, 32, 42, .03);--elevation-2: 0 12px 32px rgba(22, 32, 42, .1), 0 0 0 1px rgba(22, 32, 42, .04);--elevation-3: 0 24px 64px rgba(22, 32, 42, .18);--ec-canvas: #0f131a;--ec-sidebar: #0f131a;--ec-surface: #12161d;--ec-surface-2: #0f131a;--ec-surface-3: #161c24;--ec-surface-raised: #161c24;--ec-surface-hover: #182231;--ec-status-surface: #111923;--ec-bg: #0b0e13;--ec-text: #e9eef3;--ec-text-muted: #a7b2be;--ec-text-faint: #76828f;--ec-border: #232b35;--ec-border-strong: #2e3742;--ec-border-subtle: #1b222b;--ec-accent: #3f9bdb;--ec-accent-strong: #62b1e8;--ec-accent-weak: rgba(63, 155, 219, .16);--ec-accent-contrast: #07131d;--ec-success: #2bbd84;--ec-warning: #e0a23a;--ec-danger: #e8716a;--ec-info: #3f9bdb;--ec-success-bg: rgba(43, 189, 132, .15);--ec-warning-bg: rgba(224, 162, 58, .15);--ec-danger-bg: rgba(232, 113, 106, .15);--ec-shadow-sm: 0 1px 2px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 255, 255, .025);--ec-shadow-md: 0 16px 40px rgba(0, 0, 0, .32), 0 0 0 1px rgba(255, 255, 255, .035);--ec-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ec-r-sm: 6px;--ec-r-md: 8px;--ec-r-lg: 8px;--ec-s1: 4px;--ec-s2: 8px;--ec-s3: 12px;--ec-s4: 16px;--ec-s5: 20px;--ec-s6: 24px;--fg: var(--ec-text);--muted: var(--ec-text-muted);--surface-panel: var(--ec-surface);--surface-canvas: var(--ec-canvas);--surface-raised: var(--ec-surface-raised);--surface-hover: var(--ec-surface-hover);--shadow-soft: var(--ec-shadow-sm);--accent-fg: var(--ec-accent-contrast);--font-mono: var(--ec-font-mono)}[data-theme=light]{color-scheme:light;--elevation-1: 0 1px 0 color-mix(in srgb, white 4%, transparent), 0 10px 24px rgba(0, 0, 0, .12);--elevation-2: 0 1px 0 color-mix(in srgb, white 5%, transparent), 0 18px 38px rgba(0, 0, 0, .18);--elevation-3: 0 1px 0 color-mix(in srgb, white 6%, transparent), 0 24px 54px rgba(0, 0, 0, .24);--ec-canvas: #eef3f5;--ec-sidebar: #f6f9f9;--ec-surface: #ffffff;--ec-surface-2: #f6f9f9;--ec-surface-3: #fafcfc;--ec-surface-raised: #fafcfc;--ec-surface-hover: #e5f1f8;--ec-status-surface: #f1f6fa;--ec-bg: #eef3f5;--ec-text: #17212b;--ec-text-muted: #52636f;--ec-text-faint: #7c8a97;--ec-border: #dde6e8;--ec-border-strong: #cdd9dd;--ec-border-subtle: #e8eef0;--ec-accent: #2475a8;--ec-accent-strong: #185b89;--ec-accent-weak: rgba(36, 117, 168, .12);--ec-accent-contrast: #ffffff;--ec-success: #18a56d;--ec-warning: #c07d12;--ec-danger: #d8584f;--ec-info: #2475a8;--ec-success-bg: #e8f8f0;--ec-warning-bg: #fdf3e0;--ec-danger-bg: #fdeeec;--ec-shadow-sm: 0 1px 2px rgba(22, 32, 42, .05), 0 0 0 1px rgba(22, 32, 42, .03);--ec-shadow-md: 0 12px 32px rgba(22, 32, 42, .1), 0 0 0 1px rgba(22, 32, 42, .04)}:root{font-family:Manrope,ui-sans-serif,system-ui,sans-serif;background:var(--ec-bg);color:var(--ec-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--radius-control: var(--ec-radius-control);--radius-panel: var(--ec-radius-panel);--radius-pill: var(--ec-radius-pill)}*{box-sizing:border-box}html,#root{width:100%;height:100%}body{margin:0;min-width:320px;width:100%;height:100%;font-weight:400;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.nav-item:hover,.sidebar-section-header button,.sidebar-section-header button:hover,.sidebar-section-header button:active,.object-item:hover,.topbar-actions,.main::-webkit-scrollbar,.content::-webkit-scrollbar,.main::-webkit-scrollbar-track,.content::-webkit-scrollbar-track,.main::-webkit-scrollbar-thumb,.content::-webkit-scrollbar-thumb,.main::-webkit-scrollbar-thumb:hover,.content::-webkit-scrollbar-thumb:hover,.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:var(--elevation-1);padding:var(--space-4)}.panel.raised{background:var(--surface-raised);box-shadow:var(--elevation-3)}h1{margin:0;font-size:var(--text-4xl);font-weight:800}.stage-flow span[data-active=true],.glossary-term{position:relative;display:inline-flex;align-items:center;gap:2px;border-bottom:1px dotted color-mix(in srgb,var(--accent) 60%,transparent);cursor:help;outline:none}.glossary-term .glossary-icon{color:color-mix(in srgb,var(--accent) 80%,var(--muted))}.glossary-tip{position:absolute;left:0;top:calc(100% + 6px);z-index:40;width:240px;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:0 8px 24px color-mix(in srgb,black 22%,transparent);color:var(--fg);font-size:var(--text-sm);font-weight:400;line-height:1.45;text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.glossary-tip strong{font-size:var(--text-sm);color:color-mix(in srgb,var(--accent) 85%,var(--fg))}.glossary-term:hover .glossary-tip,.glossary-term:focus-visible .glossary-tip,.glossary-term:focus .glossary-tip{opacity:1;visibility:visible;transform:translateY(0)}.left-column,.chart-axis,.link-flow span,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-main{display:flex;align-items:center;gap:8px}.section-title-main svg{color:var(--accent)}h2{margin:0;font-size:var(--text-lg);font-weight:700}.binding-title,.programming-step,.programming-step strong,.programming-step span,.package-file-list span,.programming-main,.programming-side,.sync-queue,.assistant-checklist,.deployment-workspace,.deployment-main,.deployment-side,.deployment-target-list,.deployment-header,.deployment-file-card,.deployment-target-card,.file-title strong,.deployment-target-card strong,.deployment-file-card>span,.deployment-target-card p,.deployment-check-card:first-child svg,.program-action-bar,.role-card,.session-card,.invitation-card,.audit-card,.vault-diff-card,.vault-package-card,.vault-restore-card,.card-title-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.role-card strong,.session-card strong,.invitation-card strong,.audit-card strong,.vault-diff-card strong,.vault-package-card strong,.role-card p,.session-card p,.invitation-card p,.audit-card p,.vault-diff-card p,.vault-package-card p,.vault-restore-card p,.lifecycle-step p,.empty-state p{margin:6px 0 0;color:var(--muted);font-size:var(--text-sm)}.audit-list,.session-list,.invitation-list,.vault-package-list,.vault-restore-list,.audit-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.audit-filters button{min-height:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-canvas);color:var(--muted);font-size:var(--text-sm);font-weight:600;padding:0 10px}.audit-filters button[data-active=true]{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.audit-card{display:grid;gap:8px}.audit-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:var(--text-xs)}.permission-table th,.permission-table th:first-child,.empty-state{border:1px dashed var(--border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--surface-canvas) 72%,transparent);padding:18px;text-align:center}.empty-state strong{display:block;font-size:var(--text-lg)}.system-card,.incident-card,.ai-note,.system-row,.incident-head,.system-card p,.incident-card p,.incident-list,.config-list,.vault-summary-grid span,.vault-manifest-list span,.vault-manifest-list code,.monitoring-workspace,.monitoring-main,.monitoring-side,.monitoring-event-list,.recommendation-list,.service-task-list,.monitoring-event,.recommendation-card,.monitoring-event strong,.recommendation-card strong,.monitoring-event p,.recommendation-card p,.connection-workspace,.connection-main,.connection-side,.scan-result-list,.wizard-step-list,.wizard-step-card,.wizard-step-card p,.connection-step-grid,.connection-step-card,.connector-card,.connection-step-card p,.agent-runtime-metrics div,.agent-runtime-card,.agent-storage-grid div,.local-action-card,.agent-runtime-metrics span,.agent-storage-grid span,.agent-runtime-grid,.edge-appliance-panel{display:grid;gap:13px}.edge-appliance-hero{border-radius:var(--radius-panel);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 58%),var(--surface-canvas);padding:14px}.edge-appliance-hero strong{display:block;margin-top:5px;color:var(--fg);font-size:var(--text-lg)}.edge-appliance-hero p{max-width:760px;margin:6px 0 0;color:var(--muted);font-size:var(--text-sm)}.edge-appliance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.edge-appliance-grid article{border-radius:var(--radius-control);background:var(--surface-canvas);padding:12px}.edge-appliance-grid h3{margin:0 0 10px;font-size:var(--text-sm)}.edge-list,.edge-checklist{display:grid;gap:8px}.edge-list div,.edge-checklist div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-panel) 72%,transparent);padding:9px}.edge-list span,.edge-checklist span{display:grid;min-width:0;gap:3px}.edge-list strong,.edge-checklist strong{color:var(--fg);font-size:var(--text-sm)}.edge-list small,.edge-checklist small{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.edge-checklist{grid-template-columns:repeat(3,minmax(0,1fr))}.edge-command-panel{border-radius:var(--radius-control);background:var(--surface-canvas);padding:12px}.edge-command-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.edge-inline-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.edge-command-panel h3{margin:0;font-size:var(--text-sm)}.edge-command-list{display:grid;gap:8px}.edge-command-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-panel) 72%,transparent);padding:9px}.edge-command-list span{display:grid;min-width:0;gap:4px}.edge-command-list strong{color:var(--fg);font-size:var(--text-sm)}.edge-command-list code{overflow:hidden;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.edge-discovery-run{display:grid;gap:10px;border-radius:var(--radius-control);background:var(--surface-canvas);padding:12px}.edge-discovery-run h3,.edge-passport-draft h3{margin:0;font-size:var(--text-sm)}.edge-passport-actions{display:flex;justify-content:flex-end}.edge-passport-draft{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border-subtle));border-radius:var(--radius-control);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 56%),var(--surface-canvas);padding:12px}.edge-run-summary{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(0,1fr));gap:8px}.edge-run-summary div,.edge-result-list div{border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-panel) 72%,transparent);padding:9px}.edge-run-summary div{display:grid;min-width:0;gap:4px}.edge-run-summary span{color:var(--muted);font-size:var(--text-2xs);font-weight:600}.edge-run-summary strong{font-size:var(--text-lg)}.edge-run-summary code{overflow:hidden;color:var(--fg);font-family:JetBrains Mono,ui-monospace,monospace;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.edge-result-list{display:grid;gap:8px}.edge-result-list div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.edge-result-list span{display:grid;min-width:0;gap:3px}.edge-result-list strong{color:var(--fg);font-size:var(--text-sm)}.edge-result-list small{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.edge-passport-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.edge-passport-columns>div{display:grid;align-content:start;gap:8px}.edge-passport-columns h4{margin:0;color:var(--fg);font-size:var(--text-sm)}.edge-baseline-commit{display:grid;grid-template-columns:repeat(3,minmax(0,.7fr)) minmax(220px,1.9fr);gap:8px;border:1px solid color-mix(in srgb,var(--success) 28%,var(--border-subtle));border-radius:var(--radius-control);background:color-mix(in srgb,var(--success) 8%,var(--surface-panel));padding:10px}.edge-baseline-commit div{display:grid;min-width:0;gap:4px}.edge-baseline-commit span{color:var(--muted);font-size:var(--text-2xs);font-weight:600}.edge-baseline-commit strong{color:var(--success);font-size:var(--text-lg)}.edge-baseline-commit small{color:var(--fg);font-size:var(--text-xs);line-height:1.35}.service-diagram-panel{display:grid;gap:12px}.service-diagram-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.service-diagram-head h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.service-diagram-head p{max-width:680px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.diagram-flow-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.diagram-flow-chips .button[data-active=true]{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface-raised));color:var(--accent)}.service-diagram-stage{min-height:540px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 16% 12%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--surface-panel) 92%,transparent),var(--surface-canvas))}.service-diagram-stage svg{display:block;min-width:860px;width:100%;height:auto}.ai-agent-panel{display:grid;gap:14px}.ai-agent-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),var(--surface-raised)}.ai-agent-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.ai-agent-hero p{max-width:720px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-agent-query{display:grid;gap:7px;color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-agent-query textarea{width:100%;resize:vertical;min-height:86px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--text-md);line-height:1.45}.ai-agent-query textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-color:color-mix(in srgb,var(--accent) 62%,var(--border))}.ai-context-switcher{display:flex;flex-wrap:wrap;gap:8px}.ai-context-switcher .button[data-active=true]{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface-raised));color:var(--accent)}.ai-agent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-agent-card{display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:var(--shadow-soft)}.ai-agent-card-head{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}.ai-agent-card h4{margin:0;color:var(--fg);font-size:var(--text-lg)}.ai-agent-card p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-agent-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-agent-kpis div{display:grid;gap:4px;min-width:0;padding:10px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-raised) 86%,var(--accent) 7%)}.ai-agent-kpis span{color:var(--muted);font-size:var(--text-2xs);font-weight:700;text-transform:uppercase}.ai-agent-kpis strong{overflow:hidden;color:var(--fg);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.ai-source-list,.ai-next-steps,.ai-reflection-log,.ai-citation-list{display:grid;gap:8px}.ai-source-list>div,.ai-next-steps>div,.ai-citation-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-source-list>div[data-status=missing]{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface-raised))}.ai-citation-list>div[data-status=cited]{border-color:color-mix(in srgb,var(--success) 38%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--surface-raised))}.ai-citation-list>div[data-status=needs-review]{border-color:color-mix(in srgb,var(--warning) 42%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface-raised))}.ai-citation-list>div[data-status=missing-context]{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--surface-raised))}.ai-source-list strong,.ai-source-list small,.ai-citation-list strong,.ai-citation-list small{display:block}.ai-source-list strong,.ai-citation-list strong{color:var(--fg);font-size:var(--text-sm)}.ai-source-list small,.ai-citation-list small{margin-top:3px;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.ai-recommendation-card{border-color:color-mix(in srgb,var(--accent) 34%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface-panel)),var(--surface-panel))}.ai-techcard-chip{display:inline-flex;align-items:center;width:fit-content;gap:7px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:var(--text-sm);font-weight:800}.ai-next-steps>div{justify-content:flex-start;color:var(--fg);font-size:var(--text-sm)}.ai-next-steps svg{flex:0 0 auto;color:var(--success)}.ai-reflection-log code{display:block;overflow-x:auto;padding:9px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-canvas) 74%,black 4%);color:var(--fg);font-size:var(--text-xs)}.learning-panel,.knowledge-panel{display:grid;gap:14px}.learning-hero,.knowledge-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%),var(--surface-raised)}.learning-hero h3,.knowledge-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.learning-hero p,.knowledge-hero p{max-width:720px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.learning-progress-card{display:grid;gap:4px;min-width:148px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-control);background:color-mix(in srgb,var(--accent) 10%,var(--surface-panel));text-align:right}.learning-progress-card span,.learning-progress-card small,.learning-summary-grid span,.knowledge-summary-grid span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.learning-progress-card strong{color:var(--accent);font-size:var(--text-4xl)}.learning-summary-grid,.knowledge-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.learning-summary-grid div,.knowledge-summary-grid div{display:grid;gap:5px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-panel)}.learning-summary-grid strong,.knowledge-summary-grid strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.learning-roadmap,.learning-lesson-list,.knowledge-source-list,.knowledge-required-list{display:grid;gap:10px}.learning-track{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.learning-track[data-status=locked]{opacity:.72}.learning-track-index{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface-raised));color:var(--accent);font-size:var(--text-sm);font-weight:800}.learning-track-main{display:grid;gap:10px;min-width:0}.learning-track-head,.knowledge-source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.learning-track h4,.knowledge-source-card h4,.knowledge-readiness-card h4{margin:0 0 4px;color:var(--fg);font-size:var(--text-lg)}.learning-track p,.knowledge-source-card p,.knowledge-readiness-card p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.learning-track-meta,.knowledge-source-meta{display:flex;flex-wrap:wrap;gap:7px}.learning-track-meta span,.knowledge-source-meta span{padding:3px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:700}.learning-progress-line{height:7px;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 14%,transparent)}.learning-progress-line span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.learning-lesson-list div,.knowledge-required-list div{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--fg);font-size:var(--text-sm)}.learning-lesson-list div[data-completed=true] svg,.knowledge-required-list div[data-missing=false] svg{color:var(--success)}.learning-lesson-list div[data-completed=false] svg,.knowledge-required-list div[data-missing=true] svg{color:var(--warning)}.learning-lesson-list small{margin-left:auto;color:var(--muted);font-size:var(--text-xs)}.knowledge-toolbar{display:flex;flex-wrap:wrap;gap:8px}.knowledge-toolbar .button[data-active=true]{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface-raised));color:var(--accent)}.knowledge-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:14px;align-items:start}.knowledge-source-card,.knowledge-readiness-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.knowledge-source-card[data-status=needs-review]{border-color:color-mix(in srgb,var(--warning) 38%,var(--border))}.knowledge-source-card[data-status=stale]{border-color:color-mix(in srgb,var(--danger) 38%,var(--border))}.knowledge-readiness-card{position:sticky;top:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface-panel)),var(--surface-panel))}.ai-observability-panel{display:grid;gap:14px}.ai-observability-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 9% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%),var(--surface-raised)}.ai-observability-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.ai-observability-hero p{max-width:740px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-observability-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-observability-kpis div{display:grid;gap:5px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-panel)}.ai-observability-kpis svg{color:var(--accent)}.ai-observability-kpis span,.ai-quality-grid span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-observability-kpis strong,.ai-quality-grid strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.ai-observability-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px}.ai-observability-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.ai-model-list,.ai-trace-list{display:grid;gap:8px}.ai-model-list>div,.ai-trace-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-trace-list>div[data-status=needs-review]{border-color:color-mix(in srgb,var(--warning) 42%,var(--border));background:color-mix(in srgb,var(--warning) 9%,var(--surface-raised))}.ai-model-list strong,.ai-model-list small,.ai-trace-list strong,.ai-trace-list small{display:block}.ai-model-list strong,.ai-trace-list strong{color:var(--fg);font-size:var(--text-sm)}.ai-model-list small,.ai-trace-list small{margin-top:3px;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.ai-model-list b{color:var(--accent);font-size:var(--text-sm)}.ai-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-quality-grid div{display:grid;gap:5px;padding:10px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-raised) 86%,var(--accent) 7%)}.ai-policy-panel{display:grid;gap:14px}.ai-policy-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--success) 11%,transparent),transparent 36%),var(--surface-raised)}.ai-policy-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.ai-policy-hero p{max-width:760px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-policy-kpis,.ai-policy-grid{display:grid;gap:10px}.ai-policy-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-policy-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ai-policy-kpis div,.ai-policy-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.ai-policy-kpis div{display:grid;gap:5px;padding:12px}.ai-policy-kpis svg{color:var(--accent)}.ai-policy-kpis span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-policy-kpis strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.ai-policy-card{display:grid;gap:12px;padding:14px}.ai-policy-route-list,.ai-policy-list{display:grid;gap:8px}.ai-policy-route-list>div,.ai-policy-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-policy-route-list strong,.ai-policy-route-list small,.ai-policy-list strong,.ai-policy-list small{display:block}.ai-policy-route-list strong,.ai-policy-list strong{color:var(--fg);font-size:var(--text-sm)}.ai-policy-route-list small,.ai-policy-list small{margin-top:3px;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.ai-policy-decision{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--border));border-radius:var(--radius-control);background:color-mix(in srgb,var(--danger) 8%,var(--surface-raised))}.ai-policy-decision[data-allowed=true]{border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--success) 9%,var(--surface-raised))}.ai-policy-decision>span{color:var(--danger);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.ai-policy-decision[data-allowed=true]>span{color:var(--success)}.ai-policy-decision strong{color:var(--fg);font-size:var(--text-xl)}.ai-policy-decision p,.ai-policy-redaction p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-policy-decision div,.ai-policy-redaction div{display:flex;flex-wrap:wrap;gap:7px}.ai-policy-redaction{display:grid;gap:12px}.ai-policy-redaction code{display:block;overflow-x:auto;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-raised) 74%,var(--fg) 4%);color:var(--fg);font-size:var(--text-sm);white-space:nowrap}.ai-policy-redaction span{padding:4px 9px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:var(--text-xs);font-weight:800}.ai-settings-panel,.ai-run-history-panel{display:grid;gap:14px}.ai-settings-hero,.ai-run-history-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 36%),var(--surface-raised)}.ai-settings-hero h3,.ai-run-history-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.ai-settings-hero p,.ai-run-history-hero p{max-width:760px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-settings-grid,.ai-run-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.ai-settings-card,.ai-run-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.ai-settings-provider,.ai-settings-list,.ai-settings-roles{display:grid;gap:8px}.ai-settings-provider>div,.ai-settings-list>div,.ai-settings-roles>div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-settings-provider span,.ai-settings-list span,.ai-settings-roles span,.ai-budget-meter span,.ai-run-summary span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-settings-provider strong,.ai-settings-list strong,.ai-settings-roles strong,.ai-budget-meter strong,.ai-run-summary strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.ai-settings-roles p{margin:0;color:var(--fg);font-size:var(--text-sm);line-height:1.4}.ai-budget-meter{display:grid;gap:10px}.ai-budget-meter>div:first-child{display:grid;gap:4px}.ai-budget-track{height:10px;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 14%,transparent)}.ai-budget-track span{display:block;height:100%;border-radius:inherit;background:var(--success)}.ai-budget-track[data-tone=warn] span{background:var(--warning)}.ai-budget-track[data-tone=danger] span{background:var(--danger)}.ai-budget-meter small{color:var(--muted);font-size:var(--text-xs)}.ai-run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-run-summary div{display:grid;gap:5px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-panel)}.ai-run-summary svg{color:var(--accent)}.ai-run-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.ai-run-table,.ai-run-review-list{display:grid;gap:8px}.ai-run-table>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(150px,.8fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-run-table>div[data-status=needs-review]{border-color:color-mix(in srgb,var(--warning) 40%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--surface-raised))}.ai-run-table>div[data-status=blocked]{border-color:color-mix(in srgb,var(--danger) 40%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface-raised))}.ai-run-table strong,.ai-run-table small,.ai-run-review-list strong,.ai-run-review-list small{display:block}.ai-run-table strong,.ai-run-review-list strong{color:var(--fg);font-size:var(--text-sm)}.ai-run-table small,.ai-run-review-list small{margin-top:3px;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.ai-run-review-card{align-self:start;background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 7%,transparent),transparent 42%),var(--surface-panel)}.ai-run-review-list>div{display:grid;gap:7px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-run-review-list p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.ai-workflows-panel{display:grid;gap:14px}.ai-workflows-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--warning) 10%,transparent),transparent 36%),var(--surface-raised)}.ai-workflows-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.ai-workflows-hero p{max-width:780px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-workflows-summary,.ai-workflow-layout{display:grid;gap:10px}.ai-workflows-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-workflow-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-workflows-summary div,.ai-workflow-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.ai-workflows-summary div{display:grid;gap:5px;padding:12px}.ai-workflows-summary svg{color:var(--accent)}.ai-workflows-summary span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-workflows-summary strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.ai-workflow-card{display:grid;gap:12px;padding:14px}.ai-workflow-card[data-recommended=true]{border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 9%,transparent),transparent 46%),var(--surface-panel)}.ai-workflow-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-workflow-card h4{margin:0 0 5px;color:var(--fg);font-size:var(--text-lg)}.ai-workflow-card p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.ai-workflow-meta,.ai-workflow-source-list{display:flex;flex-wrap:wrap;gap:7px}.ai-workflow-meta span,.ai-workflow-source-list span{padding:4px 9px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:800}.ai-workflow-source-list span[data-missing=false]{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.ai-workflow-source-list span[data-missing=true]{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.ai-workflow-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-workflow-action strong,.ai-workflow-action small{display:block}.ai-workflow-action strong{color:var(--fg);font-size:var(--text-sm)}.ai-workflow-action small{margin-top:3px;color:var(--muted);font-size:var(--text-xs)}.ai-action-queue-panel{display:grid;gap:14px}.ai-action-queue-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--danger) 9%,transparent),transparent 36%),var(--surface-raised)}.ai-action-queue-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.ai-action-queue-hero p{max-width:780px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.ai-action-summary,.ai-action-layout{display:grid;gap:10px}.ai-action-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-action-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px}.ai-action-summary div,.ai-action-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.ai-action-summary div{display:grid;gap:5px;padding:12px}.ai-action-summary svg{color:var(--accent)}.ai-action-summary span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ai-action-summary strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.ai-action-card{display:grid;gap:12px;padding:14px;align-self:start}.ai-action-list,.ai-action-preview{display:grid;gap:8px}.ai-action-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-action-list>div[data-risk=high]{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface-raised))}.ai-action-list>div[data-risk=medium]{border-color:color-mix(in srgb,var(--warning) 42%,var(--border))}.ai-action-list strong,.ai-action-list small{display:block}.ai-action-list strong,.ai-action-preview-item strong{color:var(--fg);font-size:var(--text-sm)}.ai-action-list small{margin-top:3px;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.ai-action-list>div>span:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.ai-action-preview-item{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-raised)}.ai-action-preview-item code{overflow-x:auto;padding:9px 10px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-canvas) 72%,var(--fg) 5%);color:var(--fg);font-size:var(--text-xs);white-space:nowrap}.ai-action-preview-item p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.dev-roadmap-panel{display:grid;gap:14px}.dev-roadmap-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 36%),var(--surface-raised)}.dev-roadmap-hero h3{margin:4px 0 6px;color:var(--fg);font-size:var(--text-xl)}.dev-roadmap-hero p{max-width:780px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.dev-roadmap-summary,.dev-roadmap-track-list{display:grid;gap:10px}.dev-roadmap-summary,.dev-roadmap-track-list{grid-template-columns:repeat(4,minmax(0,1fr))}.dev-roadmap-summary div,.dev-roadmap-track-list div,.dev-roadmap-stage{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel)}.dev-roadmap-summary div,.dev-roadmap-track-list div{display:grid;gap:5px;padding:12px}.dev-roadmap-summary svg{color:var(--accent)}.dev-roadmap-summary span,.dev-roadmap-track-list span{color:var(--muted);font-size:var(--text-xs);font-weight:700}.dev-roadmap-summary strong,.dev-roadmap-track-list strong{overflow:hidden;color:var(--fg);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.dev-roadmap-stage-list{display:grid;gap:10px}.dev-roadmap-stage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}.dev-roadmap-stage[data-status=done]{border-color:color-mix(in srgb,var(--success) 36%,var(--border))}.dev-roadmap-stage[data-status=active]{border-color:color-mix(in srgb,var(--accent) 46%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 44%),var(--surface-panel)}.dev-roadmap-index{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:var(--text-sm);font-weight:800}.dev-roadmap-stage-main{display:grid;gap:10px;min-width:0}.dev-roadmap-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dev-roadmap-stage h4{margin:0 0 4px;color:var(--fg);font-size:var(--text-lg)}.dev-roadmap-stage p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.dev-roadmap-chip-row,.dev-roadmap-deliverables{display:flex;flex-wrap:wrap;gap:7px}.dev-roadmap-chip-row span,.dev-roadmap-deliverables span{padding:4px 9px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:800}.dev-roadmap-deliverables span{background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.diagram-zone rect{fill:color-mix(in srgb,var(--surface-panel) 42%,transparent);stroke:var(--border-subtle);stroke-dasharray:7 6;rx:var(--radius-panel)}.diagram-zone text{fill:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.diagram-arrow-path{fill:var(--muted)}.diagram-arrow-lit-path{fill:var(--accent)}.diagram-node-title{fill:var(--fg);font-size:var(--text-lg);font-weight:800}.diagram-node-subtitle{fill:var(--muted);font-size:var(--text-xs);font-family:JetBrains Mono,ui-monospace,monospace}@keyframes diagram-march{to{stroke-dashoffset:-15}}@media(prefers-reduced-motion:reduce){.diagram-edge.lit{animation:none}}.agent-cli-list,.local-action-list,.agent-log-list,.agent-cli-command code,.agent-task-card p,.empty-state{margin:0;color:var(--muted);font-size:var(--text-sm)}.empty-state{border:1px dashed var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface-canvas) 78%,transparent);padding:12px}.project-sync-workspace,.sync-change-list,.projector-meta-grid div,.projector-detail-block,.projector-connection-card>div,.sync-change-card,.sync-proposal-card,.sync-resolution-actions .button[data-state=selected]{border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--success) 12%,var(--surface-raised));color:var(--success)}.sync-back-sent-banner,.sync-compare-row div,.proposal-path code,.sync-compare-row span,.sync-compare-row code,.sync-back-change-card p,.sync-policy p,table{width:100%;border-collapse:collapse;font-size:var(--text-md)}thead{background:var(--surface-hover);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}th,td{border-bottom:1px solid var(--border-subtle);padding:10px;text-align:left}tbody tr:last-child td{border-bottom:0}td:first-child{color:var(--fg);font-weight:600}td{color:var(--muted)}.enroll{display:flex;flex-direction:column;gap:10px}.enroll-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.enroll-label{width:110px;color:var(--muted);font-size:var(--text-sm)}.enroll-value{font-family:var(--font-mono, monospace);font-size:var(--text-sm);background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:4px 8px}.enroll-hint{margin:0;font-size:var(--text-sm);color:var(--muted)}.spark-line{stroke:var(--accent);stroke-width:1.5}.spark-area{fill:var(--accent);fill-opacity:.12}.login-error{margin:0;font-size:var(--text-sm);color:var(--danger)}.auth-page{--auth-accent: #2e8bff;--auth-accent-soft: rgba(46, 139, 255, .12);--auth-accent-border: rgba(46, 139, 255, .42);--auth-accent-glow: rgba(46, 139, 255, .5);position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;background:radial-gradient(130% 90% at 50% 0%,#14171c,#0d1117 52%,#0b0e12);color:#f4f6f5;padding:24px 18px}.auth-page::placeholder{color:#5c626b}.auth-bg-glow,.auth-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-bg-glow{top:-6%;right:-6%;bottom:-6%;left:-6%;background:radial-gradient(40% 42% at 24% 30%,var(--auth-accent-soft),transparent 70%),radial-gradient(38% 40% at 78% 72%,rgba(255,255,255,.022),transparent 70%);opacity:.85;animation:auth-drift 22s ease-in-out infinite alternate,auth-glow 11s ease-in-out infinite}.auth-bg-grid{opacity:.14;background-repeat:repeat;background-image:radial-gradient(2px 70px at 30px 30px,rgba(150,168,196,.5),transparent),radial-gradient(2px 70px at 250px 70px,rgba(150,168,196,.5),transparent),radial-gradient(1.4px 1.4px at 90px 200px,rgba(150,168,196,.55),transparent),radial-gradient(2px 80px at 130px 60px,rgba(150,168,196,.3),transparent);background-size:300px 420px,300px 420px,300px 420px,300px 520px;animation:auth-fall 22s linear infinite;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 26%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 26%,transparent 100%)}.auth-shell{position:relative;z-index:1;display:flex;width:min(100%,820px);overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(180deg,#181b20e6,#101318ed);box-shadow:0 50px 110px #0009}.auth-showcase{position:relative;display:flex;min-width:0;flex:1 1 0;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.07);background:radial-gradient(120% 90% at 20% 0%,var(--auth-accent-soft),transparent 60%);padding:34px}.auth-showcase:before{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 50% at 30% 30%,var(--auth-accent-glow),transparent 65%);content:"";opacity:.13}.auth-wordmark,.auth-showcase-main,.auth-benefits{position:relative}.auth-wordmark{font-size:18px;font-weight:750}.auth-wordmark span,.auth-mobile-head b span{background:linear-gradient(90deg,#ff7a1f,#2e8bff,#2fbf71,#ff7a1f);-webkit-background-clip:text;background-clip:text;background-size:200% auto;color:transparent;animation:auth-brand 7s linear infinite}.auth-wordmark small{color:#7e858e;font-size:inherit;font-weight:500}.auth-showcase-main{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:22px 0}.auth-stack{width:112px;aspect-ratio:240 / 340;animation:auth-float 7s ease-in-out infinite}.auth-eyebrow,.auth-secure{color:var(--auth-accent);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}.auth-showcase h1{max-width:10ch;margin:9px 0 0;color:#f4f6f5;font-size:30px;line-height:1.1;letter-spacing:-.02em}.auth-showcase p{max-width:42ch;margin:11px 0 0;color:#9aa0a8;font-size:14px;line-height:1.6}.auth-benefits{display:grid;gap:10px;color:#c9cdd2;font-size:14px}.auth-benefits span{display:flex;align-items:flex-start;gap:11px}.auth-benefits svg{flex:0 0 auto;margin-top:1px;color:var(--auth-accent)}.auth-card{display:flex;width:360px;max-width:100%;flex:0 0 auto;flex-direction:column;box-sizing:border-box;padding:32px}.auth-mobile-head{display:none}.auth-card-head{display:flex;align-items:center;gap:12px}.auth-card-head img{width:38px;height:38px;object-fit:contain}.auth-card-head h2{margin:0;color:#f4f6f5;font-size:22px;line-height:1.15;letter-spacing:-.01em}.auth-card-head p{margin:6px 0 0;color:#9aa0a8;font-size:14px}.auth-yandex,.auth-tabs,.auth-field div,.auth-submit{border-radius:12px}.auth-yandex{display:flex;min-height:42px;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#edeff2;margin-top:20px;font:inherit;font-size:13.5px;font-weight:650;cursor:pointer}.auth-yandex:hover{border-color:#fff3;background:#ffffff14}.auth-yandex span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#fc3f1d;color:#fff;font-family:Arial,sans-serif;font-size:var(--text-md);font-weight:800}.auth-divider{display:flex;align-items:center;gap:14px;margin:16px 0 2px}.auth-divider i{height:1px;flex:1;background:#ffffff14}.auth-divider span,.auth-secure{color:#7e858e;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}.auth-tabs{display:flex;gap:6px;border:1px solid rgba(255,255,255,.07);background:#ffffff08;margin-top:12px;padding:4px}.auth-tabs button{flex:1;border:0;border-radius:9px;background:transparent;color:#9aa0a8;padding:9px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.auth-tabs button.is-active{background:#fff;color:#10131a;box-shadow:0 2px 10px #00000059}.auth-field{display:grid;gap:7px;margin-top:13px}.auth-field span{color:#c9cdd2;font-size:var(--text-md);font-weight:650}.auth-field div{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;padding:0 14px}.auth-field div:focus-within{border-color:var(--auth-accent-border);box-shadow:0 0 0 3px #2e8bff1f}.auth-field svg{flex:0 0 auto;color:#5c626b}.auth-field input{min-width:0;flex:1;border:0;background:transparent;color:#f4f6f5;font:inherit;font-size:14px;padding:11px 0}.auth-field input:focus{outline:none}.auth-eye,.auth-link,.auth-switch button{border:0;background:transparent;font:inherit;cursor:pointer}.auth-eye{display:flex;color:#5c626b;padding:4px}.auth-eye:hover,.auth-link:hover,.auth-switch button:hover{color:var(--auth-accent)}.auth-link{align-self:flex-end;color:#7e858e;margin-top:10px;padding:0;font-size:12.5px}.auth-error{margin-top:14px}.auth-submit{min-height:45px;border:0;background:var(--auth-accent);color:#06121f;margin-top:14px;font:inherit;font-size:14.5px;font-weight:800;box-shadow:0 0 34px var(--auth-accent-glow);cursor:pointer}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-switch,.auth-demo{margin:14px 0 0;color:#9aa0a8;text-align:center;font-size:13.5px}.auth-demo-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:12px;border:1px solid rgba(46,139,255,.28);border-radius:12px;background:#2e8bff14;padding:10px}.auth-demo-card span,.auth-demo-card small{display:block;color:#8e9aaa;font-size:11px;font-weight:750}.auth-demo-card b{display:block;min-width:0;overflow:hidden;color:#f4f6f5;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.auth-demo-card button{min-height:34px;border:1px solid rgba(46,139,255,.42);border-radius:9px;background:#2e8bff2e;color:#77b6ff;font:inherit;font-size:12px;font-weight:850;padding:0 10px}.auth-demo-card button:hover:not(:disabled){background:#2e8bff42;color:#b6d9ff}.auth-switch button{color:var(--auth-accent);padding:0;font-weight:750}.auth-demo{margin-top:10px;font-size:var(--text-sm)}.auth-download-group{display:grid;gap:8px;margin-top:12px}.auth-download-app{display:inline-flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--auth-accent) 36%,var(--auth-border));border-radius:10px;background:color-mix(in srgb,var(--auth-accent) 10%,transparent);color:var(--auth-accent);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.auth-download-app:hover{border-color:color-mix(in srgb,var(--auth-accent) 62%,var(--auth-border));background:color-mix(in srgb,var(--auth-accent) 15%,transparent)}.auth-download-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.auth-download-options button{display:grid;align-content:center;gap:1px;min-height:32px;border:1px solid var(--auth-border);border-radius:9px;background:#ffffff08;color:var(--auth-text-muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.auth-download-options button small{color:color-mix(in srgb,var(--auth-text-muted) 78%,transparent);font-size:10px;font-weight:750}.auth-download-options button:hover{border-color:color-mix(in srgb,var(--auth-accent) 45%,var(--auth-border));color:var(--auth-accent)}.auth-download-options button:disabled{cursor:not-allowed;opacity:.55}.auth-download-options button:disabled:hover{border-color:var(--auth-border);color:var(--auth-text-muted)}.auth-download-details{justify-self:center;border:0;background:transparent;color:color-mix(in srgb,var(--auth-accent) 84%,var(--auth-text-muted));font:inherit;font-size:12px;font-weight:800}.auth-download-details:hover{color:var(--auth-accent);text-decoration:underline;text-underline-offset:3px}.desktop-downloads-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:22px;background:color-mix(in srgb,var(--ec-bg, #071018) 76%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.desktop-downloads-panel{width:min(760px,100%);max-height:min(720px,calc(100dvh - 44px));overflow:auto;border:1px solid var(--ec-border, rgba(122, 149, 170, .24));border-radius:18px;background:radial-gradient(circle at 82% 8%,color-mix(in srgb,var(--ec-accent, #1f8fc2) 14%,transparent),transparent 34%),var(--ec-surface, #101821);color:var(--ec-text, #f4f7fb);box-shadow:0 24px 70px #00000057}.desktop-downloads-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:22px 24px 18px;border-bottom:1px solid var(--ec-border, rgba(122, 149, 170, .24))}.desktop-downloads-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--ec-accent, #1f8fc2) 14%,var(--ec-surface-2, #172431));color:var(--ec-accent, #1f8fc2)}.desktop-downloads-head p,.desktop-downloads-summary span,.desktop-download-meta dt,.desktop-downloads-note{color:var(--ec-text-muted, #8da0b4)}.desktop-downloads-head p{margin:0 0 4px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:850}.desktop-downloads-head h2{margin:0;font-size:24px;line-height:1.15}.desktop-downloads-close{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--ec-border, rgba(122, 149, 170, .24));border-radius:10px;background:var(--ec-surface-2, rgba(255, 255, 255, .04));color:var(--ec-text-muted, #8da0b4)}.desktop-downloads-close:hover{color:var(--ec-text, #f4f7fb);border-color:var(--ec-border-strong, rgba(122, 149, 170, .42))}.desktop-downloads-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:18px 24px 0}.desktop-downloads-summary div,.desktop-downloads-summary button{min-height:54px;border:1px solid var(--ec-border, rgba(122, 149, 170, .24));border-radius:12px;background:var(--ec-surface-2, rgba(255, 255, 255, .04));padding:10px 12px}.desktop-downloads-summary div{display:grid;align-content:center;gap:2px}.desktop-downloads-summary span{font-size:11px;font-weight:800}.desktop-downloads-summary b{font-size:14px}.desktop-downloads-summary button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--ec-accent, #1f8fc2);font:inherit;font-size:13px;font-weight:850}.desktop-downloads-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 24px}.desktop-download-card{display:grid;gap:14px;min-width:0;border:1px solid var(--ec-border, rgba(122, 149, 170, .24));border-radius:14px;background:var(--ec-surface-2, rgba(255, 255, 255, .04));padding:16px}.desktop-download-card[data-available=true]{border-color:color-mix(in srgb,var(--ec-success, #2fc48d) 32%,var(--ec-border, rgba(122, 149, 170, .24)))}.desktop-download-card[data-available=false]{opacity:.78}.desktop-download-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.desktop-download-card-head span{display:block;color:var(--ec-text-muted, #8da0b4);font-size:12px;font-weight:800}.desktop-download-card-head b{display:block;margin-top:3px;font-size:16px}.desktop-download-card[data-available=true] .desktop-download-card-head svg{color:var(--ec-success, #2fc48d)}.desktop-download-card[data-available=false] .desktop-download-card-head svg{color:var(--ec-warning, #f0aa28)}.desktop-download-meta{display:grid;gap:8px;margin:0}.desktop-download-meta div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:baseline}.desktop-download-meta dt{font-size:11px;font-weight:800}.desktop-download-meta dd{min-width:0;margin:0;overflow:hidden;color:var(--ec-text, #f4f7fb);font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.desktop-download-action{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--ec-accent, #1f8fc2) 42%,var(--ec-border, rgba(122, 149, 170, .24)));border-radius:10px;background:var(--ec-accent, #1f8fc2);color:#fff;font:inherit;font-size:13px;font-weight:850}.desktop-download-action:disabled{border-color:var(--ec-border, rgba(122, 149, 170, .24));background:var(--ec-surface-3, rgba(255, 255, 255, .08));color:var(--ec-text-muted, #8da0b4)}.desktop-downloads-note{margin:0;padding:0 24px 22px;font-size:12px;line-height:1.5}.auth-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding-top:0;color:#454b52}.auth-secure svg{color:#454b52}@keyframes auth-brand{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes auth-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes auth-fall{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:0 420px,0 640px,0 420px,0 520px}}@keyframes auth-glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes auth-drift{0%{transform:translate(-5%,-3%) scale(1.05)}50%{transform:translate(4%,6%) scale(1.18)}to{transform:translate(5%,3%) scale(1.08)}}@media(max-width:760px){.auth-shell{max-width:430px}.auth-showcase{display:none}.auth-card{width:100%;padding:28px 24px}.auth-mobile-head{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:22px;text-align:center}.auth-mobile-head img{width:96px;aspect-ratio:240 / 340;animation:auth-float 7s ease-in-out infinite}.auth-mobile-head b{display:block;color:#e6e9ed;font-size:var(--text-2xl)}.auth-mobile-head small{display:block;color:var(--auth-accent);margin-top:5px;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.22em;text-transform:uppercase}}@media(max-width:420px){.auth-page{padding:14px}.auth-shell{border-radius:20px}.auth-card{padding:28px 22px}.auth-card-head h2{font-size:var(--text-3xl)}}.button{display:inline-flex;box-sizing:border-box;max-width:100%;min-width:0;min-height:34px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius-control);padding:0 12px;font-size:var(--text-md);font-weight:700;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;box-shadow:0 8px 18px #00000014;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease,opacity .14s ease,transform .14s ease}.button svg{flex:0 0 auto}.button.primary{border-color:color-mix(in srgb,var(--accent) 70%,black);background:var(--accent);color:var(--accent-fg);font-weight:800}.button.ghost{border-color:var(--border);background:var(--surface-raised);color:var(--fg)}.button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--surface-hover) 82%,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent),0 10px 20px #0000001f}.button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 90%,white)}.button:active:not(:disabled){transform:translateY(1px);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.button.icon-only{width:34px;padding:0}.button:focus-visible,.icon-button:focus-visible,.nav-item:focus-visible,.object-item:focus-visible,.object-tabs button:focus-visible,.audit-filters button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:2px}.button:disabled{border-color:var(--border-subtle);background:color-mix(in srgb,var(--surface-panel) 70%,var(--surface-canvas));color:color-mix(in srgb,var(--muted) 74%,transparent);box-shadow:none;opacity:.68}.button.small{min-height:28px;padding:0 9px;font-size:var(--text-sm)}.button.xs{min-height:26px;padding:0 8px;font-size:var(--text-xs)}.button.full{width:100%;margin-top:8px}.workspace-switcher,.panel{border-color:color-mix(in srgb,var(--border) 72%,transparent);background:linear-gradient(180deg,color-mix(in srgb,white 3%,transparent),transparent 120px),color-mix(in srgb,var(--surface-panel) 94%,transparent)}.panel.raised{border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 40%),linear-gradient(180deg,color-mix(in srgb,white 5%,transparent),transparent 160px),var(--surface-raised)}.metric-top svg,.section-title-main svg{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 24%,transparent))}.section-title{padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent)}.system-card,.incident-card,.ai-note,.recommendation-card,.service-task-card,.monitoring-event,.sync-card,.audit-card,.connection-step-card,.connector-card,.scan-result-card,.agent-runtime-card,.agent-task-card,thead{background:color-mix(in srgb,var(--surface-hover) 78%,var(--surface-canvas))}tbody tr{transition:background .12s ease}tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.button{letter-spacing:0}.button.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white),var(--accent));box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 18%,transparent)}.button.ghost{background:linear-gradient(180deg,color-mix(in srgb,white 4%,transparent),transparent),var(--surface-raised)}@media(max-width:1180px){.dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:880px){body{overflow:hidden}.app{height:100dvh;min-height:0;overflow:hidden}.sidebar{display:none}.topbar,.object-hero{align-items:stretch;flex-direction:column;height:auto;padding:14px}.content{min-height:100%;overflow:visible;padding:12px}.metric-grid,.hero-kpi-strip,.system-grid,.automation-summary,.access-grid,.lifecycle-list,.visual-grid,.object-access-list,.programming-rail,.programming-grid,.deployment-grid,.deployment-file-grid,.monitoring-metric-grid,.monitoring-grid,.connection-grid,.connection-step-grid,.connector-grid,.edge-appliance-grid,.edge-checklist,.edge-run-summary,.edge-passport-columns,.edge-baseline-commit,.ai-agent-grid,.ai-agent-kpis,.learning-summary-grid,.knowledge-summary-grid,.knowledge-layout,.ai-observability-kpis,.ai-observability-grid,.ai-quality-grid,.ai-policy-kpis,.ai-policy-grid,.ai-settings-grid,.ai-run-summary,.ai-run-layout,.ai-workflows-summary,.ai-workflow-layout,.ai-action-summary,.ai-action-layout,.dev-roadmap-summary,.dev-roadmap-track-list,.agent-runtime-metrics,.agent-runtime-grid,.agent-storage-grid,.projector-meta-grid,.projector-detail-grid,.terminal-chip-list,.wizard-step-list,.environment-grid{grid-template-columns:1fr}.service-diagram-head{flex-direction:column}.diagram-flow-chips{justify-content:flex-start}.service-diagram-stage{min-height:420px}.ai-agent-hero{flex-direction:column}.ai-source-list>div,.ai-next-steps>div,.ai-citation-list>div{flex-direction:column}.learning-hero,.knowledge-hero,.ai-observability-hero,.ai-policy-hero,.ai-settings-hero,.ai-run-history-hero,.ai-workflows-hero,.ai-action-queue-hero,.dev-roadmap-hero,.learning-track-head,.knowledge-source-head,.ai-workflow-card-head,.dev-roadmap-stage-head{flex-direction:column}.learning-track{grid-template-columns:1fr}.knowledge-readiness-card{position:static}.ai-model-list>div,.ai-trace-list>div,.ai-policy-route-list>div,.ai-policy-list>div,.ai-run-table>div,.ai-workflow-action,.ai-action-list>div{flex-direction:column}.ai-action-list>div>span:last-child{justify-content:flex-start}.dev-roadmap-stage{grid-template-columns:1fr}.ai-run-table>div{display:flex;align-items:flex-start}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;background:color-mix(in srgb,black 58%,transparent);overflow-y:auto}.modal{width:100%;max-width:760px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:0 24px 60px color-mix(in srgb,black 40%,transparent);display:flex;flex-direction:column}@media(max-width:760px){.wizard-body{grid-template-columns:minmax(0,1fr)}}.tc-sub{color:var(--ec-text-muted, #6b7280);font-size:var(--text-sm)}.tc-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tc-item{border:1px solid var(--ec-border, rgba(128,128,128,.25));border-radius:10px;overflow:hidden}.tc-head{width:100%;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:11px 14px;background:transparent;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.tc-head:hover{background:var(--ec-surface-hover, rgba(128,128,128,.06))}.tc-name{font-weight:600}.tc-model{color:var(--ec-text-muted, #6b7280);font-size:var(--text-sm)}.tc-count{color:var(--ec-text-muted, #6b7280);font-size:var(--text-sm);white-space:nowrap}.tc-caret{color:var(--ec-text-muted, #6b7280);width:14px;text-align:center}.tc-points{padding:4px 14px 14px;border-top:1px solid var(--ec-border, rgba(128,128,128,.18))}.tc-table{width:100%;border-collapse:collapse;margin-top:8px}.tc-table th,.tc-table td{text-align:left;padding:7px 10px;font-size:var(--text-sm);border-bottom:1px solid var(--ec-border, rgba(128,128,128,.14))}.tc-table th{color:var(--ec-text-muted, #6b7280);font-weight:500}.tc-table tr:last-child td{border-bottom:0}.tc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ec-text-muted, #6b7280)}.tc-apply{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.tc-input{flex:1 1 180px;min-width:140px;padding:7px 10px;font:inherit;font-size:var(--text-md);border:1px solid var(--ec-border, rgba(128,128,128,.3));border-radius:8px;background:var(--ec-surface, transparent);color:inherit}.tc-input-sm{flex:0 1 160px}.tc-input:focus{outline:none;border-color:#2563eb}.tc-ok{color:#15803d;font-size:var(--text-sm)}@media(max-width:760px){.desktop-downloads-backdrop{align-items:end;padding:10px}.desktop-downloads-panel{max-height:calc(100dvh - 20px);border-radius:16px}.desktop-downloads-head{padding:18px 16px 14px}.desktop-downloads-head h2{font-size:20px}.desktop-downloads-summary,.desktop-downloads-grid{grid-template-columns:1fr;padding-right:16px;padding-left:16px}.desktop-downloads-summary{gap:8px}.desktop-download-meta div{grid-template-columns:82px minmax(0,1fr)}.desktop-downloads-note{padding-right:16px;padding-left:16px}}
