.login-container{background:radial-gradient(ellipse at 20% 50%, #a970350f 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #6d442214 0%, transparent 45%), radial-gradient(ellipse at 60% 80%, #c4894d0a 0%, transparent 40%), var(--color-bg-primary);min-height:100dvh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);animation:modal-scale-in var(--duration-moderate) var(--easing-spring);overflow:hidden}.login-lang{padding:var(--space-4) var(--space-4) 0;justify-content:flex-end;display:flex}.login-header{padding:var(--space-6) var(--space-8) var(--space-6);text-align:center}.login-logo{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.login-logo-icon{object-fit:contain;width:52px;height:52px}.login-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--color-text-primary);letter-spacing:var(--ls-tight)}.login-subtitle{font-size:var(--fs-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.login-form{padding:var(--space-2) var(--space-8) var(--space-8);gap:var(--space-5);flex-direction:column;display:flex}.login-field{gap:var(--space-2);flex-direction:column;display:flex}.login-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary)}.login-input{padding-inline:var(--space-4);font-size:var(--fs-md);border-radius:var(--radius-lg);letter-spacing:.02em}@media (max-width:420px){.login-header{padding:var(--space-5) var(--space-5) var(--space-5)}.login-form{padding:var(--space-2) var(--space-5) var(--space-6)}.login-footer{padding:var(--space-4) var(--space-5) var(--space-5)}.otp-input-group{gap:var(--space-2)}input.otp-digit-input{inline-size:var(--space-10)}}.login-no-code-hint{font-size:var(--fs-sm);color:var(--color-text-tertiary);text-align:center}.login-submit-btn{padding:var(--space-3) var(--space-4);font-size:var(--fs-md);border-radius:var(--radius-lg);font-weight:var(--fw-semibold);min-height:48px}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:var(--space-3) var(--space-4);background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-500);border-radius:var(--radius-md);font-size:var(--fs-sm);text-align:center;animation:modal-scale-in var(--duration-fast) var(--easing-spring)}.login-notice{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-500);border-radius:var(--radius-md);font-size:var(--fs-sm);text-align:center;animation:modal-scale-in var(--duration-fast) var(--easing-spring)}.login-success{padding:var(--space-3) var(--space-4);background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-500);border-radius:var(--radius-md);font-size:var(--fs-sm);text-align:center}.login-otp-contact-hint{text-align:center;padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--color-brand-500) 6%, var(--color-bg-secondary));border:1px solid color-mix(in srgb, var(--color-brand-500) 18%, var(--color-border-secondary));border-radius:var(--radius-md)}.login-otp-contact-hint-text{font-size:var(--fs-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.login-otp-contact-hint-value{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-text-primary);letter-spacing:.03em}.login-back-btn{font-size:var(--fs-sm);color:var(--color-text-link);cursor:pointer;text-align:center;background:0 0;border:none;padding:0}.login-back-btn:hover{text-decoration:underline}.login-type-toggle{gap:var(--space-1);background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--space-1);display:flex}.login-type-btn{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--easing-standard);background:0 0;border:none;flex:1}.login-type-btn.active{background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.login-footer{padding:var(--space-4) var(--space-8) var(--space-6);text-align:center;border-top:1px solid var(--color-border-secondary)}.login-footer-links{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.login-footer-link{font-size:var(--fs-sm);color:var(--color-text-link);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.login-footer-link:hover{text-decoration:underline}.login-footer-help{font-size:var(--fs-sm);color:var(--color-text-secondary);animation:modal-scale-in var(--duration-fast) var(--easing-spring)}.login-actions-row{justify-content:space-between;align-items:center;display:flex}.login-resend-btn{font-size:var(--fs-sm);color:var(--color-text-link);cursor:pointer;background:0 0;border:none;padding:0}.login-resend-btn:hover{text-decoration:underline}.login-resend-btn:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.login-divider{align-items:center;gap:var(--space-3);margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--fs-sm);text-transform:lowercase;display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid var(--color-border-primary);flex:1}
