@font-face{font-family:Archivo Display;src:url("/assets/archivo-display-800-100.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:IBM Plex Sans;src:url("/assets/ibm-plex-sans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:IBM Plex Sans;src:url("/assets/ibm-plex-sans-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url("/assets/ibm-plex-mono-700.woff2") format("woff2");font-weight:700;font-display:swap}
:root{color-scheme:light;--ink:#1D252D;--paper:#F5F3EE;--white:#FFF;--orange:#F96302;--rule:#D8D3CA;--muted:#65717A;--alarm:#B42318}
*{box-sizing:border-box}
html{min-height:100%;background:var(--ink)}
body{min-height:100vh;margin:0;background:linear-gradient(125deg,var(--ink) 0 42%,var(--paper) 42% 100%);color:var(--ink);font:400 16px/1.5 "IBM Plex Sans",Arial,sans-serif}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px}
.login-card{width:min(960px,100%);min-height:590px;display:grid;grid-template-columns:1fr 1fr;background:var(--white);box-shadow:0 28px 90px rgba(0,0,0,.28)}
.brand-panel,.form-panel{padding:54px}
.brand-panel{display:flex;flex-direction:column;justify-content:space-between;background:var(--ink);color:var(--white)}
.brand-panel img{width:260px;height:auto}
.kicker,.form-kicker{margin:0 0 12px;color:var(--orange);font:700 11px/1.2 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
h1,h2{margin:0;font-family:"Archivo Display","Arial Black",sans-serif;line-height:.98;letter-spacing:-.035em}
h1{max-width:380px;font-size:clamp(44px,6vw,68px)}
h2{font-size:40px}
.brand-copy{max-width:360px;margin:24px 0 0;color:#C8CFD4;font-size:15px}
.security-note{display:flex;align-items:center;gap:10px;margin:0;color:#AAB4BB;font:700 10px/1.3 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.security-note span{width:8px;height:8px;background:#14A44D;box-shadow:0 0 0 4px rgba(20,164,77,.15)}
.form-panel{display:flex;flex-direction:column;justify-content:center}
.form-copy{margin:14px 0 28px;color:var(--muted);font-size:14px}
.login-error{margin:0 0 18px;padding:11px 12px;border-left:4px solid var(--alarm);background:#FFF0EE;color:#7A1710;font-size:13px}
form{display:grid;gap:18px}
label{display:grid;gap:7px}
label span{font:700 10px/1.2 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
input{width:100%;height:48px;border:1px solid #AAA59C;border-radius:0;background:#FFF;color:var(--ink);padding:0 13px;font:600 16px/1 "IBM Plex Sans",sans-serif;outline:none}
input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(249,99,2,.14)}
button{height:50px;border:0;border-radius:0;background:var(--orange);color:#161D23;cursor:pointer;font:700 12px/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
button:hover{background:#FF7821}
button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.session-note{margin:17px 0 0;color:var(--muted);font-size:11px}
@media(max-width:760px){
  body{background:var(--paper)}
  .login-shell{padding:0}
  .login-card{min-height:100vh;grid-template-columns:1fr;box-shadow:none}
  .brand-panel,.form-panel{padding:36px 28px}
  .brand-panel{min-height:310px}
  .brand-panel img{width:220px}
  h1{font-size:46px}
}
