:root{--font-sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, "Menlo", monospace;--bg: #f4f6f9;--surface: #ffffff;--surface-2: #fafbfc;--surface-soft: #f0f3f7;--surface-hover:#f6f8fb;--border: #e3e7ec;--border-strong: #c9d0d9;--border-focus: #2057a8;--text: #0f1722;--text-muted: #4b5563;--text-subtle: #8b94a3;--text-faint: #a8b0bc;--text-inverse: #f1f5f9;--primary: #2057a8;--primary-hover: #1a4a92;--primary-active: #163e7a;--primary-soft: #e7eef9;--primary-softer: #f1f5fb;--primary-ring: rgba(32, 87, 168, .18);--success: #15803d;--success-soft: #e6f4ec;--warn: #b45309;--warn-soft: #fbf1e0;--danger: #b91c1c;--danger-soft: #fbeaea;--info: #2057a8;--info-soft: #e7eef9;--nav-bg: #0e1a2b;--nav-bg-2: #142239;--nav-text: #c5cbd6;--nav-text-muted:#7e8696;--nav-text-strong:#f1f3f8;--nav-active-bg: rgba(255, 255, 255, .06);--nav-active-line: #5b8de0;--nav-section: #5d6678;--r-sm: 4px;--r: 6px;--r-md: 8px;--r-lg: 12px;--shadow-sm: 0 1px 1px rgba(15, 23, 34, .04), 0 1px 2px rgba(15, 23, 34, .04);--shadow: 0 1px 2px rgba(15, 23, 34, .06), 0 4px 10px rgba(15, 23, 34, .04);--shadow-md: 0 6px 20px rgba(15, 23, 34, .08), 0 2px 4px rgba(15, 23, 34, .04);--shadow-lg: 0 20px 50px rgba(15, 23, 34, .12), 0 4px 12px rgba(15, 23, 34, .06);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0}body,.cp{font-family:var(--font-sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;color:var(--text)}.mono{font-family:var(--font-mono);font-variant-ligatures:none}.cp-frame{width:100%;height:100%;background:var(--bg);display:flex;font-size:14px;line-height:1.45;color:var(--text);overflow:hidden}.cp-sidebar{width:232px;flex-shrink:0;background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;border-right:1px solid #0a1320;overflow-y:auto;min-height:0}.cp-brand{padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.05)}.cp-brand-mark{width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,#3a78d8,#1c4a92);display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;letter-spacing:-.02em;box-shadow:inset 0 1px #ffffff2e}.cp-brand-text{display:flex;flex-direction:column;line-height:1.2}.cp-brand-text strong{color:var(--nav-text-strong);font-weight:600;font-size:13.5px;letter-spacing:-.005em}.cp-brand-text span{color:var(--nav-text-muted);font-size:11px;font-family:var(--font-mono)}.cp-nav-section{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--nav-section);font-weight:600;padding:16px 16px 6px}.cp-nav-mod{padding:4px 8px 8px;margin:0 4px}.cp-nav-mod-title{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;color:var(--nav-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}button.cp-nav-mod-title{width:100%;background:none;border:0;border-radius:5px;font-family:inherit;text-align:left;cursor:pointer}button.cp-nav-mod-title:hover{background:#ffffff0a;color:var(--nav-text)}.cp-nav-mod-title .chev{margin-left:auto;width:12px;opacity:.5}.cp-nav-mod-title .dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade8080}.cp-nav-mod-title .dot.warn{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.cp-nav-mod-title .dot.off{background:#64748b;box-shadow:none}.cp-nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:5px;color:var(--nav-text);font-size:13px;cursor:pointer;position:relative}.cp-nav-item:hover{background:#ffffff0a}.cp-nav-item.active{background:var(--nav-active-bg);color:var(--nav-text-strong);font-weight:500}.cp-nav-item.active:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:2px;background:var(--nav-active-line);border-radius:2px}.cp-nav-item .ico{width:14px;flex-shrink:0;color:currentColor;opacity:.7}.cp-nav-item.active .ico{opacity:1;color:#8db7ec}.cp-nav-item .badge{margin-left:auto;font-size:10.5px;padding:1px 6px;border-radius:999px;background:#ffffff14;color:var(--nav-text-muted);font-variant-numeric:tabular-nums}.cp-nav-item .badge.warn{background:#f59e0b2e;color:#fbbf24}.cp-nav-foot{margin-top:auto;padding:12px 14px;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px;font-size:12px;color:var(--nav-text-muted)}.cp-nav-foot .av{width:26px;height:26px;border-radius:50%;background:#2a3a55;display:grid;place-items:center;color:#cdd5e3;font-weight:600;font-size:11px;flex-shrink:0}.cp-nav-foot .who{color:var(--nav-text-strong);font-weight:500;font-size:12.5px}.cp-nav-foot .who small{display:block;color:var(--nav-text-muted);font-weight:400;font-size:10.5px;font-family:var(--font-mono)}.cp-nav-foot .out{margin-left:auto;color:var(--nav-text-muted);cursor:pointer;padding:4px;border-radius:4px}.cp-nav-foot .out:hover{background:#ffffff0f;color:var(--nav-text-strong)}.cp-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.cp-topbar{height:52px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0}.cp-crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.cp-crumbs .sep{color:var(--text-faint)}.cp-crumbs .cur{color:var(--text);font-weight:500}.cp-search{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--surface-soft);border:1px solid var(--border);border-radius:5px;padding:5px 10px;width:280px;font-size:13px;color:var(--text-subtle)}.cp-search .kbd{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;padding:1px 5px;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text-subtle)}.cp-top-action{width:30px;height:30px;display:grid;place-items:center;border-radius:5px;color:var(--text-muted);cursor:pointer}.cp-top-action:hover{background:var(--surface-soft);color:var(--text)}.cp-top-action .nud{position:relative}.cp-top-action .nud:after{content:"";position:absolute;top:-1px;right:-1px;width:6px;height:6px;border-radius:50%;background:#ef4444;border:1.5px solid var(--surface)}.cp-content{flex:1;overflow:auto;padding:24px 28px 32px}.cp-page{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.cp-page h1{font-size:22px;font-weight:600;letter-spacing:-.012em;margin:0 0 4px}.cp-page p{color:var(--text-muted);font-size:13px;margin:0}.cp-page .actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:5px;border:1px solid transparent;cursor:pointer;white-space:nowrap;line-height:1.3;height:30px}.btn .ico{width:14px;height:14px}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 1px #0000000a,inset 0 1px #ffffff1a}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-soft)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-soft);color:var(--text)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--border-strong)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-sm{height:26px;padding:3px 9px;font-size:12px}.btn-lg{height:36px;padding:8px 16px;font-size:14px}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:12px;color:var(--text-muted);font-weight:500}.field>label .req{color:var(--danger)}.input{background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;padding:7px 10px;font:inherit;font-size:13px;color:var(--text);height:32px;width:100%}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.input::placeholder{color:var(--text-faint)}.input.mono{font-family:var(--font-mono);font-size:12.5px}textarea.input{height:auto;min-height:32px;line-height:1.5;resize:vertical}.field .hint{font-size:11.5px;color:var(--text-subtle)}.field .err{font-size:11.5px;color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.card-h{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-h h2{margin:0;font-size:14px;font-weight:600;letter-spacing:-.005em}.card-h p{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.card-b{padding:16px}.card-b.flush{padding:0}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--surface-soft);color:var(--text-muted);border:1px solid var(--border);line-height:1.6}.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint)}.pill.success{background:var(--success-soft);color:#166534;border-color:#cfe7d8}.pill.success .dot{background:#16a34a;box-shadow:0 0 4px #16a34a66}.pill.warn{background:var(--warn-soft);color:#92400e;border-color:#f0d9a8}.pill.warn .dot{background:#f59e0b}.pill.danger{background:var(--danger-soft);color:#991b1b;border-color:#f0c5c5}.pill.danger .dot{background:#dc2626}.pill.info{background:var(--info-soft);color:#1d4380;border-color:#cdddf2}.pill.info .dot{background:var(--primary)}.pill.muted{background:var(--surface-soft);color:var(--text-muted)}.tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11.5px;padding:1px 6px;border-radius:3px;background:var(--primary-softer);color:#1d4380;border:1px solid #d8e3f3}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.tbl tbody td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.tbl tbody tr:hover{background:var(--surface-hover)}.tbl tbody tr:last-child td{border-bottom:none}.tbl .num{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12.5px}.tbl .ck{width:28px}.tbl .row-actions{text-align:right;width:80px;color:var(--text-subtle)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.kpi .l{font-size:11px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.kpi .v{font-size:26px;font-weight:600;letter-spacing:-.018em;font-variant-numeric:tabular-nums;line-height:1}.kpi .sub{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.kpi .sub .up{color:var(--success)}.kpi .sub .dn{color:var(--danger)}hr.sep{border:none;border-top:1px solid var(--border);margin:0}.dl{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:13px}.dl dt{color:var(--text-subtle)}.dl dd{margin:0;color:var(--text)}.kbd{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border:1px solid var(--border-strong);border-radius:3px;background:var(--surface);color:var(--text-muted);box-shadow:0 1px #0f17220a}.ico{display:inline-block;width:14px;height:14px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ico.lg{width:18px;height:18px}.ico.sm{width:12px;height:12px}pre.code{background:#0e1a2b;color:#c9d6e8;font-family:var(--font-mono);font-size:12px;padding:14px 16px;border-radius:6px;overflow-x:auto;line-height:1.55;margin:0}pre.code .c-c{color:#6b7c93;font-style:italic}pre.code .c-k{color:#80b3ff}pre.code .c-s{color:#98d182}pre.code .c-n{color:#f0a868}.placeholder{background-image:repeating-linear-gradient(135deg,var(--surface-soft) 0,var(--surface-soft) 8px,transparent 8px,transparent 14px);border:1px dashed var(--border-strong);border-radius:6px;display:grid;place-items:center;color:var(--text-subtle);font-family:var(--font-mono);font-size:12px}.cp-content::-webkit-scrollbar,.cp-sidebar::-webkit-scrollbar{width:10px;height:10px}.cp-content::-webkit-scrollbar-thumb,.cp-sidebar::-webkit-scrollbar-thumb{background:#cdd3dc;border-radius:10px;border:2px solid var(--bg)}.cp-content::-webkit-scrollbar-track,.cp-sidebar::-webkit-scrollbar-track{background:transparent}.cp-muted{color:var(--text-muted)}.cp-faint{color:var(--text-faint)}.cp-link{color:var(--primary);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.cp-link:hover{text-decoration:underline}.cp-link--muted{color:var(--text-muted)}.cp-banner{padding:12px 14px;border-radius:var(--r-md);font-size:13px;display:flex;align-items:center;gap:12px;margin-bottom:16px}.cp-banner-warn{background:var(--warn-soft);color:#92400e;border-left:3px solid var(--warn)}.cp-banner-error{background:var(--danger-soft);color:#991b1b;border-left:3px solid var(--danger)}.ro-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi .dt{font-size:11.5px;color:var(--text-muted)}.kpi .dt.up{color:var(--success)}.kpi .dt.dn{color:var(--danger)}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:12.5px;font-weight:500;cursor:pointer;border:1px solid transparent;white-space:nowrap}.chip:hover{background:var(--border)}.chip.active{background:var(--text);color:#fff}.chip .count{color:var(--text-subtle);font-weight:500;font-variant-numeric:tabular-nums}.chip.active .count{color:#ffffffb8}.dc-pill{display:inline-flex;align-items:center;gap:7px;padding:3px 11px 3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.35;font-family:var(--font-mono);white-space:nowrap}.dc-pill .name{font-weight:700;letter-spacing:-.005em}.dc-pill .sep{opacity:.5;font-weight:400}.dc-pill .phase{font-weight:500;font-family:var(--font-sans)}.dc-pill--prep{background:#f5b324;color:#5a3a05}.dc-pill--switch{background:var(--primary);color:#fff}.dc-pill--done{background:var(--success);color:#fff}.dc-pill--fail{background:var(--danger);color:#fff}.dc-pill--rb{background:#cbd2d9;color:#2b3340}.dc-pill--abort{background:#3c4453;color:#fff}.dc-pills{display:flex;gap:6px;flex-wrap:wrap}.color-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.color-chip .sw{width:9px;height:9px;border-radius:50%}.color-chip.green .sw{background:var(--success)}.color-chip.blue .sw{background:var(--primary)}.color-chip.empty .sw{background:transparent;border:1.5px dashed var(--border-strong)}.color-chip.empty{color:var(--text-faint)}.outcome-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}.outcome-dot--ok{background:var(--success)}.outcome-dot--fail{background:var(--danger)}.outcome-dot--rb{background:#cbd2d9}.outcome-dot--abort{background:#3c4453}.outcome-dot--mixed{background:#f5b324}.day-row>td{background:var(--surface-2);padding:9px 12px;border-bottom:1px solid var(--border)}.day-hi{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.day-lo{font-size:11.5px;color:var(--text-faint);margin-left:8px}.ro-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.ro-side{display:flex;flex-direction:column;gap:16px}.ro-meta{display:flex;flex-direction:column}.ro-meta-row{display:flex;gap:12px;padding:5px 0;font-size:13px;align-items:baseline}.ro-meta-row .k{width:96px;flex-shrink:0;color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding-top:2px}.ro-meta-row .v{color:var(--text);min-width:0}.ro-meta-row .v.mono{font-family:var(--font-mono);font-size:12px}.tl{display:grid;padding:12px 0 16px;grid-auto-rows:min-content}.tl-label-col{padding-left:20px}.tl-label-head{height:30px}.tl-label-cell{height:42px;display:flex;align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.tl-label-cell .num{color:var(--text-faint);margin-right:6px}.tl-col{padding:0 16px;border-left:1px solid var(--border);min-width:0}.tl-head{height:30px;display:flex;align-items:center;justify-content:center;padding-bottom:4px}.tl-row{height:42px;display:flex;align-items:center;justify-content:center;position:relative}.tl-connector{position:absolute;top:50%;left:50%;width:2px;height:42px;transform:translate(-1px);background:var(--border);z-index:0}.tl-connector.done{background:var(--success)}.tl-connector.fail{background:var(--danger)}.tl-connector.rb{background:#cbd2d9}.tl-connector.abort{background:#3c4453}.tl-dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;position:relative;z-index:1}.tl-dot.done{background:var(--success)}.tl-dot.current{background:var(--primary);box-shadow:0 0 0 4px #2057a838}.tl-dot.fail{background:var(--danger)}.tl-dot.rb{background:#cbd2d9;color:#2b3340}.tl-dot.abort{background:#3c4453}.tl-dot.pending{background:#f1f2f4;border:1px solid var(--border)}.tl-legend{display:flex;gap:16px;font-size:12px;color:var(--text-subtle);align-items:center}.tl-legend>span{display:inline-flex;gap:6px;align-items:center}.tl-legend .sw{width:8px;height:8px;border-radius:999px}.tl-legend .sw.done{background:var(--success)}.tl-legend .sw.current{background:var(--primary)}.tl-legend .sw.pending{background:#f1f2f4;border:1px solid var(--border)}.ro-actions-stack{display:flex;flex-direction:column;gap:8px;padding:12px 16px}.ro-actions-stack .btn{justify-content:flex-start;height:32px}.ro-force{border-top:1px solid var(--border);padding:12px 16px}.ro-force-title{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:8px}.ro-force-row{display:flex;gap:8px}.ro-force-row .btn{flex:1;justify-content:center}.kpi-card[data-v-2e420530]{padding:10px 12px}.kpi-l[data-v-2e420530]{font-size:11px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.kpi-v[data-v-2e420530]{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;margin-bottom:2px}.kpi-frac[data-v-2e420530]{font-size:14px;color:var(--text-muted);font-weight:400;margin-left:4px}.kpi-d[data-v-2e420530]{font-size:11.5px;color:var(--text-muted)}.kpi-card.kpi-warn[data-v-2e420530]{border-left:3px solid var(--warn)}.stack-chip[data-v-2e420530]{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px;cursor:pointer;color:inherit}.stack-chip[data-v-2e420530]:hover{border-color:var(--accent)}.stack-chip.bg[data-v-2e420530]{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.stack-svc-count[data-v-2e420530]{font-size:9.5px;color:var(--text-subtle);padding:0 3px;background:var(--surface);border-radius:2px}.dc-pill[data-v-2e420530]{display:inline-block;font-size:10.5px;padding:1px 5px;margin-right:3px;background:var(--surface-2);border-radius:3px;font-family:var(--font-mono, ui-monospace)}.dc-pill[data-phase=done][data-v-2e420530]{background:#dcfce7;color:#166534}.dc-pill[data-phase=rolled_back][data-v-2e420530],.dc-pill[data-phase=failed][data-v-2e420530]{background:#fef2f2;color:#991b1b}.dc-pill[data-phase=aborted][data-v-2e420530]{background:#fef3c7;color:#92400e}.dc-pill[data-phase=verifying][data-v-2e420530],.dc-pill[data-phase=verified][data-v-2e420530],.dc-pill[data-phase=switched][data-v-2e420530]{background:#dbeafe;color:#1e40af}.dc-pill[data-phase=preparing][data-v-2e420530],.dc-pill[data-phase=prepared][data-v-2e420530]{background:#f3e8ff;color:#6b21a8}.kpi-card[data-v-442065d1]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:8px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:inherit;border-left:3px solid var(--text-subtle)}.kpi-card[data-v-442065d1]:hover{background:var(--surface-hover)}.kpi-title[data-v-442065d1]{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.kpi-value[data-v-442065d1]{font-size:28px;font-weight:600}.kpi-detail[data-v-442065d1]{font-size:12px;color:var(--text-muted)}.kpi-ok[data-v-442065d1]{border-left-color:var(--success)}.kpi-warn[data-v-442065d1]{border-left-color:var(--warn)}.kpi-crit[data-v-442065d1]{border-left-color:var(--danger)}.kpi-info[data-v-442065d1]{border-left-color:var(--text-subtle)}.kpi-row[data-v-c7b613ca]{display:grid;gap:12px;grid-template-columns:repeat(6,1fr)}@media (max-width: 768px){.kpi-row[data-v-c7b613ca]{grid-template-columns:repeat(2,1fr)}}.topology[data-v-6f443b2c]{display:flex;flex-direction:column;align-items:center;gap:16px}.hs-box[data-v-6f443b2c]{border:1px solid var(--border);border-radius:6px;padding:8px 16px;text-align:center;background:var(--surface-soft)}.hs-title[data-v-6f443b2c]{font-weight:600}.hs-version[data-v-6f443b2c]{font-size:11px;color:var(--text-muted)}.cols[data-v-6f443b2c]{display:grid;gap:12px;width:100%;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.col[data-v-6f443b2c]{border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--surface)}.col-header[data-v-6f443b2c]{width:100%;display:flex;align-items:center;gap:6px;padding:4px 0}.caret-btn[data-v-6f443b2c]{background:none;border:0;cursor:pointer;font-size:10px;color:var(--text-muted);padding:4px 6px}.col-name[data-v-6f443b2c]{color:inherit;text-decoration:none;font-weight:600;font-size:13px;flex-grow:1}.col-name[data-v-6f443b2c]:hover{text-decoration:underline}.count[data-v-6f443b2c]{margin-left:auto;font-weight:400;color:var(--text-muted);font-size:11px}.nodes[data-v-6f443b2c]{display:flex;flex-direction:column;gap:4px;margin-top:6px}.node-row[data-v-6f443b2c]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 6px;border-radius:4px;text-decoration:none;color:inherit;font-size:13px}.node-row[data-v-6f443b2c]:hover{background:var(--surface-hover)}.dot[data-v-6f443b2c]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-green[data-v-6f443b2c]{background:var(--success)}.dot-gray[data-v-6f443b2c]{background:var(--text-subtle)}.dot-red[data-v-6f443b2c]{background:var(--danger)}.name[data-v-6f443b2c]{flex-grow:1}.route-chip[data-v-6f443b2c]{font-size:10px;padding:1px 5px;background:var(--surface-hover);border-radius:3px;color:var(--text-muted)}.ha-chip[data-v-6f443b2c]{font-size:10px;padding:1px 5px;background:var(--success);color:#fff;border-radius:3px}.ha-chip.ha-sb[data-v-6f443b2c]{background:var(--text-subtle)}.kind-chip[data-v-6f443b2c]{font-size:10px;padding:1px 5px;border-radius:3px;background:var(--surface-hover);color:var(--text-muted)}.kind-chip.kind-gateway[data-v-6f443b2c]{background:var(--info-soft);color:var(--info)}@media (max-width: 768px){.cols[data-v-6f443b2c]{grid-template-columns:1fr}}@media (max-width: 768px){.hide-mobile[data-v-b49189aa]{display:none}}.acl-chip[data-v-9a6203e5]{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border-radius:999px;border:1px solid var(--border, #d4d4d8);font-family:var(--font-mono, ui-monospace, monospace);font-size:11.5px;line-height:18px;background:#f4f4f5;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.acl-chip.locked[data-v-9a6203e5]{cursor:default;opacity:.85}.acl-chip.invalid[data-v-9a6203e5]{border-color:var(--danger, #b91c1c);background:var(--danger-soft, #fee2e2);color:var(--danger, #b91c1c)}.acl-chip-val .port[data-v-9a6203e5]{color:var(--text-subtle, #71717a)}.acl-chip-x[data-v-9a6203e5]{all:unset;padding:0 2px;color:var(--text-subtle, #71717a);cursor:pointer;font-size:14px;line-height:1}.acl-chip-x[data-v-9a6203e5]:hover{color:var(--danger, #b91c1c)}.acl-chip-lock[data-v-9a6203e5]{font-size:10px;opacity:.7}.chip-vpn-auto[data-v-9a6203e5]{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}.chip-manual-group[data-v-9a6203e5]{background:#f4f4f5;border-color:#d4d4d8;color:#3f3f46}.chip-autogroup[data-v-9a6203e5]{background:#ede9fe;border-color:#c4b5fd;color:#4c1d95}.chip-user[data-v-9a6203e5]{background:#dcfce7;border-color:#86efac;color:#14532d}.chip-tag[data-v-9a6203e5]{background:#ffedd5;border-color:#fdba74;color:#9a3412}.chip-cidr[data-v-9a6203e5],.chip-host[data-v-9a6203e5]{background:#e4e4e7;border-color:#a1a1aa;color:#18181b}.chip-wildcard[data-v-9a6203e5]{background:#fef2f2;border-color:#fca5a5;color:#991b1b;font-weight:600}.acl-picker[data-v-d82c90e1]{width:340px;padding:14px;display:flex;flex-direction:column;gap:10px}.acl-picker-results[data-v-d82c90e1]{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.acl-picker-cat-title[data-v-d82c90e1]{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-subtle, #71717a);margin-bottom:4px}.acl-picker-item[data-v-d82c90e1]{all:unset;display:block;padding:4px 8px;border-radius:4px;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;cursor:pointer}.acl-picker-item[data-v-d82c90e1]:hover{background:var(--hover, #f4f4f5)}.acl-picker-item.selected[data-v-d82c90e1]{background:#dbeafe;color:#1e3a8a;font-weight:600}.acl-picker-port label[data-v-d82c90e1]{font-size:11px;color:var(--text-subtle, #71717a);display:block;margin-bottom:4px}.port-chips[data-v-d82c90e1]{display:flex;gap:4px;margin-bottom:4px;flex-wrap:wrap}.port-chip[data-v-d82c90e1]{all:unset;padding:2px 8px;border-radius:999px;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;cursor:pointer;border:1px solid var(--border, #d4d4d8)}.port-chip.selected[data-v-d82c90e1]{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}.acl-picker-actions[data-v-d82c90e1]{display:flex;justify-content:flex-end;gap:8px}.acl-rules-tbl td[data-v-191e3e4f]{vertical-align:top;padding:8px}.num-cell[data-v-191e3e4f]{display:flex;align-items:flex-start;gap:4px}.num[data-v-191e3e4f]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--accent-soft, #dbeafe);color:var(--accent, #1e3a8a);font-size:11px;font-weight:600}.updown[data-v-191e3e4f]{display:flex;flex-direction:column;gap:1px}.btn-icon[data-v-191e3e4f]{all:unset;width:14px;height:12px;display:inline-flex;align-items:center;justify-content:center;font-size:8px;color:var(--text-subtle, #a1a1aa);cursor:pointer;line-height:1}.btn-icon[data-v-191e3e4f]:hover:not(:disabled){color:var(--text, #18181b)}.btn-icon[data-v-191e3e4f]:disabled{opacity:.3;cursor:not-allowed}.chip-cell[data-v-191e3e4f]{display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;min-width:180px}.chip-add[data-v-191e3e4f]{all:unset;padding:2px 8px;border-radius:999px;border:1px dashed var(--border, #d4d4d8);color:var(--text-subtle, #71717a);font-size:11.5px;cursor:pointer;font-family:var(--font-mono, ui-monospace, monospace)}.chip-add[data-v-191e3e4f]:hover{background:var(--hover, #f4f4f5);color:var(--text, #18181b)}.picker-overlay[data-v-191e3e4f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100}.picker-popover[data-v-191e3e4f]{background:var(--bg, #fff);border-radius:var(--r, 8px);box-shadow:0 4px 24px #0000002e}.empty-card[data-v-191e3e4f],.empty-card[data-v-d32c919b]{border:1px dashed var(--border, #d4d4d8)}.group-name[data-v-288bdc53]{vertical-align:top;padding-top:12px}.auto-row[data-v-288bdc53]{background:#dbeafe2e}.lock[data-v-288bdc53]{font-size:11px;margin-left:4px}.chip-cell[data-v-288bdc53]{display:flex;flex-wrap:wrap;gap:4px}.chip-add[data-v-288bdc53]{all:unset;padding:2px 8px;border-radius:999px;border:1px dashed var(--border, #d4d4d8);color:var(--text-subtle, #71717a);font-size:11.5px;cursor:pointer;font-family:var(--font-mono, ui-monospace, monospace)}.chip-add[data-v-288bdc53]:hover{background:var(--hover, #f4f4f5);color:var(--text, #18181b)}.auto-hint[data-v-288bdc53]{font-size:11px;color:var(--text-subtle, #71717a);margin-top:4px}.auto-hint a[data-v-288bdc53]{color:var(--accent, #2563eb);text-decoration:underline}.picker-overlay[data-v-288bdc53]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100}.picker-popover[data-v-288bdc53]{background:var(--bg, #fff);border-radius:var(--r, 8px);box-shadow:0 4px 24px #0000002e}.tabs-bar[data-v-73bfb07d]{display:flex;gap:4px;border-bottom:1px solid var(--border, #e4e4e7);margin-bottom:16px;align-items:center}.tab[data-v-73bfb07d]{all:unset;padding:10px 16px;cursor:pointer;font-size:13px;color:var(--text-muted, #52525b);border-bottom:2px solid transparent}.tab[data-v-73bfb07d]:hover{color:var(--text, #18181b)}.tab.active[data-v-73bfb07d]{color:var(--text, #18181b);border-bottom-color:var(--accent, #2563eb);font-weight:500}.dirty-dot[data-v-73bfb07d]{width:8px;height:8px;border-radius:999px;background:#f59e0b;margin-left:auto;margin-right:8px}.dns-help[data-v-ddeec349]{position:relative;display:inline-flex;align-items:center;margin-left:5px;color:var(--text-subtle);cursor:help;vertical-align:middle}.dns-help[data-v-ddeec349] .ico{width:14px;height:14px}.dns-help[data-v-ddeec349]:hover,.dns-help[data-v-ddeec349]:focus-visible{color:var(--primary);outline:none}.dns-help-pop[data-v-ddeec349]{position:absolute;left:50%;top:calc(100% + 7px);transform:translate(-50%);z-index:60;width:250px;padding:8px 11px;font-size:12px;font-weight:400;line-height:1.45;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;white-space:normal;text-align:left}.dns-help-pop[data-v-ddeec349]:before{content:"";position:absolute;left:50%;bottom:100%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:var(--border-strong)}.dns-help:hover .dns-help-pop[data-v-ddeec349],.dns-help:focus .dns-help-pop[data-v-ddeec349]{opacity:1;visibility:visible}.backend-row[data-v-e2497bc4]{display:flex;gap:8px;align-items:stretch}.backend-row .input[data-v-e2497bc4]{flex:1}.backend-dns-btn[data-v-e2497bc4]{white-space:nowrap;flex:none}.input-err[data-v-e2497bc4]{border-color:var(--danger)}form[data-v-418978f2]{display:flex;flex-direction:column;gap:14px}.adv-toggle[data-v-418978f2]{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:500;padding:2px 0;align-self:flex-start}.adv-toggle[data-v-418978f2]:hover{color:var(--text)}.adv-toggle .ico[data-v-418978f2]{width:12px;height:12px}.adv-body[data-v-418978f2]{display:flex;flex-direction:column;gap:14px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-soft)}.chip-row[data-v-418978f2]{display:flex;flex-wrap:wrap;gap:8px}.chip-check[data-v-418978f2]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text);cursor:pointer;padding:3px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface)}.chip-check.inline[data-v-418978f2]{border:none;background:transparent;padding:0}.chip-check input[data-v-418978f2]{cursor:pointer}.cp-modal-overlay[data-v-a42f6e73]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100;padding:24px}.cp-modal-card[data-v-a42f6e73]{width:640px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-modal-card .card-b[data-v-a42f6e73]{overflow:auto}.cp-modal-actions[data-v-a42f6e73]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.muted-text[data-v-a42f6e73]{color:var(--text-subtle);font-size:13px;margin:0}.diff-table[data-v-a42f6e73]{font-size:12px}.diff-table td[data-v-a42f6e73]{padding:7px 12px;border-bottom:1px solid var(--border);vertical-align:top}.diff-table code[data-v-a42f6e73]{font-size:11.5px;word-break:break-all}.diff-old[data-v-a42f6e73]{color:var(--text-subtle);text-decoration:line-through}.diff-empty[data-v-a42f6e73]{color:var(--text-faint);font-style:italic}.diff-arrow[data-v-a42f6e73]{color:var(--text-subtle)}.diff-new[data-v-a42f6e73]{color:#166534;font-weight:500}.diff-del td[data-v-a42f6e73]{background:var(--danger-soft)}.diff-del-label[data-v-a42f6e73]{color:#991b1b;font-weight:600;font-size:11px}.diff-warn-banner[data-v-a42f6e73]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius, 6px);padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#991b1b}.diff-warn-banner strong[data-v-a42f6e73]{display:block;margin-bottom:4px}.diff-warn-banner ul[data-v-a42f6e73]{margin:0;padding-left:18px}.diff-warn-banner li[data-v-a42f6e73]{margin:2px 0}.cp-modal-overlay[data-v-f5f86f1e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:90;padding:24px}.cp-form-card[data-v-f5f86f1e]{width:520px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-form-card .card-b[data-v-f5f86f1e]:first-of-type{overflow:auto}.cp-form-actions[data-v-f5f86f1e]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.row-actions .btn-sm[data-v-f5f86f1e]{padding:3px 6px}form[data-v-f58246f7]{display:flex;flex-direction:column;gap:14px}.chip-row[data-v-f58246f7]{display:flex;flex-wrap:wrap;gap:8px}.chip-check[data-v-f58246f7]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text);cursor:pointer;padding:3px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface)}.chip-check.inline[data-v-f58246f7]{border:none;background:transparent;padding:0}.chip-check input[data-v-f58246f7]{cursor:pointer}.cp-modal-overlay[data-v-5b40b365]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:90;padding:24px}.cp-form-card[data-v-5b40b365]{width:560px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-form-card .card-b[data-v-5b40b365]:first-of-type{overflow:auto}.cp-form-actions[data-v-5b40b365]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.row-actions .btn-sm[data-v-5b40b365]{padding:3px 6px}form[data-v-c5cfa0f8]{display:flex;flex-direction:column;gap:14px}.server-row[data-v-c5cfa0f8]{display:flex;gap:8px;align-items:center;margin-bottom:6px}.server-row .input[data-v-c5cfa0f8]{flex:1}.add-server[data-v-c5cfa0f8]{align-self:flex-start}.input-err[data-v-c5cfa0f8]{border-color:var(--danger)}.cp-modal-overlay[data-v-1a26daf2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:90;padding:24px}.cp-form-card[data-v-1a26daf2]{width:520px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-form-card .card-b[data-v-1a26daf2]:first-of-type{overflow:auto}.cp-form-actions[data-v-1a26daf2]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.row-actions .btn-sm[data-v-1a26daf2]{padding:3px 6px}form[data-v-87192a9c]{display:flex;flex-direction:column;gap:14px}.kv-row[data-v-87192a9c]{display:flex;gap:8px;align-items:center;margin-bottom:6px}.kv-row .input[data-v-87192a9c]{flex:1}.kv-add[data-v-87192a9c]{align-self:flex-start}.chip-check.inline[data-v-87192a9c]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text);cursor:pointer}.chip-check.inline input[data-v-87192a9c]{cursor:pointer}textarea.input[data-v-87192a9c]{resize:vertical}.cp-modal-overlay[data-v-5224a4a2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:90;padding:24px}.cp-form-card[data-v-5224a4a2]{width:560px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-form-card .card-b[data-v-5224a4a2]:first-of-type{overflow:auto}.cp-form-actions[data-v-5224a4a2]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.row-actions .btn-sm[data-v-5224a4a2]{padding:3px 6px}.ro-note[data-v-5224a4a2]{margin-left:8px;font-size:11px;color:var(--text-subtle);font-style:italic}.ro-lock[data-v-5224a4a2]{color:var(--text-faint);display:inline-flex}.ro-lock .ico[data-v-5224a4a2]{width:14px;height:14px}.cp-modal-overlay[data-v-a06c8e5c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100;padding:24px}.cp-modal-card[data-v-a06c8e5c]{width:640px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-modal-card .card-b[data-v-a06c8e5c]{overflow:auto}.cp-modal-actions[data-v-a06c8e5c]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.field[data-v-a06c8e5c]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label[data-v-a06c8e5c]{font-size:12.5px;font-weight:600;color:var(--text)}.chip-row[data-v-a06c8e5c]{display:flex;flex-wrap:wrap;gap:8px}.chip-check[data-v-a06c8e5c]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text);cursor:pointer;padding:3px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface)}.chip-check.inline[data-v-a06c8e5c]{border:none;background:transparent;padding:0}.chip-check.disabled[data-v-a06c8e5c]{opacity:.5;cursor:not-allowed}.chip-check input[data-v-a06c8e5c]{cursor:pointer}.domain-row[data-v-a06c8e5c]{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1.2fr) auto;gap:8px;align-items:center;margin-bottom:8px}.domain-row .fqdn-preview[data-v-a06c8e5c]{grid-column:1 / -1;font-size:11.5px;color:var(--text-muted);word-break:break-all}.btn-icon[data-v-a06c8e5c]{padding:4px 9px;line-height:1;font-size:15px}.add-row-btn[data-v-a06c8e5c]{align-self:flex-start;font-size:12px}.pem-area[data-v-a06c8e5c]{min-height:110px;resize:vertical;font-size:11.5px;line-height:1.4}.hint[data-v-a06c8e5c]{font-size:11.5px;color:var(--text-subtle)}.warn-hint[data-v-a06c8e5c]{color:#92400e}.issue-err-banner[data-v-a06c8e5c]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius, 6px);padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#991b1b}.cp-warn-card[data-v-2d663b45]{border-color:var(--warn)}.cp-warn-card .card-h h2[data-v-2d663b45]{display:inline-flex;align-items:center;gap:6px}.cp-warn-card .card-h h2 .ico[data-v-2d663b45]{width:15px;height:15px;color:#92400e}.uncovered-tag[data-v-2d663b45]{margin:0 6px 6px 0}.sin-tls[data-v-2d663b45]{color:#991b1b;font-weight:600;margin-left:4px}.san-more[data-v-2d663b45]{background:transparent;border:none;cursor:pointer;color:var(--primary);font:inherit;font-size:11.5px;padding:0 4px}.san-more[data-v-2d663b45]:hover{text-decoration:underline}.cert-badge[data-v-2d663b45]{margin-left:6px;font-size:10.5px}.btn-sm[data-v-2d663b45]{padding:3px 8px;font-size:11.5px}.row-actions[data-v-2d663b45]{white-space:nowrap}.row-actions .btn+.btn[data-v-2d663b45]{margin-left:6px}.order-error-row td[data-v-2d663b45]{background:var(--danger-soft)}.order-error[data-v-2d663b45]{color:#991b1b;font-size:12px;display:inline-flex;align-items:center;gap:6px}.order-log-row td[data-v-2d663b45]{background:var(--surface-soft)}.order-log[data-v-2d663b45]{margin:0;padding:6px 0 6px 18px;font-size:11.5px;color:var(--text-muted)}.order-log li[data-v-2d663b45]{margin:2px 0}.order-log .log-msg[data-v-2d663b45]{margin-left:8px}.order-log .log-at[data-v-2d663b45]{margin-left:8px;color:var(--text-faint)}.sha-cell[data-v-1c5aee92]{display:flex;align-items:center;gap:8px;min-width:0}.sha-cell>span[data-v-1c5aee92]{overflow:hidden;text-overflow:ellipsis}.sha-copy[data-v-1c5aee92]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;flex:none;border:1px solid var(--border, #d3d3da);border-radius:5px;background:transparent;color:var(--text-muted, #8a8a93);cursor:pointer}.sha-copy[data-v-1c5aee92]:hover{color:var(--text, #111);border-color:var(--text-muted, #8a8a93)}.row-offline[data-v-d0bd3f63]{opacity:.6}.row-offline td[data-v-d0bd3f63]{background:var(--surface)}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.term-host[data-v-351a3cec]{width:100%;height:75vh;min-height:480px;background:#0b1220}.term-host[data-v-351a3cec] .xterm{padding:8px}.term-host[data-v-351a3cec] .xterm-viewport{background-color:#0b1220!important}.svg-topology[data-v-7414dca1]{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none}.dc-frame[data-v-7414dca1]{fill:var(--surface-2);stroke:var(--border);stroke-width:1.5}.dc-frame.draggable[data-v-7414dca1]{cursor:grab}.dc-frame.draggable[data-v-7414dca1]:active{cursor:grabbing}.dc-label[data-v-7414dca1]{font:600 14px var(--font-sans, system-ui);fill:var(--text);pointer-events:none}.dc-vip[data-v-7414dca1]{font:500 11px var(--font-mono, ui-monospace);fill:var(--text-subtle);pointer-events:none}.section-label[data-v-7414dca1]{font:600 12px var(--font-sans, system-ui);fill:var(--text-subtle)}.divider[data-v-7414dca1]{stroke:var(--border);stroke-dasharray:4 4}.node rect[data-v-7414dca1]{fill:var(--surface);stroke:var(--border);stroke-width:1.2}.node.draggable[data-v-7414dca1]{cursor:grab}.node.draggable[data-v-7414dca1]:active{cursor:grabbing}.node:hover rect[data-v-7414dca1]{stroke:var(--accent)}.node.fresh-fresh rect[data-v-7414dca1]{stroke:#22c55e}.node.fresh-stale rect[data-v-7414dca1]{stroke:#f59e0b;stroke-dasharray:3 3}.node.fresh-down rect[data-v-7414dca1]{stroke:#94a3b8;opacity:.6}.node.fresh-unknown rect[data-v-7414dca1]{stroke:#94a3b8;opacity:.5}.node.matched rect[data-v-7414dca1]{stroke-width:2.5}.node.dimmed[data-v-7414dca1]{opacity:.35}.node-id[data-v-7414dca1]{font:600 12px var(--font-mono, ui-monospace);fill:var(--text);pointer-events:none}.node-host[data-v-7414dca1]{font:400 10px var(--font-mono, ui-monospace);fill:var(--text-subtle);pointer-events:none}.node-chip[data-v-7414dca1]{font:700 9px var(--font-sans, system-ui);pointer-events:none}.node-chip.role-manager[data-v-7414dca1]{fill:var(--accent, #4f46e5)}.node-chip.role-worker[data-v-7414dca1]{fill:var(--text-subtle)}.node-chip.leader[data-v-7414dca1]{fill:#f59e0b}.freshness-dot[data-v-7414dca1]{fill:currentColor;pointer-events:none}.node.fresh-fresh .freshness-dot[data-v-7414dca1]{fill:#22c55e}.node.fresh-stale .freshness-dot[data-v-7414dca1]{fill:#f59e0b}.node.fresh-down .freshness-dot[data-v-7414dca1]{fill:#94a3b8}.host rect[data-v-7414dca1]{fill:var(--surface-2);stroke:var(--border);stroke-width:1.2}.host.draggable[data-v-7414dca1]{cursor:grab}.host:hover rect[data-v-7414dca1]{stroke:var(--accent)}.host-id[data-v-7414dca1]{font:600 12px var(--font-sans, system-ui);fill:var(--text);pointer-events:none}.host-role[data-v-7414dca1]{font:400 10px var(--font-sans, system-ui);fill:var(--text-muted);pointer-events:none}.host-ip[data-v-7414dca1]{font:500 10px var(--font-mono, ui-monospace);fill:var(--text-subtle);pointer-events:none}.password-field[data-v-856f43a3]{position:relative}.password-field .input[data-v-856f43a3]{width:100%;padding-right:36px}.toggle[data-v-856f43a3]{position:absolute;right:4px;top:4px;background:none;border:0;cursor:pointer;padding:6px;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center}.toggle[data-v-856f43a3]:hover{color:var(--text)}.toggle[data-v-856f43a3] svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hint[data-v-856f43a3]{font-size:11px;color:var(--text-muted);margin-top:4px}.cp-modal-overlay[data-v-47f2a7d5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:90;padding:24px}.cp-form-card[data-v-47f2a7d5]{width:560px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-form-card .card-b[data-v-47f2a7d5]:first-of-type{overflow:auto}.cp-form-actions[data-v-47f2a7d5]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.row-actions .btn-sm[data-v-47f2a7d5]{padding:3px 6px}.cp-banner-ok[data-v-47f2a7d5]{background:var(--success-soft);color:#166534;border-left:3px solid var(--success)}.cp-modal-overlay[data-v-f4523f22]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:90;padding:24px}.cp-form-card[data-v-f4523f22]{width:560px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-form-card .card-b[data-v-f4523f22]:first-of-type{overflow:auto}.cp-form-actions[data-v-f4523f22]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.row-actions .btn-sm[data-v-f4523f22]{padding:3px 6px}.cp-filters[data-v-f4523f22]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.cp-filters-label[data-v-f4523f22]{font-size:12.5px;color:var(--text-subtle);margin-right:2px}.cp-chip[data-v-f4523f22]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);font-size:12.5px;color:var(--text-muted);cursor:pointer}.cp-chip[data-v-f4523f22]:hover{border-color:var(--primary)}.cp-chip.on[data-v-f4523f22]{background:var(--primary-ring);border-color:var(--primary);color:var(--primary);font-weight:600}.cp-chip-n[data-v-f4523f22]{font-variant-numeric:tabular-nums;opacity:.75}.cp-chip-clear[data-v-f4523f22]{color:var(--text-subtle)}.cp-seen[data-v-f4523f22]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-subtle);margin-left:4px;white-space:nowrap}.cp-seen .cp-dot[data-v-f4523f22]{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.cp-seen .cp-dot.on[data-v-f4523f22]{background:var(--success, #16a34a)}.cp-danger[data-v-f4523f22]:hover{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.lbl-x[data-v-2cd24ac4]{border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.55}.lbl-x[data-v-2cd24ac4]:hover:not(:disabled){opacity:1}.lbl-x[data-v-2cd24ac4]:disabled{cursor:default;opacity:.3}.tree-item[data-v-31420004]{display:block;width:100%;text-align:left;background:transparent;border:0;padding:4px 12px;cursor:pointer;font-size:12.5px}.tree-item[data-v-31420004]:hover{background:var(--surface-2)}.tree-item.active[data-v-31420004]{background:var(--accent-bg, rgba(79, 70, 229, .1));color:var(--accent)}.tree-item .mono[data-v-31420004]{font-size:12.5px}.bk-tabs[data-v-11cd5e9e]{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.bk-tab[data-v-11cd5e9e]{padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.bk-tab[data-v-11cd5e9e]:hover{color:var(--text)}.bk-tab.active[data-v-11cd5e9e]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.cp-modal-overlay[data-v-5767bb34]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100;padding:24px}.cp-modal-card[data-v-5767bb34]{width:560px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-modal-card .card-b[data-v-5767bb34]{overflow:auto}.cp-modal-actions[data-v-5767bb34]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.field[data-v-5767bb34]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label[data-v-5767bb34]{font-size:12.5px;font-weight:600;color:var(--text)}.field>label .req[data-v-5767bb34]{color:var(--danger)}.row-actions .btn+.btn[data-v-5767bb34]{margin-left:6px}.issue-err-banner[data-v-5767bb34]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius, 6px);padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#991b1b}.cp-modal-overlay[data-v-c5033f46]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100;padding:24px}.cp-modal-card[data-v-c5033f46]{width:600px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-modal-card .card-b[data-v-c5033f46]{overflow:auto}.cp-modal-actions[data-v-c5033f46]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.field[data-v-c5033f46]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label[data-v-c5033f46]{font-size:12.5px;font-weight:600;color:var(--text)}.field>label .req[data-v-c5033f46]{color:var(--danger)}.row-actions .btn+.btn[data-v-c5033f46]{margin-left:6px}.ret-grid[data-v-c5033f46]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ret-lbl[data-v-c5033f46]{display:block;font-size:11.5px;color:var(--text-muted);margin-bottom:3px;font-family:var(--font-mono)}.tier-row[data-v-c5033f46]{display:grid;grid-template-columns:1fr 100px auto;gap:8px;align-items:center;margin-bottom:8px}.btn-icon[data-v-c5033f46]{padding:4px 9px;line-height:1;font-size:15px}.add-row-btn[data-v-c5033f46]{align-self:flex-start;font-size:12px}.hint[data-v-c5033f46]{font-size:11.5px;color:var(--text-subtle)}.issue-err-banner[data-v-c5033f46]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius, 6px);padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#991b1b}.bk-filter[data-v-26de747b]{width:auto;min-width:160px}.row-actions .btn+.btn[data-v-26de747b]{margin-left:6px}.run-error-row td[data-v-26de747b]{background:var(--danger-soft)}.run-error[data-v-26de747b]{color:#991b1b;font-size:12px;display:inline-flex;align-items:center;gap:6px;word-break:break-word}.al-tabs[data-v-63775847]{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.al-tab[data-v-63775847]{padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.al-tab[data-v-63775847]:hover{color:var(--text)}.al-tab.active[data-v-63775847]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.al-filter[data-v-dbe80b0f],.al-search[data-v-dbe80b0f]{width:auto}.al-search[data-v-dbe80b0f]{min-width:160px}.al-warn-banner[data-v-dbe80b0f]{background:var(--warn-soft);border:1px solid #f0d9a8;border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;font-size:12.5px;color:#92400e;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.al-ok-banner[data-v-dbe80b0f]{background:var(--success-soft);border:1px solid #cfe7d8;border-radius:var(--r-md);padding:8px 12px;font-size:12.5px;color:#166534;display:flex;align-items:center;gap:6px}.al-ns[data-v-dbe80b0f]{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);padding:10px 14px;cursor:pointer}.al-ns[data-v-dbe80b0f]:hover{background:var(--surface-soft)}.al-ns.active[data-v-dbe80b0f]{background:var(--info-soft)}.al-ns-head[data-v-dbe80b0f]{display:flex;align-items:center;gap:8px}.al-ns-name[data-v-dbe80b0f]{font-size:13px;font-weight:600}.al-ns-rules[data-v-dbe80b0f]{margin-top:6px;display:flex;flex-direction:column;gap:3px}.al-rule-line[data-v-dbe80b0f]{display:flex;gap:8px;font-size:11.5px;align-items:baseline}.al-rule-alert[data-v-dbe80b0f]{color:var(--text);font-weight:500;white-space:nowrap}.al-rule-expr[data-v-dbe80b0f]{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-new-grid[data-v-dbe80b0f]{display:grid;grid-template-columns:160px 1fr;gap:12px}.field[data-v-dbe80b0f]{display:flex;flex-direction:column;gap:6px}.field>label[data-v-dbe80b0f]{font-size:12.5px;font-weight:600;color:var(--text)}.field>label .req[data-v-dbe80b0f]{color:var(--danger)}.al-warn-banner[data-v-761cd6a8]{background:var(--warn-soft);border:1px solid #f0d9a8;border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;font-size:12.5px;color:#92400e;display:flex;align-items:center;gap:6px}.cp-modal-overlay[data-v-761cd6a8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100;padding:24px}.cp-modal-card[data-v-761cd6a8]{width:600px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-modal-card .card-b[data-v-761cd6a8]{overflow:auto}.cp-modal-actions[data-v-761cd6a8]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.field[data-v-761cd6a8]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label[data-v-761cd6a8]{font-size:12.5px;font-weight:600;color:var(--text)}.field>label .req[data-v-761cd6a8]{color:var(--danger)}.matcher-row[data-v-761cd6a8]{display:grid;grid-template-columns:1fr 56px 1fr auto auto;gap:6px;align-items:center;margin-bottom:6px}.matcher-op[data-v-761cd6a8]{width:56px;padding:0 6px}.matcher-regex[data-v-761cd6a8]{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:3px;white-space:nowrap}.btn-icon[data-v-761cd6a8]{padding:4px 9px;line-height:1;font-size:15px}.add-row-btn[data-v-761cd6a8]{align-self:flex-start;font-size:12px}.issue-err-banner[data-v-761cd6a8]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--r-md);padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#991b1b}.al-warn-banner[data-v-c7a3e2ba]{background:var(--warn-soft);border:1px solid #f0d9a8;border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;font-size:12.5px;color:#92400e;display:flex;align-items:center;gap:6px}.al-filters[data-v-c7a3e2ba]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field[data-v-c7a3e2ba]{display:flex;flex-direction:column;gap:6px}.field>label[data-v-c7a3e2ba]{font-size:12px;font-weight:600;color:var(--text)}.al-filters .input[data-v-c7a3e2ba]{width:auto}.al-pager[data-v-c7a3e2ba]{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--border)}.al-warn-banner[data-v-aca503ab]{background:var(--warn-soft);border:1px solid #f0d9a8;border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;font-size:12.5px;color:#92400e;display:flex;align-items:center;gap:6px}.cp-modal-overlay[data-v-aca503ab]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172266;display:grid;place-items:center;z-index:100;padding:24px}.cp-modal-card[data-v-aca503ab]{width:600px;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.cp-modal-card .card-b[data-v-aca503ab]{overflow:auto}.cp-modal-actions[data-v-aca503ab]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);flex:none}.field[data-v-aca503ab]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label[data-v-aca503ab]{font-size:12.5px;font-weight:600;color:var(--text)}.field>label .req[data-v-aca503ab]{color:var(--danger)}.matcher-row[data-v-aca503ab]{display:grid;grid-template-columns:1fr 56px 1fr auto auto;gap:6px;align-items:center;margin-bottom:6px}.matcher-op[data-v-aca503ab]{width:56px;padding:0 6px}.matcher-regex[data-v-aca503ab]{font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:3px;white-space:nowrap}.btn-icon[data-v-aca503ab]{padding:4px 9px;line-height:1;font-size:15px}.add-row-btn[data-v-aca503ab]{align-self:flex-start;font-size:12px}.issue-err-banner[data-v-aca503ab]{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--r-md);padding:10px 12px;margin-bottom:12px;font-size:12.5px;color:#991b1b}.row-actions .btn+.btn[data-v-aca503ab]{margin-left:6px}.totp-input[data-v-22b24bfb]{display:flex;gap:8px;justify-content:center}.totp-digit[data-v-22b24bfb]{width:40px;height:48px;font-size:24px;font-weight:600;text-align:center;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.totp-digit[data-v-22b24bfb]:focus{outline:2px solid var(--info, #2057a8)}
