.auth-page{min-height:60vh}.auth__card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-3xl);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-100);margin:0 auto;max-width:560px}.auth__title{font-size:var(--text-2xl);color:var(--primary-900);margin-bottom:var(--space-sm)}.auth__intro{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.6}.auth__form{display:flex;flex-direction:column;gap:var(--space-xl)}.auth__fieldset{border:0;padding:0;margin:0;min-width:0;scroll-margin-top:96px;display:flex;flex-direction:column;gap:var(--space-xl)}.auth__fieldset+.auth__fieldset{border-top:1px solid var(--neutral-100);padding-top:var(--space-xl)}.auth__legend{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--primary-900);padding:0;margin-bottom:var(--space-lg)}.auth__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.auth__field{display:flex;flex-direction:column;gap:var(--space-sm)}.auth__label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.auth__required{color:var(--error)}.auth__hint{font-size:var(--text-xs);color:var(--text-muted);font-weight:400;margin-left:var(--space-xs)}.auth__input,.auth__textarea{padding:.85rem 1rem;border:2px solid var(--neutral-200);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;width:100%}.auth__input:focus,.auth__textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}.auth__textarea{resize:vertical;min-height:100px;font-family:var(--font-sans)}.auth__select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--neutral-500) 50%),linear-gradient(135deg,var(--neutral-500) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:var(--space-2xl)}.auth__checkbox-field{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.auth__checkbox-field input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--primary);flex:0 0 18px}.auth__checkbox-label{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;cursor:pointer}.auth__submit{align-self:stretch;justify-content:center}.auth__divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-xl) 0;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.auth__divider:before,.auth__divider:after{content:"";flex:1;height:1px;background:var(--neutral-200)}.auth__google{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:.85rem 1rem;border:2px solid var(--neutral-200);background:var(--bg-primary);border-radius:var(--radius-md);font-weight:600;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);font-size:var(--text-base)}.auth__google:hover{background:var(--bg-secondary);border-color:var(--neutral-300)}.auth__google svg{width:20px;height:20px}.auth__footer{margin-top:var(--space-2xl);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.auth__footer a{color:var(--primary);font-weight:600}.auth__alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-lg);line-height:1.5}.auth__alert--error{background:#c0392b14;color:var(--error);border:1px solid rgba(192,57,43,.25)}.auth__alert--success{background:#2e7d4f14;color:var(--success);border:1px solid rgba(46,125,79,.25)}.auth__alert--info{background:var(--primary-50);color:var(--primary-900);border:1px solid var(--primary-100)}.auth__inline-button{background:none;border:0;color:var(--primary);font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.auth__small{font-size:var(--text-xs);color:var(--text-muted);line-height:1.6}@media(max-width:640px){.auth__card{padding:var(--space-xl)}.auth__row{grid-template-columns:1fr}}
