@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@400;500;600;700&display=swap');
:root{--blue-950:#062654;--blue-700:#0757b8;--blue-600:#0875dc;--blue-100:#e8f3ff;--orange:#f59a23;--ink:#17253a;--muted:#65748a;--line:#dce5ef;--shadow:0 24px 65px rgba(13,49,91,.15)}
*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;margin:0;color:var(--ink);background:#f5f8fc;font-family:'Prompt',system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}
.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(380px,44%) 1fr}
.brand-panel{position:relative;display:flex;min-height:100vh;padding:clamp(36px,5vw,72px);overflow:hidden;flex-direction:column;color:#fff;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.18),transparent 25%),radial-gradient(circle at 85% 78%,rgba(6,213,255,.22),transparent 24%),linear-gradient(145deg,var(--blue-950) 0%,var(--blue-700) 58%,#0b91cc 100%);isolation:isolate}
.brand-panel:before,.brand-panel:after{position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:''}.brand-panel:before{width:480px;height:480px;right:-240px;top:16%}.brand-panel:after{width:680px;height:680px;right:-330px;top:7%}
.brand-mark{display:grid;width:78px;height:78px;border:1px solid rgba(255,255,255,.45);border-radius:22px;place-items:center;color:var(--blue-950);background:linear-gradient(145deg,#fff27a,var(--orange));box-shadow:0 16px 30px rgba(3,28,67,.25);font-size:23px;font-weight:700;letter-spacing:-.06em}
.brand-copy{margin:auto 0}.eyebrow{margin:0 0 16px;color:#90ddff;font-size:13px;font-weight:600;letter-spacing:.16em}.brand-copy h1{margin:0;font-size:clamp(42px,5.2vw,72px);line-height:1.03;letter-spacing:-.055em}.brand-description{max-width:410px;margin:24px 0 0;color:rgba(255,255,255,.76);font-size:clamp(16px,1.4vw,19px);line-height:1.8}.brand-footer{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.68);font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;background:#5ce4a8;box-shadow:0 0 0 5px rgba(92,228,168,.13)}
.form-panel{display:flex;min-width:0;padding:48px clamp(24px,7vw,112px) 34px;flex-direction:column;justify-content:center;background:radial-gradient(circle at 94% 4%,rgba(8,117,220,.09),transparent 24rem),radial-gradient(circle at 4% 96%,rgba(245,154,35,.09),transparent 22rem),#f8fafc}.login-card{width:min(460px,100%);margin:auto}.mobile-brand{display:none}.form-heading{margin-bottom:36px}.eyebrow--blue{margin-bottom:9px;color:var(--blue-600)}.form-heading h2{margin:0;font-size:clamp(32px,4vw,44px);line-height:1.2;letter-spacing:-.035em}.form-heading>p:last-child{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.7}
.login-form{display:grid;gap:22px}.field label{display:inline-block;margin-bottom:9px;color:#293b52;font-size:14px;font-weight:500}.input-wrap{position:relative}.input-wrap>svg{position:absolute;top:50%;left:17px;width:21px;fill:none;stroke:#8190a3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-50%);pointer-events:none}.input-wrap input{width:100%;height:58px;padding:0 54px 0 50px;border:1px solid var(--line);border-radius:14px;outline:none;color:var(--ink);background:rgba(255,255,255,.88);box-shadow:0 3px 12px rgba(24,54,88,.04);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input-wrap input::placeholder{color:#a3adbb}.input-wrap input:focus{border-color:var(--blue-600);background:#fff;box-shadow:0 0 0 4px rgba(8,117,220,.12),0 8px 20px rgba(24,54,88,.07)}.input-wrap:focus-within>svg{stroke:var(--blue-600)}
.form-error{display:flex;padding:13px 15px;border:1px solid #fecaca;border-radius:12px;align-items:flex-start;gap:10px;color:#b42318;background:#fff1f0;font-size:13px;line-height:1.55}.form-error svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.password-toggle{position:absolute;top:50%;right:9px;display:grid;width:40px;height:40px;padding:0;border:0;border-radius:10px;place-items:center;color:#718096;background:transparent;cursor:pointer;transform:translateY(-50%)}.password-toggle:hover{background:var(--blue-100);color:var(--blue-700)}.password-toggle svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.submit-button{display:flex;width:100%;height:58px;margin-top:4px;padding:0 20px;border:0;border-radius:14px;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(110deg,var(--blue-700),var(--blue-600));box-shadow:0 12px 26px rgba(7,87,184,.25);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.submit-button:hover{transform:translateY(-2px);box-shadow:0 17px 32px rgba(7,87,184,.32)}.submit-button:active{transform:translateY(0)}.submit-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.support-text{margin:25px 0 0;color:var(--muted);font-size:13px;text-align:center}.support-text a{color:var(--blue-700);font-weight:500;text-decoration:none}.support-text a:hover{text-decoration:underline}.site-footer{display:flex;width:min(620px,100%);margin:42px auto 0;align-items:center;justify-content:space-between;gap:20px;color:#8490a0;font-size:11px}.site-footer p{margin:0}.site-footer nav{display:flex;gap:18px}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--blue-700)}
.cookie-banner{position:fixed;z-index:10;right:24px;bottom:22px;display:flex;width:min(620px,calc(100% - 48px));padding:15px 16px;border:1px solid rgba(211,222,234,.9);border-radius:16px;align-items:center;gap:13px;background:rgba(255,255,255,.94);box-shadow:0 16px 45px rgba(12,40,75,.16);backdrop-filter:blur(16px);transition:opacity .25s ease,transform .25s ease}.cookie-banner.is-hidden{opacity:0;pointer-events:none;transform:translateY(16px)}.cookie-icon{display:grid;width:34px;height:34px;flex:0 0 34px;border-radius:10px;place-items:center;color:var(--orange);background:#fff2dc}.cookie-banner p{flex:1;margin:0;color:#617086;font-size:11px;line-height:1.55}.cookie-banner p a{color:var(--blue-700)}.cookie-actions{display:flex;gap:7px}.cookie-actions button{min-height:34px;padding:0 13px;border-radius:9px;font-size:11px;font-weight:500;cursor:pointer}.cookie-secondary{border:1px solid var(--line);color:#617086;background:#fff}.cookie-primary{border:1px solid var(--blue-700);color:#fff;background:var(--blue-700)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(245,154,35,.55);outline-offset:3px}
@media(max-width:900px){.login-shell{grid-template-columns:minmax(300px,38%) 1fr}.brand-panel{padding:36px}.brand-copy h1{font-size:43px}.form-panel{padding-inline:40px}}
@media(max-width:700px){.login-shell{display:block}.brand-panel{display:none}.form-panel{min-height:100vh;padding:30px 20px 120px}.mobile-brand{display:flex;margin-bottom:44px;align-items:center;gap:12px;color:var(--blue-950);font-size:20px;font-weight:700}.brand-mark--small{width:50px;height:50px;border-radius:15px;font-size:16px}.form-heading{margin-bottom:28px}.site-footer{flex-direction:column;gap:8px}.cookie-banner{right:14px;bottom:14px;width:calc(100% - 28px)}}
@media(max-width:480px){.cookie-banner{align-items:flex-start;flex-wrap:wrap}.cookie-banner p{min-width:calc(100% - 52px)}.cookie-actions{width:100%;padding-left:47px}.cookie-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
