.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form h2{text-align:center;margin-bottom:.5rem;color:var(--foreground)}.auth-error-message{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca}.auth-form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form-group label{font-size:.875rem;font-weight:500;color:var(--foreground)}.auth-form-input{padding:.75rem 1rem;border:1px solid #d1d5db;color:var(--foreground);background-color:var(--background)}.auth-form-input:focus{border-color:blue;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.auth-form-input:disabled{opacity:.6;cursor:not-allowed}.auth-divider{background-color:#e5e7eb;margin:.5rem 0}.auth-switch{text-align:center;color:var(--foreground)}.auth-switch-btn{color:blue}.auth-switch-btn:hover{color:#00c}.auth-help-links{display:flex;flex-direction:column;gap:.5rem}.auth-help-links p{text-align:center;margin:0;color:var(--foreground);opacity:.8}.auth-help-link{color:blue}.auth-help-link:hover{color:#00c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;text-decoration:none;transition:.2s ease;font-family:inherit;padding:.75rem 1rem;font-size:1rem;font-weight:500;border-radius:1000px;background:blue;color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn:hover:not(:disabled){background:#00c;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.btn-sm{padding:.5rem .75rem;font-size:.875rem;font-weight:500;border-radius:1000px}.btn.btn-sm svg{width:14px;height:14px}.btn.btn-md{padding:.75rem 1rem;font-size:1rem;font-weight:500;border-radius:1000px}.btn.btn-md svg{width:16px;height:16px}.btn.btn-lg{padding:.75rem 1.25rem;font-size:1.125rem;font-weight:600;border-radius:1000px}.btn.btn-lg svg{width:18px;height:18px}.btn.btn-xl{padding:1rem 1.5rem;font-size:1.25rem;font-weight:600;border-radius:1000px}.btn.btn-xl svg{width:20px;height:20px}.btn.btn-primary{background:blue;color:#fff}.btn.btn-primary:hover:not(:disabled){background:#00c;transform:translateY(-1px)}.btn.btn-primary:active:not(:disabled){transform:translateY(0)}.btn.btn-secondary{background:#f3f4f6;color:#1f2937}.btn.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.btn.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn.btn-spotify{background:#1db954;color:#fff}.btn.btn-spotify:hover:not(:disabled){background:#1ed760;transform:translateY(-1px)}.btn.btn-spotify:active:not(:disabled){transform:translateY(0)}.btn.btn-discogs{background:#333;color:#fff}.btn.btn-discogs:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px)}.btn.btn-discogs:active:not(:disabled){transform:translateY(0)}.btn.btn-full{width:100%}.btn.btn-pulse{animation:pulse 2s infinite}.btn.btn-pulse:hover{animation:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,0,255,.4)}50%{box-shadow:0 0 0 10px rgba(0,0,255,0)}to{box-shadow:0 0 0 0 rgba(0,0,255,0)}}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1002;padding:1.5rem}.auth-modal-content{background:#fff;border-radius:.75rem;width:100%;max-width:568px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px rgba(0,0,0,.25)}.auth-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#4b5563;transition:.2s ease}.auth-modal-close:hover{background-color:#f9fafb}.auth-form{padding:1.5rem}.auth-form h2{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;color:#222}.auth-form-group{margin-bottom:1rem}.auth-form-group label{display:block;font-size:.75rem;font-weight:600;color:#222;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:letter-spacing(auth)}.auth-form-input{width:100%;padding:spacing(3);border:1px solid #b0b0b0;border-radius:.5rem;font-size:1rem;transition:.2s ease;background:#fff}.auth-form-input:focus{outline:none;border-color:#222;box-shadow:0 0 0 2px rgba(34,34,34,.1)}.auth-form-input::placeholder{color:#4b5563}.auth-submit-btn{width:100%;background:#ff5a5f;color:#fff;border:none;padding:spacing(4);border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;margin:1.5rem 0;transition:.2s ease}.auth-submit-btn:hover:not(:disabled){background:#e00007}.auth-submit-btn:disabled{background:#ddd;cursor:not-allowed}.auth-divider{height:1px;background:#ddd;margin:1.5rem 0}.auth-switch{color:#4b5563;font-size:.875rem;margin:0;text-align:left}.auth-switch-btn{background:none;border:none;color:#222;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;margin-left:.25rem}.auth-switch-btn:hover{color:#4b5563}.auth-error-message{background:#f9fafb;border:1px solid #ddd;border-radius:.5rem;padding:.75rem;margin-bottom:1rem;color:#dc2626;font-size:.875rem}.auth-help-links{color:#4b5563;font-size:.875rem;margin-top:1.5rem}.auth-help-link{color:#222;text-decoration:underline;background:none;border:none;cursor:pointer;font-size:.875rem;padding:0}.auth-help-link:hover{color:#4b5563}.auth-success{text-align:center;padding:2.5rem 1.5rem}.auth-success h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:#222}.auth-success p{color:#4b5563;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.auth-success-icon{width:48px;height:48px;margin:0 auto 1.5rem;color:#00a699}.auth-success-email{font-weight:600;color:#222}@media(max-width:768px){.auth-modal-overlay{padding:0}.auth-modal-content{border-radius:0;height:100vh;max-height:100vh}.auth-form{padding:1.5rem 1.25rem}}.email-verification-screen{text-align:center;padding:2rem 1.5rem}.email-verification-screen h2{font-size:1.5rem;font-weight:600;color:var(--foreground);margin-bottom:1rem}.email-verification-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:blue;border-radius:50%;margin:0 auto 1.5rem;color:#fff}.email-verification-message{margin-bottom:1.5rem}.email-verification-message p{color:#4b5563;font-size:1rem;line-height:1.6;margin-bottom:.75rem}.email-verification-message p:last-child{margin-bottom:0}.email-verification-message strong{display:block;color:blue;font-weight:600;margin:.75rem 0;font-size:1rem;word-break:break-all}.email-verification-help{border-top:1px solid #e5e7eb;padding-top:1rem;margin-bottom:1.5rem}.email-verification-help p{color:#6b7280;font-size:.875rem;line-height:1.5}.resend-link{background:none;border:none;color:blue;cursor:pointer;text-decoration:underline;font-size:.875rem}.resend-link:hover{color:#00c}