:root{--radius: 10px;--radius-sm: 8px;--radius-lg: 14px;--sidebar-w: 232px;--font: "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;--mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace}body[data-mode=dark]{--bg: #111113;--bg-elevated: #161618;--surface: #18181b;--surface-2: #1f1f23;--surface-3: #27272a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .12);--text: #f4f4f5;--text-muted: #a1a1aa;--text-faint: #71717a;--sidebar-bg: #141416;--sidebar-text: #f4f4f5;--sidebar-muted: #8b8b96;--chrome: #141416;--success: #34d399;--success-soft: rgba(52, 211, 153, .12);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--shadow: 0 1px 2px rgba(0, 0, 0, .2);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .4);--log-bg: #0c0c0e;--log-text: #d4d4d8;--control: #1f1f23;--hairline: rgba(255, 255, 255, .06);--hover: rgba(255, 255, 255, .04);--primary: #2dd4bf;--primary-hover: #5eead4;--primary-soft: rgba(45, 212, 191, .14);--primary-ink: #042f2e;--sidebar-active: rgba(45, 212, 191, .12)}body[data-mode=light]{--bg: #f7f7f8;--bg-elevated: #ffffff;--surface: #ffffff;--surface-2: #f4f4f5;--surface-3: #ececef;--border: rgba(24, 24, 27, .08);--border-strong: rgba(24, 24, 27, .12);--text: #18181b;--text-muted: #71717a;--text-faint: #a1a1aa;--sidebar-bg: #ffffff;--sidebar-text: #18181b;--sidebar-muted: #71717a;--chrome: #ffffff;--success: #059669;--success-soft: rgba(5, 150, 105, .1);--warn: #d97706;--warn-soft: rgba(217, 119, 6, .1);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1);--shadow: 0 1px 2px rgba(24, 24, 27, .04);--shadow-lg: 0 20px 48px rgba(24, 24, 27, .1);--log-bg: #18181b;--log-text: #d4d4d8;--control: #f4f4f5;--hairline: rgba(24, 24, 27, .06);--hover: rgba(24, 24, 27, .04);--primary: #0f766e;--primary-hover: #0d9488;--primary-soft: rgba(15, 118, 110, .1);--primary-ink: #ffffff;--sidebar-active: rgba(15, 118, 110, .1)}body[data-mode=dark][data-accent=teal]{--primary: #2dd4bf;--primary-hover: #5eead4;--primary-soft: rgba(45, 212, 191, .14);--primary-ink: #042f2e;--sidebar-active: rgba(45, 212, 191, .12)}body[data-mode=dark][data-accent=blue]{--primary: #60a5fa;--primary-hover: #93c5fd;--primary-soft: rgba(96, 165, 250, .14);--primary-ink: #0b1a33;--sidebar-active: rgba(96, 165, 250, .12)}body[data-mode=dark][data-accent=violet]{--primary: #a78bfa;--primary-hover: #c4b5fd;--primary-soft: rgba(167, 139, 250, .14);--primary-ink: #1e1035;--sidebar-active: rgba(167, 139, 250, .12)}body[data-mode=dark][data-accent=rose]{--primary: #fb7185;--primary-hover: #fda4af;--primary-soft: rgba(251, 113, 133, .14);--primary-ink: #3f0a16;--sidebar-active: rgba(251, 113, 133, .12)}body[data-mode=dark][data-accent=green]{--primary: #4ade80;--primary-hover: #86efac;--primary-soft: rgba(74, 222, 128, .14);--primary-ink: #052e16;--sidebar-active: rgba(74, 222, 128, .12)}body[data-mode=dark][data-accent=amber]{--primary: #fbbf24;--primary-hover: #fcd34d;--primary-soft: rgba(251, 191, 36, .14);--primary-ink: #422006;--sidebar-active: rgba(251, 191, 36, .12)}body[data-mode=dark][data-accent=slate]{--primary: #a1a1aa;--primary-hover: #d4d4d8;--primary-soft: rgba(161, 161, 170, .14);--primary-ink: #18181b;--sidebar-active: rgba(161, 161, 170, .12)}body[data-mode=light][data-accent=teal]{--primary: #0f766e;--primary-hover: #0d9488;--primary-soft: rgba(15, 118, 110, .1);--primary-ink: #ffffff;--sidebar-active: rgba(15, 118, 110, .1)}body[data-mode=light][data-accent=blue]{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: rgba(37, 99, 235, .1);--primary-ink: #ffffff;--sidebar-active: rgba(37, 99, 235, .1)}body[data-mode=light][data-accent=violet]{--primary: #7c3aed;--primary-hover: #6d28d9;--primary-soft: rgba(124, 58, 237, .1);--primary-ink: #ffffff;--sidebar-active: rgba(124, 58, 237, .1)}body[data-mode=light][data-accent=rose]{--primary: #e11d48;--primary-hover: #be123c;--primary-soft: rgba(225, 29, 72, .1);--primary-ink: #ffffff;--sidebar-active: rgba(225, 29, 72, .1)}body[data-mode=light][data-accent=green]{--primary: #16a34a;--primary-hover: #15803d;--primary-soft: rgba(22, 163, 74, .1);--primary-ink: #ffffff;--sidebar-active: rgba(22, 163, 74, .1)}body[data-mode=light][data-accent=amber]{--primary: #d97706;--primary-hover: #b45309;--primary-soft: rgba(217, 119, 6, .1);--primary-ink: #ffffff;--sidebar-active: rgba(217, 119, 6, .1)}body[data-mode=light][data-accent=slate]{--primary: #52525b;--primary-hover: #3f3f46;--primary-soft: rgba(82, 82, 91, .1);--primary-ink: #ffffff;--sidebar-active: rgba(82, 82, 91, .1)}*{box-sizing:border-box}.stack[hidden],.page[hidden],.field[hidden],.drawer[hidden],.card[hidden]{display:none!important}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar-bg);color:var(--sidebar-text);padding:14px 10px 16px;display:flex;flex-direction:column;gap:14px;border-right:1px solid var(--border)}.traffic-lights{display:none}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 4px}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;font-weight:700;font-size:11px;letter-spacing:-.03em}.brand-text{display:flex;flex-direction:column;gap:1px}.brand-text strong{font-size:14px;font-weight:600;letter-spacing:-.02em}.brand-text span{font-size:12px;color:var(--sidebar-muted)}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{border:0;background:transparent;color:var(--sidebar-muted);text-align:left;padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;text-decoration:none}.nav-item:hover{background:var(--hover);color:var(--sidebar-text)}.nav-item.active{background:var(--sidebar-active);color:var(--primary)}.nav-icon{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;opacity:.9;color:inherit}.nav-icon svg{display:block}.nav-divider{height:1px;margin:8px;background:var(--hairline)}.sidebar-foot{margin-top:auto;padding:4px;position:relative}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--sidebar-text);cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease}.user-menu-trigger:hover,.user-menu.open .user-menu-trigger{background:var(--surface-2);border-color:var(--border)}.user-avatar{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--primary);color:var(--primary-ink);font-size:12px;font-weight:700}.user-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.user-meta strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta span{font-size:11px;color:var(--sidebar-muted);font-family:var(--mono)}.user-caret{color:var(--sidebar-muted);display:inline-flex;transition:transform .15s ease}.user-menu.open .user-caret{transform:rotate(180deg)}.user-menu-panel{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:20;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2px}.user-menu-panel button{display:block;width:100%;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;padding:8px 10px;font-size:13px;cursor:pointer}.user-menu-panel button:hover{background:var(--hover)}.user-menu-panel button.danger{color:var(--danger)}.user-menu-panel button.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{height:52px;border-bottom:1px solid var(--border);background:var(--chrome);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.topbar-title{font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-muted)}.topbar-right{display:flex;align-items:center;gap:10px}.crumb-link{border:0;background:transparent;padding:0;cursor:pointer;color:var(--primary);font:inherit;font-weight:500;display:inline-flex;align-items:center;gap:6px}.crumb-link:hover{text-decoration:underline;text-underline-offset:3px}.crumb-sep{color:var(--text-faint);display:inline-flex;align-items:center}.crumb-current{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-width:0}.crumb-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.9}.crumb-icon svg{display:block}.pill{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:28px;padding:0 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}button.pill-action{font-family:inherit;font-size:12px;font-weight:500;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}button.pill-action:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--text);background:var(--hover)}.pill-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.content{padding:24px 28px 48px;width:100%;box-sizing:border-box;font-size:14px}.content .page-header h1{font-size:26px}.content .page-header p,.content .btn{font-size:14px}.content .btn.btn-sm{font-size:12px}.content .table{font-size:14px}.content .table .actions .btn{font-size:12px}.content .table th{font-size:13px}.content .mono,.content .badge{font-size:12px}.content .empty h3{font-size:16px}.content .empty p{font-size:13px}.content .field label{font-size:14px}.content .field .hint{font-size:12px}.content .field input,.content .field select,.content .field textarea{font-size:14px}.content .field textarea{font-size:12px}.content .segmented button{font-size:14px}.content .node-meta strong{font-size:15px}.content .node-meta span,.content .steps .step{font-size:13px}.content .mirror-box{font-size:14px}.content .field .hint{font-size:13px}.content .card h3{font-size:16px}.content .kv,.content .meta-row,.content .status-line,.content .hint-inline{font-size:13px}.content .log,.content pre.log{font-size:12px}.content .drawer-title,.content .modal-title{font-size:16px}.content .drawer-body,.content .modal-body{font-size:14px}.page{display:none}.page.active{display:block}.page-narrow{max-width:760px;margin-inline:auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-header h1{margin:0 0 6px;font-size:24px;letter-spacing:-.03em;font-weight:600}.page-header p{margin:0;color:var(--text-muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.table .actions{gap:5px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s ease,color .15s ease,border-color .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);color:var(--text)}.btn-sm{padding:4px 10px;font-size:12px;line-height:1.25;border-radius:6px;font-weight:500}.btn:hover:not(:disabled):not(.btn-primary):not(.btn-danger):not(.btn-ghost):not(.toggle-btn){border-color:color-mix(in srgb,var(--primary) 40%,var(--border-strong))}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-ink);border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:transparent}.btn-secondary{background:var(--surface)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent);border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:transparent}.toggle-btn{background:var(--surface);color:var(--text-muted);border-color:var(--border-strong);font-weight:500;-webkit-user-select:none;user-select:none}.toggle-btn .toggle-btn-check{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;border:1px solid var(--border-strong);background:var(--control);color:transparent;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.toggle-btn.btn-sm .toggle-btn-check{width:12px;height:12px;border-radius:2.5px}.toggle-btn:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb,var(--primary) 40%,var(--border-strong))}.toggle-btn.checked{color:var(--primary);background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}.toggle-btn.checked .toggle-btn-check{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.toggle-btn.checked:hover:not(:disabled){color:var(--primary-hover);background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.table .actions .btn{padding:0 9px;min-height:26px;font-size:12px;font-weight:500;letter-spacing:.01em;line-height:1;border-radius:6px;white-space:nowrap}.table .actions .btn-secondary{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.table .actions .btn-secondary:hover:not(:disabled){color:var(--primary);background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}.table .actions .btn-primary{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 38%,var(--border))}.table .actions .btn-primary:hover:not(:disabled){color:var(--primary-hover);background:color-mix(in srgb,var(--primary) 22%,transparent);border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.table .actions .btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.table .actions .btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.card-pad{padding:18px}.data-table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--hairline);background:transparent}.data-table-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.data-table-summary strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.data-table-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.data-table-size{display:inline-flex;align-items:center;gap:8px}.data-table-controls .actions{gap:5px}.data-table .table{margin:0}.ui-select{position:relative;display:inline-flex;vertical-align:middle}.field .ui-select,.ui-select-block{display:block;width:100%}.field .ui-select-trigger,.ui-select-block .ui-select-trigger{width:100%}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:72px;height:36px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ui-select-sm .ui-select-trigger{height:26px;min-width:56px;padding:0 8px;font-size:12px;border-radius:6px}.ui-select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 40%,var(--border-strong))}.ui-select.open .ui-select-trigger{border-color:color-mix(in srgb,var(--primary) 55%,var(--border-strong));box-shadow:0 0 0 3px var(--primary-soft)}.ui-select-trigger:disabled{opacity:.45;cursor:not-allowed}.ui-select-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-value.placeholder{color:var(--text-faint)}.ui-select-caret{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;color:var(--text-muted);transition:transform .15s ease}.ui-select-sm .ui-select-caret{width:14px;height:14px}.ui-select-sm .ui-select-caret svg{width:12px;height:12px}.ui-select.open .ui-select-caret{transform:rotate(180deg)}.ui-select-menu{position:absolute;left:0;z-index:60;min-width:100%;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);max-height:240px;overflow:auto}.ui-select-menu.placement-bottom{top:calc(100% + 4px)}.ui-select-menu.placement-top{bottom:calc(100% + 4px);top:auto}.ui-select-option{display:flex;width:100%;align-items:center;border:0;border-radius:6px;background:transparent;color:var(--text);padding:7px 10px;font-size:13px;text-align:left;cursor:pointer}.ui-select-sm .ui-select-option{padding:5px 8px;font-size:12px}.ui-select-option:hover:not(:disabled){background:var(--hover)}.ui-select-option.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.ui-select-option:disabled{opacity:.4;cursor:not-allowed}.ui-tag-group{display:flex;gap:4px;flex-wrap:wrap}.ui-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:550;line-height:1.4;border:1px solid transparent;background:var(--surface-2);color:var(--text-muted)}button.ui-tag{cursor:pointer;font:inherit}.ui-tag.clickable:hover{border-color:var(--border-strong);color:var(--text)}a.tag-link{text-decoration:none;color:inherit;display:inline-flex}a.tag-link:hover .ui-tag{border-color:color-mix(in srgb,#38bdf8 40%,var(--border));filter:brightness(1.05)}.ui-tag-neutral{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.ui-tag-primary{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}.ui-tag-info{background:color-mix(in srgb,#38bdf8 14%,transparent);color:#0ea5e9}.ui-tag-success{background:var(--success-soft);color:var(--success)}.ui-tag-warn{background:var(--warn-soft);color:var(--warn)}.ui-tag-danger{background:var(--danger-soft);color:var(--danger)}.content .ui-tag{font-size:12px}.table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.pod-tree-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.pod-tree-toggle:hover .pod-tree-ns{color:var(--primary)}.pod-tree-chevron{display:inline-flex;align-items:center;justify-content:center;width:12px;color:var(--text-faint);flex-shrink:0}.pod-tree-chevron svg{width:12px;height:12px}.pod-tree-ns{font-weight:600;font-family:var(--mono);font-size:12px}.pod-tree-root td{vertical-align:middle}.pod-tree-leaf td{color:var(--text)}.pod-tree-branch{display:inline-flex;align-items:center;padding-left:4px}.pod-tree-rail{display:inline-block;width:8px;height:8px;margin-left:6px;border-left:1.5px solid var(--border-strong);border-bottom:1.5px solid var(--border-strong);border-bottom-left-radius:2px;opacity:.85}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--hairline);vertical-align:middle}.table th{font-size:12px;color:var(--text-muted);background:transparent;font-weight:500}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td,.table tr:hover td{background:var(--hover)}.mono{font-family:var(--mono);font-size:11px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid transparent}.badge-success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 25%,transparent)}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.badge-info{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,transparent)}.badge-neutral{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.empty{padding:48px 20px;text-align:center;color:var(--text-muted)}.empty h3{margin:0 0 6px;color:var(--text);font-size:15px}.empty p{margin:0 0 14px;font-size:12px}.grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:13px;font-weight:500;color:var(--text)}.field .hint{font-size:13px;color:var(--text-faint)}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;background:var(--control);color:var(--text);font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.field textarea{min-height:100px;resize:vertical;font-family:var(--mono);font-size:11px}.segmented{display:inline-flex;align-items:stretch;gap:2px;width:100%;max-width:280px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);box-sizing:border-box}.segmented button{flex:1 1 0;min-width:0;border:0;border-radius:999px;background:transparent;padding:8px 12px;cursor:pointer;color:var(--text-muted);font-size:13px;font-weight:500;line-height:1.2;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.segmented button:hover:not(.active){color:var(--text);background:var(--hover)}.segmented button.active{background:var(--primary);color:var(--primary-ink);box-shadow:0 1px 2px #0000001f;font-weight:600}.node-pick{display:flex;flex-direction:column;gap:6px}.node-option{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:pointer}.node-option:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.node-option.selected{border-color:var(--primary);background:var(--primary-soft)}.node-option.ui-check,.node-option.ui-radio{display:flex;width:100%}.node-option .ui-check-box,.node-option .ui-radio-dot{flex-shrink:0}.node-option .node-meta{flex:1;min-width:0}.ui-check,.ui-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.ui-check.disabled,.ui-radio.disabled{opacity:.45;cursor:not-allowed}.ui-check-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:4px;background:var(--surface);color:transparent;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.ui-check:hover:not(.disabled) .ui-check-box{border-color:color-mix(in srgb,var(--primary) 50%,var(--border-strong))}.ui-check:focus-visible .ui-check-box{box-shadow:0 0 0 3px var(--primary-soft)}.ui-check.checked .ui-check-box{background:var(--primary);border-color:var(--primary);color:#fff}.ui-check>:not(.ui-check-box){font-size:13px;color:var(--text);line-height:1.35}.ui-radio-dot{position:relative;display:inline-flex;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}.ui-radio-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--primary);transform:scale(0);transition:transform .12s ease}.ui-radio:hover:not(.disabled) .ui-radio-dot{border-color:color-mix(in srgb,var(--primary) 50%,var(--border-strong))}.ui-radio:focus-visible .ui-radio-dot{box-shadow:0 0 0 3px var(--primary-soft)}.ui-radio.checked .ui-radio-dot{border-color:var(--primary)}.ui-radio.checked .ui-radio-dot:after{transform:scale(1)}.ui-radio>:not(.ui-radio-dot){font-size:13px;color:var(--text);line-height:1.35}.ui-radio-group{display:flex;flex-direction:column;gap:8px}.ui-radio-group.inline{flex-direction:row;flex-wrap:wrap;gap:14px}.switch-label.ui-check{gap:6px;font-size:11px;color:var(--text-muted);font-family:var(--mono)}.switch-label.ui-check>:not(.ui-check-box){font-size:inherit;color:inherit;font-family:inherit}.switch-label.ui-check .ui-check-box{width:14px;height:14px;border-radius:3px}.switch-label.ui-check .ui-check-box svg{width:10px;height:10px}.node-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.node-meta strong{font-size:14px}.node-meta span{font-size:13px;color:var(--text-muted);font-family:var(--font)}.mirror-box{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:14px 16px;background:var(--bg-elevated);font-size:14px;line-height:1.55;color:var(--text-muted);font-family:var(--font)}.mirror-box strong{color:var(--text);font-family:var(--font)}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--hairline);background:var(--surface-2)}.status-bar .left{display:flex;align-items:center;gap:8px}.status-bar .actions .btn-sm{font-size:12px;padding:3px 9px;min-height:26px;line-height:1.2}.log{background:var(--log-bg);color:var(--log-text);font-family:var(--mono);font-size:11px;line-height:1.55;height:280px;overflow:auto;padding:12px 14px;white-space:pre-wrap;border-top:1px solid var(--border)}.log .dim{color:#5b6575}.log .ok{color:var(--success)}.log .err{color:var(--danger)}.log mark{background:color-mix(in srgb,var(--primary) 35%,transparent);color:var(--text);border-radius:2px}.toast{position:fixed;top:14px;left:50%;z-index:100;max-width:min(400px,calc(100vw - 32px));padding:8px 14px;border-radius:6px;border:none;font-size:13px;font-weight:450;letter-spacing:.01em;text-align:center;color:var(--text);background:var(--surface);box-shadow:0 1px 2px #0000000f,0 4px 16px #00000014;opacity:0;transform:translate(-50%,-6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.toast.toast-info{color:var(--text)}.toast.toast-success{color:var(--success)}.toast.toast-error{color:var(--danger)}.toast.show{opacity:1;transform:translate(-50%)}.overlay,#themeOverlay{position:fixed;inset:0;background:#0000008c;display:none;z-index:40}.overlay.open,#themeOverlay.open{display:block}.drawer{position:fixed;top:0;right:0;width:min(640px,100%);height:100%;background:var(--surface);border-left:1px solid var(--border);transform:translate(100%);transition:transform .18s ease;z-index:50;display:flex;flex-direction:column}.drawer.open{transform:translate(0)}.drawer-header,.modal-header{padding:12px 14px;border-bottom:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;background:var(--surface-2)}.drawer-header h2,.modal-header h2{margin:0;font-size:13px;font-family:var(--mono);font-weight:650}.drawer-body,.modal-body{padding:14px;overflow:auto;flex:1}.drawer-footer,.modal-footer{padding:10px 14px;border-top:1px solid var(--hairline);display:flex;justify-content:flex-end;gap:8px;background:var(--bg-elevated)}.modal{position:fixed;top:50%;left:50%;width:min(400px,calc(100% - 24px));background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);transform:translate(-50%,-46%) scale(.98);opacity:0;pointer-events:none;transition:.15s ease;z-index:60;overflow:hidden}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.steps{display:flex;gap:6px;margin-bottom:12px}.step{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--text-muted);font-family:var(--font);text-align:center;font-weight:500}.step.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.step.done{color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,var(--border));background:var(--success-soft)}.step-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.step-heading h3{margin:0;font-size:13px}.step-desc{margin:0 0 10px;font-size:12px;color:var(--text-muted);line-height:1.45}.field-error{margin:6px 0 0;font-size:12px;color:var(--danger);font-family:var(--mono)}.row-actions{display:flex;gap:4px;flex-wrap:wrap}.muted{color:var(--text-muted)}.tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--border)}.tab{border:0;background:transparent;padding:8px 12px;cursor:pointer;color:var(--text-muted);font-size:12px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--mono)}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-panel{display:none}.tab-panel.active{display:block}.check-list{display:flex;flex-direction:column;gap:6px}.check-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:12px}.check-item .check-title{font-weight:650;font-family:var(--mono);font-size:11px}.check-item .check-desc{color:var(--text-muted);margin-top:2px;font-size:11px}.switch-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--mono)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--hairline)}.switch-row:first-of-type{border-top:0;padding-top:0}.switch-row .ui-check{flex-shrink:0}.tag{display:inline-block;padding:1px 6px;border-radius:3px;background:var(--surface-2);border:1px solid var(--border);font-size:10px;color:var(--text-muted);margin-right:4px;font-family:var(--mono)}.search-trigger{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;max-width:min(240px,42vw);height:28px;padding:0 8px 0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:500;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.search-trigger:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--text);background:var(--hover)}.search-trigger.has-query{color:var(--text);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--primary-soft)}.search-trigger-icon{display:inline-flex;flex-shrink:0;color:inherit;opacity:.85}.search-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;text-align:left}.search-trigger-kbd{flex-shrink:0;margin:0;padding:2px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text-faint);font-size:10px;font-family:var(--mono);font-weight:500;line-height:1.2}.drawer-body.search-drawer{display:flex;flex-direction:column;gap:14px;min-height:0}.search-drawer-results{flex:1;min-height:0;overflow:auto}.search-result-list{display:flex;flex-direction:column;gap:4px}.search-result-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px;cursor:pointer;color:var(--text);transition:border-color .12s ease,background .12s ease}.search-result-item:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:var(--primary-soft)}.search-result-type{flex-shrink:0;margin-top:1px;padding:1px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--text-muted);font-family:var(--mono)}.search-result-main{display:flex;flex-direction:column;gap:2px;min-width:0}.search-result-main strong{font-size:13px;font-weight:600}.search-result-main .muted{font-size:12px}.search-drawer-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search-drawer-actions .muted{font-size:12px}.list-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:12px;color:var(--text-muted)}.list-filter-bar strong{color:var(--text);font-weight:600}.maintain-banner{display:flex;gap:8px;align-items:center;padding:10px 12px;margin-bottom:12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));background:var(--warn-soft);color:var(--warn);font-size:13px}.log-toolbar{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--hairline);background:var(--bg-elevated)}.log-toolbar select,.log-toolbar input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;background:var(--surface);color:var(--text);font-size:11px;font-family:var(--mono)}.log-toolbar input{flex:1}.firewall-box{border:1px solid color-mix(in srgb,var(--warn) 35%,var(--border));background:var(--warn-soft);border-radius:var(--radius);padding:10px 12px;font-size:11px;color:var(--warn);line-height:1.5;font-family:var(--mono)}.firewall-box strong{display:block;margin-bottom:6px;font-family:var(--font)}.firewall-box ol{margin:0;padding-left:16px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface-2)}.metric .label{font-size:12px;color:var(--text-muted)}.metric .value{font-size:18px;font-weight:600;margin-top:4px;letter-spacing:-.02em;color:var(--text)}.accent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.accent-swatch{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface);cursor:pointer;text-align:left;color:var(--text);display:flex;align-items:center;gap:10px}.accent-swatch:hover{border-color:var(--border-strong);background:var(--hover)}.accent-swatch.active{border-color:var(--primary);background:var(--primary-soft)}.accent-dot{width:18px;height:18px;border-radius:50%;background:var(--sw);flex-shrink:0;box-shadow:inset 0 0 0 1px #00000014}.accent-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.accent-meta strong{font-size:13px;font-weight:500;color:var(--text)}.accent-meta em{font-size:11px;font-style:normal;color:var(--text-muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-lg)}.login-card .btn-primary{width:100%;justify-content:center}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.login-brand p{margin:2px 0 0;color:var(--text-muted);font-size:13px}.login-hint{margin:14px 0 0;font-size:12px;text-align:center;color:var(--text-muted)}body[data-density=compact] .page-header h1{font-size:17px}body[data-density=compact] .table th,body[data-density=compact] .table td{padding:6px 8px}body[data-density=compact] .content{padding:12px 14px 24px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton{display:inline-block;max-width:100%;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 45%,var(--surface-2) 90%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;vertical-align:middle}.skeleton-table{padding:8px 0 4px}.skeleton-table-head,.skeleton-table-row{display:grid;gap:16px;align-items:center;padding:14px 16px}.skeleton-table-head{border-bottom:1px solid var(--hairline);opacity:.7}.skeleton-table-row{border-bottom:1px solid var(--hairline)}.skeleton-table-row:last-child{border-bottom:0}.skeleton-detail-header{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.skeleton-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.skeleton-node-pick{display:flex;flex-direction:column;gap:8px}.skeleton-node-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-2)}.skeleton-node-meta{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.skeleton-log{padding:12px 4px}@media(max-width:960px){.app{grid-template-columns:1fr}.sidebar{display:none}.grid-2,.form-grid{grid-template-columns:1fr}}:root{--font-sans-loaded: "Inter", system-ui, sans-serif;--font-mono-loaded: "JetBrains Mono", ui-monospace, monospace}html,body{min-height:100%;margin:0}body{font-family:var(--font-sans-loaded)}#root{min-height:100%}
