.login-page{background:linear-gradient(170deg,#eef4ff 0%,#f8fafc 60%,#fff 100%);align-items:stretch;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#2563eb14 0%,#0000 70%);border-radius:50%;width:560px;height:560px;position:absolute;top:-160px;right:-120px}.login-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#3b82f60f 0%,#0000 70%);border-radius:50%;width:440px;height:440px;position:absolute;bottom:-140px;left:-100px}.login-container{z-index:1;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:flex;position:relative}.login-brand{color:#fff;background:linear-gradient(160deg,#1e40af 0%,#2563eb 55%,#3b82f6 100%);border-radius:24px;flex-direction:column;flex:50%;justify-content:center;padding:44px 48px;animation:.7s cubic-bezier(.16,1,.3,1) fadeUp;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px -20px #2563eb59}.login-brand:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.login-brand:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff24 0%,#0000 70%);border-radius:50%;width:380px;height:380px;position:absolute;top:-120px;right:-120px}.login-brand-content{z-index:1;max-width:440px;position:relative}.login-brand-badge{letter-spacing:.12em;text-transform:uppercase;color:#dbeafe;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.login-brand-title{letter-spacing:-.02em;color:#fff;margin:0 0 12px;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:800;line-height:1.2}.login-brand-subtitle{color:#ffffffd1;margin:0 0 28px;font-size:14.5px;line-height:1.65}.login-brand-features{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.login-brand-features li{color:#ffffffeb;align-items:flex-start;gap:12px;font-size:14px;font-weight:600;display:flex}.login-brand-features .feature-icon{color:#fff;background:#ffffff24;border:1px solid #ffffff29;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.login-brand-footer{z-index:1;color:#ffffffbf;border-top:1px solid #ffffff29;align-items:center;gap:32px;margin-top:32px;padding-top:20px;font-size:13px;display:flex;position:relative}.login-brand-stat{flex-direction:column;gap:2px;display:flex}.login-brand-stat strong{color:#fff;letter-spacing:-.01em;font-size:18px;font-weight:800}.login-form-panel{flex-direction:column;flex:50%;justify-content:center;padding:44px 24px 44px 56px;animation:.7s cubic-bezier(.16,1,.3,1) .1s both fadeUp;display:flex;position:relative}.login-back{color:#64748b;align-items:center;gap:8px;width:fit-content;margin-bottom:28px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.login-back:hover{color:#2563eb}.login-back-icon{color:#2563eb;z-index:2;background:#2563eb14;border:1px solid #2563eb29;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;transition:color .2s,background .2s,transform .2s;display:inline-flex;position:absolute;top:24px;left:24px}.login-back-icon:hover{color:#fff;background:#2563eb;transform:translateY(-1px)}.login-card{width:100%;max-width:420px}.login-header{margin-bottom:24px}.login-logo{background:linear-gradient(135deg,#2563eb1a 0%,#3b82f614 100%);border:1px solid #2563eb24;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.login-header .login-logo{margin-left:auto;margin-right:auto}.login-header h1{letter-spacing:-.02em;color:#0f172a;margin:0 0 8px;font-size:24px;font-weight:800}.login-header p{color:#64748b;margin:0;font-size:14px;line-height:1.6}.login-form{flex-direction:column;gap:16px;display:flex}.error-message{color:#dc2626;background:#ef44440f;border:1px solid #ef44442e;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:500;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#334155;font-size:13.5px;font-weight:700}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#94a3b8;pointer-events:none;transition:color .2s;position:absolute;left:14px}.input-wrapper:focus-within .input-icon{color:#2563eb}.login-input{color:#0f172a;width:100%;font-size:15px;font-weight:500;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #0f172a0a;background:#fff!important;border:1px solid #e4ecfc!important;border-radius:12px!important;padding:13px 44px 13px 42px!important}.login-input::placeholder{color:#94a3b8;font-weight:400}.login-input:focus{box-shadow:0 0 0 4px #2563eb1a;border-color:#2563eb!important}:-webkit-any(.login-input:autofill,.login-input:-webkit-autofill){caret-color:#0f172a;-webkit-text-fill-color:#0f172a!important;box-shadow:inset 0 0 0 1000px #fff!important}:is(.login-input:autofill,.login-input:autofill){caret-color:#0f172a;-webkit-text-fill-color:#0f172a!important;box-shadow:inset 0 0 0 1000px #fff!important}:-webkit-any(.login-input:autofill:focus,.login-input:-webkit-autofill:focus){box-shadow:inset 0 0 0 1000px #fff,0 0 0 4px #2563eb1a!important}:is(.login-input:autofill:focus,.login-input:autofill:focus){box-shadow:inset 0 0 0 1000px #fff,0 0 0 4px #2563eb1a!important}.password-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:12px}.password-toggle:hover{color:#2563eb}.login-button{color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:13px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 6px 24px #2563eb59}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 32px #2563eb73}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #2563eb4d}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:12px;margin-top:28px;font-size:13px;display:flex}.login-footer-tabs{background:#2563eb0a;border:1px solid #2563eb1f;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:inset 0 1px 2px #0f172a0a}.login-footer-tab{color:#64748b;white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s,box-shadow .2s,transform .2s;display:inline-block}.login-footer-tab:hover{color:#2563eb;background:#2563eb17;transform:translateY(-1px)}.login-footer-tab.is-active{color:#2563eb;background:#fff;font-weight:700;box-shadow:0 2px 8px #2563eb24}.login-footer-tab.is-active:hover{color:#1d4ed8;background:#fff}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-dots:after{content:"...";text-align:left;width:12px;animation:1.5s infinite dots;display:inline-block}@keyframes dots{0%{content:"."}33%{content:".."}66%{content:"..."}}@media (max-width:1100px){.login-container{padding:20px}.login-brand{padding:36px 40px}.login-form-panel{padding:36px 16px 36px 40px}.login-brand-content{max-width:400px}}@media (max-width:820px){.login-container{flex-direction:column;align-items:stretch;padding:24px 20px 32px}.login-brand{width:100%;padding:32px 28px}.login-brand-content{max-width:none}.login-brand-title{margin-bottom:10px}.login-brand-subtitle{margin-bottom:22px}.login-brand-features{gap:12px}.login-brand-footer{margin-top:24px}.login-form-panel{align-items:center;padding:36px 4px 24px}.login-back-icon{top:18px;left:18px}.login-card{max-width:440px}.login-back{margin-bottom:20px}}@media (max-width:480px){.login-brand{padding:26px 22px}.login-brand-features{display:none}.login-brand-footer{margin-top:20px}.login-header h1{font-size:22px}}
