@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a2e;--bg-card-hover:#22223a;--bg-input:#16162a;--accent-start:#6c5ce7;--accent-end:#a855f7;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--text-primary:#f0f0f5;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-accent:#a78bfa;--border-color:#2d2d44;--border-focus:#6c5ce7;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 14px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px #6c5ce726;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:var(--text-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-end)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:.9375rem;font-weight:600;display:inline-flex;text-decoration:none!important}.btn-primary{background:linear-gradient(135deg,#6c5ce7,#a855f7);box-shadow:0 4px 15px #6c5ce759;color:#fff!important}.btn-primary:hover{filter:brightness(1.18);transform:translateY(-2px);box-shadow:0 6px 28px #6c5ce78c;color:#fff!important}.btn-primary:active{filter:brightness(.95);transform:scale(.97)translateY(0);box-shadow:0 2px 10px #6c5ce74d;color:#fff!important}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)!important}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent-start);box-shadow:0 0 0 1px var(--accent-start);transform:translateY(-1px);color:#fff!important}.btn-secondary:active{box-shadow:none;transform:scale(.97)translateY(0)}.btn-ghost{background:0 0;color:var(--text-secondary)!important}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)!important}.btn-ghost:active{transform:scale(.97)}.btn-lg{padding:16px 32px;font-size:1.0625rem}.btn-sm{padding:8px 16px;font-size:.8125rem}.btn-full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none!important;box-shadow:none!important;transform:none!important}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 16px;font-family:inherit;font-size:.9375rem}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6c5ce726}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-error{color:var(--error);font-size:.8125rem}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:24px}.card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-glow)}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font-size:1.125rem;font-weight:600}.auth-page{background:radial-gradient(ellipse at 20% 50%, #6c5ce714 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #a855f70f 0%, transparent 50%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-container{width:100%;max-width:440px}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800}.auth-logo p{color:var(--text-secondary);margin-top:4px;font-size:.9375rem}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:36px}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-divider{color:var(--text-muted);align-items:center;gap:16px;font-size:.8125rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:.875rem}.auth-footer a{font-weight:600}.alert{border-radius:var(--radius-md);padding:12px 16px;font-size:.875rem;font-weight:500}.alert-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d}.alert-success{color:#6ee7b7;background:#10b9811a;border:1px solid #10b9814d}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-muted{color:var(--text-secondary)}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.gap-2{gap:8px}.gap-4{gap:16px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.card-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.75rem;font-weight:700}.form-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem}.form-input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #6c5ce71f}textarea.form-input{resize:vertical}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}
