:root{--bg-0: #0a0a0a;--bg-1: #0c1118;--panel: rgba(24, 29, 39, .92);--sidebar: rgba(18, 25, 36, .92);--line: rgba(255, 255, 255, .08);--line-strong: rgba(97, 173, 255, .22);--text: rgba(255, 255, 255, .92);--text-soft: rgba(255, 255, 255, .82);--muted: rgba(255, 255, 255, .64);--faint: rgba(255, 255, 255, .46);--primary: #61adff;--primary-2: #8ac3ff;--primary-soft: rgba(97, 173, 255, .18);--accent: var(--primary);--accent-soft: var(--primary-soft);--ok: #72d39d;--ok-soft: rgba(114, 211, 157, .14);--warn: #f2be6e;--warn-soft: rgba(242, 190, 110, .16);--bad: #ff8b8b;--bad-soft: rgba(255, 139, 139, .14);--shadow: 0 8px 20px rgba(0, 0, 0, .22);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .18);--radius: 12px;--radius-control: 8px;--radius-dialog: 14px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--topbar-h: 40px;--sidebar-w: 160px;--sidebar-mini-w: 64px;--content-pad: 12px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--panel-bg: linear-gradient(180deg, rgba(22, 28, 38, .94), rgba(12, 17, 24, .95));--field-bg: rgba(255, 255, 255, .05);--input-bg: rgba(255, 255, 255, .04);--control-bg: rgba(255, 255, 255, .04);--row-bg: transparent;--row-hover-bg: rgba(97, 173, 255, .08);--glass-row: rgba(255, 255, 255, .03);--page-accent: none;--page-wash: none;--page-bg-type: none;--page-bg-image: none;--page-bg-gradient: none;--page-bg-solid: var(--bg-0);--control-h: 30px;--control-radius: 8px;--font-xs: 12px;--font-sm: 13px;--font-md: 14px;--font-lg: 16px;--scrollbar-w: 4px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100vw;height:100vh;height:100dvh;max-width:none!important;overflow:hidden;background-image:var(--page-bg-image),var(--page-bg-gradient);background-color:var(--page-bg-solid);background-position:center;background-size:cover;background-repeat:no-repeat;color:var(--text);font-family:var(--font);font-size:var(--font-md);line-height:1.5;-webkit-font-smoothing:antialiased}body.fleet-shell{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;overflow:hidden}a{color:var(--primary-2);text-decoration:none}a:hover{color:#93c5fd}button,input,select,textarea{font:inherit;color:inherit}#app{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.layout,#app-shell{display:flex;width:100%;height:100%;min-height:100vh;min-height:100dvh;max-width:none;overflow:hidden}.sidebar{position:relative;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--sidebar);backdrop-filter:none;-webkit-backdrop-filter:none;border-right:1px solid var(--line);box-shadow:none;color:var(--muted);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:12px 12px 10px;background:transparent;border-bottom:1px solid var(--line);flex:0 0 auto}.brand-mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 88%,#0b1220);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent);font-size:13px;font-weight:700;color:#fff;font-family:var(--font);letter-spacing:.02em}.brand-text strong{display:block;color:#f8fafc;font-size:15px;font-weight:700}.brand-ver{font-size:11px;color:var(--faint);font-family:var(--mono)}.nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 12px}.nav-sep{height:1px;margin:6px 8px;background:var(--line);opacity:.7}.nav-group{padding:8px 8px 2px;font-size:10.5px;letter-spacing:.04em;text-transform:none;color:var(--faint);font-weight:600}.nav-item{display:flex;align-items:center;gap:8px;padding:5px 8px;margin:0;min-height:30px;border-radius:6px;color:var(--muted);font-size:var(--font-sm);border:1px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease;cursor:pointer}.nav-item:hover{background:var(--accent-soft, var(--primary-soft));color:var(--text)}.nav-item.active{background:var(--accent-soft, var(--primary-soft));border-color:transparent;color:var(--text);font-weight:600}.nav-icon{width:18px;text-align:center;opacity:.9;font-size:13px;flex:0 0 auto}.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item.active .nav-icon{opacity:1;color:var(--primary-2)}.nav-tag{margin-left:auto;font-size:10px;color:#64748b;border:1px solid rgba(100,116,139,.45);border-radius:999px;padding:0 6px;line-height:16px;flex:0 0 auto}.sidebar-dock{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;padding:8px 6px 10px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--sidebar) 92%,transparent)}.sidebar-dock-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:30px;margin:0;padding:5px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:var(--font-sm);text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.sidebar-dock-item:hover{background:var(--accent-soft, var(--primary-soft));color:var(--text);border-color:transparent}.sidebar-dock-item:focus-visible{outline:2px solid var(--primary-2);outline-offset:1px}.sidebar-dock-icon{width:18px;flex:0 0 18px;text-align:center;font-size:14px;line-height:1;opacity:.95}.sidebar-dock-text{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.layout.sidebar-collapsed .sidebar-dock-text{display:none}.layout.sidebar-collapsed .sidebar-dock-item{justify-content:center;padding:8px 6px;min-height:34px}.sidebar-dock-logout:hover{color:color-mix(in srgb,var(--bad) 70%,var(--text));background:var(--bad-soft)}.main{flex:1 1 auto;min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar-h);flex:0 0 var(--topbar-h);background:var(--sidebar);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:8px;position:relative;z-index:20;width:100%;min-width:0}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px;min-width:0}.topbar-left{flex:1 1 auto;overflow:hidden}.topbar-right{flex:0 0 auto;gap:8px;flex-wrap:nowrap}.node-picker{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto}.node-label{font-size:12px;color:var(--muted);flex:0 0 auto}.node-select,.node-btn,.node-btn-empty{min-width:120px;max-width:min(280px,34vw);width:max-content;min-height:28px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 55%,transparent);color:var(--text);font-weight:550;font-size:12.5px;box-shadow:none;cursor:pointer}.node-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;color-scheme:dark;background-color:color-mix(in srgb,var(--panel) 78%,#0a0a0a);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px}.node-select option,.node-select optgroup{background-color:#161b22;color:#ffffffeb}.node-select option:checked,.node-select option:hover{background-color:#1f2a38;color:#fff}.node-select:hover,.node-btn:hover,.node-btn-empty:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background-color:color-mix(in srgb,var(--primary-soft) 70%,var(--panel));background-image:linear-gradient(45deg,transparent 50%,var(--primary-2) 50%),linear-gradient(135deg,var(--primary-2) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.node-btn:hover,.node-btn-empty:hover{background-image:none;background:var(--primary-soft)}.node-btn-empty{min-width:auto;border-style:dashed;color:var(--primary-2)}.node-meta{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;overflow:hidden;font-size:12px;color:var(--muted)}.node-url{max-width:min(420px,28vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);color:#94a3b8;min-width:0}.dot{width:9px;height:9px;border-radius:50%;background:#475569;flex:0 0 auto}.dot-ok{background:var(--ok);box-shadow:0 0 0 4px #22c55e29,0 0 12px #22c55e73}.dot-bad{background:var(--bad);box-shadow:0 0 0 4px #ef444429,0 0 12px #ef444459}.dot-pending{background:var(--warn);box-shadow:0 0 0 4px #f59e0b24}.health-text{white-space:nowrap;flex:0 0 auto;font-size:12px}.content{flex:1 1 auto;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;padding:var(--content-pad);padding-bottom:40px}.page{max-width:none!important;width:100%!important;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;width:100%;min-width:0;flex-wrap:wrap}.page-head>div:first-child{min-width:0;flex:1 1 240px}.page-head h2{margin:0;font-size:16px;letter-spacing:0;font-weight:700;color:var(--text);line-height:1.22}.page-sub{margin:3px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere;line-height:1.4}.page-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 1 auto;justify-content:flex-end;max-width:100%}.card{background:var(--panel-bg, var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;width:100%;min-width:0;box-shadow:var(--shadow-sm)}.card-title{margin:0 0 10px;font-size:14px;font-weight:650;color:var(--text)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-width:0;flex-wrap:wrap}.card-head .card-title{margin:0}.card-actions{display:flex;gap:6px;flex-wrap:wrap}.btn{padding:6px 12px;min-height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--text-soft);font-size:13px;font-weight:550;cursor:pointer;line-height:1.35;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap;box-shadow:none;text-transform:none;letter-spacing:0}.btn:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:var(--primary-soft);color:var(--text)}.btn:active{filter:brightness(.96)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:none;font-weight:650}.btn-primary:hover{filter:brightness(1.06);background:var(--primary);border-color:var(--primary);color:#fff}.btn-danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:var(--bad-soft)}.btn-danger:hover{background:color-mix(in srgb,var(--bad) 22%,transparent);border-color:color-mix(in srgb,var(--bad) 55%,transparent);color:#fff}.btn-sm{padding:3px 9px;min-height:26px;font-size:12px;border-radius:7px}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted);box-shadow:none}.btn-ghost:hover{background:#94a3b81a;color:var(--text)}.btn-row{display:flex;gap:6px;flex-wrap:wrap;max-width:100%}.btn.is-busy{position:relative;color:transparent!important}.btn.is-busy:after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;line-height:18px;margin-right:4px;border:1px solid transparent;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.badge-ok{background:var(--ok-soft);color:#4ade80;border-color:#22c55e40}.badge-bad{background:var(--bad-soft);color:#fca5a5;border-color:#ef444447}.badge-warn{background:var(--warn-soft);color:#fbbf24;border-color:#f59e0b47}.badge-muted{background:#64748b29;color:#94a3b8;border-color:#64748b40}.badge-accent{background:var(--primary-soft);color:#93c5fd;border-color:#3b82f64d}.table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#02061747;-webkit-overflow-scrolling:touch}.data-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:auto;font-size:13px;background:color-mix(in srgb,var(--panel) 70%,transparent)}.data-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--panel) 92%,transparent);font-size:12px;position:sticky;top:0;z-index:2}.data-table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text-soft);min-width:72px;max-width:36rem;overflow-wrap:anywhere;word-break:break-word}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#3b82f60d}.data-table tr.row-click{cursor:pointer}.data-table tr.row-click:hover td{background:#3b82f614}.table-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;width:100%}.table-toolbar .input{max-width:min(360px,100%);flex:1 1 220px}.toolbar-spacer{flex:1}.table-count{white-space:nowrap;color:var(--muted);font-size:12px}.cell-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-main strong{font-weight:600;color:#f1f5f9;overflow-wrap:anywhere}.cell-sub{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.mini-table{width:100%;border-collapse:collapse;font-size:12.5px}.mini-table th{text-align:left;color:var(--muted);font-weight:500;padding:5px 8px 5px 0;white-space:nowrap}.mini-table td{padding:5px 8px 5px 0;border-bottom:1px dashed rgba(148,163,184,.12);color:var(--text-soft);overflow-wrap:anywhere}.mono{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.muted-sm{color:var(--muted);font-size:12px}.text-ok{color:#4ade80}.text-bad{color:#fca5a5}.text-muted{color:var(--muted)}.nowrap{white-space:nowrap}.hint{color:var(--muted);font-size:12.5px;margin:0 0 10px}.tips{margin:0;padding-left:18px;color:var(--muted);line-height:1.9;font-size:13px}.warn-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.28);color:#fbbf24;padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:13px;overflow-wrap:anywhere}.ops-alert-host{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}.ops-alert{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.18);background:#0f172a8c;font-size:13px}.ops-alert .ops-alert-text{flex:1;overflow-wrap:anywhere}.ops-alert-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex:0 0 auto}.ops-alert.ok{border-color:#22c55e47;background:#22c55e14;color:#86efac}.ops-alert.ok .ops-alert-dot{background:#22c55e}.ops-alert.warn{border-color:#f59e0b47;background:#f59e0b14;color:#fbbf24}.ops-alert.warn .ops-alert-dot{background:#f59e0b}.ops-alert.bad{border-color:#ef44444d;background:#ef44441a;color:#fca5a5}.ops-alert.bad .ops-alert-dot{background:#ef4444}.ops-alert.muted{color:#94a3b8}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:12px;margin-bottom:16px;width:100%}.page .stat-grid.overview-section,.form-section-body>.stat-grid.overview-section{gap:8px;margin-bottom:0}.form-section-body>.stat-grid{margin-bottom:0}@media(min-width:1600px){.stat-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}}.stat-card{background:var(--primary-soft);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:4px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease;text-decoration:none;min-width:0;box-shadow:none}a.stat-card:hover{border-color:#3b82f673;box-shadow:0 10px 28px #2563eb29;transform:translateY(-1px);color:var(--text)}.stat-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);min-width:0}.stat-icon{opacity:.85;flex:0 0 auto}.stat-value{font-size:26px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#f8fafc;overflow-wrap:anywhere}.stat-hint{font-size:11px;color:#7c8da8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-bad .stat-value,.stat-value.stat-muted{color:var(--muted);font-size:18px}.stat-value.stat-ok{color:#4ade80}.stat-value.stat-bad{color:#fca5a5}.stat-value.stat-warn{color:#fbbf24}.status-hero{display:flex;align-items:center;gap:16px;padding:4px 2px;flex-wrap:wrap;width:100%;min-width:0}.status-light{width:14px;height:14px;border-radius:50%;background:var(--bad);flex:0 0 auto}.status-light.ok{background:var(--ok);box-shadow:0 0 0 6px #22c55e24,0 0 18px #22c55e73}.status-light.bad{box-shadow:0 0 0 6px #ef44441f,0 0 18px #ef444459}.status-main{min-width:0;flex:1 1 240px}.status-main h3{margin:0;font-size:18px;letter-spacing:-.02em}.status-sub{margin:4px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.status-side{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 1 auto;flex-wrap:wrap;max-width:100%}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:4px 20px;width:100%}.kv{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed rgba(148,163,184,.12);font-size:13px;min-width:0}.kv-k{color:var(--muted);min-width:110px;max-width:40%;flex:0 1 auto}.kv-v{word-break:break-word;overflow-wrap:anywhere;color:var(--text-soft);min-width:0;flex:1 1 auto}.detail-grid .kv-k{min-width:110px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#94a3b81a;border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-size:12px;color:#cbd5e1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-btn{border:1px solid var(--line-strong);cursor:pointer;background:#0f172a99}.chip-btn:hover{border-color:#3b82f680;color:#93c5fd}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px 18px;width:100%}.form-section{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;background:color-mix(in srgb,var(--panel) 88%,transparent)}.form-section:last-child{margin-bottom:0}.form-section-head{font-size:13px;font-weight:700;margin:0 0 8px;color:var(--text);line-height:1.35}.form-section-head h4{margin:0;font-size:13px;font-weight:700;color:var(--text)}.form-section-hint{font-size:11.5px;color:var(--muted);margin-top:2px;font-weight:500}.form-section-title{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.form-section-title>h4{flex:0 1 auto;min-width:0}.lf-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:0 0 auto;border-radius:50%;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--primary, #3b82f6) 12%,transparent);color:var(--muted);font-size:10.5px;font-style:italic;font-weight:700;line-height:1;cursor:help;user-select:none;vertical-align:middle}.lf-help-icon{pointer-events:none;transform:translate(.5px)}.lf-help:hover,.lf-help:focus-visible{border-color:color-mix(in srgb,var(--primary, #3b82f6) 55%,transparent);color:var(--text);outline:none}.lf-help-pop{position:absolute;z-index:60;left:0;top:calc(100% + 6px);width:max-content;max-width:min(340px,78vw);padding:8px 10px;border-radius:10px;border:1px solid var(--line-strong, rgba(100, 116, 139, .35));background:var(--panel, #151515);color:var(--text);font-size:12px;font-style:normal;font-weight:400;line-height:1.55;text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:0 14px 34px #00000052;opacity:0;visibility:hidden;pointer-events:none}.lf-help:hover>.lf-help-pop,.lf-help:focus-visible>.lf-help-pop,.lf-help.is-open>.lf-help-pop{opacity:1;visibility:visible}.lf-help--drop-right>.lf-help-pop{left:auto;right:0}@media(max-width:600px){.lf-help{width:17px;height:17px;font-size:11px}.lf-help-pop{max-width:82vw;font-size:12px}}html[data-theme=light] .lf-help-pop,body[data-theme=light] .lf-help-pop{background:#fff;color:#05101a;border-color:#1976d238;box-shadow:0 14px 34px #0f172a2e}.field-label,.form-section-head{overflow:visible}.cf-perm-details{margin:4px 0 0;border:1px solid var(--line);border-radius:10px;background:var(--panel-2, rgba(127, 127, 127, .06))}.cf-perm-summary{cursor:pointer;list-style:none;padding:8px 12px;font-size:12.5px;color:var(--muted);user-select:none}.cf-perm-summary::-webkit-details-marker{display:none}.cf-perm-summary:before{content:"▸ ";color:var(--faint)}.cf-perm-details[open]>.cf-perm-summary:before{content:"▾ "}.cf-perm-details>.cf-perm-hint{border:0;background:transparent;margin:0;padding:0 12px 10px}.form-section-body{min-width:0}.form-section-body>.form-grid{margin:0}.form-section-body>.check-row,.form-section-body>.btn-row{margin-top:8px}.form-section-body>.hint{margin-top:6px}.cf-perm-hint{margin:4px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2, rgba(127, 127, 127, .06))}.cf-perm-hint>.hint:last-child{margin-bottom:0}.cf-perm-list{margin:2px 0 10px;padding-left:20px;color:var(--muted);font-size:12.5px;line-height:1.65}.cf-perm-list li{overflow-wrap:anywhere}@media(max-width:600px){.cf-perm-hint{padding:8px 10px}.cf-perm-list{padding-left:18px;font-size:12px}}.cf-acc-list{display:flex;flex-direction:column;gap:8px;margin:4px 0 0}.cf-acc-list>.hint{margin:0}.cf-acc-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2, rgba(127, 127, 127, .06))}.cf-acc-row.is-off{opacity:.55}.cf-acc-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.cf-acc-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.cf-acc-name>strong{font-size:13.5px;font-weight:600;overflow-wrap:anywhere}.cf-acc-meta{font-size:12px;overflow-wrap:anywhere}.cf-acc-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;justify-content:flex-end}.cf-acc-summary{margin-top:6px}@media(max-width:600px){.cf-acc-row{flex-direction:column;align-items:stretch;gap:8px}.cf-acc-actions{justify-content:flex-start}}details.form-section>summary.form-section-head{cursor:pointer;list-style:none;user-select:none}details.form-section>summary.form-section-head::-webkit-details-marker{display:none}details.form-section:not([open])>.form-section-body{display:none}.drawer-body .form-section{margin-bottom:8px;padding:8px 10px}.drawer-body .form-section-head{margin-bottom:6px}.modal-body .form-section{margin-bottom:10px}.field{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0}.field-label{color:var(--muted);font-weight:500}.field-hint{color:var(--faint);font-size:11.5px;overflow-wrap:anywhere}.input,select.input,textarea.input{width:100%;max-width:100%;min-width:0;min-height:var(--control-h);padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--control-radius);font-size:var(--font-sm);font-family:inherit;background:var(--input-bg, var(--field-bg));color:var(--text)}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.input:disabled{background:color-mix(in srgb,var(--panel) 50%,transparent);color:var(--faint)}select.input{color-scheme:dark;cursor:pointer}select.input option,select.input optgroup{background-color:#161b22;color:#ffffffeb}select.input option:checked,select.input option:hover{background-color:#1f2a38;color:#fff}.textarea{resize:vertical;min-height:88px}.code{font-family:var(--mono);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.check-line{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;color:var(--text-soft)}.checkbox{accent-color:var(--primary)}.check-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px;width:100%}.inline-form .input{max-width:min(420px,100%);flex:1 1 220px}.center-row{display:flex;justify-content:center;padding:12px}.sub-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;width:100%}.sub-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#02061759;display:flex;flex-direction:column;gap:10px;min-width:0}.sub-default{background:#0f172a8c;border-style:dashed}.sub-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0}.rec-line{display:flex;gap:6px;align-items:center;padding:1px 0;flex-wrap:wrap;min-width:0}details.sub-card>summary{list-style:none;cursor:pointer}details.sub-card>summary::-webkit-details-marker{display:none}details.sub-card>summary .sub-head:before{content:"▸";color:var(--muted);margin-right:6px}details.sub-card[open]>summary .sub-head:before{content:"▾"}details.sub-card>summary .sub-head{margin:0}details.sub-card[open]>summary{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty-icon{font-size:28px;opacity:.5;width:48px;height:48px;margin:0 auto;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--line) 90%,transparent)}.empty-title{font-size:14px;margin:12px 0 0;color:var(--text-soft);font-weight:600}.empty-hint{font-size:12.5px;color:var(--faint);max-width:520px;margin:6px auto 0;overflow-wrap:anywhere;line-height:1.55}.empty-actions{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}.empty-build .empty-icon{font-size:34px;opacity:.55}.loading{display:flex;align-items:center;gap:10px;color:var(--muted);padding:20px}.spinner{width:14px;height:14px;border:2px solid rgba(148,163,184,.25);border-top-color:var(--primary-2);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.28);color:#fecaca;border-radius:var(--radius);padding:12px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.error-text{color:#fca5a5;font-size:13px;overflow-wrap:anywhere}.code-block{background:#020617;color:#cbd5e1;border:1px solid var(--line);border-radius:10px;padding:12px;overflow:auto;max-height:460px;max-width:100%;font-size:12px;line-height:1.6;margin:0;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.modal-overlay{position:fixed;inset:0;background:#020617b8;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--line-strong);border-radius:14px;width:min(720px,calc(100vw - 32px));max-height:min(92vh,920px);display:flex;flex-direction:column;box-shadow:var(--shadow);min-width:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modal-wide{width:min(1100px,calc(100vw - 32px))}.modal-head,.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);min-width:0}.modal-head h3,.drawer-title h3,.drawer-head h3{margin:0;font-size:16px;color:#f8fafc;overflow-wrap:anywhere}.modal-sub,.drawer-sub{margin:4px 0 0;color:var(--muted);font-size:12.5px;word-break:break-all;overflow-wrap:anywhere}.modal-x,.toast-x{border:none;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--muted);flex:0 0 auto}.modal-x:hover,.toast-x:hover{color:#fff}.modal-body{padding:18px;overflow-y:auto;min-height:0}.modal-body .card{background:#02061759}.modal-foot,.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:#02061740;flex-wrap:wrap}.confirm-danger{color:#fecaca;white-space:pre-wrap;overflow-wrap:anywhere}.confirm-body p{margin:0 0 8px;line-height:1.7;overflow-wrap:anywhere}.confirm-list{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8}.drawer-overlay{position:fixed;inset:0;background:#0206179e;backdrop-filter:blur(4px);z-index:120;display:flex;justify-content:flex-end}.drawer{background:color-mix(in srgb,var(--bg-0) 88%,var(--panel));width:min(560px,100vw);max-width:100%;height:100%;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--line-strong);box-shadow:-12px 0 40px #0006;animation:drawer-in .18s ease-out}.drawer-wide{width:min(960px,100vw)}@keyframes drawer-in{0%{transform:translate(24px);opacity:.4}}.drawer-head{background:color-mix(in srgb,var(--primary-soft) 55%,transparent);flex:0 0 auto}.drawer-title{min-width:0}.drawer-body{flex:1 1 auto;overflow-y:auto;min-height:0;padding:16px}.drawer-body .card:last-child{margin-bottom:0}.drawer-foot{flex:0 0 auto}.toast-host{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:min(460px,calc(100vw - 24px))}.toast{display:flex;align-items:center;gap:12px;background:#111827;color:#fff;border:1px solid var(--line-strong);padding:10px 12px;border-radius:10px;font-size:13px;max-width:100%;box-shadow:var(--shadow)}.toast-ok{background:linear-gradient(180deg,#14532d,#0f3d24);border-color:#22c55e59}.toast-error{background:linear-gradient(180deg,#7f1d1d,#450a0a);border-color:#ef444459}.toast-warn{background:linear-gradient(180deg,#78350f,#451a03);border-color:#f59e0b59}.toast-x{color:#ffffffbf}.toast-icon{width:18px;height:18px;border-radius:50%;background:#ffffff24;display:flex;align-items:center;justify-content:center;font-size:12px;flex:0 0 auto}.toast-msg{flex:1;line-height:1.5;min-width:0;overflow-wrap:anywhere}.tabs,.tabs-wrap{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap;width:100%}.tab{border:none;background:none;padding:9px 14px;font-size:13.5px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;border-radius:8px 8px 0 0}.tab:hover{color:#e2e8f0;background:#94a3b80f}.tab.active{color:#93c5fd;border-bottom-color:var(--primary);font-weight:600}.tab-body{min-width:0;width:100%}.crs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:4px 16px;max-height:320px;overflow-y:auto;margin-top:8px;width:100%}.crs-item{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.pager{display:flex;align-items:center;gap:12px;padding-top:10px;flex-wrap:wrap}.query-result{margin-top:10px;width:100%}.console-form{display:flex;flex-direction:column;gap:12px;width:100%}.console-meta{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-bottom:8px;flex-wrap:wrap}.console-out{min-height:60px;width:100%}.frame-host{height:min(70vh,640px);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#020617;width:100%}.term-frame{width:100%;height:100%;border:none}.link-out{font-size:12px;white-space:nowrap;flex:0 0 auto}.raw-details{border:1px solid var(--line);border-radius:10px;background:#02061759;margin-top:12px;width:100%;min-width:0}.raw-details>summary{cursor:pointer;padding:8px 12px;font-size:12.5px;color:var(--muted);user-select:none}.raw-details>summary:hover{color:var(--primary-2)}.raw-details[open]>summary{border-bottom:1px solid var(--line)}.raw-details .code-block{border-radius:0 0 10px 10px;max-height:380px;border:none}.timeline{margin:0;padding:0;list-style:none;max-height:220px;overflow-y:auto}.timeline li{display:flex;gap:10px;align-items:baseline;padding:5px 0;border-bottom:1px dashed rgba(148,163,184,.12);font-size:12.5px;min-width:0}.timeline .t-time{color:var(--muted);white-space:nowrap;font-family:var(--mono);flex:0 0 auto}.split-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px;align-items:start;width:100%}.split-2>.card{margin-bottom:0;min-width:0}.btn:focus-visible,.nav-item:focus-visible,.tab:focus-visible,.stat-card:focus-visible,.input:focus-visible,.node-select:focus-visible,.node-btn:focus-visible,.chip-btn:focus-visible{outline:2px solid var(--primary-2);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1100px){.node-url{max-width:160px}.health-text{display:none}}@media(max-width:900px){.node-url,.node-label{display:none}.node-select{min-width:0;max-width:42vw;flex:1 1 auto}.content{padding:10px}.drawer,.drawer-wide{width:100%}.data-table{min-width:560px}.data-table thead th{position:static}.page-head{flex-direction:column}.page-head>div:first-child,.page-head-text{flex:0 0 auto}.page-actions{justify-content:flex-start;width:100%}.topbar{padding:0 8px;gap:6px;height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.topbar-left{flex:1 1 auto;min-width:0;overflow:visible;gap:6px}.topbar-right{flex:0 1 auto;min-width:0;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topbar-right::-webkit-scrollbar{display:none}#last-refresh,#btn-nodes,.theme-switcher-label{display:none}.theme-btn{min-width:30px;padding:4px 6px!important;font-size:11px}.topbar-right .btn{padding:4px 8px;font-size:12px}}@media(min-width:1800px){:root{--content-pad: 16px}.data-table{min-width:900px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand{position:relative}.sidebar-toggle{display:none!important}.sidebar-rail-toggle{position:absolute;top:72px;right:4px;left:auto;transform:none;z-index:6;box-sizing:border-box;width:22px;height:28px;margin:0;padding:0;border:1px solid var(--line-strong);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease,width .15s ease,height .15s ease,border-radius .15s ease,top .15s ease,right .15s ease}.sidebar-rail-toggle .sidebar-rail-icon{font-size:16px;line-height:1;font-weight:600;pointer-events:none}.sidebar-rail-toggle:hover{color:var(--text);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary-soft) 55%,var(--panel))}.sidebar-rail-toggle:focus-visible{outline:2px solid var(--primary-2);outline-offset:2px}.sidebar-rail-toggle.is-expanded{width:22px;height:28px;top:72px;right:4px;border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--panel) 70%,transparent)}.sidebar-rail-toggle.is-collapsed{width:28px;height:28px;top:56px;right:50%;transform:translate(50%);border-radius:999px;color:var(--primary-2);border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background:color-mix(in srgb,var(--primary-soft) 70%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.sidebar-rail-toggle.is-collapsed:hover{background:color-mix(in srgb,var(--primary-soft) 90%,var(--panel));color:var(--text)}.sidebar-toggle-mobile{display:none;min-width:34px}.crumb{display:flex;align-items:baseline;gap:6px;min-width:0;max-width:min(360px,42vw);padding-right:10px;border-right:1px solid var(--line);margin-right:4px}.crumb-group,.breadcrumb-inline{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb-sep{color:var(--faint);font-size:12px}.crumb-page,.page-title-inline{color:var(--text);font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.kbd-hint{display:inline-block;margin-left:8px;padding:1px 6px;border:1px solid var(--line-strong);border-radius:6px;font-family:var(--mono);font-size:10px;color:#64748b;background:#0f172a99}.sidebar-foot{display:none!important}.page-head-text{min-width:0;flex:1 1 280px}.sk{display:block;border-radius:8px;background:linear-gradient(90deg,#94a3b814,#94a3b829,#94a3b814);background-size:200% 100%;animation:sk-shine 1.2s ease-in-out infinite}.sk-title{width:180px;height:24px;margin-bottom:8px}.sk-sub{width:280px;height:12px}.sk-btn{width:72px;height:32px;border-radius:9px}.sk-stat{height:92px;border-radius:var(--radius);border:1px solid var(--line)}.sk-line{height:12px;width:100%;margin:10px 0}.sk-line.w-80{width:80%}.sk-line.w-60{width:60%}.sk-table{height:180px;margin-top:14px}.sk-card{min-height:240px}@keyframes sk-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.content-enter{animation:content-in .18s ease-out}@keyframes content-in{0%{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}.sidebar-backdrop{position:fixed;inset:0;background:#0206178c;z-index:40}.layout.sidebar-collapsed{--sidebar-w: var(--sidebar-mini-w, 64px)}.layout.sidebar-collapsed .sidebar .nav-text,.layout.sidebar-collapsed .sidebar .brand-text,.layout.sidebar-collapsed .sidebar .nav-group,.layout.sidebar-collapsed .sidebar .nav-tag,.layout.sidebar-collapsed .sidebar .sidebar-foot span,.layout.sidebar-collapsed .sidebar .kbd-hint{display:none}.layout.sidebar-collapsed .brand{justify-content:center;padding:14px 8px}.layout.sidebar-collapsed .nav{padding:8px 6px 12px}.layout.sidebar-collapsed .nav-item{justify-content:center;padding:6px 8px;min-height:32px}.layout.sidebar-collapsed .nav-icon{margin:0}.layout.sidebar-collapsed .sidebar-dock{padding:8px 6px 10px;align-items:stretch}.layout.sidebar-collapsed .sidebar-dock-item{justify-content:center;padding:8px 6px;min-height:34px;text-align:center}.layout.sidebar-collapsed .sidebar-dock-icon{margin:0}@media(max-width:900px){.sidebar-toggle,.sidebar-rail-toggle{display:none!important}.sidebar-toggle-mobile{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:36px;min-width:36px;height:32px;min-height:32px;padding:0;margin:0;font-size:18px;line-height:1;border:1px solid var(--line-strong);border-radius:8px;background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text);z-index:5}.crumb{display:none}.layout,#app-shell{display:block;position:relative}.layout>.main{width:100%;height:100%;min-height:100dvh}.layout.sidebar-collapsed{--sidebar-w: 0px}.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(300px,88vw)!important;flex:none!important;flex-basis:auto!important;max-width:300px;z-index:80;transform:translate3d(-102%,0,0);transition:transform .2s ease;visibility:hidden;pointer-events:none;box-shadow:8px 0 24px #00000047;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--sidebar);border-right:1px solid var(--line)}.layout.sidebar-open .sidebar{transform:translateZ(0);visibility:visible;pointer-events:auto}.layout.sidebar-collapsed .sidebar{width:min(300px,88vw)!important}.layout.sidebar-open .sidebar .nav-text,.layout.sidebar-open .sidebar .brand-text,.layout.sidebar-open .sidebar .nav-group,.layout.sidebar-open .sidebar .nav-tag,.layout.sidebar-open .sidebar .sidebar-foot span,.layout.sidebar-open .sidebar .sidebar-dock-text,.layout.sidebar-open .sidebar .kbd-hint{display:revert!important}.layout.sidebar-open .brand{justify-content:flex-start!important;padding:12px!important}.layout.sidebar-open .nav{padding:6px 8px 16px!important}.layout.sidebar-open .nav-item{justify-content:flex-start!important;padding:10px 12px!important;min-height:40px}.layout.sidebar-open .nav-icon{margin:0}.layout.sidebar-open .sidebar-dock{display:flex!important;padding:10px 8px calc(12px + env(safe-area-inset-bottom,0px))!important}.layout.sidebar-open .sidebar-dock-item{justify-content:flex-start!important;min-height:42px;padding:10px 12px!important}.sidebar-backdrop{z-index:70;background:#02061785;backdrop-filter:none}body.mobile-nav-open{overflow:hidden!important;touch-action:none}}@media(prefers-reduced-motion:reduce){.sk,.content-enter{animation:none!important}}.fleet-chip{border:1px solid rgba(148,163,184,.25);background:#0f172ab3;color:#cbd5e1;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.fleet-chip:hover{border-color:#60a5fa80;color:#e2e8f0}.fleet-chip.ok{border-color:#22c55e59;color:#86efac}.fleet-chip.warn{border-color:#f59e0b59;color:#fbbf24}.fleet-chip.bad{border-color:#ef444459;color:#fca5a5}.node-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0 0 14px}.node-health-card{border:1px solid rgba(148,163,184,.18);background:#0f172a8c;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.node-health-card.current{border-color:#3b82f673;box-shadow:0 0 0 1px #3b82f633}.node-health-card.ok{border-color:#22c55e40}.node-health-card.bad{border-color:#ef444447}.node-health-card.muted{opacity:.75}.node-health-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-health-meta{display:flex;gap:12px;color:#94a3b8;font-size:12px}.node-health-err{font-size:12px;color:#94a3b8;min-height:1.2em;overflow-wrap:anywhere}html[data-theme=light],body[data-theme=light]{--bg-0: #f2f3f5;--bg-1: #eef2f6;--panel: rgba(255, 255, 255, .92);--sidebar: color-mix(in srgb, #ffffff 86%, transparent);--line: rgba(15, 23, 42, .14);--line-strong: rgba(25, 118, 210, .18);--text: #05101a;--text-soft: #303133;--muted: rgba(5, 16, 26, .78);--faint: rgba(5, 16, 26, .58);--primary: #1976D2;--primary-2: #135ba1;--primary-soft: rgba(25, 118, 210, .12);--accent: var(--primary);--accent-soft: var(--primary-soft);--ok: #2f9e63;--ok-soft: rgba(47, 158, 99, .12);--warn: #cc8a23;--warn-soft: rgba(204, 138, 35, .14);--bad: #d94f4f;--bad-soft: rgba(217, 79, 79, .12);--shadow: 0 4px 14px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--surface-2: rgba(255, 255, 255, .75);--surface-3: rgba(255, 255, 255, .6);--panel-bg: linear-gradient(180deg, rgba(238, 243, 248, .88), rgba(232, 238, 245, .9));--field-bg: rgba(255, 255, 255, .7);--input-bg: rgba(255, 255, 255, .85);--control-bg: #ffffff;--row-bg: transparent;--row-hover-bg: rgba(25, 118, 210, .06);--glass-row: rgba(255, 255, 255, .55);--page-accent: none;--page-wash: none;--code-bg: #0f172a;--code-fg: #e2e8f0;color-scheme:light}html[data-theme=light] body,body[data-theme=light]{background-image:var(--page-bg-image),var(--page-bg-gradient),var(--page-accent),var(--page-wash),radial-gradient(120% 80% at 70% 18%,rgba(186,170,230,.45),transparent 55%),radial-gradient(90% 70% at 35% 30%,rgba(140,190,235,.42),transparent 60%),linear-gradient(180deg,#c9d9ef,#a8c4e8 28%,#7ea8d8 52%,#4f7fb8 72%,#2f5f98);background-color:var(--page-bg-solid);background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;color:var(--text)}html[data-theme=light] .sidebar,body[data-theme=light] .sidebar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:1px 0 #0f172a0a;border-right:1px solid rgba(15,23,42,.08);background:color-mix(in srgb,#ffffff 78%,transparent)}html[data-theme=dark],body[data-theme=dark]{--bg-0: #0a0a0a;--panel-bg: linear-gradient(180deg, rgba(22, 28, 38, .94), rgba(12, 17, 24, .95));--field-bg: rgba(255, 255, 255, .05);--input-bg: rgba(255, 255, 255, .04);--control-bg: rgba(255, 255, 255, .04);--row-hover-bg: rgba(97, 173, 255, .08);--glass-row: rgba(255, 255, 255, .03);--page-accent: none;--page-wash: none;--primary: #61adff;--primary-2: #8ac3ff;--primary-soft: rgba(97, 173, 255, .18);--accent: var(--primary);--accent-soft: var(--primary-soft);color-scheme:dark}html[data-theme=oled],body[data-theme=oled]{--bg-0: #000000;--bg-1: #050505;--panel: #141414;--sidebar: #070707;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: rgba(255, 255, 255, .96);--text-soft: rgba(255, 255, 255, .86);--muted: rgba(255, 255, 255, .7);--faint: rgba(255, 255, 255, .5);--primary: #70b6ff;--primary-2: #9fd0ff;--primary-soft: rgba(112, 182, 255, .12);--accent: var(--primary);--accent-soft: var(--primary-soft);--ok: #7bdca8;--warn: #f5c67a;--bad: #ff9696;--shadow: 0 8px 22px rgba(0, 0, 0, .42);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .36);--panel-bg: #000000;--field-bg: #0f0f0f;--input-bg: #050505;--control-bg: #050505;--row-bg: #141414;--row-hover-bg: #1a1a1a;--glass-row: #141414;--page-accent: none;--page-wash: none;color-scheme:dark}html[data-theme=oled] body,body[data-theme=oled]{background-image:var(--page-bg-image),var(--page-bg-gradient);background-color:var(--page-bg-solid);background-position:center;background-size:cover;background-repeat:no-repeat}html[data-theme=oled] .sidebar,body[data-theme=oled] .sidebar{backdrop-filter:none;box-shadow:none;background:#070707;border-right:1px solid var(--line)}.theme-switcher{display:none!important}.theme-switcher-label{font-size:12px;color:var(--muted);white-space:nowrap}.theme-btn-group{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--panel) 80%,transparent)}.theme-btn{border:0!important;border-radius:0!important;background:transparent!important;min-width:36px;padding:4px 8px!important;color:var(--muted)!important}.theme-btn+.theme-btn{border-left:1px solid var(--line)!important}.theme-btn.active{background:var(--primary-soft)!important;color:var(--primary-2)!important;font-weight:600}.theme-btn:hover{color:var(--text)!important}.overview-node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.overview-node-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}.overview-node-card.current{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}.overview-node-card.ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.overview-node-card.bad{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.overview-node-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overview-node-meta{display:flex;gap:12px;color:var(--muted);font-size:12px}.overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.overview-kpi{background:color-mix(in srgb,var(--bg-1) 80%,transparent);border:1px solid var(--line);border-radius:8px;padding:8px;min-width:0}.overview-kpi-l{display:block;font-size:11px;color:var(--muted)}.overview-kpi-v{display:block;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-ok{border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}.chip-warn{border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}.chip-muted{opacity:.85}@media(max-width:720px){.theme-switcher-label{display:none}.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}html[data-theme=light] a:hover,body[data-theme=light] a:hover{color:#1e40af}html[data-theme=light] .sidebar,body[data-theme=light] .sidebar{background:linear-gradient(180deg,rgba(37,99,235,.04),transparent 140px),var(--sidebar);color:var(--muted);border-right-color:var(--line)}html[data-theme=light] .brand,body[data-theme=light] .brand{background:linear-gradient(180deg,rgba(37,99,235,.06),transparent)}html[data-theme=light] .brand-text strong,body[data-theme=light] .brand-text strong{color:var(--text)}html[data-theme=light] .nav-group,body[data-theme=light] .nav-group{color:var(--faint)}html[data-theme=light] .nav-item,body[data-theme=light] .nav-item{color:#05101ac7}html[data-theme=light] .nav-item:hover,body[data-theme=light] .nav-item:hover{background:var(--primary-soft);color:var(--text)}html[data-theme=light] .nav-item.active,body[data-theme=light] .nav-item.active{background:color-mix(in srgb,#1976D2 12%,#ffffff);border-color:transparent;color:#135ba1;box-shadow:inset 3px 0 #1976d2;border-radius:10px}html[data-theme=light] .nav-item.active .nav-icon,body[data-theme=light] .nav-item.active .nav-icon{color:var(--primary)}html[data-theme=light] .nav-tag,body[data-theme=light] .nav-tag{color:var(--muted);border-color:#64748b59;background:#94a3b814}html[data-theme=light] .sidebar-foot,body[data-theme=light] .sidebar-foot,html[data-theme=light] .sidebar-dock,body[data-theme=light] .sidebar-dock{color:var(--faint);border-top-color:var(--line)}html[data-theme=light] .sidebar-dock-item,body[data-theme=light] .sidebar-dock-item{color:var(--muted)}html[data-theme=light] .topbar,body[data-theme=light] .topbar{background:color-mix(in srgb,#ffffff 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:#0f172a14;box-shadow:0 1px #0f172a08}html[data-theme=light] .node-select,html[data-theme=light] .node-btn,html[data-theme=light] .node-btn-empty,body[data-theme=light] .node-select,body[data-theme=light] .node-btn,body[data-theme=light] .node-btn-empty{background:linear-gradient(180deg,#fff,#f1f5f9);border-color:var(--line-strong);color:var(--text);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0a}html[data-theme=light] .node-select,body[data-theme=light] .node-select{color-scheme:light;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,rgba(5,16,26,.55) 50%),linear-gradient(135deg,rgba(5,16,26,.55) 50%,transparent 50%),linear-gradient(180deg,#fff,#f1f5f9);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px),0 0;background-size:5px 5px,5px 5px,auto;background-repeat:no-repeat,no-repeat,no-repeat}html[data-theme=light] .node-select option,html[data-theme=light] .node-select optgroup,body[data-theme=light] .node-select option,body[data-theme=light] .node-select optgroup{background-color:#fff;color:#05101a}html[data-theme=light] .node-select option:checked,body[data-theme=light] .node-select option:checked{background-color:#e8f1fb;color:#05101a}html[data-theme=light] .node-select:hover,html[data-theme=light] .node-btn:hover,html[data-theme=light] .node-btn-empty:hover,body[data-theme=light] .node-select:hover,body[data-theme=light] .node-btn:hover,body[data-theme=light] .node-btn-empty:hover{border-color:#2563eb73}html[data-theme=light] .node-select:hover,body[data-theme=light] .node-select:hover{background-color:#f8fafc;background-image:linear-gradient(45deg,transparent 50%,#1976d2 50%),linear-gradient(135deg,#1976d2 50%,transparent 50%),linear-gradient(180deg,#fff,#eef2f7);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px),0 0;background-size:5px 5px,5px 5px,auto;background-repeat:no-repeat,no-repeat,no-repeat}html[data-theme=oled] .node-select,body[data-theme=oled] .node-select{color-scheme:dark;background-color:#0f0f0f;border-color:#ffffff24;color:#fffffff5;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.55) 50%),linear-gradient(135deg,rgba(255,255,255,.55) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}html[data-theme=oled] .node-select option,html[data-theme=oled] .node-select optgroup,body[data-theme=oled] .node-select option,body[data-theme=oled] .node-select optgroup{background-color:#050505;color:#fffffff5}html[data-theme=oled] .node-select option:checked,body[data-theme=oled] .node-select option:checked{background-color:#1a1a1a;color:#fff}html[data-theme=dark] .node-select,body[data-theme=dark] .node-select{color-scheme:dark;background-color:#161c26f5;color:#ffffffeb}html[data-theme=dark] .node-select option,html[data-theme=dark] .node-select optgroup,body[data-theme=dark] .node-select option,body[data-theme=dark] .node-select optgroup{background-color:#121820;color:#ffffffeb}html[data-theme=dark] .node-select option:checked,body[data-theme=dark] .node-select option:checked{background-color:#1c2736;color:#fff}html[data-theme=light] select.input,body[data-theme=light] select.input{color-scheme:light}html[data-theme=light] select.input option,html[data-theme=light] select.input optgroup,body[data-theme=light] select.input option,body[data-theme=light] select.input optgroup{background-color:#fff;color:#05101a}html[data-theme=light] select.input option:checked,body[data-theme=light] select.input option:checked{background-color:#e8f1fb;color:#05101a}html[data-theme=oled] select.input,body[data-theme=oled] select.input{color-scheme:dark}html[data-theme=oled] select.input option,html[data-theme=oled] select.input optgroup,body[data-theme=oled] select.input option,body[data-theme=oled] select.input optgroup{background-color:#0a0a0a;color:#fffffff5}html[data-theme=oled] select.input option:checked,body[data-theme=oled] select.input option:checked{background-color:#1a1a1a;color:#fff}html[data-theme=dark] select.input,body[data-theme=dark] select.input{color-scheme:dark}html[data-theme=dark] select.input option,html[data-theme=dark] select.input optgroup,body[data-theme=dark] select.input option,body[data-theme=dark] select.input optgroup{background-color:#121820;color:#ffffffeb}html[data-theme=dark] select.input option:checked,body[data-theme=dark] select.input option:checked{background-color:#1c2736;color:#fff}html[data-theme=light] .node-url,body[data-theme=light] .node-url{color:var(--muted)}html[data-theme=light] .dot,body[data-theme=light] .dot{background:#94a3b8}html[data-theme=light] .dot-ok,body[data-theme=light] .dot-ok{box-shadow:0 0 0 4px #16a34a24}html[data-theme=light] .dot-bad,body[data-theme=light] .dot-bad{box-shadow:0 0 0 4px #dc26261f}html[data-theme=light] .dot-pending,body[data-theme=light] .dot-pending{box-shadow:0 0 0 4px #d977061f}html[data-theme=light] .page-head h2,body[data-theme=light] .page-head h2{color:var(--text)}html[data-theme=light] .card,body[data-theme=light] .card{background:color-mix(in srgb,#ffffff 78%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#ffffff8c;box-shadow:0 8px 24px #0f172a0f,inset 0 1px #ffffffa6}html[data-theme=light] .card-title,body[data-theme=light] .card-title{color:var(--text)}html[data-theme=light] .btn,body[data-theme=light] .btn{background:linear-gradient(180deg,#fff,#f1f5f9);border-color:var(--line-strong);color:var(--text-soft);box-shadow:0 1px 2px #0f172a0a}html[data-theme=light] .btn:hover,body[data-theme=light] .btn:hover{background:linear-gradient(180deg,#fff,#e8eef5);border-color:#2563eb59;color:var(--text)}html[data-theme=light] .btn-primary,body[data-theme=light] .btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:none}html[data-theme=light] .btn-primary:hover,body[data-theme=light] .btn-primary:hover{background:var(--primary);border-color:var(--primary);color:#fff;filter:brightness(1.05)}html[data-theme=light] .btn-danger,body[data-theme=light] .btn-danger{color:#b91c1c;border-color:#b91c1c59;background:linear-gradient(180deg,#fff5f5,#fee2e2)}html[data-theme=light] .btn-danger:hover,body[data-theme=light] .btn-danger:hover{background:#fecaca;border-color:#b91c1c8c;color:#7f1d1d}html[data-theme=light] .btn-ghost,body[data-theme=light] .btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}html[data-theme=light] .btn-ghost:hover,body[data-theme=light] .btn-ghost:hover{background:#0f172a0d;color:var(--text)}html[data-theme=light] .btn.is-busy:after,body[data-theme=light] .btn.is-busy:after{border-color:#0f172a33;border-top-color:var(--primary)}html[data-theme=light] .badge-ok,body[data-theme=light] .badge-ok{color:#15803d;border-color:#16a34a47}html[data-theme=light] .badge-bad,body[data-theme=light] .badge-bad{color:#b91c1c;border-color:#dc262647}html[data-theme=light] .badge-warn,body[data-theme=light] .badge-warn{color:#b45309;border-color:#d977064d}html[data-theme=light] .badge-muted,body[data-theme=light] .badge-muted{background:#64748b1a;color:#475569;border-color:#64748b47}html[data-theme=light] .badge-accent,body[data-theme=light] .badge-accent{color:#1d4ed8;border-color:#2563eb47}html[data-theme=light] .text-ok,html[data-theme=light] .stat-value.stat-ok,body[data-theme=light] .text-ok,body[data-theme=light] .stat-value.stat-ok{color:#15803d}html[data-theme=light] .text-bad,html[data-theme=light] .stat-value.stat-bad,body[data-theme=light] .text-bad,body[data-theme=light] .stat-value.stat-bad{color:#b91c1c}html[data-theme=light] .stat-value.stat-warn,body[data-theme=light] .stat-value.stat-warn{color:#b45309}html[data-theme=light] .table-wrap,body[data-theme=light] .table-wrap{background:var(--panel);border-color:var(--line)}html[data-theme=light] .data-table th,body[data-theme=light] .data-table th{color:#475569;background:#f8fafc;border-bottom-color:var(--line)}html[data-theme=light] .data-table td,body[data-theme=light] .data-table td{border-bottom-color:#0f172a0f;color:var(--text-soft)}html[data-theme=light] .data-table tr:hover td,body[data-theme=light] .data-table tr:hover td{background:#2563eb0a}html[data-theme=light] .data-table tr.row-click:hover td,body[data-theme=light] .data-table tr.row-click:hover td{background:#2563eb12}html[data-theme=light] .cell-main strong,body[data-theme=light] .cell-main strong{color:var(--text)}html[data-theme=light] .mini-table td,body[data-theme=light] .mini-table td{border-bottom-color:#0f172a14}html[data-theme=light] .warn-banner,body[data-theme=light] .warn-banner{background:#d977061a;border-color:#d9770647;color:#92400e}html[data-theme=light] .ops-alert,body[data-theme=light] .ops-alert{border-color:var(--line);background:var(--surface-2);color:var(--text-soft)}html[data-theme=light] .ops-alert-dot,body[data-theme=light] .ops-alert-dot{background:#94a3b8}html[data-theme=light] .ops-alert.ok,body[data-theme=light] .ops-alert.ok{border-color:#16a34a47;background:#16a34a14;color:#166534}html[data-theme=light] .ops-alert.warn,body[data-theme=light] .ops-alert.warn{border-color:#d977064d;background:#d9770614;color:#92400e}html[data-theme=light] .ops-alert.bad,body[data-theme=light] .ops-alert.bad{border-color:#dc26264d;background:#dc262614;color:#991b1b}html[data-theme=light] .ops-alert.muted,body[data-theme=light] .ops-alert.muted{color:var(--muted)}html[data-theme=light] .error-box,body[data-theme=light] .error-box{background:#dc262614;border-color:#dc262647;color:#991b1b}html[data-theme=light] .error-text,body[data-theme=light] .error-text,html[data-theme=light] .confirm-danger,body[data-theme=light] .confirm-danger{color:#b91c1c}html[data-theme=light] .stat-card,body[data-theme=light] .stat-card{background:linear-gradient(160deg,rgba(37,99,235,.06),transparent 55%),var(--panel);border-color:var(--line)}html[data-theme=light] a.stat-card:hover,body[data-theme=light] a.stat-card:hover{border-color:#2563eb66;box-shadow:var(--shadow-sm)}html[data-theme=light] .stat-hint,body[data-theme=light] .stat-hint{color:var(--muted)}html[data-theme=light] .status-light.ok,body[data-theme=light] .status-light.ok{box-shadow:0 0 0 6px #16a34a1f}html[data-theme=light] .status-light.bad,body[data-theme=light] .status-light.bad{box-shadow:0 0 0 6px #dc26261a}html[data-theme=light] .kv,body[data-theme=light] .kv{border-bottom-color:#0f172a14}html[data-theme=light] .chip,body[data-theme=light] .chip{background:#0f172a0a;border-color:var(--line);color:var(--text-soft)}html[data-theme=light] .chip-btn,body[data-theme=light] .chip-btn{background:var(--surface-2);border-color:var(--line-strong)}html[data-theme=light] .chip-btn:hover,body[data-theme=light] .chip-btn:hover{border-color:#2563eb73;color:var(--primary-2)}html[data-theme=light] .fleet-chip,body[data-theme=light] .fleet-chip{border-color:var(--line-strong);background:var(--panel);color:var(--text-soft)}html[data-theme=light] .fleet-chip:hover,body[data-theme=light] .fleet-chip:hover{border-color:#2563eb73;color:var(--text)}html[data-theme=light] .fleet-chip.ok,body[data-theme=light] .fleet-chip.ok{border-color:#16a34a59;color:#15803d}html[data-theme=light] .fleet-chip.warn,body[data-theme=light] .fleet-chip.warn{border-color:#d9770659;color:#b45309}html[data-theme=light] .fleet-chip.bad,body[data-theme=light] .fleet-chip.bad{border-color:#dc262659;color:#b91c1c}html[data-theme=light] .field-label,body[data-theme=light] .field-label{color:#334155}html[data-theme=light] .field-hint,body[data-theme=light] .field-hint{color:var(--muted)}html[data-theme=light] .card,body[data-theme=light] .card{background:color-mix(in srgb,#ffffff 86%,transparent);box-shadow:var(--shadow-sm)}html[data-theme=light] .btn:not(.btn-primary):not(.btn-danger),body[data-theme=light] .btn:not(.btn-primary):not(.btn-danger){background:#fff;color:var(--text-soft)}html[data-theme=light] .input,html[data-theme=light] select.input,html[data-theme=light] textarea.input,body[data-theme=light] .input,body[data-theme=light] select.input,body[data-theme=light] textarea.input{background:#fff;border-color:var(--line-strong);color:var(--text);box-shadow:inset 0 1px 2px #0f172a08}html[data-theme=light] .input:focus,html[data-theme=light] select.input:focus,html[data-theme=light] textarea.input:focus,body[data-theme=light] .input:focus,body[data-theme=light] select.input:focus,body[data-theme=light] textarea.input:focus{border-color:#2563eba6;box-shadow:0 0 0 3px #2563eb26}html[data-theme=light] .input:disabled,body[data-theme=light] .input:disabled{background:#f1f5f9;color:var(--muted)}html[data-theme=light] .sub-card,body[data-theme=light] .sub-card{background:var(--surface-2);border-color:var(--line)}html[data-theme=light] .sub-default,body[data-theme=light] .sub-default{background:var(--surface-3)}html[data-theme=light] .empty-title,body[data-theme=light] .empty-title{color:var(--text)}html[data-theme=light] .empty-hint,body[data-theme=light] .empty-hint{color:var(--muted)}html[data-theme=light] .sk,body[data-theme=light] .sk{background:linear-gradient(90deg,#0f172a0a,#0f172a17,#0f172a0a);background-size:200% 100%}html[data-theme=light] .kbd-hint,body[data-theme=light] .kbd-hint{color:var(--muted);background:var(--surface-3);border-color:var(--line)}html[data-theme=light] .crumb-sep,body[data-theme=light] .crumb-sep{color:var(--faint)}html[data-theme=light] .crumb-page,body[data-theme=light] .crumb-page{color:var(--text)}html[data-theme=light] .code-block,body[data-theme=light] .code-block{background:var(--code-bg);color:var(--code-fg);border-color:#0f172a33}html[data-theme=light] .frame-host,body[data-theme=light] .frame-host{background:var(--code-bg);border-color:var(--line)}html[data-theme=light] .raw-details,body[data-theme=light] .raw-details{background:var(--surface-2);border-color:var(--line)}html[data-theme=light] .modal-overlay,body[data-theme=light] .modal-overlay{background:#0f172a73}html[data-theme=light] .modal,body[data-theme=light] .modal{background:linear-gradient(180deg,rgba(37,99,235,.05),transparent 80px),var(--panel);border-color:var(--line-strong);box-shadow:0 12px 28px #0f172a1a}html[data-theme=light] .modal-head h3,html[data-theme=light] .drawer-title h3,html[data-theme=light] .drawer-head h3,body[data-theme=light] .modal-head h3,body[data-theme=light] .drawer-title h3,body[data-theme=light] .drawer-head h3,html[data-theme=light] .modal-x:hover,html[data-theme=light] .toast-x:hover,body[data-theme=light] .modal-x:hover,body[data-theme=light] .toast-x:hover{color:var(--text)}html[data-theme=light] .modal-body .card,body[data-theme=light] .modal-body .card{background:var(--surface-2)}html[data-theme=light] .form-section,body[data-theme=light] .form-section{background:color-mix(in srgb,#ffffff 92%,var(--bg-1));border-color:var(--line);box-shadow:0 1px #0f172a08}html[data-theme=light] .form-section-head h4,body[data-theme=light] .form-section-head h4{color:var(--text)}html[data-theme=light] .form-section-hint,body[data-theme=light] .form-section-hint{color:var(--muted)}html[data-theme=light] .modal-foot,html[data-theme=light] .drawer-foot,body[data-theme=light] .modal-foot,body[data-theme=light] .drawer-foot{background:var(--surface-3)}html[data-theme=light] .drawer-overlay,body[data-theme=light] .drawer-overlay{background:#0f172a66}html[data-theme=light] .drawer,body[data-theme=light] .drawer{background:var(--panel);border-left-color:var(--line-strong);box-shadow:-12px 0 40px #0f172a1f}html[data-theme=light] .drawer-head,body[data-theme=light] .drawer-head{background:linear-gradient(180deg,rgba(37,99,235,.05),transparent)}html[data-theme=light] .sidebar-backdrop,body[data-theme=light] .sidebar-backdrop{background:#0f172a59}html[data-theme=light] .toast,body[data-theme=light] .toast{background:#1e293b;color:#f8fafc;border-color:#0f172a33}html[data-theme=light] .toast-ok,body[data-theme=light] .toast-ok{background:linear-gradient(180deg,#166534,#14532d);border-color:#16a34a66}html[data-theme=light] .toast-error,body[data-theme=light] .toast-error{background:linear-gradient(180deg,#991b1b,#7f1d1d);border-color:#dc262666}html[data-theme=light] .toast-warn,body[data-theme=light] .toast-warn{background:linear-gradient(180deg,#92400e,#78350f);border-color:#d9770666}html[data-theme=light] .tab:hover,body[data-theme=light] .tab:hover{color:var(--text);background:#0f172a0a}html[data-theme=light] .tab.active,body[data-theme=light] .tab.active{color:var(--primary-2);border-bottom-color:var(--primary)}html[data-theme=light] .node-health-card,body[data-theme=light] .node-health-card{border-color:var(--line);background:var(--panel);box-shadow:0 1px 2px #0f172a0a}html[data-theme=light] .node-health-card.current,body[data-theme=light] .node-health-card.current{border-color:#2563eb66;box-shadow:0 0 0 1px #2563eb2e}html[data-theme=light] .node-health-card.ok,body[data-theme=light] .node-health-card.ok{border-color:#16a34a4d}html[data-theme=light] .node-health-card.bad,body[data-theme=light] .node-health-card.bad{border-color:#dc26264d}html[data-theme=light] .node-health-meta,html[data-theme=light] .node-health-err,body[data-theme=light] .node-health-meta,body[data-theme=light] .node-health-err{color:var(--muted)}html[data-theme=light] .overview-node-card,body[data-theme=light] .overview-node-card{background:var(--panel);border-color:var(--line)}html[data-theme=light] .overview-kpi,body[data-theme=light] .overview-kpi{background:var(--surface-3);border-color:var(--line)}html[data-theme=light] .theme-btn-group,body[data-theme=light] .theme-btn-group{background:#fff;border-color:var(--line-strong)}html[data-theme=light] .theme-btn.active,body[data-theme=light] .theme-btn.active{background:var(--primary-soft)!important;color:var(--primary-2)!important}html[data-theme=light] .timeline li,body[data-theme=light] .timeline li{border-bottom-color:#0f172a14}.fleet-strip{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.fleet-strip-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.fleet-strip-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.fleet-strip-card{text-align:left;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-1) 85%,transparent);border-radius:8px;padding:6px 8px;cursor:pointer;color:inherit;font:inherit}.fleet-strip-card.current{border-color:color-mix(in srgb,var(--primary) 50%,var(--line))}.fleet-strip-card.ok{border-color:color-mix(in srgb,var(--ok) 30%,var(--line))}.fleet-strip-card.bad{border-color:color-mix(in srgb,var(--bad) 30%,var(--line))}.fleet-strip-name{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.module-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.module-overview-card{display:block;border:1px solid var(--line);border-radius:10px;padding:12px;background:color-mix(in srgb,var(--bg-1) 70%,var(--panel));color:inherit;text-decoration:none}.module-overview-card.tone-ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.module-overview-card.tone-warn{border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.module-overview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.module-overview-metrics{margin:0;padding-left:16px;color:var(--text-soft);font-size:12px}.module-overview-metrics li{margin:2px 0}html[data-theme=light] .fleet-strip,body[data-theme=light] .fleet-strip{background:var(--panel);border-color:var(--line);box-shadow:0 1px 2px #0f172a0a}html[data-theme=light] .fleet-strip-card,body[data-theme=light] .fleet-strip-card{background:var(--surface-2, #f8fafc);border-color:var(--line);color:var(--text)}html[data-theme=light] .fleet-strip-card.current,body[data-theme=light] .fleet-strip-card.current{border-color:#2563eb73;box-shadow:0 0 0 1px #2563eb26}html[data-theme=light] .module-overview-card,body[data-theme=light] .module-overview-card{background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:0 1px 2px #0f172a0a}html[data-theme=light] .module-overview-metrics,body[data-theme=light] .module-overview-metrics{color:var(--muted)}.history-panel{display:flex;flex-direction:column;gap:8px}.history-chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}.history-spark-card{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,transparent);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.history-spark-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.history-spark{display:block;width:100%;height:56px;border-radius:6px;background:color-mix(in srgb,var(--bg) 70%,transparent)}html[data-theme=light] .history-spark-card,body[data-theme=light] .history-spark-card{background:var(--panel);box-shadow:0 1px 2px #0f172a0a}.compose-progress-bar{height:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden;margin:8px 0}.compose-progress-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent, #5b9dff),color-mix(in srgb,var(--ok) 70%,#5b9dff));transition:width .35s ease}.ok-text{color:var(--ok)}.list-shell{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0}.list-shell--card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-bg, var(--panel));box-shadow:var(--shadow-sm);padding:10px 12px 12px}.list-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.list-toolbar .input[type=search],.list-toolbar input[type=search]{flex:1 1 180px;min-width:140px;max-width:320px}.list-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.list-body{min-width:0;width:100%}.list-shell .table-wrap{margin-top:4px}.list-shell .data-table{min-width:640px}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin-bottom:4px}.summary-card{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--panel-bg, color-mix(in srgb, var(--primary) 8%, var(--panel)));min-width:0;display:flex;flex-direction:column;gap:2px;box-shadow:var(--shadow-sm)}.summary-card .summary-label{font-size:11.5px;color:var(--muted);font-weight:550}.summary-card .summary-value{font-size:18px;font-weight:700;color:var(--text);line-height:1.2;font-variant-numeric:tabular-nums}.summary-card .summary-hint{font-size:11px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-card.tone-ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 28%,var(--line))}.summary-card.tone-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 28%,var(--line))}.summary-card.tone-bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 28%,var(--line))}.summary-card.tone-muted{background:color-mix(in srgb,var(--panel) 90%,transparent)}.page-head.compact{margin-bottom:10px}.page-head.compact h2{font-size:16px}.table-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.table-toolbar .input{flex:1 1 160px;max-width:280px}.toolbar-spacer{flex:1 1 auto;min-width:8px}.table-count{white-space:nowrap}::selection{background:color-mix(in srgb,var(--primary) 35%,transparent);color:var(--text)}.content,.drawer-body,.modal-body,.table-wrap,.crs-grid,.timeline,.code-block,.nav{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 35%,var(--line)) transparent}.content::-webkit-scrollbar,.drawer-body::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,.nav::-webkit-scrollbar{width:var(--scrollbar-w, 4px);height:var(--scrollbar-w, 4px)}.content::-webkit-scrollbar-thumb,.drawer-body::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb,.nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:20px;border:0}.content::-webkit-scrollbar-thumb:hover,.drawer-body::-webkit-scrollbar-thumb:hover,.modal-body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 45%,var(--line))}.nav-item{position:relative;padding:5px 8px 5px 10px}.nav-item.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:0 2px 2px 0;background:var(--primary);box-shadow:none}.nav-item:active{transform:none}.nav-group{margin-top:4px;padding-top:4px}.topbar{box-shadow:none}.btn{transition:background .12s ease,border-color .12s ease,color .12s ease,filter .12s ease}.btn:hover:not(:disabled){transform:none}.btn:active:not(:disabled){transform:none;filter:brightness(.96)}.btn-primary,.btn-primary:hover{box-shadow:none}.theme-btn:focus-visible,.modal-x:focus-visible,.toast-x:focus-visible,.summary-card:focus-visible,.data-table tr.row-click:focus-visible td,.fleet-chip:focus-visible,.sidebar-toggle:focus-visible,button:focus-visible,a.nav-item:focus-visible,details>summary:focus-visible{outline:2px solid var(--primary-2);outline-offset:2px}.tab{padding:7px 12px;font-size:13px;transition:color .14s ease,background .14s ease,border-color .14s ease}.tab.active{color:var(--primary-2);border-bottom-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);box-shadow:inset 0 -2px 0 var(--primary)}.summary-card{transition:border-color .15s ease,background .15s ease,transform .12s ease,box-shadow .15s ease}.summary-card:hover{border-color:color-mix(in srgb,var(--primary) 22%,var(--line));transform:none;box-shadow:var(--shadow-sm)}.summary-card .summary-value{letter-spacing:-.02em}.data-table tbody tr:nth-child(2n) td,.data-table tbody tr.glass-row td{background:var(--glass-row, color-mix(in srgb, var(--panel) 55%, transparent))}.data-table tr:hover td{background:var(--row-hover-bg, color-mix(in srgb, var(--primary) 8%, transparent))!important}.data-table th{letter-spacing:.01em;text-transform:none;box-shadow:0 1px 0 var(--line)}.table-wrap{border-radius:var(--control-radius);background:color-mix(in srgb,var(--panel) 55%,transparent)}.input:hover:not(:disabled):not(:focus),select.input:hover:not(:disabled):not(:focus),textarea.input:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}.modal-overlay,.drawer-overlay{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0206178c}.modal,.drawer{box-shadow:0 8px 24px #00000047}.modal-head h3,.drawer-head h3,.drawer-title h3{letter-spacing:-.01em}.drawer-body .form-section{border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 55%,transparent)}.form-section-head h4{font-size:12.5px;letter-spacing:.02em;color:var(--text-soft)}.list-shell--card{transition:border-color .15s ease,box-shadow .15s ease}.list-shell--card:focus-within{border-color:color-mix(in srgb,var(--primary) 22%,var(--line))}.chip{transition:background .12s ease,border-color .12s ease}.badge{font-variant-numeric:tabular-nums}.toast{backdrop-filter:none;box-shadow:0 6px 16px #00000038}@keyframes content-in{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head.compact{align-items:center;margin-bottom:12px;padding-bottom:2px}.page-head.compact .page-actions,.page-actions{gap:6px}.node-select{transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.node-select:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.node-select:focus-visible{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.fleet-chip{transition:border-color .14s ease,color .14s ease,background .14s ease,transform .1s ease}.fleet-chip:hover{transform:none}.stat-grid .stat-card,.stat-tile,.overview-kpi{transition:border-color .14s ease,background .14s ease,transform .12s ease}.stat-grid .stat-card:hover,.overview-kpi:hover{border-color:color-mix(in srgb,var(--primary) 22%,var(--line));transform:none}html[data-theme=light] .nav-item.active:before,body[data-theme=light] .nav-item.active:before{background:var(--primary);box-shadow:none}html[data-theme=light] .modal-overlay,body[data-theme=light] .modal-overlay,html[data-theme=light] .drawer-overlay,body[data-theme=light] .drawer-overlay{background:color-mix(in srgb,#0f172a 28%,transparent)}html[data-theme=light] .data-table tbody tr:nth-child(2n) td,body[data-theme=light] .data-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,#f8fafc 80%,transparent)}html[data-theme=light] .btn:hover:not(:disabled),body[data-theme=light] .btn:hover:not(:disabled){transform:none}html[data-theme=oled] .nav-item.active:before,body[data-theme=oled] .nav-item.active:before{box-shadow:none}@media(prefers-reduced-motion:reduce){.btn:hover:not(:disabled),.btn:active:not(:disabled),.summary-card:hover,.fleet-chip:hover,.stat-grid .stat-card:hover,.overview-kpi:hover,.nav-item:active{transform:none!important}}@media(max-width:900px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head.compact h2{font-size:15px}.list-shell--card{padding:8px 10px 10px}.btn:hover:not(:disabled){transform:none}}.top-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:2000;pointer-events:none;opacity:0;background:transparent;transition:opacity .15s ease}.top-progress.is-on{opacity:1;background:linear-gradient(90deg,transparent 0%,var(--primary) 30%,var(--primary-2) 50%,var(--primary) 70%,transparent 100%);background-size:220% 100%;animation:top-progress-slide .9s linear infinite;box-shadow:0 0 12px color-mix(in srgb,var(--primary) 55%,transparent)}@keyframes top-progress-slide{0%{background-position:100% 0}to{background-position:-100% 0}}body.page-loading .btn-refresh,body.page-loading #btn-refresh{opacity:.75}body.overlay-open{overflow:hidden!important}body.overlay-open .content{overscroll-behavior:none}.drawer.drawer-out{animation:drawer-out .16s ease-in forwards}.drawer-overlay.drawer-out{opacity:0;transition:opacity .16s ease}@keyframes drawer-out{to{transform:translate(28px);opacity:0}}.toast{opacity:0;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}.toast.toast-in{opacity:1;transform:none}.brand-mark{transition:box-shadow .2s ease,transform .15s ease;font-weight:700;letter-spacing:-.02em}.brand:hover .brand-mark{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 45%,transparent),0 0 18px color-mix(in srgb,var(--primary) 35%,transparent)}.crumb{align-items:baseline;gap:6px}.crumb-sep-soft{opacity:.55;margin:0 1px}.crumb-group{font-weight:500;opacity:.85}.loading{padding:16px 12px;border:1px dashed color-mix(in srgb,var(--line) 90%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 40%,transparent)}.spinner{width:16px;height:16px;border-width:2px}.stat-card{padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,var(--primary-soft))}.stat-value{font-size:22px;color:var(--text);line-height:1.15}.stat-label{font-size:11.5px;font-weight:550}a.stat-card:hover,.stat-card:hover{border-color:color-mix(in srgb,var(--primary) 32%,var(--line))}.history-spark-card{transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.history-spark-card:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));transform:translateY(-1px);box-shadow:0 8px 18px #00000029}.history-spark{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 8%,transparent),transparent),color-mix(in srgb,var(--bg-0) 70%,transparent)}.compose-progress-fill{position:relative;overflow:hidden}.compose-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-120%);animation:compose-shimmer 1.2s ease-in-out infinite}@keyframes compose-shimmer{to{transform:translate(120%)}}.modal-head h3,.drawer-title h3,.drawer-head h3{color:var(--text);font-size:15px;font-weight:700}.modal-foot,.drawer-foot{background:color-mix(in srgb,var(--panel) 70%,transparent);gap:8px;padding:10px 14px}.modal-body{padding:14px 16px}.drawer-body,.modal-head,.drawer-head{padding:12px 14px}.code-block{background:color-mix(in srgb,var(--bg-0) 92%,#000);border-radius:8px}.warn-banner{border-radius:10px;border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line));background:var(--warn-soft);padding:10px 12px;font-size:13px;line-height:1.5}.error-box{border-radius:10px}#last-refresh,.muted-sm{font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}.topbar-right{gap:8px}.topbar-right .btn{min-height:28px;padding:4px 10px;font-size:12.5px}.nav{mask-image:none}.page-skeleton .card.sk-card{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:color-mix(in srgb,var(--panel) 80%,transparent)}.page-skeleton .sk-stat{background:color-mix(in srgb,var(--panel) 85%,transparent)}html[data-theme=light] .stat-value,body[data-theme=light] .stat-value{color:var(--text)}html[data-theme=light] .top-progress.is-on,body[data-theme=light] .top-progress.is-on{box-shadow:0 0 10px color-mix(in srgb,var(--primary) 40%,transparent)}html[data-theme=light] .loading,body[data-theme=light] .loading{background:color-mix(in srgb,#fff 70%,var(--panel))}html[data-theme=oled] .stat-card,body[data-theme=oled] .stat-card{background:#0a0a0a;border-color:color-mix(in srgb,var(--primary) 22%,#222)}@media(prefers-reduced-motion:reduce){.top-progress.is-on,.compose-progress-fill:after,.toast,.drawer.drawer-out{animation:none!important;transition:none!important}.history-spark-card:hover{transform:none}}.glass-row td,tr.glass-row td{background:var(--glass-row)!important}.input:disabled,select.input:disabled,textarea.input:disabled{background:color-mix(in srgb,var(--field-bg) 70%,transparent)}.btn{min-height:var(--control-h);border-radius:var(--control-radius)}.btn-sm{border-radius:var(--control-radius)}.list-shell--card,.card,.summary-card{border-radius:var(--radius)}html[data-theme=light] .card,body[data-theme=light] .card,html[data-theme=light] .list-shell--card,body[data-theme=light] .list-shell--card{background:var(--panel-bg, rgba(255, 255, 255, .92));box-shadow:var(--shadow-sm)}html[data-theme=light] .input,html[data-theme=light] select.input,html[data-theme=light] textarea.input,body[data-theme=light] .input,body[data-theme=light] select.input,body[data-theme=light] textarea.input{background:var(--input-bg);border-color:#0f172a26}html[data-theme=oled] .input,html[data-theme=oled] select.input,html[data-theme=oled] textarea.input,body[data-theme=oled] .input,body[data-theme=oled] select.input,body[data-theme=oled] textarea.input{background:var(--input-bg);border-color:#ffffff24}html[data-theme=oled] .list-shell--card,body[data-theme=oled] .list-shell--card,html[data-theme=oled] .card,body[data-theme=oled] .card{background:var(--panel-bg, #000);box-shadow:none}html[data-theme=oled] .summary-card,body[data-theme=oled] .summary-card{background:#141414}.btn:hover:not(:disabled),.summary-card:hover,.fleet-chip:hover,.stat-grid .stat-card:hover,.overview-kpi:hover{transform:none!important}.auth-gate{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px 16px;padding-top:max(24px,env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--bg-0) 92%,#000);overflow:auto}.auth-gate[hidden]{display:none!important}body.auth-locked .layout,body.auth-booting .layout,#app-shell[data-auth-pending="1"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;user-select:none!important}body.auth-booting .auth-gate:not([hidden]){background:color-mix(in srgb,var(--bg-0, #121212) 92%,#000)}body.auth-booting .auth-gate:empty:before{content:"加载中…";color:var(--muted, #9aa0a6);font-size:13px;letter-spacing:.02em}.auth-panel{width:min(400px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 20px 18px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}.auth-brand strong{display:block;font-size:15px;color:var(--text)}.auth-sub{font-size:12px;color:var(--muted);margin-top:2px}.auth-title{margin:0 0 14px;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.01em}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.auth-field .input{width:100%;min-height:var(--control-h)}.auth-form [hidden]{display:none!important}.auth-submit{width:100%;min-height:36px;margin-top:4px;justify-content:center}.auth-error{border:1px solid color-mix(in srgb,var(--bad) 40%,var(--line));background:var(--bad-soft);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.4}.auth-note{margin:14px 0 0;font-size:12px;color:var(--faint);line-height:1.45}.auth-user-box{display:none!important}.auth-user-label{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted);line-height:1.2;padding:0 2px}@media(max-width:900px){.auth-user-label{max-width:72px}.auth-panel{padding:18px 14px 14px}}.jobs-editor{display:flex;flex-direction:column;gap:4px}.jobs-row.form-grid{grid-template-columns:minmax(120px,160px) 1fr auto;gap:10px;padding:8px 10px;border:1px solid var(--border, rgba(127,127,127,.25));border-radius:8px;background:var(--surface-2, var(--panel-bg, transparent))}.jobs-row .btn{align-self:end;margin-bottom:2px}input.file-input,input[type=file].file-input{display:block;width:100%;max-width:100%;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:10px;background:#ffffff08;color:var(--text);font:inherit}input.file-input::file-selector-button{margin-right:10px;border:0;border-radius:8px;padding:6px 10px;background:var(--primary-soft);color:var(--text);cursor:pointer;font:inherit}.nav-icon-svg{width:16px;height:16px;display:inline-block;flex:0 0 auto;opacity:.92}.nav-item.active .nav-icon-svg{opacity:1;color:var(--primary-2)}body[data-theme=light] .nav-item.active .nav-icon-svg{color:var(--primary)}.nav-item{gap:10px}.list-page .page-head.compact,.page.list-page .page-head{margin-bottom:8px}.list-page .summary-strip{gap:6px;margin-bottom:8px}.list-page .summary-card{padding:8px 10px}.list-page .summary-card .summary-value{font-size:16px}.list-page .list-shell--card{padding:8px 10px 10px;gap:8px}.list-page .list-toolbar{gap:6px;padding:0 0 6px}.list-page .data-table{font-size:12.5px}.list-page .data-table th{padding:6px 8px;font-size:11.5px}.list-page .data-table td{padding:6px 8px}.list-page .btn-row,.list-page .row-actions{gap:4px}.list-page .btn-sm{padding:3px 8px;font-size:12px}.list-page .cell-sub{font-size:11.5px}.list-page-stack{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}.list-page-stack>.list-shell,.list-page-stack>.panel,.list-page-stack>.section{min-width:0}.list-page .page-head{margin-bottom:8px;gap:6px}.list-page .page-head h2{font-size:16px;letter-spacing:0;font-weight:700}.list-page-nested{margin:0;padding:0;min-width:0;width:100%}.list-page-nested-actions{justify-content:flex-end;margin-bottom:6px}.list-page .summary-strip,.list-page .stat-grid.summary-strip,.summary-strip{gap:6px;margin-bottom:8px}.list-page .list-shell,.list-page .panel{border-radius:10px}.list-page .table th,.list-page .table td,.list-page table th,.list-page table td{padding-top:6px;padding-bottom:6px}.list-page .btn-row{gap:5px}.list-page .section-title{margin:2px 0;font-size:13px;font-weight:600}.list-page .form-section{margin-bottom:6px}.list-page .hint{font-size:12px;line-height:1.35}.nav-group{padding:6px 8px 2px;margin-top:2px}.nav-group+.nav-item,.nav-group+a.nav-item{margin-top:0}.page-head.compact{margin-bottom:6px;padding-bottom:0;gap:6px}.page-actions{gap:5px;flex-wrap:wrap;align-items:center}.page-sub{margin-top:2px}.overview-body.list-page-stack,.overview-body{gap:8px}.overview-body>.hint{margin:0}.page .stat-grid.overview-section,.form-section-body>.stat-grid.overview-section{gap:6px;margin-bottom:0}.stat-grid .stat-card,.overview-section .stat-card{padding:8px 10px;gap:2px;border-radius:8px}.fleet-strip{margin-bottom:6px;padding:6px 8px}.fleet-strip-head{margin-bottom:4px;gap:6px}.fleet-strip-cards{gap:5px}.module-overview-grid{gap:6px}.module-overview-card{padding:8px 10px;border-radius:8px}.module-overview-head{margin-bottom:4px}.history-panel .btn-row{margin-bottom:6px}.meta-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 10px;margin:0 0 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 90%,transparent);font-size:12px;color:var(--muted);line-height:1.35}.meta-strip strong{color:var(--text-soft);font-weight:600}.meta-strip .mono{font-size:11.5px}.meta-strip-item{display:inline-flex;align-items:center;gap:4px;min-width:0}.meta-strip-sep{width:1px;height:12px;background:var(--line);flex:0 0 auto}.history-toolbar{margin-bottom:6px;flex-wrap:wrap;gap:5px}html[data-theme=light] .main,body[data-theme=light] .main,html[data-theme=light] .content,body[data-theme=light] .content{background:transparent}html[data-theme=light] .list-page,body[data-theme=light] .list-page,html[data-theme=light] .list-shell,body[data-theme=light] .list-shell,html[data-theme=light] .panel,body[data-theme=light] .panel,html[data-theme=light] .section,body[data-theme=light] .section,html[data-theme=light] .form-section,body[data-theme=light] .form-section,html[data-theme=light] .summary-strip>*,body[data-theme=light] .summary-strip>*,html[data-theme=light] .stat-tile,body[data-theme=light] .stat-tile{background:color-mix(in srgb,#ffffff 76%,transparent)!important;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#ffffff80;box-shadow:0 6px 18px #0f172a0d}html[data-theme=light] .page-head,body[data-theme=light] .page-head{margin-bottom:10px}html[data-theme=light] .page-head h2,body[data-theme=light] .page-head h2{font-size:18px;font-weight:650;letter-spacing:.01em}html[data-theme=light] .table,body[data-theme=light] .table,html[data-theme=light] .search-table,body[data-theme=light] .search-table{background:color-mix(in srgb,#ffffff 70%,transparent);border-radius:12px}.ddns-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.ddns-search-wrap{flex:1 1 240px;min-width:180px}.ddns-search-wrap .search-input,.ddns-search-wrap input{width:100%;min-height:var(--control-h);border-radius:999px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--panel, #161616) 88%,transparent);color:var(--text);padding:6px 14px}.task-card-list{display:flex;flex-direction:column;gap:12px}.task-card{padding:0!important;overflow:visible}.task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;user-select:none}.task-card-main{min-width:0;flex:1 1 auto}.task-card-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-chevron{color:var(--muted);width:1em;display:inline-block}.task-card-title{font-size:15px;font-weight:650}.task-card-sub{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:12px}.dot-sep{opacity:.55}.task-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.task-card-body{padding:0 14px 14px;border-top:1px solid var(--line)}.task-section{margin-top:12px}.task-section-title{font-size:13px;font-weight:650;margin-bottom:8px;color:var(--text-soft)}.ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:900px){.ip-grid{grid-template-columns:1fr}}.ip-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--panel, #161616) 92%,transparent)}.ip-card-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.ip-card-meta{margin-left:auto;color:var(--muted);font-size:12px}.ip-card-value{font-size:15px;font-weight:600;word-break:break-all}.ip-card-sub{margin-top:4px;color:var(--muted);font-size:12px}.rec-list{display:flex;flex-direction:column;gap:8px}.rec-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel, #161616) 92%,transparent)}.rec-handle{color:var(--faint);cursor:grab}.rec-domain{min-width:72px;font-weight:600}.rec-link{color:var(--primary);text-decoration:none}.rec-link:hover{text-decoration:underline}.rec-value{margin-left:auto;text-align:right;min-width:160px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:min(420px,46vw)}.rec-value .mono{word-break:break-all}.rec-value .cell-sub{font-size:12px;color:var(--muted);line-height:1.25}.rec-ttl{color:var(--muted);min-width:1.2em;text-align:center}.empty-inline{color:var(--muted);font-size:13px;padding:8px 2px}.global-cfg-embed{display:flex;flex-direction:column;gap:8px}.ws-rule-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-rule-domain{min-width:140px;flex:1 1 160px;font-weight:600;word-break:break-all}.ws-rule-domain.is-muted{color:var(--muted);font-weight:500}.ws-rule-backend{min-width:120px;flex:1 1 140px;color:var(--text-soft);display:flex;flex-direction:column;gap:2px}.hint-stack{display:flex;flex-direction:column;gap:10px}.switch-wrap{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.pf-rule-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pf-traffic{margin-left:auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.ddns-search-wrap .search-input,.ddns-search-wrap input{background:color-mix(in srgb,var(--panel, #141414) 88%,transparent);color:var(--text);border-color:var(--line-strong)}.ip-card,.rec-row{background:color-mix(in srgb,var(--panel, #161616) 92%,transparent);border-color:var(--line);color:var(--text)}.ip-card-value,.rec-domain,.rec-value .mono{color:var(--text)}.task-card-body{border-top-color:var(--line)}.task-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:none}html[data-theme=light] .ddns-search-wrap .search-input,html[data-theme=light] .ddns-search-wrap input,body[data-theme=light] .ddns-search-wrap .search-input,body[data-theme=light] .ddns-search-wrap input{background:color-mix(in srgb,#ffffff 82%,transparent)}html[data-theme=light] .ip-card,html[data-theme=light] .rec-row,body[data-theme=light] .ip-card,body[data-theme=light] .rec-row{background:color-mix(in srgb,#ffffff 72%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme=dark] .ip-card,html[data-theme=dark] .rec-row,body[data-theme=dark] .ip-card,body[data-theme=dark] .rec-row,html[data-theme=oled] .ip-card,html[data-theme=oled] .rec-row,body[data-theme=oled] .ip-card,body[data-theme=oled] .rec-row{background:color-mix(in srgb,#1a1d24 88%,transparent);border-color:color-mix(in srgb,#ffffff 10%,transparent)}html[data-theme=dark] .task-card,body[data-theme=dark] .task-card,html[data-theme=oled] .task-card,body[data-theme=oled] .task-card{background:color-mix(in srgb,#12151c 94%,transparent);border-color:color-mix(in srgb,#ffffff 8%,transparent)}html[data-theme=dark] .ddns-search-wrap .search-input,html[data-theme=dark] .ddns-search-wrap input,body[data-theme=dark] .ddns-search-wrap .search-input,body[data-theme=dark] .ddns-search-wrap input,html[data-theme=oled] .ddns-search-wrap .search-input,html[data-theme=oled] .ddns-search-wrap input,body[data-theme=oled] .ddns-search-wrap .search-input,body[data-theme=oled] .ddns-search-wrap input{background:color-mix(in srgb,#1a1d24 90%,transparent);border-color:color-mix(in srgb,#ffffff 12%,transparent);color:var(--text)}.ws-rule-row.is-default{background:color-mix(in srgb,var(--primary) 10%,transparent)}html[data-theme=dark] .ws-rule-row,body[data-theme=dark] .ws-rule-row,html[data-theme=oled] .ws-rule-row,body[data-theme=oled] .ws-rule-row{background:color-mix(in srgb,#1a1d24 88%,transparent)}.ddns-lucky-layout{gap:12px}.ddns-toolbar{margin-bottom:2px}.lucky-task-card{border-radius:16px;overflow:visible}.lucky-task-card .task-card-head{padding:14px 16px}.lucky-task-card .task-card-body{padding:0 16px 16px}.lucky-task-card .task-section-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:650}.lucky-task-card .task-section-title:before{content:"";width:3px;height:12px;border-radius:2px;background:var(--primary);display:inline-block}.ip-card-value-wrap{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-0, #0a0a0a) 35%,transparent);text-align:center}html[data-theme=light] .ip-card-value-wrap,body[data-theme=light] .ip-card-value-wrap{background:color-mix(in srgb,#ffffff 70%,transparent)}.ip-card-value-wrap .ip-card-value{font-size:15px;font-weight:650}.ip-card-value-wrap .ip-card-sub{margin-top:4px;justify-content:center}.rec-pill{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel, #161616) 80%,transparent);font-size:12px;font-weight:600}html[data-theme=light] .rec-pill,body[data-theme=light] .rec-pill{background:color-mix(in srgb,#ffffff 78%,transparent)}a.rec-pill{color:var(--primary);text-decoration:none}.rec-value-chip{padding:6px 10px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel, #161616) 88%,transparent);min-width:180px}html[data-theme=light] .rec-value-chip,body[data-theme=light] .rec-value-chip{background:color-mix(in srgb,#ffffff 82%,transparent)}.rec-row{padding:8px 12px;gap:8px}.lucky-switch .checkbox{width:36px;height:20px;appearance:none;border-radius:999px;background:color-mix(in srgb,#64748b 55%,transparent);position:relative;cursor:pointer;border:0;outline:none;transition:background .15s ease}.lucky-switch .checkbox:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.lucky-switch .checkbox:checked{background:color-mix(in srgb,var(--primary) 85%,#22c55e)}.lucky-switch .checkbox:checked:after{transform:translate(16px)}.more-menu{position:relative;display:inline-flex}.more-menu-btn{min-width:32px;padding-inline:8px!important;letter-spacing:1px;font-weight:700}.more-menu-panel{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:148px;padding:6px;border-radius:12px;border:1px solid var(--line-strong);background:var(--panel, #151515);box-shadow:0 12px 28px #00000047;z-index:30}.more-menu.is-open .more-menu-panel{display:flex;flex-direction:column;gap:2px}.more-menu-item{border:0;background:transparent;color:var(--text);text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px}.more-menu-item:hover{background:color-mix(in srgb,var(--primary) 14%,transparent)}.more-menu-item.is-danger{color:var(--bad, #ef4444)}html[data-theme=light] .more-menu-panel,body[data-theme=light] .more-menu-panel{background:#fff;box-shadow:0 12px 28px #0f172a1f}.list-page .summary-card{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:72px;border-radius:14px}.list-page .summary-card .summary-value{order:-1;font-size:22px;font-weight:700;line-height:1.1}.list-page .summary-card .summary-label{font-size:12px;color:var(--muted)}.list-page .summary-card .summary-hint{font-size:11px;opacity:.85}.crumb-group[hidden],.crumb-sep[hidden]{display:none!important}.ddns-popmenu{position:fixed!important;z-index:10000!important;display:flex!important;flex-direction:column;gap:2px;min-width:168px;padding:6px;margin:0;border-radius:12px;border:1px solid var(--line-strong, rgba(100,116,139,.35));background:#fff;color:var(--text, #0f172a);box-shadow:0 14px 34px #0f172a2e;overflow:visible;pointer-events:auto}html[data-theme=dark] .ddns-popmenu,body[data-theme=dark] .ddns-popmenu,html[data-theme=oled] .ddns-popmenu,body[data-theme=oled] .ddns-popmenu{background:#1a1d24;color:var(--text, #e5e7eb);border-color:color-mix(in srgb,#ffffff 12%,transparent);box-shadow:0 14px 34px #00000073}.ddns-popmenu-item{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;line-height:1.3;width:100%}.ddns-popmenu-item:hover,.ddns-popmenu-item:focus-visible{background:color-mix(in srgb,var(--primary, #3b82f6) 14%,transparent);outline:none}.ddns-popmenu-item.is-danger{color:var(--bad, #ef4444)}.lf-dropdown{position:relative;display:block;width:100%;min-width:0}.lf-dropdown-native{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none;top:0;left:0}.lf-dropdown-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;cursor:pointer;text-align:left}.lf-dropdown-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lf-dropdown-caret{flex:0 0 auto;font-size:10px;line-height:1;color:var(--muted);transition:transform .15s ease}.lf-dropdown.is-open .lf-dropdown-caret{transform:rotate(180deg)}.lf-dropdown.is-open .lf-dropdown-btn{border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.lf-dropdown-menu{min-width:180px;padding:4px;gap:0;border-radius:10px}.lf-dropdown-item{padding:7px 10px;font-size:13px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lf-dropdown-item.is-selected{background:color-mix(in srgb,var(--primary, #3b82f6) 16%,transparent);color:var(--text, #0f172a);font-weight:600}.lf-dropdown-item.is-selected:after{content:"✓";float:right;margin-left:12px;color:var(--primary, #3b82f6)}html[data-theme=light] .lf-dropdown-item.is-selected,body[data-theme=light] .lf-dropdown-item.is-selected{background:#e8f1fb;color:#05101a}html[data-theme=light] .lf-dropdown-item.is-selected:after,body[data-theme=light] .lf-dropdown-item.is-selected:after{color:#2563eb}.task-card,.lucky-task-card,.task-card-list,.task-card-body,.rec-list,.rec-row,.list-page-stack,.ddns-lucky-layout{overflow:visible!important}.ws-lucky-layout{gap:12px}.ws-card-list{gap:14px}.ws-service-card .task-card-head{align-items:center}.ws-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;display:inline-block}.ws-meta-row{gap:8px!important;align-items:center}.ws-chip{display:inline-flex;align-items:center;min-height:22px;padding:1px 10px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel, #161616) 80%,transparent);font-size:12px;color:var(--text-soft, var(--muted))}.ws-chip.is-ok{color:var(--ok, #16a34a);border-color:color-mix(in srgb,var(--ok, #16a34a) 35%,var(--line))}html[data-theme=light] .ws-chip,body[data-theme=light] .ws-chip{background:color-mix(in srgb,#ffffff 78%,transparent)}.ws-rule-list{gap:8px}.ws-rule-row{display:grid!important;grid-template-columns:18px minmax(88px,140px) auto minmax(120px,1.2fr) minmax(140px,1.4fr) auto auto;align-items:center;gap:10px 12px;padding:10px 12px!important;flex-wrap:nowrap!important}@media(max-width:1100px){.ws-rule-row{grid-template-columns:18px minmax(72px,1fr) auto;grid-auto-rows:auto}}.ws-rule-row.is-default{background:color-mix(in srgb,var(--primary) 6%,transparent)}.ws-name-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:2px 12px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,#ffffff 70%,transparent);font-size:12px;font-weight:650;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme=dark] .ws-name-pill,body[data-theme=dark] .ws-name-pill,html[data-theme=oled] .ws-name-pill,body[data-theme=oled] .ws-name-pill{background:color-mix(in srgb,#1a1d24 88%,transparent)}.ws-name-pill.is-default{color:var(--muted);font-weight:600}.ws-domain{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ws-domain.is-muted{color:var(--muted);font-weight:500}.ws-backend-pill{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:2px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ws-backend-pill.is-muted{color:var(--muted);border-color:var(--line);background:color-mix(in srgb,var(--panel, #161616) 70%,transparent)}.ws-backend-pill:hover{text-decoration:underline}.ws-service-card,.ws-rule-list,.ws-rule-row{overflow:visible!important}.nav-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.nav-toolbar .input{max-width:320px}.nav-hidden-toggle{display:inline-flex;align-items:center;gap:6px}.nav-groups{width:100%}.nav-group{margin-bottom:18px}.nav-group-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.stat-grid>.card{margin-bottom:0}.nav-card{cursor:pointer;display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.nav-card:hover{border-color:var(--primary, #4f8cff);transform:translateY(-1px)}.nav-card-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.nav-card-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-card-remark{font-size:12px;margin-top:2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-summary{margin-bottom:10px}.nav-card-title{display:flex;align-items:center;gap:8px;min-width:0;color:inherit;text-decoration:none}.nav-card-title:hover .nav-card-name{color:var(--primary, #4f8cff)}.nav-card-icon{width:18px;height:18px;flex:0 0 18px;border-radius:4px;object-fit:contain;font-size:14px;line-height:18px;text-align:center}.nav-card-actions{display:flex;align-items:center;gap:6px}.nav-card-edit{opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease,color .12s ease,border-color .12s ease;padding:2px 7px;font-size:12px;line-height:1.4;color:var(--muted, #999);background:transparent;border:1px solid transparent}.nav-card:hover .nav-card-edit,.nav-row:hover .nav-card-edit,.nav-card:focus-within .nav-card-edit,.nav-row:focus-within .nav-card-edit,.nav-card-edit:focus,.nav-card-edit:focus-visible{opacity:1;visibility:visible}.nav-card-edit:hover{color:var(--primary, #4f8cff);border-color:var(--line, #333)}.nav-card-internal{margin-top:2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-card-internal a{color:var(--muted, #999);text-decoration:none}.nav-card-internal a:hover{color:var(--primary, #4f8cff);text-decoration:underline}.nav-card-icon-wrap{position:relative}.nav-card-letter{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;color:#fff;font-size:11px;font-weight:700;line-height:1;text-transform:uppercase;user-select:none;flex:0 0 auto}.nav-card-fav{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:4px}.nav-card-fav--manual{position:static;width:18px;height:18px;flex:0 0 18px}.nav-row-icon{width:30px;height:30px;flex:0 0 30px}.nav-row-icon .nav-card-letter{width:30px;height:30px;font-size:15px}.nav-row-icon .nav-card-fav{border-radius:5px}.nav-groups.nav-list-view .stat-grid{display:flex;flex-direction:column;gap:6px}.nav-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line, #333);border-radius:10px;background:var(--panel-bg, var(--panel));cursor:pointer;min-width:0;transition:border-color .15s ease,transform .15s ease}.nav-row:hover{border-color:var(--primary, #4f8cff);transform:translateY(-1px)}.nav-row.stale{opacity:.72}.nav-row-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:inherit;text-decoration:none}.nav-row-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0;max-width:none}.nav-row-remark{flex:0 1 auto;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted, #999)}.nav-row-tags{display:flex;align-items:center;gap:6px;flex:0 0 auto}@media(max-width:640px){.nav-group .stat-grid{grid-template-columns:1fr}}@media(max-width:640px){.nav-toolbar{gap:8px}.nav-toolbar .input{max-width:none;width:100%}.nav-summary,.nav-hidden-toggle{font-size:12px}.page-head.compact{flex-wrap:wrap}.nav-card{padding:10px 12px}.nav-row{flex-wrap:wrap;row-gap:4px}.nav-row-main{flex-basis:calc(100% - 42px)}.nav-row-remark{max-width:100%;order:3}.nav-row-tags{order:4;margin-left:auto}}.nav-group .stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:8px}.nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,148px),1fr));gap:12px;width:100%}.nav-grid .nav-card{margin-bottom:0}.nav-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:16px 12px 14px;min-height:128px;border-radius:var(--radius);cursor:pointer;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.nav-card:hover{border-color:var(--primary, #4f8cff);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.nav-card.stale{opacity:.72}.nav-card.is-dragging{opacity:.55;transform:scale(.96)}.nav-card.drag-over-before{box-shadow:0 -3px 0 0 var(--primary, #4f8cff)}.nav-card.drag-over-after{box-shadow:0 3px 0 0 var(--primary, #4f8cff)}.nav-card-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.nav-card-actions{position:absolute;top:6px;right:6px;z-index:3;display:flex;align-items:center;gap:4px}.nav-card-icon-wrap{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:var(--primary-soft, rgba(97, 173, 255, .12))}.nav-card-icon-wrap .nav-card-letter{width:48px;height:48px;border-radius:14px;font-size:20px;line-height:48px}.nav-card-icon-wrap .nav-card-icon,.nav-card-icon-wrap .nav-card-fav--manual{width:40px;height:40px;max-width:40px;max-height:40px;flex:0 0 40px}.nav-card-body{width:100%;min-width:0}.nav-card-name{font-weight:600;font-size:13px;line-height:1.45;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.nav-card-remark{font-size:12px;line-height:1.4;margin-top:2px;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--muted, #999)}@media(max-width:640px){.nav-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,112px),1fr));gap:10px}.nav-card{padding:14px 8px 12px;min-height:112px}.nav-card-icon-wrap{width:42px;height:42px;flex-basis:42px}.nav-card-icon-wrap .nav-card-letter{width:42px;height:42px;line-height:42px}.nav-card-icon-wrap .nav-card-icon,.nav-card-icon-wrap .nav-card-fav--manual{width:34px;height:34px;flex-basis:34px}}.btn.active{border-color:var(--primary, #4f8cff);color:var(--primary, #4f8cff);background:var(--primary-soft, rgba(97, 173, 255, .12))}.lucky-panel{display:flex;flex-direction:column;gap:10px;width:100%}.lucky-panel[hidden]{display:none}.lucky-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lucky-failed-warn{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--warn, #f2be6e);border-radius:8px;background:color-mix(in srgb,var(--warn, #f2be6e) 12%,transparent)}.lucky-failed-warn:empty{display:none}.lucky-groups{display:flex;flex-direction:column;width:100%}.lucky-svc-card{gap:8px;min-width:0}.lucky-speed-line{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:2px;font-size:11px}.lucky-speed{display:inline-flex;align-items:baseline;gap:4px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.lucky-speed-arrow.in{color:var(--ok, #34c759)}.lucky-speed-arrow.out{color:var(--primary, #4f8cff)}.lucky-conn{font-variant-numeric:tabular-nums}.lucky-probe-dot{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 6px;border-radius:999px;line-height:1.4}.lucky-probe-dot:before{content:"";width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:currentColor}.lucky-probe-dot.probe-up{color:#4ade80;background:#22c55e1f}.lucky-probe-dot.probe-degraded,.lucky-probe-dot.probe-warn{color:#fbbf24;background:#f59e0b24}.lucky-probe-dot.probe-down{color:#fca5a5;background:#ef444429}.lucky-probe-dot.probe-unknown{color:#94a3b8;background:#64748b1f}.lucky-svc-card .lucky-probe-corner{position:absolute;top:6px;left:6px;z-index:3;display:flex;align-items:center}.lucky-svc-card .lucky-probe-corner .lucky-probe-dot{padding:1px 6px;font-size:10px}.lucky-svc-card .nav-card-actions .badge{border-color:transparent;font-size:10px;line-height:1.4;padding:1px 6px}@media(max-width:640px){.lucky-toolbar{gap:8px}.lucky-toolbar .hint{font-size:12px}.lucky-speed-line{flex-wrap:wrap}}.nav-page .nav-card,.nav-page .nav-row{background:#ffffff0e;border-color:#ffffff17;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}html[data-theme=light] .nav-page .nav-card,body[data-theme=light] .nav-page .nav-card,html[data-theme=light] .nav-page .nav-row,body[data-theme=light] .nav-page .nav-row{background:#ffffff80;border-color:#0f172a1f}.nav-kind-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:1.4;padding:2px 6px;border-radius:999px;white-space:nowrap;color:var(--primary, #4f8cff);background:var(--primary-soft, rgba(97, 173, 255, .12))}.nav-kind-frp{color:#c084fc;background:#a855f724}.nav-kind-stun{color:#38bdf8;background:#38bdf824}.nav-kind-cloudflared{color:#fb923c;background:#fb923c26}.nav-kind-cfworkers{color:#f6821f;background:#f6821f29}.nav-kind-cfpages{color:#22d3ee;background:#22d3ee29}.nav-card-corner{position:absolute;top:6px;left:6px;z-index:3;display:flex;align-items:center}.nav-card-addr{display:block;margin-top:4px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--primary, #4f8cff);overflow-wrap:anywhere}.nav-card-addr.is-empty{color:var(--muted, #999)}.nav-card.is-copy{cursor:copy}.nav-card-traffic{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px;font-size:11px;font-variant-numeric:tabular-nums;width:100%}.nav-row-traffic{font-size:12px;font-variant-numeric:tabular-nums;flex:0 0 auto}.nav-row-traffic .nav-card-traffic{margin-top:0}.nav-row .nav-card-addr{margin-top:0;font-size:12px;white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0;max-width:46%}.modal-inline-danger{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line, #333)}html[data-theme=oled] .nav-page .nav-card,body[data-theme=oled] .nav-page .nav-card,html[data-theme=oled] .nav-page .nav-row,body[data-theme=oled] .nav-page .nav-row{background:#ffffff0a;border-color:#ffffff12}.bg-type-tabs{flex-wrap:wrap}.bg-type-tabs .btn{min-height:28px}.bg-dynamic{margin-top:10px}.bg-image-row{display:flex;flex-direction:column;gap:10px}.bg-image-preview{max-width:260px;max-height:150px;width:auto;border-radius:10px;border:1px solid var(--line, #333);box-shadow:var(--shadow-sm);object-fit:cover}.node-groups{display:flex;flex-direction:column;gap:12px}.node-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-row);overflow:hidden}.node-group-title{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--panel) 60%,transparent);border-bottom:1px solid var(--line);font-size:13px;cursor:default;user-select:none}.node-group-title:hover{background:color-mix(in srgb,var(--primary-soft) 60%,var(--panel))}.node-group-name{color:var(--text)}.node-group .table-wrap{border:none}.node-group .data-table{width:100%}.node-group tbody tr{cursor:grab}.node-group tbody tr:active{cursor:grabbing}.node-group tbody tr.tr-dragging{opacity:.5}.node-group tbody tr.tr-over-before td{box-shadow:inset 0 2px 0 0 var(--primary)}.node-group tbody tr.tr-over-after td{box-shadow:inset 0 -2px 0 0 var(--primary)}@media(max-width:480px){.page-head .page-actions{width:100%;justify-content:flex-start}.page-head .page-actions .btn{flex:1 1 auto;justify-content:center;min-width:0}.nav-toolbar{align-items:stretch}.nav-toolbar .nav-hidden-toggle{order:2}.lucky-toolbar{flex-direction:column;align-items:flex-start;gap:6px}.lucky-toolbar .btn{align-self:flex-end}.form-grid{grid-template-columns:1fr}.node-picker{flex-wrap:nowrap;min-width:0}.node-picker .node-select{min-width:0}.fleet-chip,.topbar #node-meta .dot{display:none}.topbar #node-meta{gap:6px;flex:0 0 auto}.table-toolbar{align-items:stretch}}@media(max-width:400px){.nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nav-card{padding:12px 6px 10px;min-height:104px}.nav-card-icon-wrap{width:38px;height:38px;flex-basis:38px}.nav-card-icon-wrap .nav-card-letter{width:38px;height:38px;line-height:38px;font-size:17px}.nav-card-icon-wrap .nav-card-icon,.nav-card-icon-wrap .nav-card-fav--manual{width:30px;height:30px;flex-basis:30px}.nav-card-name{font-size:12px}.lucky-speed-line{gap:6px;font-size:10px}.lucky-svc-card .lucky-probe-corner .lucky-probe-dot{font-size:9px;padding:1px 4px}.node-group-title{padding:6px 8px;gap:6px;flex-wrap:wrap}}@media(hover:none)and (pointer:coarse){.nav-card:hover,.summary-card:hover{transform:none}.nav-card-edit:focus,.nav-card-edit:focus-visible{opacity:1;visibility:visible}}html[data-page-bg=solid] body,html[data-page-bg=gradient] body,html[data-page-bg=image] body{background-image:var(--page-bg-image),var(--page-bg-gradient);background-color:var(--page-bg-solid);background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}.tabs-bar{flex:0 0 auto;display:flex;align-items:stretch;gap:2px;height:34px;padding:0 6px;background:var(--sidebar);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;backdrop-filter:none;-webkit-backdrop-filter:none;position:relative;z-index:15}.tabs-bar[hidden],.tabs-bar.is-hidden{display:none!important}.tabs-bar::-webkit-scrollbar{display:none}.tab-item{position:relative;display:flex;flex:0 0 auto;align-items:center;gap:6px;min-width:0;max-width:210px;margin:4px 0;padding:0 6px 0 10px;border-radius:7px;color:var(--muted);font-size:12.5px;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .12s ease,color .12s ease}.tab-item:hover{background:var(--accent-soft, var(--primary-soft));color:var(--text)}.tab-item.is-active{background:var(--accent-soft, var(--primary-soft));color:var(--text);font-weight:600}.tab-item.is-active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--primary)}.tab-icon{flex:0 0 auto;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:11px;opacity:.9}.tab-item.is-active .tab-icon{opacity:1;color:var(--primary)}.tab-icon-text{border-radius:4px;background:var(--field-bg, rgba(255, 255, 255, .06))}.tab-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{flex:0 0 auto;width:17px;height:17px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--faint);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.tab-item:hover .tab-close,.tab-item.is-active .tab-close,.tab-close:focus-visible{opacity:1}.tab-close:hover{background:var(--bad-soft);color:var(--bad)}.tab-pane{width:100%;min-width:0}.tab-pane[hidden]{display:none!important}@media(max-width:720px){.tabs-bar{height:44px;padding:0 4px;-webkit-overflow-scrolling:touch}.tab-item{max-width:132px;min-height:36px;margin:2px 0;padding:0 4px 0 8px;font-size:13px}.tab-close{width:28px;height:28px;font-size:15px;opacity:1}.tab-icon{width:16px;height:16px}}.tab-menu{position:fixed;z-index:10000;display:flex;flex-direction:column;gap:2px;min-width:148px;padding:6px;margin:0;border-radius:12px;border:1px solid var(--line-strong, rgba(100, 116, 139, .35));background:var(--panel, #151515);color:var(--text);box-shadow:0 14px 34px #00000047}html[data-theme=light] .tab-menu,body[data-theme=light] .tab-menu{background:#fff;box-shadow:0 14px 34px #0f172a24}.tab-menu-item{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;line-height:1.3;white-space:nowrap}.tab-menu-item:hover,.tab-menu-item:focus-visible{background:color-mix(in srgb,var(--primary) 14%,transparent);outline:none}.tab-menu-item.is-danger{color:var(--bad, #ef4444)}.tab-menu-item[disabled]{opacity:.42;cursor:default}.tab-menu-item[disabled]:hover{background:transparent}.tab-item.is-menu-open{background:var(--accent-soft, var(--primary-soft));color:var(--text)}@media(max-width:720px){.tab-menu{min-width:176px}.tab-menu-item{padding:11px 14px;font-size:14px}}
