.login-page{background:var(--background);justify-content:center;align-items:center;margin:0;padding:60px 0;display:flex}.login-page__forgot{text-align:center;font-size:14px}.login-page a{color:var(--accent-dark)}.login-page__wrapper{width:100%;max-width:480px;margin:0 auto}.login-page__card{background:var(--white);box-shadow:var(--shadow-login-card);border:1px solid var(--card-border);border-radius:24px;padding:40px}.login-page__header{text-align:center;margin-bottom:32px}.login-page__title{color:var(--black);margin-bottom:8px;font-size:32px;font-weight:700;line-height:1.2}.login-page__subtitle{color:var(--text-secondary);margin-bottom:0;font-size:16px;line-height:1.4}.login-page__google-container{margin-bottom:24px}.login-page__google-placeholder{background:var(--google-placeholder-bg);border:2px solid var(--google-border);border-radius:4px;justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:24px;animation:1.5s ease-in-out infinite alternate pulse;display:flex}.login-page__google-loading-text{color:var(--text-secondary);font-size:14px;font-weight:500}.login-page__google-loading{text-align:center;color:var(--accent);margin:12px 0;font-size:14px;font-weight:500;animation:1s ease-in-out infinite alternate pulse}.login-page__divider{text-align:center;margin:24px 0;position:relative}.login-page__divider:before{content:"";background:var(--divider-color);z-index:1;height:1px;position:absolute;top:50%;left:0;right:0}.login-page__divider span{background:var(--white);color:var(--text-muted);z-index:2;padding:0 16px;font-size:14px;font-weight:500;position:relative}.login-page__form{flex-direction:column;gap:20px;display:flex}.login-page__field{flex-direction:column;gap:6px;display:flex}.login-page__label{color:var(--black);font-size:14px;font-weight:500}.login-page__input{border:2px solid var(--input-border);background:var(--white);width:100%;height:48px;color:var(--black);border-radius:12px;padding:0 16px;font-size:16px;transition:all .3s}.login-page__input::placeholder{color:var(--input-placeholder)}.login-page__input:focus{border-color:var(--accent);box-shadow:var(--shadow-input-focus);outline:none}.login-page__input--error{border-color:var(--error-color);box-shadow:var(--shadow-input-error)}.login-page__input:disabled{background:var(--input-disabled-bg);cursor:not-allowed;opacity:.7}.login-page__password-field{align-items:center;display:flex;position:relative}.login-page__password-toggle{cursor:pointer;color:var(--accent);background:0 0;border:none;border-radius:6px;padding:4px;font-size:18px;transition:background-color .2s;position:absolute;right:12px}.login-page__password-toggle:hover:not(:disabled){background:var(--button-hover-light)}.login-page__password-toggle:disabled{opacity:.5;cursor:not-allowed}.login-page__error{color:var(--error-color);margin-top:4px;font-size:13px;line-height:1.3}.login-page__error--general{background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.login-page__submit{background:var(--accentGradient);height:48px;color:var(--white);cursor:pointer;border:none;border-radius:10px;margin-top:8px;font-size:16px;font-weight:600;transition:all .3s}.login-page__submit:hover:not(:disabled){background:var(--accent);box-shadow:var(--shadow-submit-hover);transform:translateY(-1px)}.login-page__submit:active{transform:translateY(0)}.login-page__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-page__footer{text-align:center;flex-direction:column;gap:16px;margin-top:32px;display:flex}.login-page__register-link{color:var(--accent);font-size:14px;font-weight:500;text-decoration:none;transition:color .3s}.login-page__register-link:hover{color:var(--accent-dark);text-decoration:underline}.login-page__register-link--primary{font-weight:600}.login-page__register{color:var(--text-secondary);font-size:14px}.login-page__register span{margin-right:4px}@keyframes pulse{0%{opacity:.6}to{opacity:1}}@media (max-width:768px){.login-page{padding:40px 0}.login-page__card{border-radius:20px;padding:32px 24px}.login-page__title{font-size:28px}.login-page__subtitle{font-size:15px}}@media (max-width:480px){.login-page__card{border-radius:16px;padding:24px 20px}.login-page__title{font-size:24px}.login-page__google-placeholder,.login-page__input,.login-page__submit{height:44px;font-size:15px}.login-page__footer{gap:12px;margin-top:24px}}
