:root{--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--shell-max:76rem;--header-height:4rem;--transition:.15s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f6fb;--color-bg-accent:radial-gradient(1200px 600px at 15% -10%, #eef2ff 0%, #eef2ff00 60%), radial-gradient(1000px 500px at 100% 0%, #f3e8ff 0%, #f3e8ff00 55%);--color-surface:#fff;--color-surface-muted:#f3f4fb;--color-border:#e6e8f2;--color-border-strong:#d3d7e6;--color-text:#1b1f2a;--color-text-muted:#5b6172;--color-text-subtle:#8a90a2;--color-primary:var(--indigo-600);--color-primary-hover:var(--indigo-700);--color-primary-contrast:#fff;--color-primary-soft:var(--indigo-50);--color-focus:var(--indigo-400);--color-success:#059669;--color-success-soft:#d1fae5;--color-danger:#dc2626;--color-danger-soft:#fee2e2;--color-neutral:#64748b;--color-neutral-soft:#e2e8f0;--color-warning:#d97706;--color-warning-soft:#fef3c7;--shadow-sm:0 1px 2px #1b1f2a0f, 0 1px 3px #1b1f2a0d;--shadow-md:0 4px 12px #1b1f2a12, 0 2px 4px #1b1f2a0d;--shadow-lg:0 12px 32px #1b1f2a1a}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0d0f17;--color-bg-accent:radial-gradient(1200px 600px at 15% -10%, #4f46e52e 0%, #4f46e500 60%), radial-gradient(1000px 500px at 100% 0%, #8b5cf624 0%, #8b5cf600 55%);--color-surface:#161926;--color-surface-muted:#1d2131;--color-border:#272b3b;--color-border-strong:#333849;--color-text:#e8eaf2;--color-text-muted:#a3a9bd;--color-text-subtle:#757c92;--color-primary:var(--indigo-400);--color-primary-hover:var(--indigo-300);--color-primary-contrast:#0d0f17;--color-primary-soft:#6366f129;--color-focus:var(--indigo-400);--color-success:#34d399;--color-success-soft:#10b9812e;--color-danger:#f87171;--color-danger-soft:#dc262633;--color-neutral:#94a3b8;--color-neutral-soft:#94a3b82e;--color-warning:#fbbf24;--color-warning-soft:#d9770633;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 16px 40px #0000008c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);background-image:var(--color-bg-accent);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition), color var(--transition);background-repeat:no-repeat;background-attachment:fixed;margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);font-weight:var(--weight-semibold);margin:0}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button,input{font-family:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}#app{flex-direction:column;min-height:100vh;display:flex}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.input{padding:var(--space-3);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition)}.input:focus{border-color:var(--color-focus);outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition), color var(--transition), border-color var(--transition);border:1px solid #0000;display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-ghost{color:var(--color-text-muted);border-color:var(--color-border-strong);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--color-text)}.form-error{padding:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-sm)}.form-success{padding:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-success);background:var(--color-success-soft);border-radius:var(--radius-sm)}.shell-header[data-v-8b50f725]{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--color-surface) 82%, transparent);border-bottom:1px solid var(--color-border);position:sticky;top:0}.shell-header-inner[data-v-8b50f725]{max-width:var(--shell-max);height:var(--header-height);padding:0 var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.brand[data-v-8b50f725]{align-items:center;gap:var(--space-3);color:inherit;display:flex}.brand-mark[data-v-8b50f725]{border-radius:var(--radius-md);background:var(--color-primary);width:2.25rem;height:2.25rem;color:var(--color-primary-contrast);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.02em;place-items:center;display:grid}.brand-text[data-v-8b50f725]{line-height:var(--leading-tight);flex-direction:column;display:flex}.brand-title[data-v-8b50f725]{font-weight:var(--weight-semibold)}.brand-subtitle[data-v-8b50f725]{font-size:var(--text-xs);color:var(--color-text-muted)}.shell-nav[data-v-8b50f725]{gap:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.shell-nav a[data-v-8b50f725]{color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition), background-color var(--transition)}.shell-nav a[data-v-8b50f725]:hover{color:var(--color-text)}.shell-nav a.router-link-active[data-v-8b50f725]{color:var(--color-primary);background:var(--color-primary-soft)}.nav-user[data-v-8b50f725]{color:var(--color-text-subtle);align-self:center}.btn-logout[data-v-8b50f725]{padding:var(--space-2) var(--space-3)}.shell-main[data-v-8b50f725]{width:100%;max-width:var(--shell-max);padding:var(--space-6) var(--space-5);flex:1;margin:0 auto}.shell-footer[data-v-8b50f725]{padding:var(--space-5);text-align:center;font-size:var(--text-xs);color:var(--color-text-subtle);border-top:1px solid var(--color-border)}.card[data-v-72c760c7]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header[data-v-72c760c7]{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) 0;display:flex}.card-title[data-v-72c760c7]{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.card-subtitle[data-v-72c760c7]{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.card-actions[data-v-72c760c7]{flex-shrink:0}.card-body[data-v-72c760c7]{padding:var(--space-5)}.card-body--flush[data-v-72c760c7]{padding:0}.home[data-v-bb09a50b]{max-width:44rem;margin:0 auto}.status[data-v-bb09a50b]{margin-top:var(--space-5);align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.status-dot[data-v-bb09a50b]{border-radius:var(--radius-full);background:var(--color-neutral);width:.6rem;height:.6rem}.status-dot--ok[data-v-bb09a50b]{background:var(--color-success)}.status-dot--error[data-v-bb09a50b]{background:var(--color-danger)}
