.login-container{justify-content:center;align-items:flex-start;min-height:calc(100vh - 64px);display:flex}.login-form-container{justify-content:center;align-items:center;width:100%;padding:2rem 1.5rem;display:flex}.login-card{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);width:100%;max-width:460px;padding:2.5rem 2rem}.login-header{text-align:center;margin-bottom:2.5rem}.login-header h2{color:var(--md-sys-color-on-surface);letter-spacing:-.02em;margin:0 0 .3rem;font-size:1.6rem;font-weight:400}.login-header p{color:var(--md-sys-color-on-surface-variant);opacity:.75;margin:0;font-size:.85rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex;position:relative}.form-label{letter-spacing:.04em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);font-size:.75rem;font-weight:600}.btn-full{letter-spacing:.02em;width:100%;margin-top:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600}.ripple{pointer-events:none;background:#fff9;border-radius:50%;animation:.6s ease-out ripple-animation;position:absolute;transform:scale(0)}@keyframes ripple-animation{to{opacity:0;transform:scale(4)}}.form-input.invalid{border-color:var(--md-sys-color-error);animation:.3s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.social-login-divider{text-align:center;color:var(--md-sys-color-on-surface-variant);letter-spacing:.08em;text-transform:uppercase;opacity:.5;align-items:center;margin:1.75rem 0 1.25rem;font-size:.7rem;display:flex}.social-login-divider:before,.social-login-divider:after{content:"";border-bottom:1px solid var(--md-sys-color-outline-variant);flex:1}.social-login-divider:before{margin-right:.75rem}.social-login-divider:after{margin-left:.75rem}.social-buttons-row{flex-direction:column;gap:.75rem;display:flex}.btn-google{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-surface);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.btn-google:hover{background:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}.btn-google:active{transform:scale(.97)}.btn-google svg{flex-shrink:0;width:16px;height:16px}.btn-telegram{border-radius:var(--md-sys-shape-corner-medium);color:#fff;cursor:pointer;background:#08c;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;margin-top:0;padding:.65rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.btn-telegram:hover{color:#fff;background:#0099e6}.btn-telegram:active{transform:scale(.97)}.btn-telegram svg{flex-shrink:0;width:16px;height:16px}.signup-info{margin-bottom:1.5rem}.signup-provider{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.signup-provider .provider-icon{flex-shrink:0;width:32px;height:32px}.signup-provider-info{flex-direction:column;gap:.25rem;display:flex}.signup-provider-name{color:var(--md-sys-color-on-surface);font-size:.95rem;font-weight:500}.signup-provider-email{color:var(--md-sys-color-on-surface-variant);font-size:.875rem}.signup-notice{color:var(--md-sys-color-on-surface-variant);margin:0;font-size:.875rem;line-height:1.6}.signup-actions{justify-content:flex-end;gap:1rem;display:flex}.signup-actions .btn{flex:1}.login-form p{display:none}.info-text{color:var(--md-sys-color-on-surface-variant);text-align:center;margin:0;font-size:.85rem;line-height:1.6}.info-text a{color:var(--md-sys-color-primary);font-weight:500;text-decoration:none}.info-text a:hover{text-decoration:underline}@media (width<=600px){.login-form-container{padding:1rem .75rem}.login-header h2{font-size:1.5rem}}@media (width<=480px){.login-container{min-height:unset;align-items:flex-start}.login-form-container{padding:1.5rem 1rem}.login-card{border:none;border-radius:0;padding:0}.login-header{margin-bottom:1.75rem}}
