@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:optional;src:url(../fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:optional;src:url(../fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400 700;font-display:optional;src:url(../fonts/outfit-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400 700;font-display:optional;src:url(../fonts/outfit-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);ascent-override:96.88%;descent-override:24.12%;line-gap-override:0%;size-adjust:107.12%}@font-face{font-family:Outfit Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);ascent-override:100%;descent-override:26%;line-gap-override:0%;size-adjust:100%}:root{--brand-50:#ecf6f6;--brand-100:#cfe5e5;--brand-200:#a3d0d1;--brand-300:#6eb4b6;--brand-400:#369597;--brand-500:#0a7c7e;--brand-600:#005456;--brand-700:#004143;--brand-800:#0a3536;--brand-900:#0d2622;--slate-0:#fff;--slate-25:#fbfcfd;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#0b1220;--mint-500:#09be91;--turq-500:#00b2b6;--blue-500:#5784ff;--primary-100:var(--brand-600);--primary-75:var(--brand-500);--primary-50:var(--brand-200);--primary-25:var(--brand-50);--neutral-100:var(--slate-900);--neutral-75:var(--slate-600);--neutral-50:var(--slate-300);--neutral-25:var(--slate-100);--white-100:#fff;--white-75:#ffffffbf;--white-50:#ffffff80;--white-25:#ffffff40;--teal:var(--brand-600);--teal-deep:var(--brand-700);--mint:var(--mint-500);--mint-soft:var(--brand-50);--mint-deep:var(--brand-100);--bg-base:var(--slate-50);--bg-paper:#fff;--bg-surface:#fff;--bg-elevated:#fff;--bg-subtle:var(--slate-50);--bg-muted:var(--slate-100);--bg-overlay:#0f172a66;--bg-sidebar:#fff;--bg-hover:var(--slate-100);--text-hover:var(--slate-900);--bg-active:var(--brand-50);--text-active:var(--brand-700);--text-primary:var(--slate-900);--text-ink:var(--slate-900);--text-ink-2:var(--slate-700);--text-secondary:var(--slate-600);--text-muted:var(--slate-500);--text-muted-2:var(--slate-400);--text-on-primary:#fff;--border-color:var(--slate-200);--border-subtle:var(--slate-100);--border-2:var(--slate-300);--color-primary:var(--brand-600);--color-primary-hover:var(--brand-700);--color-secondary:var(--slate-900);--color-accent:var(--brand-50);--color-accent-soft:var(--brand-50);--color-accent-deep:var(--brand-100);--color-mint:var(--mint-500);--color-success:#047857;--color-success-soft:#ecfdf5;--color-warning:#92400e;--color-warning-soft:#fef3c7;--color-danger:#be123c;--color-danger-soft:#fff1f2;--color-info:#1d4ed8;--color-info-soft:#eff6ff;--chart-1:var(--brand-600);--chart-2:var(--mint-500);--chart-3:var(--blue-500);--chart-4:var(--turq-500);--z-sidebar-overlay:90;--topbar-h:calc(56px + var(--safe-top));--border-radius:8px;--border-radius-md:10px;--border-radius-sm:6px;--border-radius-lg:12px;--border-radius-pill:999px;--spacing-3xs:2px;--spacing-xxs:4px;--spacing-xs:6px;--spacing-sm:8px;--spacing-sm2:12px;--spacing-md:16px;--spacing-md2:20px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--control-h-sm:38px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px -2px #0f172a14, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 24px 48px -12px #0f172a38;--focus-ring:0 0 0 2px var(--bg-paper), 0 0 0 4px #00545673;--font-display:"Outfit", "Outfit Fallback", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:"Inter", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, "Fira Code", monospace;--font-size-2xs:.6875rem;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-display:2.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--transition:.15s ease;--safe-bottom:env(safe-area-inset-bottom,0);--safe-top:env(safe-area-inset-top,0);--code-bg:#0d1117;--code-bg-alt:#1c2029;--code-fg:#c9d1d9;--code-fg-muted:#768390;--code-fg-keyword:#ff7b72;--code-fg-attr:#d2a8ff;--code-fg-string:#a5d6ff;--code-fg-var:#ffa657;--code-fg-num:#79c0ff;--code-fg-prop:#7ee787;--code-caret:#5ea5f5}[data-theme=dark]{--bg-base:var(--slate-950);--bg-paper:var(--slate-900);--bg-surface:var(--slate-900);--bg-elevated:var(--slate-800);--bg-subtle:#111a2e;--bg-muted:var(--slate-800);--bg-overlay:#02061799;--bg-sidebar:var(--slate-900);--bg-hover:var(--slate-800);--text-hover:var(--slate-0);--bg-active:#3695972e;--text-active:var(--brand-200);--text-primary:#e2e8f0;--text-ink:#f1f5f9;--text-ink-2:var(--slate-300);--text-secondary:var(--slate-400);--text-muted:var(--slate-400);--text-muted-2:var(--slate-500);--border-color:var(--slate-800);--border-subtle:#18233a;--border-2:var(--slate-700);--neutral-25:var(--slate-800);--color-primary:var(--brand-500);--color-primary-hover:var(--brand-400);--color-secondary:#f1f5f9;--color-accent:#3695972e;--color-accent-soft:#3695972e;--color-accent-deep:#36959752;--color-success:#34d399;--color-success-soft:#34d39924;--color-warning:#fbbf24;--color-warning-soft:#fbbf2424;--color-danger:#fb7185;--color-danger-soft:#fb718524;--color-info:#60a5fa;--color-info-soft:#60a5fa24;--shadow-sm:none;--shadow-md:0 4px 12px #0006;--shadow-lg:0 24px 48px #0000008c}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);transition:background-color var(--transition),color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable}body,html{background:var(--bg-base)}body{min-height:100vh;line-height:1.5}body.chat-page-no-scroll{overscroll-behavior:none;height:100dvh;min-height:0;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:var(--border-radius-pill,999px);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-muted-2);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}.display,.h1,.h2,.h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-ink)}.stat-num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.italic{font-weight:500}.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}.display{font-size:var(--font-size-display);line-height:1.15}.display,.h1{font-weight:500}.h1{font-size:var(--font-size-2xl);line-height:1.25}.h2{font-size:var(--font-size-xl);font-weight:500;line-height:1.3}.h3{font-size:var(--font-size-lg);font-weight:600;line-height:1.35;font-family:var(--font-sans);letter-spacing:0}.display-h1{font-family:var(--font-display);font-weight:500;font-size:var(--font-size-2xl);letter-spacing:-.01em;color:var(--text-ink);margin:0;line-height:1.25}.page-sub{font-size:var(--font-size-base);margin-top:2px}.eyebrow,.page-sub{color:var(--text-muted)}.eyebrow{font-family:var(--font-sans);font-size:var(--font-size-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:var(--font-sans);color:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-2);border-radius:var(--border-radius);width:100%;transition:border-color var(--transition),box-shadow var(--transition);padding:8px 12px}input::-moz-placeholder{color:var(--text-muted-2);opacity:1}textarea::-moz-placeholder{color:var(--text-muted-2);opacity:1}input::placeholder,textarea::placeholder{color:var(--text-muted-2);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 3px #0a7c7e26}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}.btn{border-radius:var(--border-radius);font-family:var(--font-sans);font-weight:500;font-size:var(--font-size-base);white-space:nowrap;transition:background-color var(--transition),color var(--transition),border-color var(--transition);min-height:var(--control-h-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--text-on-primary)}.btn-ghost{background:var(--bg-paper);color:var(--text-ink-2);border:1px solid var(--border-2);box-shadow:var(--shadow-sm)}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-ink);border-color:var(--border-2)}.btn-ghost:disabled{border-color:var(--border-color)}.btn-mint{background:var(--color-accent);color:var(--text-active)}.btn-mint:hover:not(:disabled){background:var(--color-accent-deep);color:var(--text-active)}.btn-text{color:var(--color-primary);background:0 0;min-height:auto;padding:4px 8px}.btn-text:hover:not(:disabled){color:var(--color-primary-hover);background:var(--color-accent)}.btn-danger{background:var(--color-danger);color:var(--white-100);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){color:var(--white-100);background:#9f1239}.btn-block{width:100%}.icon-btn{width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-ink)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-btn.tone-danger{color:var(--color-danger)}.icon-btn.tone-danger:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.icon-btn.tone-primary{color:var(--color-primary)}.icon-btn.tone-primary:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-primary)}.card{background:var(--bg-paper);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md2)}.pill{border-radius:var(--border-radius-pill);background:var(--bg-muted);font-size:var(--font-size-xs);color:var(--text-ink-2);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;font-weight:500;line-height:1.6;display:inline-flex}.pill-sm{font-size:var(--font-size-2xs);padding:0 8px}.pill-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-neutral{color:var(--text-ink-2)}.pill-muted,.pill-neutral{background:var(--bg-muted)}.pill-muted{color:var(--text-muted)}.pill-primary{background:var(--color-accent);color:var(--text-active)}.pill-success{background:var(--color-success-soft);color:var(--color-success)}.pill-warning{background:var(--color-warning-soft);color:var(--color-warning)}.pill-danger{background:var(--color-danger-soft);color:var(--color-danger)}.pill-info{background:var(--color-info-soft);color:var(--color-info)}.pill-outline{color:var(--text-ink-2);border:1px solid var(--border-2);background:0 0}.muted{color:var(--text-muted)}.muted,.small{font-size:var(--font-size-sm)}.small{color:var(--text-secondary)}.stack{flex-direction:column}.row,.stack{gap:var(--spacing-md);display:flex}.row{flex-wrap:wrap;align-items:center}.grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.bg-paper{background:var(--bg-paper)}@keyframes wspin{to{transform:rotate(1turn)}}@keyframes wfade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes wshimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-paper) 25%,var(--border-color) 50%,var(--bg-paper) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite wshimmer}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--bg-paper);animation:none}}@media (width<=720px){.hide-mobile{display:none!important}}@media (width>=721px){.hide-desktop{display:none!important}}.card-interactive{cursor:pointer;transition:border-color var(--transition),transform var(--transition);color:inherit;text-decoration:none}.card-interactive:hover{border-color:var(--brand-300);box-shadow:var(--shadow-md)}.card-interactive:active{transform:translateY(1px)}.card-interactive:focus-visible{box-shadow:var(--focus-ring);outline:none}.card-sm{padding:var(--spacing-sm2)}.card-flush{padding:0;overflow:hidden}.list{flex-direction:column;display:flex}.list-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm2) var(--spacing-md);border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition);display:flex}.list-row:last-child{border-bottom:0}.list-row.interactive{cursor:pointer}.list-row.interactive:hover{background:var(--bg-hover)}.list-row-end{gap:var(--spacing-sm);align-items:center;margin-left:auto;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-lg) 0;flex-wrap:wrap;display:flex}.page-body{padding:var(--spacing-lg)}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=720px){.form-row{grid-template-columns:1fr}}.form-foot{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);margin-top:var(--spacing-md);display:flex}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-ink-2)}.field-hint{color:var(--text-muted);line-height:1.5}.field-error,.field-hint{font-size:var(--font-size-xs);margin-top:var(--spacing-xxs)}.field-error{color:var(--color-danger)}.kv-grid{gap:var(--spacing-xxs) var(--spacing-md);font-size:var(--font-size-sm);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.kv-grid dt{color:var(--text-muted);font-weight:var(--font-weight-medium);white-space:nowrap}.kv-grid dd{color:var(--text-ink)}.status-dot{background:var(--text-muted-2);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--color-success)}.status-dot.warning{background:var(--color-warning)}.status-dot.offline{background:var(--color-danger)}.divider{background:var(--border-subtle);height:1px;margin:var(--spacing-md) 0}.divider-lg{background:var(--border-color);height:1px;margin:var(--spacing-lg) 0}.action-bar{padding:var(--spacing-sm2) var(--spacing-md);border-top:1px solid var(--border-color);background:var(--bg-paper);flex-shrink:0}.action-bar,.action-bar-end{align-items:center;gap:var(--spacing-sm);display:flex}.action-bar-end{margin-left:auto}.notice{gap:var(--spacing-sm);padding:var(--spacing-sm2) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);border:1px solid #0000;align-items:flex-start;line-height:1.5;display:flex}.notice-info{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info-soft)}.notice-success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-soft)}.notice-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-soft)}.notice-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-soft)}.page-enter-active,.page-leave-active{transition:opacity .14s,transform .14s}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(4px)}@media (prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none}.page-enter-from,.page-leave-to{transform:none}}.ui-tooltip{z-index:4000;background:var(--slate-900);color:#fff;max-width:260px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium,500);text-align:center;pointer-events:none;opacity:0;border-radius:6px;padding:6px 10px;line-height:1.35;transition:opacity 90ms,transform 90ms;position:fixed;transform:translateY(2px)}.ui-tooltip[data-placement=bottom]{transform:translateY(-2px)}.ui-tooltip.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.ui-tooltip{transition:opacity 60ms;transform:none}}.dev-branch-badge{z-index:9999;color:#6f6;pointer-events:none;opacity:.88;background:#111;border-radius:6px;padding:4px 9px;font:11px/1.4 ui-monospace,monospace;position:fixed;bottom:8px;right:8px}.error-page[data-v-92a423c2]{min-height:100dvh;padding:var(--spacing-2xl);background:var(--bg-base);justify-content:center}.error-card[data-v-92a423c2],.error-page[data-v-92a423c2]{align-items:center;display:flex}.error-card[data-v-92a423c2]{text-align:center;gap:var(--spacing-lg);flex-direction:column}.error-code[data-v-92a423c2]{font-size:4rem;font-weight:var(--font-weight-bold)}.error-code[data-v-92a423c2],.error-msg[data-v-92a423c2]{color:var(--text-muted);margin:0}.error-msg[data-v-92a423c2]{max-width:40ch}
