:root{color-scheme:light;--ink:#17232d;--muted:#63717d;--accent:#c4f135;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:var(--ink)}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #2867ed;outline-offset:5px}a:hover{text-decoration:underline}
.login-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(380px,.94fr) minmax(480px,1.06fr)}
.brand-panel{background:var(--ink);color:#fff;padding:46px clamp(32px,4.6vw,82px) 28px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.brand{display:inline-flex;align-items:center;gap:12px;width:fit-content}.brand:hover{text-decoration:none}.brand img{flex:none}.brand strong{font-size:27px;letter-spacing:2px;font-weight:750;display:block}.brand small{display:block;font-size:11px;letter-spacing:.3px;color:#a7b6c0;margin-top:3px}
.brand-story{margin-top:clamp(48px,9vh,112px);position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:650;letter-spacing:1.7px;text-transform:uppercase;line-height:1.5}.brand-story .eyebrow{color:#b8c7d0;display:flex;align-items:center;gap:10px}.brand-story .eyebrow span{width:7px;height:7px;background:var(--accent);border-radius:50%;flex:none}
h1{font-size:clamp(34px,3.4vw,58px);line-height:1.12;font-weight:600;letter-spacing:-1.8px;margin:24px 0}h1 em{font-style:normal;color:var(--accent)}.brand-description{font-size:15px;line-height:1.75;color:#a7b6c0;margin:0}
.blueprint{max-width:600px;width:calc(100% + 40px);margin:30px -20px 0;color:#71838f;position:relative}.blueprint svg{width:100%;display:block}.drawing-label{display:block;margin:8px 20px 18px;font-family:monospace;font-size:9px;letter-spacing:1.4px;color:#92a4af}.brand-footer{font-size:11px;letter-spacing:.3px;color:#92a4af;margin:auto 0 0;padding-top:22px}
.login-panel{display:flex;flex-direction:column;min-width:0;padding:40px clamp(28px,4.8vw,84px) 28px}.preview-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted)}.preview-topline>a{white-space:nowrap}.preview-badge{display:inline-flex;border:1px solid #dbe3e8;border-radius:20px;padding:7px 11px;line-height:1.3;background:#fff}
.login-card{width:100%;max-width:420px;margin:auto;padding:64px 0}.welcome-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf0e0;margin-bottom:30px}.welcome-mark svg{width:23px;height:23px}.login-eyebrow{color:#697780;font-size:10px;margin:0 0 12px}h2{font-size:32px;letter-spacing:-1px;line-height:1.2;font-weight:650;margin:0 0 13px}.login-description{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 35px}
.login-fields label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.login-fields input{display:block;width:100%;min-width:0;font-size:16px;border:1px solid #c8d3dc;border-radius:9px;background:#fff;height:53px;padding:0 16px;outline:none;transition:border-color .15s,box-shadow .15s}.login-fields input::placeholder{color:#8996a0}.login-fields input:focus{border-color:#426ae4;box-shadow:0 0 0 3px #426ae41a}
.login-fields button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:9px;background:var(--ink);color:#fff;padding:0 18px;height:53px;margin-top:16px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.login-fields button span{font-size:21px;color:var(--accent)}.login-fields button:hover{background:#2a3b48}.login-fields button:active{transform:translateY(1px)}.access-note{font-size:12px;line-height:1.7;color:var(--muted);margin:22px 0 32px;max-width:310px}
.preview-notice{border-top:1px solid #dde4e9;padding-top:20px;display:flex;align-items:flex-start;gap:10px;color:#697780}.preview-notice>span{flex:none;border:1px solid #91a0aa;width:15px;height:15px;text-align:center;border-radius:50%;font-size:10px;line-height:14px;margin-top:2px}.preview-notice p{font-size:11px;line-height:1.7;margin:0}.preview-feedback{font-size:12px;line-height:1.6;background:#eaf0e0;border-left:3px solid #799b2f;padding:12px;margin:14px 0 0}.preview-feedback[hidden]{display:none}
.login-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;color:#74828c}
@media(min-width:1500px){.brand-story{margin-top:12vh}.blueprint{margin-top:45px}}
@media(max-width:950px){.login-shell{grid-template-columns:.9fr 1.1fr}.brand-panel{padding:36px 30px 25px}.login-panel{padding:36px 30px 25px}.preview-topline{flex-wrap:wrap}h1{font-size:36px}.brand-story{margin-top:70px}.brand-description{font-size:14px}}
@media(max-width:700px){.login-shell{display:flex;flex-direction:column}.brand-panel{padding:24px 24px 22px;padding-top:max(24px,env(safe-area-inset-top));overflow:visible}.brand img{width:42px;height:42px}.brand strong{font-size:25px}.brand-story,.blueprint,.brand-footer{display:none}.login-panel{flex:1;padding:22px 24px max(24px,env(safe-area-inset-bottom))}.preview-topline{font-size:10px;gap:10px;flex-wrap:nowrap}.preview-badge{padding:6px 9px}.login-card{padding:46px 0 36px;max-width:430px}.welcome-mark{margin-bottom:24px;width:42px;height:42px}h2{font-size:29px}.login-description{margin-bottom:28px;font-size:13px}.access-note{margin-bottom:25px}.login-footer{gap:12px;line-height:1.5;margin-top:auto}.login-eyebrow{font-size:9px}}
@media(max-width:360px){.brand-panel{padding-left:20px;padding-right:20px}.login-panel{padding-left:20px;padding-right:20px}.preview-topline{flex-wrap:wrap}.login-card{padding-top:32px}h2{font-size:26px}.login-footer{display:block}.login-footer a{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.brand{gap:18px}.brand img{width:64px;height:64px}.brand small{max-width:210px;line-height:1.5}.login-fields label:not(:first-child),#password-repeat49{margin-top:18px}.login-fields [hidden]{display:none}.login-fields button:disabled{opacity:.65;cursor:wait}@media(max-width:700px){.brand img{width:54px;height:54px}}
