.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:var(--color-white);border-radius:var(--radius-3xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 40px);padding:32px;animation:.3s slideUp;position:relative;overflow-y:auto}.auth-modal::-webkit-scrollbar{width:6px}.auth-modal::-webkit-scrollbar-thumb{background:var(--color-border-brand-hover);border-radius:4px}.auth-modal__close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.auth-modal__close:hover{background:var(--color-bg-soft);color:var(--color-text-main)}.auth-modal__close:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:1px}.auth-modal__header{text-align:center;margin-bottom:24px}.auth-modal__title{color:var(--color-text-main);margin:0 0 8px;font-size:24px;font-weight:600}.auth-modal__form{flex-direction:column;gap:16px;display:flex}.auth-modal__input-group{flex-direction:column;gap:6px;display:flex}.auth-modal__label{color:var(--color-text-main);font-size:14px;font-weight:500}.auth-modal__input{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text-main);border-radius:8px;padding:12px 16px;font-size:16px;transition:all .2s}.auth-modal__input--error{border-color:var(--color-error);background:var(--color-error-soft)}.auth-modal__error{color:var(--color-error);margin-top:4px;font-size:12px;display:block}.auth-modal__submit{background:var(--color-green-primary);color:var(--color-white);border:1px solid var(--color-green-primary);border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition-fast);margin-top:8px;padding:14px 24px;font-size:16px;font-weight:600}.auth-modal__submit:hover:not(:disabled){border-color:var(--color-green-hover);background:var(--color-green-hover)}.auth-modal__submit:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:2px}.auth-modal__submit:disabled{border-color:var(--color-border);background:var(--color-bg-muted);color:var(--color-text-light);cursor:not-allowed;transform:none}.auth-modal__footer{text-align:center;border-top:1px solid var(--color-border-soft);margin-top:24px;padding-top:24px}.auth-modal__switch-text{color:var(--color-text-secondary);margin:0;font-size:14px}.auth-modal__switch-btn{color:var(--color-green-primary);cursor:pointer;background:0 0;border:none;margin-left:4px;font-weight:500;text-decoration:underline}.auth-modal__switch-btn:hover{color:var(--color-green-hover)}.auth-modal__switch-btn:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:2px}.auth-modal__forgot{text-align:center;margin-top:16px}.auth-modal__forgot-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:14px}.auth-modal__forgot-btn:hover{color:var(--color-green-primary)}.auth-modal__forgot-btn:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:2px}.auth-modal__checkbox-group{flex-direction:column;gap:12px;margin-top:8px;display:flex}.auth-modal__checkbox{color:var(--color-text-main);align-items:flex-start;gap:8px;font-size:14px;display:flex}.auth-modal__checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px}.auth-modal__checkbox span{line-height:1.3}.auth-modal__checkbox a{color:var(--color-green-primary);cursor:pointer;font-weight:500;text-decoration:underline}.auth-modal__checkbox a:hover{color:var(--color-green-hover)}@media (prefers-reduced-motion:reduce){.auth-modal-overlay,.auth-modal,.auth-modal__close,.auth-modal__submit{transition:var(--transition-none);animation:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.auth-modal-overlay{padding:16px}.auth-modal{padding:24px}.auth-modal__title{font-size:20px}}
