.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:40px 20px}.auth-card{width:100%;max-width:420px;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:32px}.auth-card--wide{max-width:560px}.auth-card__header{text-align:center;margin-bottom:24px}.auth-card__title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px 0}.auth-card__subtitle{font-size:0.9375rem;color:var(--text-secondary);margin:0}.auth-card__footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.auth-card__footer p{margin:0;color:var(--text-secondary);font-size:0.9375rem}.auth-link{color:var(--accent);font-weight:600;text-decoration:none;transition:color 0.15s ease}.auth-link:hover{color:var(--accent-hover);text-decoration:underline}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group--row{flex-direction:row;align-items:center;justify-content:space-between}.form-label{display:block;font-size:0.875rem;font-weight:600;color:var(--text-primary)}.form-label__required{color:var(--error);margin-left:2px}.form-input{width:100%;padding:12px 14px;font-size:0.9375rem;color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;transition:border-color 0.15s ease,box-shadow 0.15s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input::placeholder{color:var(--text-muted)}.form-input--error{border-color:var(--error)}.form-input--error:focus{box-shadow:0 0 0 3px var(--error-bg)}.form-input-wrapper,.password-input-wrapper{position:relative;display:flex;align-items:center}.form-input-wrapper .form-input,.password-input-wrapper .form-input{padding-right:44px}.form-input-toggle,.password-toggle{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color 0.15s ease}.form-input-toggle:hover,.password-toggle:hover{color:var(--text-primary)}.form-hint{font-size:0.75rem;color:var(--text-muted)}.form-error{font-size:0.8125rem;color:var(--error)}.form-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:0.875rem;color:var(--text-secondary)}.form-checkbox input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}.form-checkbox__checkmark{position:relative;flex-shrink:0;width:18px;height:18px;margin-top:2px;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;transition:all 0.15s ease}.form-checkbox__checkmark::after{content:'';position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid var(--bg-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.form-checkbox input:checked + .form-checkbox__checkmark{background-color:var(--accent);border-color:var(--accent)}.form-checkbox input:checked + .form-checkbox__checkmark::after{display:block}.form-checkbox input:focus + .form-checkbox__checkmark{box-shadow:0 0 0 3px var(--accent-light)}.form-checkbox__label{line-height:1.4}.form-link{color:var(--accent);font-size:0.875rem;font-weight:500;text-decoration:none;transition:color 0.15s ease}.form-link:hover{color:var(--accent-hover);text-decoration:underline}.password-strength{display:flex;align-items:center;gap:10px;margin-top:4px}.password-strength__bar{flex:1;height:4px;background-color:var(--bg-tertiary);border-radius:2px;overflow:hidden}.password-strength__fill{height:100%;border-radius:2px;transition:width 0.3s ease,background-color 0.3s ease}.password-strength__fill--weak{background-color:var(--error)}.password-strength__fill--medium{background-color:var(--warning)}.password-strength__fill--good{background-color:#60a5fa}.password-strength__fill--strong{background-color:var(--success)}.password-strength__text{font-size:0.75rem;font-weight:500;min-width:70px}.password-strength__text--weak{color:var(--error)}.password-strength__text--medium{color:var(--warning)}.password-strength__text--good{color:#60a5fa}.password-strength__text--strong{color:var(--success)}.alert{padding:12px 16px;border-radius:8px;font-size:0.875rem;margin-bottom:16px}.alert--error{background-color:var(--error-bg);color:var(--error);border:1px solid var(--error)}.alert--success{background-color:var(--success-bg);color:var(--success);border:1px solid var(--success)}.alert--warning{background-color:var(--warning-bg);color:var(--warning);border:1px solid var(--warning)}.btn-full{width:100%;justify-content:center}.btn--loading{opacity:0.8;cursor:not-allowed}.btn--loading span{display:flex;align-items:center;gap:8px}.btn-spinner{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.alert--with-icon{display:flex;align-items:flex-start;gap:12px}.alert--with-icon .alert__icon{flex-shrink:0;width:24px;height:24px}.alert--with-icon p{margin:4px 0 0}.alert--info{background-color:var(--accent-light);color:var(--text-primary);border:1px solid var(--accent)}.auth-card__footer--no-border{border-top:none;padding-top:0}@media (max-width:640px){.auth-card{padding:24px 20px}.auth-card--wide{max-width:100%}.form-row{grid-template-columns:1fr}.form-group--row{flex-direction:column;align-items:flex-start;gap:12px}}.auth-divider{display:flex;align-items:center;gap:16px;margin:24px 0}.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}.auth-divider span{color:var(--text-muted);font-size:0.875rem;text-transform:lowercase}.auth-social{display:flex;flex-direction:column;gap:12px}.auth-social .nsl-container{display:flex;flex-direction:column;gap:12px}.auth-social .nsl-container-buttons{display:flex;flex-direction:column;gap:12px}.auth-social .nsl-button{border-radius:var(--radius-md)!important;border:1px solid var(--border)!important;background:var(--bg-tertiary)!important;transition:background-color 150ms ease,border-color 150ms ease}.auth-social .nsl-button:hover{background:var(--bg-hover)!important;border-color:var(--border-light)!important}.auth-social .nsl-button-default-label{color:var(--text-primary)!important;font-family:inherit!important;font-size:0.9375rem!important}.auth-social .nsl-button-icon{min-width:24px}