@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--bg: #ffffff;--bg-transparent: rgba(255, 255, 255, .85);--bg-sidebar: #fafafa;--surface: #ffffff;--surface-hover: #f5f5f5;--border: #e5e5e5;--border-light: #f0f0f0;--text: #111827;--text-muted: #6b7280;--text-light: #9ca3af;--accent: #000000;--accent-foreground: #ffffff;--ai-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--ai-text: transparent;--success-bg: rgba(16, 185, 129, .1);--success-text: #10b981;--success-border: rgba(16, 185, 129, .2);--error-bg: rgba(239, 68, 68, .1);--error-text: #ef4444;--error-border: rgba(239, 68, 68, .2);--warning-bg: rgba(245, 158, 11, .1);--warning-text: #f59e0b;--warning-border: rgba(245, 158, 11, .2);--info-bg: rgba(59, 130, 246, .1);--info-text: #3b82f6;--info-border: rgba(59, 130, 246, .2);--chart-primary: #8b5cf6;--chart-primary-transparent: rgba(139, 92, 246, .2);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-ai: 0 0 20px rgba(99, 102, 241, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg: #000000;--bg-transparent: rgba(0, 0, 0, .85);--bg-sidebar: #0a0a0a;--surface: #111111;--surface-hover: #171717;--border: #262626;--border-light: #1f1f1f;--text: #f9fafb;--text-muted: #a1a1aa;--text-light: #52525b;--accent: #ffffff;--accent-foreground: #000000;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-ai: 0 0 30px rgba(99, 102, 241, .2);--success-bg: rgba(16, 185, 129, .15);--success-text: #34d399;--success-border: rgba(16, 185, 129, .3);--error-bg: rgba(239, 68, 68, .15);--error-text: #f87171;--error-border: rgba(239, 68, 68, .3);--warning-bg: rgba(245, 158, 11, .15);--warning-text: #fbbf24;--warning-border: rgba(245, 158, 11, .3);--info-bg: rgba(59, 130, 246, .15);--info-text: #60a5fa;--info-border: rgba(59, 130, 246, .3);--chart-primary: #a78bfa;--chart-primary-transparent: rgba(167, 139, 250, .2)}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-sans)}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;transition:background-color var(--transition-smooth),color var(--transition-smooth)}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--bg)}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:600;letter-spacing:-.02em;line-height:1.2}.text-gradient{background:var(--ai-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;display:inline-block}.sidebar{width:260px;background-color:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:all var(--transition-smooth);z-index:50}.sidebar-logo{height:64px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--border-light)}.logo-mark{display:flex;align-items:center;gap:12px}.logo-text{font-weight:600;font-size:15px;letter-spacing:-.01em}.sidebar-nav{padding:24px 16px;flex:1;overflow-y:auto}.sidebar-footer{padding:16px;border-top:1px solid var(--border-light);background:var(--bg-sidebar)}.nav-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);font-weight:600;margin-bottom:12px;padding-left:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-md);color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;transition:all var(--transition-fast);margin-bottom:4px}.nav-item:hover{background-color:var(--surface-hover);color:var(--text)}.nav-item.active{background-color:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--border);background:var(--bg);top:0;position:sticky;z-index:40}.topbar-title{font-size:16px;font-weight:600;display:flex;align-items:center;gap:12px}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;background-color:var(--bg)}.page{padding:40px;max-width:1400px;margin:0 auto;animation:fadeIn .4s ease-out forwards}.form-group{margin-bottom:24px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:8px}.form-input{width:100%;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:14px;outline:none;transition:all var(--transition-fast);font-family:var(--font-sans)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a855f71a}.form-input::placeholder{color:var(--text-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.btn-primary{background-color:var(--accent);color:var(--accent-foreground);box-shadow:var(--shadow-sm)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--surface-hover)}.btn-ai{background:var(--ai-gradient);color:#fff;border:none;font-weight:600;box-shadow:var(--shadow-ai)}.btn-ai:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card-canvas{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card-ghost{background:transparent;border:none;padding:24px 0}.list-row{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-light);transition:background var(--transition-fast)}.list-row:hover{background:var(--surface-hover)}.list-row:last-child{border-bottom:none}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid var(--border)}.tag-blue{background:#3b82f61a;color:#3b82f6;border-color:#3b82f633}.tag-green{background:#10b9811a;color:#10b981;border-color:#10b98133}.tag-purple{background:#8b5cf61a;color:#8b5cf6;border-color:#8b5cf633}.tag-red{background:#ef44441a;color:#ef4444;border-color:#ef444433}.tag-ai{background:linear-gradient(135deg,#6366f11a,#a855f71a);color:#8b5cf6;border-color:#a855f74d}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out forwards}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;overflow-y:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.mobile-menu-btn{display:none;background:transparent;border:none;color:var(--text);cursor:pointer;padding:4px}@media(max-width:768px){.sidebar{position:fixed;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu-btn{display:block}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:45;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.sidebar-overlay.open{opacity:1;pointer-events:auto}.page{padding:20px}}
