:root{--font-sans: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;--primary-50: #eff8f0;--primary-100: #d9efdc;--primary-200: #b8dfbf;--primary-300: #8dcb99;--primary-400: #5bae6e;--primary-500: #328849;--primary-600: #246f39;--primary-700: #1b572d;--primary-800: #174526;--primary-900: #12371f;--accent-50: #ecfdf5;--accent-100: #d1fae5;--accent-200: #a7f3d0;--accent-300: #6ee7b7;--accent-400: #34d399;--accent-500: #10b981;--accent-600: #059669;--accent-700: #047857;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--error-50: #fef2f2;--error-100: #fee2e2;--error-400: #f87171;--error-500: #ef4444;--error-600: #dc2626;--neutral-0: #ffffff;--neutral-50: #f7f8f7;--neutral-100: #eef0ee;--neutral-200: #dfe3e0;--neutral-300: #c7cec9;--neutral-400: #89938d;--neutral-500: #637068;--neutral-600: #4b574f;--neutral-700: #303932;--neutral-800: #222a25;--neutral-900: #141b16;--neutral-950: #090d0a;--bg: var(--neutral-50);--surface: rgba(255, 255, 255, .68);--glass-surface: rgba(255, 255, 255, .58);--glass-border: rgba(255, 255, 255, .72);--input-surface: rgba(255, 255, 255, .5);--text: var(--neutral-800);--text-secondary: var(--neutral-500);--border: var(--neutral-200);--shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background-color:var(--bg)}#app{width:100%;min-height:100vh}h1,h2,h3,h4{line-height:1.2;font-weight:600;color:var(--neutral-900)}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1rem}a{color:var(--primary-600);text-decoration:none}button{font-family:inherit;font-size:.875rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.4rem}button:hover{border-color:var(--primary-400);background:var(--primary-50)}button.primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}button.primary:hover{background:var(--primary-700);border-color:var(--primary-700)}.surface-panel{border:1px solid var(--glass-border)!important;border-radius:0!important;background:var(--glass-surface)!important;box-shadow:0 12px 34px #214c2b14,inset 0 1px #ffffff75!important;backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}.config-panel,.model-panel,.filters{border-radius:0!important;border-color:var(--glass-border)!important;background:var(--glass-surface)!important;box-shadow:0 12px 34px #214c2b14,inset 0 1px #ffffff75!important;backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{border-radius:0!important}.icon-button{width:2.5rem;height:2.5rem;justify-content:center;padding:0}.app-shell *{border-radius:0!important}.app-shell input,.app-shell select,.app-shell textarea{background:var(--input-surface);color:var(--text)}.app-shell .spinner{border-radius:50%!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.app-icon[data-v-c3cd8ed9]{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.125em}.external-icon[data-v-c3cd8ed9]{filter:brightness(0) saturate(100%) invert(25%) sepia(21%) saturate(1225%) hue-rotate(82deg) brightness(87%) contrast(92%);object-fit:contain}.login-page[data-v-2d4e6928]{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(circle at top left,rgba(50,136,73,.06),transparent 36rem),var(--bg)}.login-card[data-v-2d4e6928]{width:min(100%,420px);padding:2.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-mark[data-v-2d4e6928]{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:1.5rem;border-radius:var(--radius-md);color:#fff;font-weight:700;letter-spacing:.08em}.login-mark[data-v-2d4e6928] .app-icon{width:2.25rem;height:2.25rem}.eyebrow[data-v-2d4e6928]{color:var(--primary-600);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-card h1[data-v-2d4e6928]{margin-top:.35rem;font-size:2rem}.login-intro[data-v-2d4e6928]{margin:.6rem 0 1.75rem;color:var(--text-secondary)}.login-card label[data-v-2d4e6928]:not(.remember-label){display:block;margin:1rem 0 .4rem;font-size:.875rem;font-weight:600}.login-card input[data-v-2d4e6928]:not([type=checkbox]){width:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit}.login-card input[data-v-2d4e6928]:not([type=checkbox]):focus{outline:2px solid var(--primary-300);border-color:var(--primary-500)}.remember-label[data-v-2d4e6928]{display:flex;align-items:center;gap:.5rem;margin:1.25rem 0;color:var(--text-secondary);font-size:.875rem}.login-submit[data-v-2d4e6928]{width:100%;justify-content:center;padding:.7rem 1rem}.login-submit[data-v-2d4e6928]:disabled{cursor:wait;opacity:.7}.login-error[data-v-2d4e6928]{margin-bottom:1rem;color:var(--error-600);font-size:.875rem}.security-note[data-v-2d4e6928]{margin-top:1.25rem;color:var(--text-secondary);font-size:.75rem;text-align:center}.app-loading[data-v-d34e8650],.app-error[data-v-d34e8650]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--text-secondary)}.spinner[data-v-d34e8650]{width:32px;height:32px;border:3px solid var(--neutral-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .7s linear infinite}.app-shell[data-v-d34e8650]{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 8% 8%,rgba(74,171,95,.035),transparent 38%),radial-gradient(ellipse at 92% 30%,rgba(134,206,147,.045),transparent 34%),var(--bg)}.app-header[data-v-d34e8650]{background:var(--glass-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 8px 28px #18442614;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}.header-inner[data-v-d34e8650]{max-width:1400px;margin:0 auto;padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand[data-v-d34e8650]{display:flex;align-items:center;gap:.5rem}.brand-icon[data-v-d34e8650]{font-size:1.4rem}.brand-name[data-v-d34e8650]{font-size:1.15rem;font-weight:700;color:var(--neutral-900);letter-spacing:-.02em}.nav[data-v-d34e8650]{display:flex;gap:.25rem}.nav-link[data-v-d34e8650]{padding:.4rem .85rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--neutral-500);transition:all .15s ease}.nav-link[data-v-d34e8650]:hover{background:var(--primary-100);color:var(--neutral-800)}.nav-link.active[data-v-d34e8650]{background:var(--primary-100);color:var(--primary-700)}.user-area[data-v-d34e8650]{display:flex;align-items:center;gap:.75rem}.user-name[data-v-d34e8650]{font-size:.875rem;font-weight:500;color:var(--neutral-600)}.logout-btn[data-v-d34e8650]{font-size:.8rem;padding:.35rem .7rem}.app-main[data-v-d34e8650]{flex:1;max-width:1600px;width:100%;margin:0 auto;padding:1.5rem}@media (max-width: 768px){.header-inner[data-v-d34e8650]{flex-wrap:wrap;height:auto;padding:.75rem 1rem;gap:.75rem}.nav[data-v-d34e8650]{order:3;width:100%;overflow-x:auto}.app-main[data-v-d34e8650]{padding:1rem}}
