.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);position:relative;overflow:hidden;background:#f6f8fc}
.auth-brand-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:54px;isolation:isolate;background:linear-gradient(145deg,#071740 0%,#0d2872 58%,#173f8f 100%);color:#fff;overflow:hidden}
.auth-brand-panel::before,.auth-brand-panel::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);z-index:-1}.auth-brand-panel::before{width:480px;height:480px;right:-180px;top:-170px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 66%)}.auth-brand-panel::after{width:430px;height:430px;left:-220px;bottom:-170px;background:radial-gradient(circle,rgba(223,34,67,.22),transparent 65%)}
.brand-glass{width:min(560px,100%);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);backdrop-filter:blur(10px);border-radius:32px;padding:40px;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.auth-logo{width:min(310px,78%);height:auto;display:block;filter:brightness(0) invert(1);opacity:.98;margin-bottom:38px}
.brand-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);padding:7px 10px;border-radius:999px;font-size:10px;font-weight:700;margin-bottom:14px}.brand-kicker i{width:7px;height:7px;border-radius:50%;background:#74e0a4;box-shadow:0 0 0 5px rgba(116,224,164,.12)}
.brand-glass h1{font-size:31px;line-height:1.55;margin:0 0 14px;font-weight:800}.brand-glass p{margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:2}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.feature{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.84);font-size:11px}.feature svg{width:17px;height:17px;color:#a7c4ff}
.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:38px;background:radial-gradient(650px 380px at 100% 0%,rgba(13,40,114,.06),transparent 60%),#f7f8fb}
.auth-card{width:min(430px,100%);background:#fff;border:1px solid rgba(11,23,57,.08);border-radius:28px;padding:34px;box-shadow:0 28px 70px rgba(11,23,57,.09)}
.mobile-logo{display:none;width:190px;height:auto;margin:0 auto 26px}.auth-card h2{font-size:22px;font-weight:800;margin:0 0 7px}.auth-card>.sub{margin:0 0 28px;color:#667085;font-size:11px;line-height:1.9}
.form-group{margin-bottom:16px}.form-label{display:block;font-size:11px;font-weight:700;color:#344054;margin-bottom:8px}.field{position:relative}.field-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#98a2b3;pointer-events:none}.form-control{width:100%;height:49px;border:1px solid #d9dee8;border-radius:14px;background:#fff;padding:0 43px 0 14px;color:#101828;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.form-control::placeholder{color:#b2b8c5}.form-control:focus{border-color:#6e8dd0;box-shadow:0 0 0 4px rgba(13,40,114,.08)}.form-control.is-invalid{border-color:#f04438;background:#fffafa}.field-action{position:absolute;left:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#667085;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;border-radius:9px}.field-action:hover{background:#f2f4f7;color:#344054}.field-action svg{width:17px;height:17px}.invalid-feedback{font-size:10px;color:#b42318;margin-top:6px;line-height:1.8}
.auth-btn{width:100%;height:50px;border:0;border-radius:14px;background:linear-gradient(135deg,#0d2872,#17449f);color:#fff;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(13,40,114,.18);display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,filter .15s,box-shadow .15s}.auth-btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 15px 30px rgba(13,40,114,.22)}.auth-btn:disabled{opacity:.72;cursor:wait;transform:none}.auth-btn svg{width:18px;height:18px}.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:none}.is-loading .spinner{display:block}.is-loading .btn-icon{display:none}@keyframes spin{to{transform:rotate(360deg)}}
.auth-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid #eef0f4;color:#98a2b3;font-size:9px}.secure-note{display:flex;align-items:center;gap:6px}.secure-note svg{width:14px;height:14px;color:#667085}
@media(max-width:940px){.auth-page{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:24px}.mobile-logo{display:block}.auth-card{padding:30px}}
@media(max-width:480px){.auth-form-panel{padding:16px}.auth-card{border-radius:22px;padding:24px 19px}.auth-card h2{font-size:20px}.form-control{font-size:16px}.auth-meta{align-items:flex-start;flex-direction:column}.mobile-logo{width:165px;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.2s}.auth-btn:hover{transform:none}}
