.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#000,#1a1a1a);padding:20px}.login-card{width:100%;max-width:1000px;background:var(--color-surface-2);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-text-link{background:none;border:none;padding:0;color:var(--primary-color);text-decoration:underline;cursor:pointer}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.login-image-section{background:linear-gradient(135deg,#1a1a1a,#000);position:relative;overflow:hidden}.login-image-section,.login-image-wrapper{display:flex;align-items:center;justify-content:center}.login-image,.login-image-wrapper{width:100%;height:100%}.login-image{object-fit:cover;border-radius:var(--radius-md);opacity:.9}.login-form-section{padding:40px;display:flex;flex-direction:column;justify-content:center}.login-header{text-align:center;margin-bottom:32px}.login-title{font-size:var(--font-2xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0}.login-subtitle{font-size:var(--font-sm);color:var(--color-text-muted);margin:0}.login-form{gap:15px}.login-form,.register-form{display:flex;flex-direction:column}.register-form{gap:.7rem}.login-error{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:rgba(var(--color-primary-rgb),.1);border:1px solid var(--color-primary-muted);border-radius:var(--radius-md);color:var(--primary-color);font-size:var(--font-sm)}.login-error svg{flex-shrink:0}.login-success{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--font-sm)}.login-success svg{flex-shrink:0}.form-error-text{font-size:12px;color:var(--primary-color);margin-top:4px}.field-error-slot{min-height:18px;margin-top:2px}.field-error-text{font-size:12px;color:var(--primary-color);display:block;line-height:1.3}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:500}.form-input,.form-label{font-size:var(--font-sm);color:var(--color-text-primary)}.form-input{width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);box-sizing:border-box}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{outline:none;border-color:var(--primary-color);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input.input-error{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.15);color:var(--primary-color)}.form-input.input-error::placeholder{color:rgba(var(--color-primary-rgb),.6)}.form-group:has(.form-input.input-error) .form-label{color:var(--primary-color)!important}.form-group.floating.has-success .form-input.input-error,.form-group.has-success .form-input.input-error{border-color:var(--primary-color)!important;box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.15)!important;color:var(--primary-color)!important}.form-options{justify-content:space-between;font-size:14px}.checkbox-label,.form-options{display:flex;align-items:center}.checkbox-label{gap:8px;color:var(--color-text-muted,#888);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.forgot-link{color:var(--primary-color);text-decoration:none;transition:color .3s ease}.forgot-link:hover{color:var(--primary-color-hover,#ff1a27);text-decoration:underline}.login-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--primary-color) 0,#f40612 100%);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#f40612 0,var(--primary-color) 100%);transform:none;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-divider{display:flex;align-items:center;gap:16px;color:var(--color-text-muted,#666);font-size:14px}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:rgba(255,255,255,.1)}.login-button-google{width:100%;padding:14px 24px;background:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#000;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px}.login-button-google:hover:not(:disabled){background:#f5f5f5;transform:none;box-shadow:0 4px 12px rgba(0,0,0,.2)}.login-button-google:active:not(:disabled){transform:translateY(0)}.login-button-google:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button-google svg{flex-shrink:0}.login-footer{margin-top:24px;text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.register-text{font-size:14px;color:var(--color-text-muted,#888);margin:0}.register-text a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .3s ease}.register-text a:hover{color:var(--primary-color-hover,#ff1a27);text-decoration:underline}.otp-container{display:flex;gap:12px;justify-content:center;margin:8px 0}.otp-input{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;transition:all .3s ease;box-sizing:border-box}.otp-input:focus{outline:none;border-color:var(--primary-color);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.otp-input:disabled{opacity:.5;cursor:not-allowed}.otp-container.has-success .otp-input{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.15)}.otp-container.has-success .otp-input:focus{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.25)}.otp-resend{text-align:center;margin-top:8px}.resend-button{background:transparent;border:none;color:var(--primary-color);font-size:14px;cursor:pointer;transition:color .3s ease;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px}.resend-button:hover:not(:disabled){color:var(--primary-color-hover,#ff1a27);background:rgba(var(--color-primary-rgb),.1)}.resend-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.login-container{padding:16px;min-height:calc(100vh - 64px)}.login-card{max-width:100%}.login-layout{min-height:500px}.login-form-section{padding:28px 24px}.login-title{font-size:24px}.form-label,.login-subtitle{font-size:13px}.form-input{padding:11px 14px;font-size:14px}.login-button,.login-button-google{padding:12px 20px;font-size:15px}.form-options{flex-direction:column;align-items:flex-start;gap:12px}.forgot-link{font-size:13px}.login-divider{margin:0;font-size:13px}}@media (max-width:640px){.login-layout{grid-template-columns:1fr;min-height:auto}.login-image-section{display:none}.login-form-section{padding:32px clamp(1rem,4vw,1.5rem)}}@media (max-width:480px){.login-container{padding:12px;min-height:calc(100vh - 48px)}.login-card{padding:24px 20px;border-radius:8px}.login-header{margin-bottom:24px}.login-title{font-size:22px}.login-subtitle{font-size:12px}.login-form{gap:16px}.form-group{gap:6px}.form-label{font-size:12px}.form-input{padding:10px 12px;font-size:14px}.login-button,.login-button-google{padding:11px 18px;font-size:14px}.login-button svg,.login-button-google svg{width:16px;height:16px}.login-error{padding:10px 12px;font-size:13px}.login-error svg{width:18px;height:18px}.form-options{font-size:12px}.checkbox-input{width:16px;height:16px}.login-divider{margin:0;gap:12px;font-size:12px}.login-footer{margin-top:20px;padding-top:20px}.register-text{font-size:13px}.form-error-text{font-size:11px}.login-success{padding:10px 12px;font-size:13px}.login-success svg{width:18px;height:18px}.otp-container{gap:8px}.otp-input{width:42px;height:50px;font-size:20px}.resend-button{font-size:13px;padding:6px 10px}}@media (max-width:360px){.login-card{padding:20px 16px}.login-title{font-size:20px}.login-button,.login-button-google{padding:10px 16px;font-size:13px;gap:6px}}@media (max-height:600px) and (orientation:landscape){.login-container{min-height:auto;align-items:flex-start;padding:20px 12px 12px}.login-card{padding:24px 20px;max-width:400px}.login-header{margin-bottom:20px}.login-title{font-size:20px;margin-bottom:4px}.login-subtitle{font-size:12px}.login-form{gap:14px}.otp-container{gap:6px}.otp-input{width:38px;height:46px;font-size:18px}}.form-group.floating{position:relative;gap:0}.form-group.floating .form-input{height:52px;padding:20px 14px 6px;background:var(--bg-5);border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:15px;color:#fff;transition:all .2s ease}.form-group.floating label{position:absolute;left:14px;top:16px;color:#777;font-size:15px;pointer-events:none;transition:all .2s ease;background:#1a1a1a;padding:0 4px}.form-group.floating .form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(77,71,72,.2)}.form-group.floating .form-input:focus+label,.form-group.floating .form-input:not(:placeholder-shown)+label{top:-8px;font-size:12px;color:var(--primary-color);font-weight:500}.form-group.floating .form-input:disabled{opacity:.5}.form-group.floating.has-success .form-input,.form-group.has-success .form-input{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.15)}.form-group.floating.has-success .form-input:focus,.form-group.has-success .form-input:focus{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.25)}.form-group.floating.has-success label,.form-group.has-success .form-label{color:#22c55e!important}@media (prefers-reduced-motion:reduce){.login-button-google:active:not(:disabled),.login-button-google:hover:not(:disabled),.login-button:active:not(:disabled),.login-button:hover:not(:disabled){transform:none}.form-group.floating .form-input,.form-group.floating label,.form-input,.otp-input{transition:none}}.form-group.floating.form-group-password{position:relative}.form-group.floating.form-group-password .form-input{padding-right:2.75rem}.form-group.floating.form-group-password .password-toggle{position:absolute;right:.5rem;top:26px;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:.375rem;background:transparent;color:var(--color-text-secondary,#a1a1aa);cursor:pointer;transition:color .15s ease,background .15s ease}.form-group.floating.form-group-password .password-toggle:hover:not(:disabled){color:var(--color-text-primary,#fff);background:rgba(255,255,255,.06)}.form-group.floating.form-group-password .password-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-group.floating.form-group-password .password-toggle:disabled{opacity:.45;cursor:not-allowed}.password-input-wrap{position:relative;width:100%}.password-input-wrap .form-input{padding-right:2.75rem}.password-input-wrap .password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:.375rem;background:transparent;color:var(--color-text-secondary,#a1a1aa);cursor:pointer;transition:color .15s ease,background .15s ease}.password-input-wrap .password-toggle:hover:not(:disabled){color:var(--color-text-primary,#fff);background:rgba(255,255,255,.06)}.password-input-wrap .password-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.account-form .password-input-wrap .password-toggle{color:rgba(255,255,255,.55)}.account-form .password-input-wrap .password-toggle:hover:not(:disabled){color:#fff}