*{box-sizing:border-box}body{margin:0;background:#edf4f6;color:#173f4d;font:16px system-ui,sans-serif}header{background:#092c39;color:white;padding:22px max(24px,5vw);display:flex;gap:24px;align-items:center;justify-content:space-between}header a{color:#9be7df}main{max-width:1080px;margin:40px auto;padding:0 20px}section{background:white;border:1px solid #d5e4e8;border-radius:18px;padding:28px;margin-bottom:22px}.login{max-width:480px;margin:8vh auto}h1{font-size:30px;margin:0 0 12px}p{line-height:1.6}label{display:block;margin:18px 0 7px}input,select,button{font:inherit;border-radius:9px;padding:12px;border:1px solid #bad0d7;width:100%}button{cursor:pointer;background:#087f91;color:white;border:0;margin-top:18px}button:hover{background:#096274}a{color:#087f91}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row button{width:auto;margin:0}.person{border-top:1px solid #dce7eb;padding:18px 0}.person strong{display:block}small{color:#587680}#message{padding:12px 0;white-space:pre-wrap;color:#98521e}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(max-width:720px){.grid{display:block}header{flex-wrap:wrap}.login{margin:30px auto}}
/* Staff sign-in shares the cabinet palette and control rhythm. */
body[data-page=login]{background:#f2f6f8;color:#183e4c;font-family:Inter,'Segoe UI',Arial,sans-serif}
body[data-page=login] header{padding:20px max(24px,calc((100vw - 1160px)/2));background:#0b2530;border-bottom:1px solid #27424c}
.auth-brand{color:#fff!important;text-decoration:none;font-size:20px;font-weight:750;letter-spacing:1px}.auth-brand span{font-size:10px;font-weight:500;letter-spacing:2px;margin-left:10px;color:#9ed2d0}
body[data-page=login] header>a:last-child{font-size:13px;text-decoration:none;color:#c2dddd}
main.login-layout{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:80px;align-items:center;max-width:1160px;padding:0 24px;margin:64px auto}
.auth-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#527e88}
.login-context h1{font-size:clamp(32px,4vw,50px);font-weight:650;letter-spacing:-1.7px;line-height:1.13;margin:20px 0}
.login-context>p{max-width:390px;font-size:16px;color:#55717d;line-height:1.7}
.auth-resources{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.auth-resources span{padding:9px 12px;border:1px solid #cfdee4;border-radius:7px;font-size:12px;background:#fff}
.auth-context-note{border-top:1px solid #d7e3e8;padding-top:24px;margin-top:36px;max-width:420px;font-size:13px}.auth-context-note p{font-size:13px;color:#587480;margin:8px 0}
section.login-card{padding:32px;border-radius:16px;box-shadow:0 14px 48px #183e4c09;margin:0;min-width:0}.login-card h2{font-size:28px;letter-spacing:-.6px;margin:12px 0}.login-card>p{font-size:14px;color:#587480;margin-bottom:24px}.login-card label{font-size:13px;font-weight:600;position:relative}.login-card input{font-size:15px;min-height:46px;background:#fff;color:#183e4c}
.password-field{position:relative}.password-field input{padding-right:85px}.password-field button{position:absolute;right:7px;top:6px;width:auto;margin:0;padding:8px;background:none;color:#367380;font-size:12px}
.login-card .auth-submit{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:650;min-height:46px;margin-top:24px;background:#087f91}.login-card .auth-help{padding-top:20px;border-top:1px solid #e0e9ed;font-size:12px;color:#587480}.auth-help strong{color:#315767}.auth-help p{margin:7px 0 12px}.auth-help a{text-decoration:none;font-weight:600}
.login-card #message:empty{padding:8px}.login-card #message:not(:empty){margin:14px 0;padding:12px 14px;border:1px solid #e5b7af;background:#fff6f3;border-radius:8px;font-size:13px;color:#923c34}
@media(max-width:800px){main.login-layout{grid-template-columns:minmax(0,1fr);max-width:520px;gap:26px;margin:32px auto}.login-context h1{font-size:32px}.login-context>p,.auth-context-note{display:none}.auth-resources{margin:18px 0 0}.login-card{padding:24px!important}body[data-page=login] header{gap:12px}.auth-brand span{display:none}}
