/* © 2026 Obaid Raza. All rights reserved. Native form controls retain session handlers. */
#sessionAuth .login-input-wrap{position:relative;display:block;width:100%}
#sessionAuth .login-built-by{font-style:normal;font-weight:400;font-size:12px;color:#667085}
#sessionAuth .login-field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;color:#71839c;pointer-events:none}
#sessionAuth .login-field-icon svg,#sessionAuth .login-password-eye svg,#sessionAuth .login-signin-icon svg{width:20px;height:20px}
#sessionAuth #sessionLogin .login-input-wrap input{height:52px;padding-left:46px;padding-right:48px;border-radius:12px;font-size:15px}
#sessionAuth .login-password-eye{position:absolute;right:5px;top:4px;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#63748d;display:grid;place-items:center}
#sessionAuth .login-password-eye:hover{background:#edf4ff;color:#0b6be6}
#sessionAuth #sessionLogin .login-remember{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#40526c;cursor:pointer}
#sessionAuth #sessionLogin .login-remember input{width:18px;height:18px;min-width:18px;margin:1px 0 0;padding:0;accent-color:#0b6be6;box-shadow:none}
#sessionAuth .login-remember span{line-height:1.6}
#sessionAuth .login-remember small{display:block;font-size:10px;font-weight:400;color:#7d8ba0}
#sessionAuth #sessionLogin .btn-primary{height:52px;border-radius:12px;background:linear-gradient(110deg,#0b6be6,#2563eb);gap:9px;font-weight:600;position:relative}
#sessionAuth .login-signin-icon{display:flex}
#sessionAuth #sessionLogin #sessionError:not(:empty){margin:0;padding:10px 12px;background:#fff0f1;color:#b12f30;border:1px solid #f3c8cc;line-height:1.5}
#sessionAuth #sessionLogin #sessionPassword[aria-invalid="true"]{border-color:#d13438;box-shadow:0 0 0 3px #d1343810}
#sessionAuth #sessionLogin #sessionEmail[aria-invalid="true"]{border-color:#d13438;box-shadow:0 0 0 3px #d1343810}
#sessionAuth .login-field-error{display:block;margin:0;color:#b12f30;font-size:12px;font-weight:400;line-height:1.5}
#sessionAuth[data-login-state="loading"] .login-signin-icon{width:19px;height:19px;border:2px solid #ffffff65;border-top-color:#fff;border-radius:50%;animation:lv-login-spin .7s linear infinite}
#sessionAuth[data-login-state="loading"] .login-signin-icon svg{visibility:hidden}
#sessionAuth[data-login-state="success"] .login-signin-icon svg{display:none}
#sessionAuth[data-login-state="success"] .login-signin-icon::after{content:"✓";font-size:22px;font-weight:600;line-height:1}
#sessionAuth[data-login-state="success"] > .panel{opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .18s}
#sessionAuth[data-login-state="error"] > .panel{animation:lv-login-shake .3s ease-out}
@keyframes lv-login-spin{to{transform:rotate(360deg)}}
@keyframes lv-login-shake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}to{transform:translateX(0)}}
@media(max-width:800px){
 #sessionAuth.lv-login-candidate{display:flex;flex-direction:column;align-items:center;min-height:100dvh;padding:0;background:#0b2342;overflow-x:hidden}
 #sessionAuth.lv-login-candidate .login-architecture{order:0;display:block;flex:none;min-height:260px;height:38dvh;max-height:390px;width:100%;margin:0;border-radius:0;padding:24px max(24px,env(safe-area-inset-right,0px)) 30px max(24px,env(safe-area-inset-left,0px));background:radial-gradient(ellipse at 65% 78%,#123c6a 0%,#0c2444 34%,#08172c 76%)}
 #sessionAuth .login-architecture::before{display:none}
 #sessionAuth .login-art-top{display:flex;font-size:8px;letter-spacing:1px}
 #sessionAuth .login-story{display:block;margin-top:26px;position:relative;z-index:2}
 #sessionAuth .login-eyebrow,#sessionAuth .login-description,#sessionAuth .login-art-bottom{display:none}
 #sessionAuth .login-story h2{font-size:29px;letter-spacing:-1px;max-width:285px;line-height:1.15;text-shadow:0 2px 18px #08172c}
 #sessionAuth .login-skyline{left:auto;right:-65px;bottom:-5px;width:115%;max-width:590px;height:80%;max-height:270px;object-fit:contain;object-position:right bottom;opacity:.7;animation:login-city-enter .85s ease-out both}
 #sessionAuth.lv-login-candidate > .panel{order:1;z-index:3;align-self:center;width:100%;max-width:540px;margin:-22px 0 0;padding:27px max(24px,env(safe-area-inset-right,0px)) max(30px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -8px 34px #07172e20;flex:1;animation:lv-login-card-enter .5s cubic-bezier(.2,.7,.2,1) both}
 #sessionAuth .login-design-label{display:none}
 #sessionAuth.lv-login-candidate > .panel #sessionBrand{margin:0 auto 7px;display:flex;justify-content:center}
 #sessionAuth #sessionBrand .brand{justify-content:center;max-width:192px}
 #sessionAuth .login-built-by{margin:0 0 20px;text-align:center;font-size:12px;color:#667085}
 #sessionAuth #sessionTitle{text-align:center;font-size:25px;margin:0 0 6px}
 #sessionAuth #sessionIntro{text-align:center;font-size:12px;margin:0 0 23px;line-height:1.6}
 #sessionAuth #sessionLogin{gap:16px}
 #sessionAuth #sessionLogin .fld{gap:7px;font-size:12px}
 #sessionAuth #sessionLogin .login-input-wrap input{font-size:16px}
 #sessionAuth .panel > p:last-child{margin-top:22px;text-align:center;font-size:10px}
 #sessionAuth[data-login-state="error"] > .panel{animation:lv-login-shake .3s ease-out}
 #sessionAuth[data-login-state="success"] > .panel{animation:none;opacity:0;transform:translateY(-6px)}
}
@keyframes lv-login-card-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#sessionAuth.lv-login-candidate *,#sessionAuth.lv-login-candidate *::before,#sessionAuth.lv-login-candidate *::after{animation:none!important;transition:none!important}#sessionAuth[data-login-state="success"]>.panel{transform:none}}
