:root{color-scheme:light;--blue-900:#071d41;--blue-800:#0c326f;--blue-700:#1351b4;--blue-100:#e7f0ff;--green:#168821;--gold:#ffcd07;--text:#1f2d3d;--muted:#647286;--border:#d9dee7;--danger:#b51d2a}
*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{font-family:"Segoe UI",Roboto,Arial,sans-serif;background:#e9edf2;color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(19,81,180,.25);outline-offset:2px}
.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#071d41 0 23%,#e9edf2 23% 100%)}
.login-shell{position:relative;width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#fff;box-shadow:0 25px 70px rgba(7,29,65,.28)}
.login-shell::before{content:"";position:absolute;inset:0 0 auto;height:7px;z-index:5;background:linear-gradient(90deg,#168821 0 42%,#ffcd07 42% 58%,#1351b4 58%)}
.login-visual{position:relative;display:flex;flex-direction:column;padding:42px 48px;color:#fff;background:linear-gradient(145deg,#071d41,#0c326f)}
.login-visual::after{content:"";position:absolute;inset:auto -80px -100px auto;width:330px;height:330px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
.visual-glow{display:none}.visual-brand,.visual-copy,.visual-features,.login-visual footer{position:relative;z-index:2}.visual-brand{display:flex;align-items:center;gap:13px}.visual-logo,.mobile-logo{width:62px;height:62px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.8);border-radius:5px;background:#fff;color:var(--blue-900);font-size:.78rem;font-weight:950;box-shadow:inset 0 -6px 0 var(--green)}.visual-brand strong,.visual-brand small,.mobile-brand strong,.mobile-brand small{display:block}.visual-brand strong{font-size:.86rem;letter-spacing:.035em}.visual-brand small{margin-top:5px;color:#c7d4e5;font-size:.64rem;font-weight:700;line-height:1.35;letter-spacing:.04em}
.visual-copy{margin:auto 0}.visual-kicker{display:inline-flex;align-items:center;gap:8px;color:#b7efbc;font-size:.63rem;font-weight:900;letter-spacing:.12em}.visual-kicker i{width:8px;height:8px;border-radius:50%;background:#4ee35c;box-shadow:0 0 0 4px rgba(78,227,92,.12)}.visual-copy h1{margin:18px 0 17px;color:#fff;font-size:clamp(2rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.04em;font-weight:520}.visual-copy h1 em{color:#ffdf57;font-style:normal;font-weight:800}.visual-copy p{max-width:500px;margin:0;color:#c0ccdc;font-size:.9rem;line-height:1.7}
.visual-features{display:grid;gap:11px;margin-bottom:28px}.visual-features>div{display:flex;align-items:center;gap:11px}.visual-features b{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(255,255,255,.08);color:#fff;font-size:.7rem}.visual-features strong,.visual-features small{display:block}.visual-features strong{font-size:.75rem}.visual-features small{margin-top:3px;color:#9fb1c8;font-size:.65rem}.login-visual footer{color:#8fa4bf;font-size:.63rem}
.login-card{display:flex;flex-direction:column;justify-content:center;padding:50px 58px;background:#fff}.mobile-brand{display:none}.login-copy>span{color:var(--green);font-size:.63rem;font-weight:900;letter-spacing:.14em}.login-copy h2{margin:9px 0 8px;color:var(--blue-900);font-size:1.8rem;line-height:1.15;letter-spacing:-.03em}.login-copy p{margin:0 0 29px;color:var(--muted);font-size:.85rem}form{display:grid;gap:17px}label{display:grid;gap:8px;color:#35465b;font-size:.76rem;font-weight:760}.input-shell{position:relative;display:flex;align-items:center}.input-shell>i{position:absolute;left:14px;z-index:2;width:18px;color:#74859a;font-style:normal;font-size:.72rem;text-align:center}.input-shell input{padding-left:43px}input{width:100%;min-height:49px;border:1px solid var(--border);border-radius:5px;padding:11px 13px;background:#fff;color:var(--text);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}input:hover{border-color:#a7b2c0}input:focus{outline:0;border-color:var(--blue-700);box-shadow:0 0 0 3px rgba(19,81,180,.11)}input::placeholder{color:#919cab}.password-field input{padding-right:78px;padding-left:43px}.password-field button{position:absolute;right:5px;top:5px;bottom:5px;min-width:67px;border:1px solid #c6d5e8;border-radius:4px;background:var(--blue-100);color:var(--blue-700);font-size:.68rem;font-weight:850;cursor:pointer}.password-field button:hover{background:#d9e8ff}.remember{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;color:var(--muted);font-weight:500}.remember input{width:18px;min-height:18px;accent-color:var(--blue-700)}.login-button{min-height:50px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:5px;padding:0 17px;background:var(--blue-700);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(19,81,180,.22)}.login-button:hover:not(:disabled){background:var(--blue-800)}.login-button:disabled{opacity:.65;cursor:wait}.login-button b{font-size:1.1rem}.login-error{min-height:20px;margin:0;color:var(--danger);font-size:.76rem;text-align:center;font-weight:700}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:21px;padding-top:17px;border-top:1px solid var(--border);color:#748194;font-size:.65rem}.login-security span{color:var(--green);font-weight:900}
@media(max-width:850px){.login-shell{width:min(470px,100%);min-height:0;grid-template-columns:1fr}.login-visual{display:none}.login-card{padding:34px}.mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:34px;padding-bottom:20px;border-bottom:1px solid var(--border)}.mobile-logo{width:52px;height:52px}.mobile-brand strong{font-size:.79rem;color:var(--blue-900);letter-spacing:.03em}.mobile-brand small{margin-top:4px;color:var(--muted);font-size:.61rem;font-weight:750;line-height:1.35}}
@media(max-width:480px){.login-page{padding:12px;background:var(--blue-900)}.login-shell{border-radius:6px}.login-card{padding:25px 21px}.mobile-brand{margin-bottom:27px}.login-copy h2{font-size:1.55rem}.login-copy p{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
