*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--color-primary: #6366f1;--color-secondary: #8b5cf6;--color-accent: #06b6d4;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--glass-bg: rgba(15, 23, 42, .6);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3)}.light{--bg-primary: #f8fafc;--bg-secondary: #e2e8f0;--bg-tertiary: #cbd5e1;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1)}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-secondary)}.public-layout{min-height:100vh;display:flex;flex-direction:column}.public-navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border)}.public-brand{font-size:1.5rem;color:var(--color-primary);font-weight:700;margin:0}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:var(--text-secondary);padding:.5rem 1rem;border-radius:.375rem;transition:all .2s ease}.nav-links a:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-links .nav-cta{color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))}.nav-links .nav-cta:hover{color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 8px 20px #6366f147}main{flex:1;padding:2rem}.public-main{padding:0}@media (max-width: 640px){.public-navbar{padding:.875rem 1rem;gap:1rem}.nav-links{gap:.35rem}.nav-links a{padding:.45rem .6rem;font-size:.875rem}}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);font-size:1.125rem}
