.auth-page,.login-page,.signup-page{background-color:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;display:flex}.auth-layout,.login-layout,.signup-layout{min-height:100vh;padding:var(--space-4) var(--space-6);flex-direction:column;display:flex}.auth-header,.login-header,.signup-header{width:100%;max-width:440px;padding-bottom:var(--space-2);align-items:center;margin:0 auto;display:flex}.auth-back-btn,.login-back-btn,.signup-back-btn{align-items:center;gap:var(--space-2);color:var(--muted);font-family:var(--font-ui);border-radius:var(--radius-md);min-width:44px;min-height:44px;padding:.5rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .18s,transform .18s;display:inline-flex}.auth-back-btn:hover,.login-back-btn:hover,.signup-back-btn:hover{color:var(--text);transform:translate(-2px)}.auth-back-btn i,.auth-back-btn svg,.login-back-btn i,.login-back-btn svg,.signup-back-btn i,.signup-back-btn svg{flex-shrink:0;width:16px;height:16px;display:block}.auth-main,.login-main,.signup-main{padding:var(--space-4) 0 var(--space-8) 0;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.auth-card,.login-card,.signup-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:440px;padding:var(--space-8);gap:var(--space-6);flex-direction:column;display:flex;position:relative;box-shadow:0 16px 40px #00000080}.auth-card__header,.login-card__header,.signup-card__header{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.auth-logo,.login-logo,.signup-logo{align-items:center;gap:var(--space-2);font-family:var(--font-ui);letter-spacing:-.02em;color:var(--text);min-height:44px;font-size:1.35rem;font-weight:800;text-decoration:none;transition:opacity .18s,transform .18s;display:inline-flex}.auth-logo:hover,.login-logo:hover,.signup-logo:hover{opacity:.9;transform:scale(1.02)}.auth-logo i,.auth-logo svg,.login-logo i,.login-logo svg,.signup-logo i,.signup-logo svg,.auth-logo img,.login-logo img,.signup-logo img,.auth-logo__mark{width:24px;height:24px;color:var(--accent);object-fit:contain;flex-shrink:0;display:block}.auth-title,.login-title,.signup-title{font-family:var(--font-ui);letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.65rem;font-weight:800}.auth-subtitle,.login-subtitle,.signup-subtitle{font-family:var(--font-dialogue);color:var(--muted);margin:0;font-size:.9375rem}.auth-form,.login-form,.signup-form{gap:var(--space-4);flex-direction:column;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-family:var(--font-ui);color:var(--text);letter-spacing:.01em;font-size:.8125rem;font-weight:700}.form-label-row{justify-content:space-between;align-items:center;width:100%;display:flex}.form-sublink{font-family:var(--font-ui);color:var(--muted);font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .18s}.form-sublink:hover{color:var(--accent);text-decoration:underline}.form-input{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--text);font-family:var(--font-ui);padding:.65rem .9rem;font-size:.9375rem;transition:border-color .18s,box-shadow .18s}.form-input::placeholder{color:#a89c8b8c}.form-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e65f4533}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input{padding-right:2.75rem}.password-toggle-btn{width:44px;min-height:44px;color:var(--muted);cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .18s;display:inline-flex;position:absolute;top:0;bottom:0;right:0}.password-toggle-btn:hover{color:var(--text)}.password-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.password-toggle-btn i,.password-toggle-btn svg{flex-shrink:0;width:18px;height:18px;display:block}.auth-notice,.login-notice,.signup-notice{border-radius:var(--radius-md);align-items:center;gap:var(--space-2);color:var(--text);font-family:var(--font-ui);background-color:#e65f4514;border:1px solid #e65f4559;min-height:44px;padding:.65rem .9rem;font-size:.875rem;font-weight:600;animation:.2s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-notice i,.auth-notice svg,.login-notice i,.login-notice svg,.signup-notice i,.signup-notice svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;display:block}.auth-notice__text,.login-notice__text,.signup-notice__text{color:var(--text);line-height:1.4}.auth-notice.is-error,.login-notice.is-error,.signup-notice.is-error{background-color:#ef44441a;border-color:#ef444466}.auth-notice.is-error i,.auth-notice.is-error svg,.login-notice.is-error i,.login-notice.is-error svg,.signup-notice.is-error i,.signup-notice.is-error svg{color:#ef4444}.auth-notice.is-success,.login-notice.is-success,.signup-notice.is-success{background-color:#22c55e1a;border-color:#22c55e66}.auth-notice.is-success i,.auth-notice.is-success svg,.login-notice.is-success i,.login-notice.is-success svg,.signup-notice.is-success i,.signup-notice.is-success svg{color:#22c55e}.auth-submit-btn,.login-submit-btn,.signup-submit-btn{background-color:var(--accent);font-family:var(--font-ui);border-radius:var(--radius-md);min-width:44px;min-height:44px;box-shadow:var(--shadow-primary);cursor:pointer;margin-top:var(--space-2);border:none;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:700;transition:transform .18s,opacity .18s;display:inline-flex;color:var(--bg)!important}.auth-submit-btn span,.login-submit-btn span,.signup-submit-btn span{color:var(--bg)!important}.auth-submit-btn:hover,.login-submit-btn:hover,.signup-submit-btn:hover{opacity:.92;transform:translateY(-2px);color:var(--bg)!important}.auth-card__footer,.login-card__footer,.signup-card__footer{text-align:center;padding-top:var(--space-2);border-top:1px solid var(--border)}.auth-prompt,.login-signup-prompt,.signup-login-prompt{font-family:var(--font-ui);color:var(--muted);margin:0;font-size:.875rem}.auth-link,.login-signup-link,.signup-login-link{color:var(--accent);align-items:center;min-height:44px;font-weight:700;text-decoration:none;transition:opacity .18s;display:inline-flex}.auth-link:hover,.login-signup-link:hover,.signup-login-link:hover{opacity:.85;text-decoration:underline}.auth-footer,.login-footer,.signup-footer{margin-top:var(--space-6);justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-ui);color:var(--muted);font-size:.75rem;display:flex}.auth-footer__badge,.login-footer__badge,.signup-footer__badge{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:.1rem .35rem;font-size:.6875rem;font-weight:700}.auth-footer__link,.login-footer__link,.signup-footer__link{color:var(--muted);cursor:pointer;align-items:center;min-height:44px;text-decoration:none;transition:color .18s;display:inline-flex}.auth-footer__link:hover,.login-footer__link:hover,.signup-footer__link:hover{color:var(--text)}@media (width<=480px){.auth-layout,.login-layout,.signup-layout{padding:var(--space-3) var(--space-4)}.auth-card,.login-card,.signup-card{padding:var(--space-6) var(--space-4)}.auth-title,.login-title,.signup-title{font-size:1.45rem}}.login-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#e65f4566,#0000);height:1px;position:absolute;top:0;left:20%;right:20%}
