:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1;--accent-primary: #0969da;--accent-primary-hover: #0550ae;--accent-primary-light: rgba(9, 105, 218, .08);--accent-primary-muted: rgba(9, 105, 218, .14);--accent-secondary: #2f81f7;--accent-secondary-hover: #1f6feb;--success: #10b981;--success-bg: #ecfdf5;--success-text: #065f46;--success-border: #a7f3d0;--warning: #f59e0b;--warning-bg: #fffbeb;--warning-text: #92400e;--warning-border: #fed7aa;--error: #ef4444;--error-bg: #fef2f2;--error-text: #991b1b;--error-border: #fecaca;--info: #2f81f7;--info-bg: #eff6ff;--info-text: #1e40af;--info-border: #bfdbfe;--font-family: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 28px;--font-size-5xl: 32px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--spacing-5xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 8px;--radius-2xl: 10px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-ring: 0 0 0 3px rgba(9, 105, 218, .18);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .02);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .6);--glass-blur: blur(16px);--glass-saturate: saturate(180%);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--color-surface: var(--bg-primary);--color-surface-elevated: var(--bg-primary);--color-hover: var(--bg-tertiary);--color-text: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-border: var(--border-color);--color-primary: var(--accent-primary);--color-primary-rgb: 9, 105, 218;--color-primary-alpha: rgba(9, 105, 218, .08);--color-error-alpha: rgba(239, 68, 68, .08);--color-success: var(--success);--color-warning: var(--warning);--color-error: var(--error);--color-info: var(--info);--color-background-elevated: var(--bg-primary);--color-background-hover: var(--bg-tertiary);--color-text-primary: var(--text-primary)}[data-theme=dark]{--bg-primary: #1e293b;--bg-secondary: #0f172a;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border-color: #334155;--border-hover: #475569;--accent-primary: #58a6ff;--accent-primary-hover: #2f81f7;--accent-primary-light: rgba(88, 166, 255, .14);--accent-primary-muted: rgba(88, 166, 255, .22);--accent-secondary: #79c0ff;--accent-secondary-hover: #58a6ff;--success: #34d399;--success-bg: #052e1f;--success-text: #d1fae5;--success-border: #065f46;--warning: #fbbf24;--warning-bg: #3d2800;--warning-text: #fef3c7;--warning-border: #92400e;--error: #f87171;--error-bg: #3b1111;--error-text: #fee2e2;--error-border: #991b1b;--info: #79c0ff;--info-bg: #0b2239;--info-text: #dbeafe;--info-border: #1e40af;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .3);--shadow-ring: 0 0 0 3px rgba(88, 166, 255, .24);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--glass-bg: rgba(15, 23, 42, .85);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(16px);--glass-saturate: saturate(180%);--color-surface: var(--bg-primary);--color-surface-elevated: var(--bg-primary);--color-surface-dark: var(--bg-secondary);--color-hover: var(--bg-tertiary);--color-border-dark: var(--border-color);--color-primary-rgb: 88, 166, 255;--color-primary-alpha: rgba(88, 166, 255, .14);--color-error-alpha: rgba(248, 113, 113, .12);--color-success-rgb: 52, 211, 153;--color-warning-rgb: 251, 191, 36;--color-error-rgb: 248, 113, 113;--color-info-rgb: 121, 192, 255;--color-background-elevated: var(--bg-secondary);--color-background-hover: var(--bg-tertiary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);min-width:320px;min-height:100vh;font-feature-settings:"cv02","cv03","cv04","cv11"}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--accent-primary-hover)}button{font-family:inherit;cursor:pointer;transition:all var(--transition-base)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-family);font-weight:600;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:var(--font-size-4xl);font-weight:700}h2{font-size:var(--font-size-3xl);font-weight:700}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::selection{background-color:var(--accent-primary-muted);color:var(--text-primary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-secondary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen h2{margin-top:var(--spacing-2xl);font-size:var(--font-size-xl);color:var(--text-secondary);font-weight:500}.welcome-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--accent-primary);padding:var(--spacing-xl)}.welcome-card{background:var(--bg-primary);padding:var(--spacing-5xl) var(--spacing-4xl);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:420px;width:100%;text-align:center}.logo-section{margin-bottom:var(--spacing-3xl)}.logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.logo-cf{font-size:var(--font-size-5xl);font-weight:700;color:var(--text-primary)}.logo-hub{font-size:var(--font-size-5xl);font-weight:700;color:var(--accent-secondary)}.logo-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);font-weight:600;letter-spacing:1px}.welcome-card h1{font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md)}.welcome-card p{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:var(--spacing-3xl)}.btn-login{width:100%;padding:13px var(--spacing-2xl);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background var(--transition-base)}.btn-login:hover{background:var(--accent-primary-hover)}.page{padding:var(--spacing-3xl);max-width:1200px;margin:0 auto}.page h1{font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.page p{font-size:var(--font-size-md);color:var(--text-secondary)}
