.toast-host[data-v-d3b6184d]{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast[data-v-d3b6184d]{padding:10px 14px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);max-width:360px}.toast--info[data-v-d3b6184d]{border-color:var(--color-accent-500)}.toast--success[data-v-d3b6184d]{border-color:var(--color-success)}.toast--error[data-v-d3b6184d]{border-color:var(--color-danger);color:var(--color-danger-fg)}.overlay[data-v-58675d72]{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:var(--space-4);z-index:50}.dialog[data-v-58675d72]{max-width:calc(100vw - 2 * var(--space-4));max-height:90vh;display:flex;flex-direction:column}.dialog__head[data-v-58675d72]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.dialog__body[data-v-58675d72]{padding:var(--space-5);overflow:auto}.dialog__foot[data-v-58675d72]{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border)}.icon-btn[data-v-58675d72]{background:none;border:0;cursor:pointer;font-size:16px}.btn[data-v-cd8e5ad5]{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font-weight:500;white-space:nowrap}.btn--sm[data-v-cd8e5ad5]{padding:6px 10px;font-size:var(--font-xs)}.btn--md[data-v-cd8e5ad5]{padding:9px 14px}.btn--primary[data-v-cd8e5ad5]{background:var(--color-accent-700);color:#fff}.btn--primary[data-v-cd8e5ad5]:hover{background:var(--color-accent-800)}.btn--secondary[data-v-cd8e5ad5]{background:var(--color-surface);border-color:var(--color-border)}.btn--ghost[data-v-cd8e5ad5]{background:transparent}.btn--danger[data-v-cd8e5ad5]{background:var(--color-danger-fg);color:#fff}.btn[data-v-cd8e5ad5]:disabled{opacity:.55;cursor:not-allowed}.spinner[data-v-cd8e5ad5]{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin-cd8e5ad5 .7s linear infinite}@keyframes spin-cd8e5ad5{to{transform:rotate(360deg)}}:root{--color-accent-50: #f0fdfa;--color-accent-100: #ccfbf1;--color-accent-500: #14b8a6;--color-accent-600: #0d9488;--color-accent-700: #0f766e;--color-accent-800: #115e59;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-variant: #f1f5f9;--color-text: #0f172a;--color-muted: #64748b;--color-muted-2: #94a3b8;--color-border: #e2e8f0;--color-success: #22c55e;--color-success-bg: #dcfce7;--color-success-fg: #166534;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-warning-fg: #92400e;--color-danger: #ef4444;--color-danger-bg: #fee2e2;--color-danger-fg: #991b1b;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / .05);--shadow-md: 0 2px 4px rgb(0 0 0 / .08);--font-xs: 12px;--font-sm: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px;--sidebar-width: 248px;--font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);font-size:var(--font-sm)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-accent-700)}h1,h2,h3,p{margin:0}h1{font-size:var(--font-2xl);font-weight:700}h2{font-size:var(--font-xl);font-weight:600}h3{font-size:var(--font-lg);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.muted{color:var(--color-muted)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-2)}.grow{flex:1}.input{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.input:focus{outline:2px solid var(--color-accent-500);outline-offset:1px}
