@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.sa{--accent:#6e7bff;--accent-bright:#8b95ff;--accent-dim:#4f5ad6;--accent-soft:#6e7bff24;--accent-line:#6e7bff59;--cyan:#38d6ce;--ok:#34d399;--ok-soft:#34d39921;--ok-line:#34d39952;--warn:#f5b445;--warn-soft:#f5b44524;--warn-line:#f5b44557;--danger:#ff6b6b;--danger-soft:#ff6b6b21;--danger-line:#ff6b6b57;--info:var(--accent);--info-soft:var(--accent-soft);--bg:#0a0d14;--bg-grid:#ffffff06;--surface:#0e121b;--surface-2:#141926;--surface-3:#1a2030;--raised:#11161f;--border:#212838;--border-2:#2b3346;--hairline:#ffffff0f;--text:#e7ebf3;--text-2:#9ba6bc;--text-3:#66708a;--text-faint:#454f66;--shadow-sm:0 1px 2px #0006;--shadow:0 8px 28px #00000080, 0 2px 6px #00000059;--shadow-lg:0 24px 70px #000000a6, 0 4px 14px #0006;--inset-hi:inset 0 1px 0 #ffffff0d;--r-xs:5px;--r-sm:7px;--r-md:10px;--r-lg:14px;--r-xl:20px;--mono:"JetBrains Mono", ui-monospace, monospace;--sans:"Hanken Grotesk", system-ui, sans-serif;--display:"Space Grotesk", system-ui, sans-serif;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01","cv01"}.sa[data-theme=light]{--accent:#4b57e8;--accent-bright:#5e6bff;--accent-dim:#3a45c9;--accent-soft:#4b57e817;--accent-line:#4b57e84d;--cyan:#0fb3ab;--ok:#12a66e;--ok-soft:#12a66e1a;--ok-line:#12a66e47;--warn:#c77a12;--warn-soft:#c77a121c;--warn-line:#c77a124d;--danger:#dc4b4b;--danger-soft:#dc4b4b17;--danger-line:#dc4b4b4d;--bg:#f4f5f8;--bg-grid:#141e3c08;--surface:#fff;--surface-2:#f7f8fb;--surface-3:#eef0f5;--raised:#fff;--border:#e3e6ee;--border-2:#d2d7e2;--hairline:#141e3c12;--text:#161a24;--text-2:#515b70;--text-3:#818ba1;--text-faint:#a7afc0;--shadow-sm:0 1px 2px #141e3c0f;--shadow:0 10px 34px #141e3c1a, 0 2px 6px #141e3c0d;--shadow-lg:0 28px 70px #141e3c2e, 0 4px 14px #141e3c14;--inset-hi:inset 0 1px 0 #fffc}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#0a0d14}.sa,.sa *,.sa :before,.sa :after{box-sizing:border-box}.sa{letter-spacing:0;height:100%;line-height:1.5}.sa h1,.sa h2,.sa h3,.sa h4,.sa p,.sa figure{margin:0}.sa button{font-family:inherit}.sa ::selection{background:var(--accent-soft)}a{color:var(--accent)}.sa .display{font-family:var(--display);letter-spacing:-.02em}.sa .mono,.mono{font-family:var(--mono);font-feature-settings:"zero","ss01";letter-spacing:-.01em}.sa .eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:500}.sa .t-muted,.muted{color:var(--text-2)}.sa .t-faint{color:var(--text-3)}.sa-shell{background:var(--bg);grid-template-columns:248px 1fr;height:100%;display:grid}.sa-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:18px 14px;display:flex}.sa-brand{align-items:center;gap:11px;padding:6px 8px 18px;display:flex}.sa-brand .mark{background:linear-gradient(150deg, var(--accent-bright), var(--accent-dim));width:30px;height:30px;box-shadow:0 4px 14px var(--accent-soft), var(--inset-hi);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.sa-brand .name{font-family:var(--display);letter-spacing:-.01em;font-size:16px;font-weight:600}.sa-brand .name b{color:var(--accent);font-weight:600}.sa-brand .env{font-family:var(--mono);letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;margin-top:1px;font-size:10px}.sa-navgroup{margin-top:14px}.sa-navgroup>.lbl{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:0 10px 8px;font-size:10px}.sa-nav{flex-direction:column;gap:2px;display:flex}.sa-nav a{border-radius:var(--r-sm);height:36px;color:var(--text-2);cursor:pointer;align-items:center;gap:11px;padding:0 11px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}.sa-nav a svg{opacity:.82;flex:none;width:17px;height:17px}.sa-nav a:hover{background:var(--surface-2);color:var(--text)}.sa-nav a.active{background:var(--accent-soft);color:var(--accent-bright)}.sa-nav a.active svg{opacity:1}.sa-nav a .count{font-family:var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:20px;margin-left:auto;padding:1px 7px;font-size:11px}.sa-nav a.active .count{color:var(--accent-bright);border-color:var(--accent-line);background:0 0}.sa-sidefoot{border-top:1px solid var(--hairline);margin-top:auto;padding-top:14px}.sa-user{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:10px;padding:7px 8px;display:flex}.sa-user:hover{background:var(--surface-2)}.sa-main{flex-direction:column;min-width:0;min-height:0;display:flex}.sa-topbar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:14px;height:60px;padding:0 26px;display:flex}.sa-crumb{color:var(--text-3);align-items:center;gap:9px;font-size:13.5px;display:flex}.sa-crumb b{color:var(--text);font-weight:600}.sa-crumb .sep{color:var(--text-faint)}.sa-spacer{flex:1}.sa-content{flex:1;min-height:0;padding:28px;overflow:auto}.sa-page-h{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.sa-page-h h1{font-family:var(--display);letter-spacing:-.02em;font-size:25px;font-weight:600}.sa-page-h p{color:var(--text-2);margin-top:4px;font-size:13.5px}.sa-btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform 60ms;display:inline-flex}.sa-btn:active{transform:translateY(.5px)}.sa-btn svg{width:16px;height:16px}.sa-btn.sm{border-radius:var(--r-xs);height:30px;padding:0 11px;font-size:12.5px}.sa-btn.lg{height:42px;padding:0 20px;font-size:14px}.sa-btn.block{width:100%}.sa-btn.icon{width:36px;padding:0}.sa-btn.icon.sm{width:30px}.sa-btn:disabled{opacity:.5;cursor:not-allowed}.sa-btn-primary{background:linear-gradient(180deg, var(--accent-bright), var(--accent));color:#fff;border-color:var(--accent-dim);box-shadow:0 2px 10px var(--accent-soft), var(--inset-hi)}.sa-btn-primary:hover:not(:disabled){background:var(--accent-bright)}.sa-btn-default{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.sa-btn-default:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.sa-btn-ghost{color:var(--text-2);background:0 0}.sa-btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.sa-btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.sa-btn-danger:hover:not(:disabled),.sa-btn-danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}.sa-btn-danger-solid:hover:not(:disabled){filter:brightness(1.08)}.sa-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sa-badge{border:1px solid var(--border-2);height:22px;color:var(--text-2);background:var(--surface-2);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.sa-badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.sa-badge.ok{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.sa-badge.warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.sa-badge.danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.sa-badge.info{color:var(--accent-bright);background:var(--accent-soft);border-color:var(--accent-line)}.sa-badge.muted{color:var(--text-3);background:var(--surface-2);border-color:var(--border)}.sa-badge .dot.pulse{animation:2s infinite sa-pulse;box-shadow:0 0}@keyframes sa-pulse{0%{box-shadow:0 0 0 0 var(--ok-line)}70%{box-shadow:0 0 0 5px #0000}to{box-shadow:0 0 #0000}}.sa-chip{border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--border);height:24px;color:var(--text-2);align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.sa-chip.mono{font-family:var(--mono);font-size:11.5px}.sa-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.sa-card.pad{padding:20px}.sa-panel-h{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:15px 18px;display:flex}.sa-panel-h h3{letter-spacing:-.01em;font-size:14px;font-weight:600}.sa-panel-h .sa-spacer{flex:1}.sa-stats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.sa-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 17px;position:relative;overflow:hidden}.sa-stat .k{color:var(--text-3);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.sa-stat .k svg{width:15px;height:15px}.sa-stat .v{font-family:var(--display);letter-spacing:-.02em;margin-top:9px;font-size:30px;font-weight:600;line-height:1}.sa-stat .d{align-items:center;gap:5px;margin-top:8px;font-size:11.5px;display:flex}.sa-stat .d.up{color:var(--ok)}.sa-stat .d.down{color:var(--danger)}.sa-stat .spark{opacity:.9;position:absolute;top:16px;right:14px}.sa-table-wrap{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto}.sa-table{border-collapse:collapse;width:100%;font-size:13px}.sa-table thead th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;padding:11px 16px;font-size:10.5px;font-weight:500}.sa-table thead th.sorted{color:var(--text)}.sa-table tbody td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:13px 16px}.sa-table tbody tr{transition:background .12s}.sa-table tbody tr:hover{background:var(--surface-2)}.sa-table tbody tr:last-child td{border-bottom:none}.sa-table .num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-2)}.sa-table .primary{color:var(--text);font-weight:600}.sa-table .check{width:38px}.sa-table .row-actions{opacity:0;transition:opacity .12s}.sa-table tbody tr:hover .row-actions,.sa-table tbody tr:focus-within .row-actions{opacity:1}@media (hover:none){.sa-table .row-actions{opacity:1}}.sa-revoked td:not(.keepcol){opacity:.5}.sa-checkbox{border:1.5px solid var(--border-2);background:var(--surface);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.sa-checkbox.on{background:var(--accent);border-color:var(--accent);color:#fff}.sa-checkbox svg{width:11px;height:11px}.sa-org{align-items:center;gap:11px;display:flex}.sa-logo{width:30px;height:30px;font-family:var(--display);color:#fff;box-shadow:var(--inset-hi);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.sa-org .meta .nm{color:var(--text);font-size:13px;font-weight:600}.sa-org .meta .sl{font-family:var(--mono);color:var(--text-3);font-size:11px}.sa-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:flex}.sa-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.sa-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);min-width:240px;height:36px;color:var(--text-3);align-items:center;gap:9px;padding:0 12px;display:flex}.sa-search svg{width:16px;height:16px}.sa-search input{color:var(--text);font:inherit;background:0 0;border:none;outline:none;width:100%;font-size:13px}.sa-search .kbd{margin-left:auto}.sa-filter{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);height:36px;color:var(--text-2);cursor:pointer;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.sa-filter:hover{border-color:var(--border-2);color:var(--text)}.sa-filter svg{opacity:.8;width:15px;height:15px}.sa-filter.on{color:var(--accent-bright);border-color:var(--accent-line);background:var(--accent-soft)}.sa-filter .v{color:var(--text);font-weight:600}.kbd{font-family:var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:10.5px;line-height:1.4}.sa-seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.sa-seg button{height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:0 13px;font-size:12.5px;font-weight:600}.sa-seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.sa[data-theme=light] .sa-seg button.on{background:#fff}.sa-field{flex-direction:column;gap:7px;display:flex}.sa-field>label{color:var(--text);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.sa-field .req{color:var(--accent)}.sa-field .hint{color:var(--text-3);font-size:12px;line-height:1.45}.sa-input,.sa-select,.sa-textarea{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-sm);height:38px;color:var(--text);font:inherit;outline:none;width:100%;padding:0 12px;font-size:13.5px;transition:border-color .14s,box-shadow .14s}.sa-input::placeholder{color:var(--text-faint)}.sa-input:focus,.sa-select:focus,.sa-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sa-textarea{resize:none;height:auto;padding:11px 12px;line-height:1.5}.sa-input.mono,.sa-textarea.mono{font-family:var(--mono);font-size:12.5px}.sa-input-group{align-items:stretch;display:flex}.sa-input-group .sa-input{border-top-right-radius:0;border-bottom-right-radius:0}.sa-input-affix{background:var(--surface-2);border:1px solid var(--border-2);border-radius:0 var(--r-sm) var(--r-sm) 0;font-family:var(--mono);color:var(--text-3);white-space:nowrap;border-left:none;align-items:center;padding:0 12px;font-size:12px;display:flex}.sa-input-affix.pre{border-left:1px solid var(--border-2);border-radius:var(--r-sm) 0 0 var(--r-sm);border-right:none}.sa-input-group .sa-input.has-pre{border-radius:0 var(--r-sm) var(--r-sm) 0}.sa-toggle{background:var(--surface-3);border:1px solid var(--border-2);cursor:pointer;border-radius:20px;flex:none;width:38px;height:22px;transition:background .16s;position:relative}.sa-toggle:after{content:"";background:var(--text-2);border-radius:50%;width:16px;height:16px;transition:transform .16s,background .16s;position:absolute;top:2px;left:2px}.sa-toggle.on{background:var(--accent);border-color:var(--accent)}.sa-toggle.on:after{background:#fff;transform:translate(16px)}.sa-radio{border:1px solid var(--border-2);border-radius:var(--r-md);cursor:pointer;background:var(--surface);gap:12px;padding:13px 14px;display:flex}.sa-radio.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-line)}.sa-radio .ring{border:1.5px solid var(--border-2);border-radius:50%;flex:none;width:18px;height:18px;margin-top:1px;position:relative}.sa-radio.on .ring{border-color:var(--accent)}.sa-radio.on .ring:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:3px}.sa-radio .t{font-size:13px;font-weight:600}.sa-radio .s{color:var(--text-3);margin-top:3px;font-size:12px;line-height:1.45}.sa-secret{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-2);font-family:var(--mono);color:var(--text);align-items:center;gap:12px;padding:14px 16px;font-size:13.5px;display:flex}.sa-secret.live{border-color:var(--accent-line);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.sa-secret .val{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;flex:1;min-width:0;overflow:hidden}.sa-secret .masked{letter-spacing:.12em;color:var(--text-3)}.sa-codeblock{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--mono);color:var(--text-2);padding:14px 16px;font-size:12.5px;line-height:1.7;overflow:hidden}.sa-codeblock .ln{color:var(--text-faint);-webkit-user-select:none;user-select:none;margin-right:16px}.sa-codeblock .tok-k{color:var(--accent-bright)}.sa-codeblock .tok-s{color:var(--ok)}.sa-codeblock .tok-c{color:var(--text-faint)}.sa-codeblock .tok-p{color:var(--cyan)}.sa-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06080ea8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sa[data-theme=light] .sa-overlay{background:#1e284657}.sa-dialog{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-xl);width:460px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);overflow:hidden}.sa-dialog .body{padding:24px}.sa-dialog .foot{border-top:1px solid var(--border);background:var(--surface-2);gap:10px;padding:16px 24px;display:flex}.sa-dialog .foot .sa-spacer{flex:1}.sa-diag-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.sa-diag-icon.danger{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-line)}.sa-diag-icon.warn{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}.sa-diag-icon.accent{background:var(--accent-soft);color:var(--accent-bright);border:1px solid var(--accent-line)}.sa-alert{border-radius:var(--r-md);gap:11px;padding:13px 15px;font-size:12.5px;line-height:1.5;display:flex}.sa-alert svg{flex:none;width:17px;height:17px;margin-top:1px}.sa-alert.warn{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn)}.sa-alert.danger{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger)}.sa-alert.info{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-bright)}.sa-alert b{color:var(--text)}.sa-alert .txt{color:var(--text-2)}.sa-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:56px 20px;display:flex}.sa-empty .ico{background:var(--surface-2);border:1px solid var(--border);width:56px;height:56px;color:var(--text-3);border-radius:16px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.sa-empty h3{font-size:15px;font-weight:600}.sa-empty p{color:var(--text-2);max-width:320px;margin-top:6px;font-size:13px}.sa-skel{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:5px;animation:1.4s infinite sa-shimmer}@keyframes sa-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sa-divider{background:var(--border);height:1px}.sa-dl{grid-template-columns:130px 1fr;gap:11px 16px;font-size:13px;display:grid}.sa-dl dt{color:var(--text-3)}.sa-dl dd{color:var(--text);margin:0}.sa-iconbtn{border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.sa-iconbtn:hover{border-color:var(--border-2);color:var(--text);background:var(--surface-2)}.sa-iconbtn svg{width:15px;height:15px}.sa-meter{background:var(--surface-3);border-radius:4px;height:6px;overflow:hidden}.sa-meter>i{background:linear-gradient(90deg, var(--accent), var(--accent-bright));border-radius:4px;height:100%;display:block}.sa-demo-tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:9.5px;font-weight:600;line-height:1.5}.sa-auth-split{grid-template-columns:1.05fr 1fr;height:100%;display:grid}.sa-auth-aside{border-right:1px solid var(--border);background:linear-gradient(160deg,#11152340,#0a0d14);flex-direction:column;justify-content:space-between;padding:46px 44px;display:flex;position:relative;overflow:hidden}.sa-auth-form{background:var(--bg);justify-content:center;align-items:center;padding:40px;display:flex}.app-main{max-width:none;margin:0;padding:0}.centered{place-items:center;min-height:100%;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:20px}.card h2{font-family:var(--display);letter-spacing:-.02em;margin-top:0}.card hr,.sa hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:var(--surface-2);height:36px;color:var(--text);border:1px solid #0000;border-color:var(--border-2);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .14s,border-color .14s,color .14s,box-shadow .14s,transform 60ms;display:inline-flex}.btn:active{transform:translateY(.5px)}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:linear-gradient(180deg, var(--accent-bright), var(--accent));color:#fff;border-color:var(--accent-dim);width:auto;box-shadow:0 2px 10px var(--accent-soft), var(--inset-hi);margin-top:0}.btn-primary:hover:not(:disabled){background:var(--accent-bright)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.btn-inline{white-space:nowrap;width:auto;margin-top:0}.btn-sm{border-radius:var(--r-xs);height:30px;padding:0 11px;font-size:12.5px}.alert{border-radius:var(--r-md);gap:11px;margin-top:1rem;padding:13px 15px;font-size:12.5px;line-height:1.5;display:flex}.alert-error{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger)}.alert-info{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-bright)}.page-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-head h2{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .25rem;font-size:22px;font-weight:600}.page-head p{color:var(--text-2);margin:0;font-size:13.5px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin:1.25rem 0;display:flex}.toolbar-field{flex-direction:column;gap:.35rem;display:flex}.toolbar-field label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.toolbar-field input,.toolbar-field select{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);height:36px;color:var(--text);outline:none;padding:0 12px;font-size:13px;transition:border-color .14s,box-shadow .14s}.toolbar-field input{min-width:16rem}.toolbar-field input:focus,.toolbar-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);padding:11px 16px;font-size:10.5px;font-weight:500}.data-table td{text-align:left;border-bottom:1px solid var(--hairline);vertical-align:middle;color:var(--text);padding:13px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.data-table code{font-size:12px;font-family:var(--mono);color:var(--text-2)}.row-actions{flex-wrap:wrap;gap:.4rem;display:flex}.badge{border:1px solid var(--border-2);height:22px;color:var(--text-2);background:var(--surface-2);border-radius:20px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.badge-active,.badge-conn-active{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.badge-inactive,.badge-conn-pending,.badge-conn-unknown{color:var(--text-3);background:var(--surface-2);border-color:var(--border)}.badge-suspended,.badge-conn-failed{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.badge-conn-validated{color:var(--accent-bright);background:var(--accent-soft);border-color:var(--accent-line)}.badge-conn-validating,.badge-conn-introspecting,.badge-conn-deleting{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-line)}.pagination{color:var(--text-3);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;font-size:12.5px;display:flex}.detail-section{margin-top:1.5rem}.detail-section h3{font-size:14px;font-weight:600;font-family:var(--display);margin:0 0 .75rem}.detail-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem 1.5rem;margin:0;display:grid}.detail-list dt{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:.78rem}.detail-list dd{color:var(--text);margin:.15rem 0 0;font-size:13.5px}.tenant-form{flex-direction:column;gap:1.1rem;max-width:32rem;display:flex}.form-field{flex-direction:column;gap:7px;display:flex}.form-field label{color:var(--text);font-size:12.5px;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);min-height:38px;color:var(--text);outline:none;padding:9px 12px;font-size:13.5px;transition:border-color .14s,box-shadow .14s}.form-field textarea{resize:vertical;font-family:inherit;line-height:1.5}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-faint)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-field input[aria-invalid=true]{border-color:var(--danger)}.field-help{color:var(--text-3);margin:0;font-size:12px}.field-error{color:var(--danger);margin:0;font-size:12px}.form-actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.schema-viewer-toolbar{margin-top:.75rem}.schema-json{color:#e7ebf3;border:1px solid var(--border);border-radius:var(--r-md);max-height:28rem;font-family:var(--mono);white-space:pre;background:#0a0d14;margin:.75rem 0 0;padding:14px 16px;font-size:12px;line-height:1.6;overflow:auto}.connection-actions{flex-direction:column;gap:.75rem;display:flex}.default-connection-control{flex-direction:column;gap:.5rem;max-width:32rem;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06080ea8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sa[data-theme=light] .modal-backdrop{background:#1e284657}.modal-card{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-xl);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:24px}.modal-card h3{font-family:var(--display);letter-spacing:-.01em;margin:0 0 .75rem;font-size:18px;font-weight:600}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1.25rem;display:flex}.sa-dash-cols{grid-template-columns:1.7fr 1fr;gap:18px;min-width:0;display:grid}.sa-nav-toggle,.sa-sidebar-backdrop{display:none}@media (width<=1100px){.sa-dash-cols{grid-template-columns:1fr}}@media (width<=1024px){.sa-shell{grid-template-columns:1fr}.sa-sidebar{z-index:40;width:248px;box-shadow:none;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sa-sidebar.open{box-shadow:var(--shadow-lg);transform:translate(0)}.sa-sidebar-backdrop{z-index:39;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06080e8c;display:block;position:fixed;inset:0}.sa[data-theme=light] .sa-sidebar-backdrop{background:#1e28464d}.sa-nav-toggle{display:inline-flex}}@media (width<=920px){.sa-auth-split{grid-template-columns:1fr}.sa-auth-aside{display:none}.sa-auth-form{padding:32px 20px}}@media (width<=640px){.sa-content{padding:16px}.sa-topbar{gap:10px;padding:0 14px}.sa-page-h h1{font-size:21px}.sa-search{flex:100%;min-width:0}.sa-toolbar .sa-filter,.sa-toolbar .sa-seg{flex:0 auto}.toolbar-field{flex:100%}.toolbar-field input{width:100%;min-width:0}.sa-input-affix{text-overflow:ellipsis;max-width:45%;overflow:hidden}.sa-dialog .body{padding:18px}.sa-dialog .foot{padding:14px 18px}.sa-dl{grid-template-columns:1fr;gap:2px 0}.sa-dl dt{margin-top:9px}.sa-dl dt:first-child{margin-top:0}}
