:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#080c35;background:#fff;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:#0759e8;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0966ff;outline-offset:4px}
.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100svh}
.login-art{background:#051139 url('/img/huplix-midnight-peaks.png') left center / auto 100% no-repeat;min-height:100vh;min-height:100svh}
.login-panel{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:100px 40px}
.login-brand{position:absolute;top:26px;right:30px;display:flex;align-items:center;gap:3px;color:#080c35;font-size:23px;font-weight:750;letter-spacing:-.7px;line-height:1;text-decoration:none}.login-brand:hover{text-decoration:none}.login-symbol{position:relative;display:block;width:42px;aspect-ratio:1.08;overflow:hidden}.login-symbol img{position:absolute;width:148%;max-width:none;height:auto;left:-24%;top:-23%}
.auth-card{width:100%;max-width:560px;margin-top:-40px}.auth-title{font-size:clamp(28px,2.2vw,44px);line-height:1.2;font-weight:750;letter-spacing:-1.2px;text-align:center;margin:0 0 12px}.auth-sub{font-size:clamp(14px,1.1vw,19px);line-height:1.5;color:#64708a;text-align:center;margin:0 0 36px}
.auth-form{display:flex;flex-direction:column;gap:20px}.login-field{display:flex;align-items:center;gap:16px;min-height:64px;padding:0 22px;border:1px solid #dce3ed;border-radius:22px;background:#f6f8fb;color:#273856;transition:border-color .15s,box-shadow .15s}.login-field:focus-within{border-color:#0966ff;box-shadow:0 0 0 3px #0966ff16}.login-field>svg{width:22px;height:22px;flex-shrink:0}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-field input{width:100%;min-width:0;border:0;background:transparent;padding:19px 0;font-size:17px;color:#101b38;outline:none}.login-field input::placeholder{color:#63718b;opacity:1}.login-field:has(input:focus-visible){outline:3px solid #0966ff;outline-offset:3px}.login-field input:focus-visible{outline:none}
.password-toggle{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;margin-right:-12px;border:0;border-radius:50%;background:transparent;color:#34435f;cursor:pointer}.password-toggle svg{width:23px;height:23px}.password-toggle:hover{background:#e7edf6}.login-forgot{display:flex;justify-content:flex-end;margin:-12px 0 2px}.login-forgot a{min-height:44px;display:flex;align-items:center;font-size:14px}.btn-primary{min-height:64px;width:100%;padding:14px 20px;border:0;border-radius:999px;background:#075bff;color:#fff;font-size:20px;font-weight:650;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#064bd1}.btn-primary:disabled{background:#8eafe7;cursor:wait}.auth-error{font-size:14px;line-height:1.5;color:#b42318;margin:18px 0 0;overflow-wrap:anywhere}.auth-picker{margin-top:24px}.auth-picker-label{font-size:16px;line-height:1.5;color:#57647e}.auth-picker label{display:flex;flex-direction:column;gap:8px;font-size:14px}.auth-picker select{width:100%;min-height:52px;padding:12px;color:#101b38;background:#f6f8fb;border:1px solid #dce3ed;border-radius:14px}.auth-picker>a{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px) and (min-width:761px){.login-panel{padding:100px 32px}.auth-sub{font-size:15px}.auth-form{gap:16px}.login-field{min-height:56px;padding:0 16px;gap:12px}.login-field input{font-size:16px;padding:16px 0}.btn-primary{min-height:56px;font-size:18px}}
@media(max-width:760px){.login-page{display:block}.login-art{min-height:0;height:300px;background-size:auto 470px;background-position:left top}.login-panel{min-height:calc(100svh - 300px);padding:100px 28px 48px}.login-brand{top:22px;right:24px;font-size:22px}.auth-card{margin:0;max-width:480px}.auth-title{font-size:32px}.auth-sub{font-size:16px;margin-bottom:28px}.login-field{min-height:60px;border-radius:18px}.login-field input{font-size:16px;padding:18px 0}.btn-primary{min-height:60px;font-size:19px}}
@media(max-width:420px){.login-art{height:250px;background-size:auto 390px}.login-panel{min-height:calc(100svh - 250px);padding:92px 24px 36px}.auth-title{font-size:30px}.auth-sub{font-size:15px}.login-field{gap:12px;padding:0 16px}.login-brand{right:20px;top:20px}.auth-form{gap:18px}}
@media(min-width:761px) and (max-height:700px){.login-panel{padding-top:90px;padding-bottom:32px}.auth-card{margin-top:0}.auth-sub{margin-bottom:24px}.auth-form{gap:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Approved larger Huplix lockup; the shared SVG trims transparent margins. */
.login-brand{font-size:36px;gap:10px;top:24px;right:30px;min-height:72px}.login-symbol{width:76px;aspect-ratio:985/900}.login-symbol img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}
@media(max-width:760px){.login-brand{font-size:28px;gap:8px;top:18px;right:24px;min-height:54px}.login-symbol{width:58px}}
