.auth-page{background:#fff;min-height:100vh;display:flex}.auth-brand{background:linear-gradient(160deg,#0f766e 0%,#0d9488 50%,#115e59 100%);flex:0 0 42%;display:none;position:relative;overflow:hidden}@media (min-width:768px){.auth-brand{flex-direction:column;justify-content:center;padding:3rem 3.5rem;display:flex}}.auth-brand:before,.auth-brand:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.auth-brand:before{background:#ffffff0f;width:500px;height:500px;top:-200px;right:-160px}.auth-brand:after{background:#ffffff0a;width:340px;height:340px;bottom:-120px;left:-80px}.auth-brand-inner{z-index:1;position:relative}.auth-brand-logo{color:#fff;letter-spacing:-.04em;align-items:center;gap:.5rem;margin-bottom:2.75rem;font-size:1.875rem;font-weight:800;text-decoration:none;display:flex}.auth-brand-logo svg{color:#fff}.auth-brand-logo-accent{color:#fff9;margin-left:.15em}.auth-brand-heading{color:#fff;letter-spacing:-.03em;max-width:310px;margin-bottom:.75rem;font-size:1.625rem;font-weight:700;line-height:1.3}.auth-brand-desc{color:#ffffffa6;max-width:300px;margin-bottom:2.5rem;font-size:.9375rem;line-height:1.65}.auth-brand-list{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.auth-brand-list li{color:#ffffffd9;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.auth-brand-check{color:#fff;background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;font-size:.6875rem;display:flex}.auth-form-side{flex-direction:column;flex:1;display:flex;overflow-y:auto}.auth-form-side-inner{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;width:100%;max-width:460px;min-height:100vh;margin:0 auto;padding:2.5rem 1.75rem;display:flex}@media (min-width:640px){.auth-form-side-inner{padding:3rem 2.5rem}}.auth-mobile-logo{color:#0d9488;letter-spacing:-.04em;align-items:center;gap:.5rem;margin-bottom:2.5rem;font-size:1.5rem;font-weight:800;text-decoration:none;display:inline-flex}.auth-mobile-accent{color:#134e4a;margin-left:.15em}@media (min-width:768px){.auth-mobile-logo{display:none}}.auth-title{color:#0f172a;letter-spacing:-.03em;margin-bottom:.375rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:#64748b;margin-bottom:1.75rem;font-size:.9375rem;line-height:1.55}.auth-switch{color:#6b7280;text-align:center;font-size:.875rem}.auth-back-link{color:#94a3b8;align-items:center;gap:.25rem;margin-top:2rem;font-size:.8125rem;text-decoration:none;transition:color .15s;display:inline-flex}.auth-back-link:hover{color:#0d9488}.password-check-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.password-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .75rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.password-checklist-item{color:#9ca3af;letter-spacing:normal;align-items:center;gap:.4rem;font-size:.75rem;font-weight:400;transition:color .15s;display:flex}.password-checklist-item.is-valid{color:#0d9488}.password-checklist-item .password-check-icon circle{fill:none}.password-checklist-item.is-valid .password-check-icon circle{fill:#0d9488;stroke:#0d9488}.password-checklist-item.is-valid .password-check-icon path{stroke:#fff;stroke-width:2px}.password-match-hint{letter-spacing:normal;align-items:center;gap:.4rem;margin:.35rem 0 0;font-size:.75rem;font-weight:400;display:flex}.password-match-hint.is-valid{color:#0d9488}.password-match-hint.is-invalid{color:#b91c1c}.password-match-hint .password-check-icon circle{fill:none}.password-match-hint.is-valid .password-check-icon circle{fill:#0d9488;stroke:#0d9488}.password-match-hint.is-valid .password-check-icon path{stroke:#fff;stroke-width:2px}.password-match-hint.is-invalid .password-check-icon circle{stroke:#b91c1c}.login-form{flex-direction:column;gap:1.125rem;display:flex}.login-label{color:#374151;letter-spacing:.01em;flex-direction:column;gap:.4rem;font-size:.8125rem;font-weight:500;display:flex}.login-input{color:#0f172a;background:#fafafa;border:1.5px solid #e5e7eb;border-radius:8px;padding:.75rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s,background .15s}.login-input:focus{background:#fff;border-color:#0d9488;outline:none;box-shadow:0 0 0 3px #0d94881f}.login-btn{color:#fff;cursor:pointer;letter-spacing:.01em;background:#0d9488;border:none;border-radius:8px;margin-top:.25rem;padding:.8125rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s}.login-btn:hover{background:#0f766e}.login-btn:active{transform:scale(.99)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.8125rem}.login-link{color:#0d9488;font-weight:500;text-decoration:none}.login-link:hover{text-decoration:underline}.auth-confirm-success{color:#0d9488;font-size:1rem;font-weight:500}.register-form{flex-direction:column;gap:1.125rem;display:flex}.register-label{color:#374151;letter-spacing:.01em;flex-direction:column;gap:.4rem;font-size:.8125rem;font-weight:500;display:flex}.register-input{color:#0f172a;background:#fafafa;border:1.5px solid #e5e7eb;border-radius:8px;padding:.75rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s,background .15s}.register-input:focus{background:#fff;border-color:#0d9488;outline:none;box-shadow:0 0 0 3px #0d94881f}.register-btn{color:#fff;cursor:pointer;letter-spacing:.01em;background:#0d9488;border:none;border-radius:8px;margin-top:.25rem;padding:.8125rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s}.register-btn:hover{background:#0f766e}.register-btn:active{transform:scale(.99)}.register-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.625rem .75rem;font-size:.8125rem}.register-link{color:#0d9488;font-weight:500;text-decoration:none}.register-link:hover{text-decoration:underline}
