.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:var(--space-4);background:var(--color-bg-primary)}.auth-bg{position:absolute;inset:0;z-index:0}.auth-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5}.auth-orb-1{width:400px;height:400px;top:20%;left:20%;background:var(--color-terracotta);opacity:.06;animation:float 8s ease-in-out infinite}.auth-orb-2{width:300px;height:300px;bottom:20%;right:20%;background:var(--color-coral);opacity:.04;animation:float 10s ease-in-out infinite;animation-delay:2s}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;padding:var(--space-10);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-2xl);text-align:center;animation:scaleIn .4s ease-out;box-shadow:var(--shadow-lg)}.auth-card-compact{max-width:500px}.auth-logo{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);margin-bottom:var(--space-8);letter-spacing:-.02em}.auth-card h1,.auth-logo{font-family:var(--font-heading);font-weight:700;color:var(--color-text-primary)}.auth-card h1{font-size:var(--text-3xl);letter-spacing:-.03em;margin-bottom:var(--space-3)}.auth-subtitle{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--leading-relaxed);margin-bottom:var(--space-8);max-width:300px;margin-left:auto;margin-right:auto}.auth-actions{display:flex;flex-direction:column;gap:var(--space-4)}.btn-google{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.btn-google:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong);transform:translateY(-1px)}.auth-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--color-border-subtle)}.btn-demo{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--color-terracotta);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:0 2px 12px rgba(196,96,58,.3)}.btn-demo:hover{background:var(--color-terracotta-light);transform:translateY(-1px);box-shadow:0 4px 20px rgba(196,96,58,.4)}.auth-footer-text{font-size:var(--text-xs);color:var(--color-text-muted)}.auth-footer,.auth-footer-text{margin-top:var(--space-6);font-family:var(--font-sans);line-height:var(--leading-relaxed)}.auth-footer{font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-footer strong{color:var(--color-text-primary);font-weight:600}.auth-form{gap:var(--space-4);width:100%;margin-top:var(--space-6)}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2);text-align:left}.form-group label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.form-group input,.form-group select{width:100%;padding:var(--space-3) var(--space-3);height:44px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);transition:all var(--transition-base);outline:none}.form-group input::placeholder,.form-group select::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus{border-color:var(--color-terracotta);background:var(--color-bg-primary);box-shadow:0 0 0 3px rgba(196,96,58,.08)}.form-group input:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-input-wrapper{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);height:44px;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);transition:all var(--transition-base);color:var(--color-text-muted)}.form-input-wrapper:focus-within{border-color:var(--color-terracotta);background:var(--color-bg-primary);box-shadow:0 0 0 3px rgba(196,96,58,.08)}.form-input-wrapper input{flex:1 1;background:transparent;border:none;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);outline:none}.form-input-wrapper input::placeholder{color:var(--color-text-muted)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--color-terracotta);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);margin-top:var(--space-2);box-shadow:0 2px 12px rgba(196,96,58,.3)}.btn-primary:hover:not(:disabled){background:var(--color-terracotta-light);transform:translateY(-1px);box-shadow:0 4px 20px rgba(196,96,58,.4)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.auth-error{padding:var(--space-3) var(--space-4);background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-lg);color:#dc2626;margin-bottom:var(--space-4)}.auth-error,.auth-toggle{font-family:var(--font-sans);font-size:var(--text-sm)}.auth-toggle{margin-top:var(--space-4);color:var(--color-text-tertiary)}.toggle-btn{background:none;border:none;color:var(--color-terracotta);cursor:pointer;font-weight:600;padding:0;text-decoration:none;transition:color var(--transition-base)}.toggle-btn:hover{color:var(--color-terracotta-light);text-decoration:underline}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}