:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#88b04b;--secondary:tan;--bg:#fff9ef;--panel:#f0f4e3;--panel-2:#fff9ef;--line:#e6d5b8;--text:#4a3b2c;--muted:#8b7a66;--accent:#c97b5a;--danger:#c97b5a;--success:#3a5c1e;--backdrop:#fff9efcc;--glow-a:#88b04b2e;--glow-b:#c97b5a1f;--shadow-lg:0 26px 80px #6d543124;--shadow-md:0 14px 40px #6d54311a}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#9ac55e;--secondary:#ba8d5f;--bg:#111714;--panel:#1c251d;--panel-2:#243126;--line:#364436;--text:#f2ebda;--muted:#b6ad98;--accent:#d08760;--danger:#d08760;--success:#b9d58a;--backdrop:#111714d1;--glow-a:#9ac55e24;--glow-b:#d087601f;--shadow-lg:0 30px 90px #00000057;--shadow-md:0 18px 48px #00000038}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), "Segoe UI", sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.58}
.console-shell{grid-template-rows:auto minmax(0,1fr);gap:20px;min-height:100vh;padding:24px;display:grid}.console-topbar,.console-workspace,.console-rail,.console-main,.page-stack,.hero-copy,.hero-aside,.metrics-grid,.two-column-grid,.triple-grid,.nav-panel{gap:18px;display:grid}.console-topbar,.nav-panel,.panel-card,.hero-panel,.flow-card,.console-main{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 86%, var(--backdrop) 14%);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px}.console-topbar{z-index:20;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 16px;position:relative}.console-topbar-brand{align-items:center;gap:14px;display:flex}.console-topbar-favicon{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, var(--panel) 14%);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.console-topbar-favicon img{width:24px;height:24px}.console-topbar-wordmark{color:var(--text);font-size:15px;font-weight:760}.console-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.console-user-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 84%, var(--panel) 16%);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:flex}.console-user-avatar{border:1px solid var(--line);background:color-mix(in srgb, var(--primary) 20%, var(--panel) 80%);width:28px;height:28px;color:var(--success);border-radius:10px;place-items:center;font-weight:700;display:grid}.console-user-copy{gap:2px;display:grid}.console-user-copy strong{font-size:13px}.console-user-copy span{color:var(--muted);font-size:11px}.console-workspace{grid-template-columns:288px minmax(0,1fr);align-items:start}.console-rail{align-self:start;position:sticky;top:0}.nav-panel,.panel-card,.console-main{padding:18px}.section-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px}.panel-card h3{margin:0}.mono,.react-flow__node{font-family:var(--font-mono), "SFMono-Regular", monospace}
.nav-panel{gap:12px}.menu-group{border:1px solid #0000;border-radius:18px;gap:10px;padding:8px;display:grid}.menu-group.is-active{border-color:var(--line);background:color-mix(in srgb, var(--panel-2) 74%, var(--panel) 26%)}.menu-link,.submenu-link,.capsule-select-shell:hover{transform:translateY(-1px)}.menu-link{color:var(--muted);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background-color .16s,color .16s,transform .16s;display:flex}.menu-link.is-active{background:color-mix(in srgb, var(--primary) 20%, var(--panel) 80%);color:var(--text)}.menu-link-main{align-items:center;gap:10px;font-weight:600;display:flex}.menu-link-arrow{color:var(--muted);transition:transform .16s}.menu-link-arrow.is-open{transform:rotate(90deg)}.submenu-list{gap:6px;padding-left:18px;display:grid}.submenu-link{min-height:40px;color:var(--muted);border-radius:12px;align-items:center;padding:9px 12px;transition:background-color .16s,color .16s,transform .16s;display:flex}.submenu-link.is-active{background:color-mix(in srgb, var(--accent) 16%, var(--panel) 84%);color:var(--text)}.secondary-button,.ghost-button,.primary-button,.danger-button{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:7px 12px}.primary-button{background:var(--primary);color:#17210f;font-weight:600}.secondary-button{background:var(--panel-2);color:var(--text)}.ghost-button{color:var(--muted);background:0 0}.danger-button{background:color-mix(in srgb, var(--danger) 16%, var(--panel) 84%);color:var(--danger)}.capsule-select-group,.capsule-select-item{align-items:center;gap:12px;display:flex}.capsule-select-shell{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 84%, var(--panel) 16%);color:var(--text);border-radius:999px;align-items:center;gap:10px;min-height:32px;padding:0 10px 0 8px;transition:transform .16s,border-color .16s,background-color .16s;display:inline-flex;position:relative}.capsule-select-shell.is-open{z-index:30}.capsule-select-shell:focus-within{border-color:color-mix(in srgb, var(--primary) 42%, var(--line) 58%);background:color-mix(in srgb, var(--primary) 10%, var(--panel) 90%)}.capsule-select-icon{width:18px;height:18px;color:var(--success);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.capsule-select-trigger{color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;outline:0;align-items:center;gap:4px;padding:0;line-height:1;display:inline-flex}.capsule-select-arrow{color:var(--muted);flex-shrink:0;transition:transform .18s}.capsule-select-arrow.is-open{transform:rotate(180deg)}.capsule-select-menu{background:var(--panel);border:1px solid var(--line);z-index:40;min-width:100%;box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.capsule-select-option{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;outline:0;padding:8px 12px;font-size:.9rem;transition:background-color .12s;display:block}.capsule-select-option:hover{background:color-mix(in srgb, var(--primary) 18%, var(--panel) 82%)}.capsule-select-option.is-active{background:color-mix(in srgb, var(--primary) 26%, var(--panel) 74%);color:var(--text);font-weight:600}.capsule-select-divider{background:color-mix(in srgb, var(--line) 82%, transparent 18%);align-self:stretch;width:1px}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.toggle-switch-label{color:var(--muted);font-size:13px;transition:color .16s}.toggle-switch-label.is-active{color:var(--text);font-weight:600}.toggle-switch-track{background:color-mix(in srgb, var(--muted) 50%, var(--line) 50%);border-radius:999px;flex-shrink:0;width:46px;height:26px;transition:background-color .2s;position:relative}.toggle-switch-track.is-active{background:var(--primary)}.toggle-switch-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-switch-track.is-active .toggle-switch-thumb{transform:translate(20px)}.conn-status{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 84%, var(--panel) 16%);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:inline-flex}.conn-status-dot{background:#9e9e9e;border-radius:50%;flex-shrink:0;width:7px;height:7px}.conn-status.is-untested .conn-status-dot{background:#9e9e9e}.conn-status.is-success .conn-status-dot{background:var(--success)}.conn-status.is-failed .conn-status-dot{background:var(--danger)}.conn-status.is-exists .conn-status-dot{background:#e68a2e}
.hero-panel{grid-template-columns:1.2fr .8fr;gap:20px;padding:26px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{background:color-mix(in srgb, var(--panel-2) 76%, white 24%);border:1px solid var(--line);border-radius:18px;padding:16px}.metric-card span{color:var(--muted);margin-bottom:10px;display:block}.metric-card strong{font-size:32px;line-height:1}.two-column-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.triple-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.charts-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.charts-row .chart-col{min-width:0}.section-title{color:var(--emphasis);margin-bottom:8px;font-size:15px;font-weight:600}.trend-summary{padding:24px 16px}.trend-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.trend-summary-item{text-align:center;background:color-mix(in srgb, var(--panel-2) 76%, white 24%);border:1px solid var(--line);border-radius:12px;padding:16px}.trend-summary-item strong{margin-bottom:4px;font-size:28px;line-height:1.2;display:block}.trend-summary-item span{color:var(--muted);font-size:13px}.panel-card{gap:14px;display:grid}.nodes-single-panel{max-width:980px}.soft-card{background:color-mix(in srgb, var(--panel-2) 78%, var(--primary) 22%)}.warm-card{background:color-mix(in srgb, var(--panel) 82%, var(--accent) 18%)}.flow-card{min-height:360px;overflow:hidden}.queue-list{gap:10px;display:grid}.queue-item{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, var(--panel) 14%);border-radius:14px;padding:14px}.queue-item strong,.signal-strip strong{margin-bottom:8px;display:block}.signal-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.signal-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--panel-2) 12%);border-radius:16px;padding:14px}.signal-card p{color:var(--muted);margin:0}.login-form{max-width:440px}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}
.field-stack{gap:8px;display:grid}.field-stack span{color:var(--muted);font-size:13px}.field-input,.field-select,.field-textarea{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--text);border-radius:12px;padding:12px 14px}.field-input[aria-invalid=true],.field-select[aria-invalid=true],.field-textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 55%, transparent 45%)}.field-textarea{resize:vertical;min-height:112px}.field-hint{color:var(--muted);margin:0;font-size:12px}.error-text{color:var(--danger);margin:0}.async-state{border:1px dashed var(--line);background:color-mix(in srgb, var(--panel-2) 86%, var(--panel) 14%);border-radius:16px;gap:10px;padding:18px;display:grid}.async-state p{color:var(--muted);margin:0;line-height:1.6}.table-card,.list-card{border:1px solid var(--line);border-radius:16px;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.stack-list{gap:12px;display:grid}.stack-item{border:1px solid var(--line);background:var(--panel-2);border-radius:14px;gap:8px;padding:14px;display:grid}.stack-head,.inline-cluster,.panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.inline-cluster{justify-content:flex-start}.check-list{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;gap:8px;max-height:180px;padding:8px;display:grid;overflow-y:auto}.badge{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 84%, var(--panel-2) 16%);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.badge.is-good{background:color-mix(in srgb, var(--primary) 16%, var(--panel) 84%);color:var(--success)}.badge.is-warn{background:color-mix(in srgb, var(--accent) 16%, var(--panel) 84%);color:var(--accent)}.badge.is-danger{background:color-mix(in srgb, var(--danger) 18%, var(--panel) 82%);color:color-mix(in srgb, var(--danger) 84%, #7a221a 16%)}.badge.is-neutral{background:color-mix(in srgb, var(--panel-2) 72%, var(--panel) 28%);color:var(--muted)}.badge.is-good-soft{background:color-mix(in srgb, var(--primary) 10%, var(--panel) 90%);color:var(--success)}.name-tag{overflow-wrap:anywhere;border:1px solid #0000;border-radius:8px;align-items:center;width:fit-content;max-width:100%;padding:5px 10px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex}.name-tag.is-node{border-color:color-mix(in srgb, #2f8f6f 36%, var(--line) 64%);background:color-mix(in srgb, #2f8f6f 16%, var(--panel) 84%);color:color-mix(in srgb, #1f6f56 86%, var(--text) 14%)}.name-tag.is-chain{border-color:color-mix(in srgb, #4c74b9 34%, var(--line) 66%);background:color-mix(in srgb, #4c74b9 15%, var(--panel) 85%);color:color-mix(in srgb, #2f5798 86%, var(--text) 14%)}.name-tag.is-route{border-color:color-mix(in srgb, #b7792f 34%, var(--line) 66%);background:color-mix(in srgb, #b7792f 16%, var(--panel) 84%);color:color-mix(in srgb, #86531c 86%, var(--text) 14%)}.name-tag.is-scope{border-color:color-mix(in srgb, #8b6fb6 34%, var(--line) 66%);background:color-mix(in srgb, #8b6fb6 15%, var(--panel) 85%);color:color-mix(in srgb, #654c91 86%, var(--text) 14%)}.name-tag.is-account,.name-tag.is-group,.name-tag.is-certificate{border-color:color-mix(in srgb, var(--accent) 34%, var(--line) 66%);background:color-mix(in srgb, var(--accent) 13%, var(--panel) 87%);color:color-mix(in srgb, var(--accent) 86%, var(--text) 14%)}
.expiry-indicator{align-items:center;gap:8px;display:inline-flex}.expiry-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.expiry-dot.is-good{background:var(--success)}.expiry-dot.is-warn{background:var(--accent)}.expiry-dot.is-danger{background:var(--danger)}.expiry-days{font-size:11px}.expiry-days.is-good{color:var(--success)}.expiry-days.is-warn{color:var(--accent)}.expiry-days.is-danger{color:var(--danger)}.alert-banner{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 12%, var(--panel) 88%);border-radius:12px;padding:16px 20px}.alert-content{flex-direction:column;gap:6px;display:flex}.alert-content strong{color:var(--accent);font-size:14px}.alert-content span{color:var(--text);font-size:14px}.alert-content a{color:var(--accent);font-weight:500;text-decoration:underline}.alert-content a:hover{opacity:.8}
.chain-editor{gap:20px;display:grid}.hop-editor-section{gap:14px;display:grid}.section-header{align-items:center;gap:10px;display:flex}.section-header h4{margin:0;font-size:16px;font-weight:600}.hop-list{gap:10px;display:grid}.hop-card{border:1px solid var(--line);background:var(--panel);cursor:default;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.hop-card-drag{cursor:grab;color:var(--muted);align-items:center;display:flex}.hop-card-drag:active{cursor:grabbing}.hop-card-content{flex:1;gap:4px;display:grid}.hop-card-header{align-items:center;gap:8px;display:flex}.hop-index{background:color-mix(in srgb, var(--primary) 20%, var(--panel) 80%);width:24px;height:24px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.hop-card-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:6px;display:flex}.hop-card-remove:hover{background:color-mix(in srgb, var(--danger) 10%, var(--panel) 90%)}.empty-hops{text-align:center;border:1px dashed var(--line);border-radius:8px;padding:40px 20px}.add-hop-section{border-top:1px solid var(--line);padding-top:10px}.chain-list-actions{gap:8px;display:flex}.probe-results-section{border-top:1px solid var(--line);gap:12px;padding-top:20px;display:grid}.probe-results-section h4{margin:0;font-size:16px;font-weight:600}.nodes-list-grid,.nodes-link-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.topology-link-item{gap:10px;display:grid}.inline-actions{justify-content:flex-end;gap:8px;display:flex}.node-record-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, var(--panel) 14%);border-radius:16px;gap:10px;padding:16px;display:grid}.forms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sub-grid{gap:12px;display:grid}.submit-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toggle-inline{color:var(--text);align-items:center;gap:8px;font-size:13px;display:inline-flex}.token-box{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 88%, var(--panel) 12%);border-radius:14px;gap:8px;padding:14px;display:grid}.token-box strong{font-size:13px}.token-box .mono{overflow-wrap:anywhere}
.bootstrap-result-stack,.node-approval-meta,.node-card-actions{gap:10px;display:grid}.node-mode-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.node-mode-option{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--panel-2) 12%);cursor:pointer;border-radius:8px;gap:6px;min-height:96px;padding:14px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative}.node-mode-option input{opacity:0;pointer-events:none;position:absolute}.node-mode-option.is-selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 16%, var(--panel) 84%);box-shadow:0 0 0 1px var(--primary)}.node-mode-title{color:var(--text);font-weight:750}.node-mode-copy{color:var(--muted);font-size:12px;line-height:1.45}.command-block{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 78%, var(--panel-2) 22%);border-radius:12px;grid-template-columns:max-content minmax(0,1fr);padding:0;line-height:1.6;display:grid;overflow:hidden}.command-gutter{border-right:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, var(--panel) 14%);color:var(--muted);font-family:var(--font-mono), "SFMono-Regular", monospace;text-align:right;-webkit-user-select:none;user-select:none;align-content:start;gap:0;padding:12px 10px;font-size:12px;line-height:1.75;display:grid}.command-code{white-space:pre;min-width:0;padding:12px 14px;display:grid;overflow-x:auto}.command-line{min-height:1.75em;line-height:1.75;display:block}.bash-command{color:var(--primary);font-weight:700}.bash-flag{color:var(--accent)}.bash-string{color:var(--success)}.bash-target{color:color-mix(in srgb, var(--primary) 72%, var(--text) 28%)}.bash-continuation{color:var(--muted);font-weight:700}.node-card-actions{grid-template-columns:repeat(auto-fit,minmax(140px,max-content))}.chart-card{height:320px;padding:10px 4px 0}.muted-text{color:var(--muted)}.registry-stack,.registry-name-cell,.registry-actions,.node-editor-card,.topology-stack{gap:14px;display:grid}.registry-toolbar{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(180px,.4fr));align-items:end;gap:14px;display:grid}.registry-filter{min-width:0}.registry-filter-short{max-width:240px}.registry-table td{line-height:1.45}.registry-table tbody tr.is-active-row{background:color-mix(in srgb, var(--primary) 10%, var(--panel-2) 90%)}.registry-name-cell{gap:8px}.registry-id-cell{overflow-wrap:anywhere;max-width:220px}.data-row-clickable{cursor:pointer;transition:background-color .12s}.data-row-clickable:hover{background:color-mix(in srgb, var(--primary) 6%, var(--panel-2) 94%)}.registry-expand-col{width:32px;padding-right:0}.registry-expand-icon{width:20px;height:20px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.detail-row td{border-bottom:1px solid var(--line);padding:0}.detail-panel{background:color-mix(in srgb, var(--panel-2) 94%, var(--panel) 6%);flex-direction:column;gap:20px;padding:20px 24px 20px 56px;display:flex}.detail-section h4{color:var(--secondary);margin:0 0 8px;font-size:13px;font-weight:600}.detail-badge-grid{flex-wrap:wrap;gap:6px;display:flex}.detail-badge-grid .badge{padding:4px 8px;font-size:11px}.registry-actions{grid-auto-flow:column;justify-content:start;gap:10px}.node-editor-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, var(--panel) 14%);border-radius:16px;padding:18px}@media (max-width:880px){.forms-grid,.registry-toolbar,.node-mode-picker{grid-template-columns:1fr}.registry-actions{grid-auto-flow:row}}.react-flow__background path{stroke:color-mix(in srgb, var(--line) 84%, transparent 16%)}.react-flow__node{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 88%, var(--panel) 12%);color:var(--text);box-shadow:var(--shadow-md);border-radius:16px}.react-flow__controls-button,.react-flow__minimap{border-color:var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--panel-2) 12%)}.dialog-backdrop{z-index:1000;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;display:grid;position:fixed;inset:0}.dialog-panel{background:var(--panel);border:1px solid var(--line);width:calc(100% - 48px);max-width:520px;box-shadow:var(--shadow-lg);border-radius:20px;gap:18px;padding:24px;display:grid}.dialog-panel h3{margin:0}@media (max-width:1180px){.console-workspace,.console-topbar,.hero-panel,.two-column-grid,.triple-grid{grid-template-columns:1fr}.console-rail{position:static}}

