/* Logged-out login presentation only. Shared registration and authenticated shells retain their existing styling. */
.login-centre-photo{display:none}
body:has(#authPanel:not(.hidden)){background:#e9eef2}
body:has(#authPanel:not(.hidden)) .app-shell{width:100%;max-width:1800px;min-height:100svh;padding:24px;margin:auto;display:grid;align-items:center}
body:has(#authPanel:not(.hidden)) .login-shell{position:relative;isolation:isolate;display:block;min-height:max(760px,calc(100svh - 48px));border:0;border-radius:24px;background:#092642;box-shadow:0 20px 60px #071d361c;overflow:hidden}
body:has(#authPanel:not(.hidden)) .login-centre-photo{display:block;position:absolute;z-index:-2;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:center top;mask-image:linear-gradient(90deg,transparent,#000 24%)}
body:has(#authPanel:not(.hidden)) .login-shell::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#071d36 0%,#092642 28%,#092642ef 37%,#092642a8 48%,#09264238 61%,transparent 75%);pointer-events:none}
body:has(#authPanel:not(.hidden)) .login-visual-panel,body:has(#authPanel:not(.hidden)) .login-card-panel>.topbar{display:none}
body:has(#authPanel:not(.hidden)) .login-card-panel{position:relative;display:flex;align-items:center;justify-content:flex-start;min-height:inherit;width:100%;padding:64px clamp(32px,5vw,88px);background:none;border:0;box-shadow:none}
body:has(#authPanel:not(.hidden)) #authPanel{width:440px;max-width:44%;padding:0;margin:0;display:block;background:none;border:0;box-shadow:none;color:#fff;text-align:left}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading{display:block;text-align:left;margin:0 0 34px;padding:0}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading .eyebrow{color:#f1c65c;letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:800;margin:0 0 22px}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading h1{color:#fff;font-size:clamp(32px,3.2vw,48px);line-height:1.15;letter-spacing:-.035em;margin:0 0 20px;font-weight:650}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading h1 span{font-weight:800}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading>p:last-child{color:#d4deea;font-size:16px;line-height:1.6;margin:0}
body:has(#authPanel:not(.hidden)) #roleLoginForm{display:grid;gap:20px;width:100%;padding:0;background:none;border:0;box-shadow:none}
body:has(#authPanel:not(.hidden)) .login-field{display:grid;gap:9px;margin:0;color:#edf2f7;font-size:13px;font-weight:600}
body:has(#authPanel:not(.hidden)) .login-control{display:block;width:100%;min-height:56px;background:none;border:0;box-shadow:none;padding:0}
body:has(#authPanel:not(.hidden)) .login-control input{display:block;width:100%;height:56px;padding:0 16px;border:1px solid #dbe3ec;border-radius:9px;background:#f2f5f8;color:#102b45;font:inherit;font-size:15px;box-shadow:none;box-sizing:border-box}
body:has(#authPanel:not(.hidden)) .login-control input::placeholder{color:#63768a;opacity:1}
body:has(#authPanel:not(.hidden)) .login-control input:focus-visible{outline:3px solid #efc55e;outline-offset:3px}
body:has(#authPanel:not(.hidden)) #roleLoginForm>.primary-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:14px 20px;margin:4px 0 0;background:#08203c;border:1px solid #c8a451;border-radius:9px;color:#fff;font-size:15px;font-weight:750;box-shadow:none}
body:has(#authPanel:not(.hidden)) #roleLoginForm>.primary-action>span:last-child{color:#efc55e;font-size:23px}
body:has(#authPanel:not(.hidden)) #roleLoginForm>.primary-action:hover{background:#133857;border-color:#f0ca71}
body:has(#authPanel:not(.hidden)) #authPanel button:focus-visible{outline:3px solid #efc55e;outline-offset:4px}
body:has(#authPanel:not(.hidden)) #roleLoginError{min-height:22px;margin:0;color:#ffdad5;font-size:13px;line-height:1.6}
body:has(#authPanel:not(.hidden)) .account-mode-switch{margin:12px 0 0;color:#cfdae7;font-size:12px;justify-content:flex-start}
body:has(#authPanel:not(.hidden)) .account-mode-switch button{color:#f1cd78}
body:has(#authPanel:not(.hidden)) #authPanel .login-help-text{color:#b9c9d9;text-align:left;font-size:12px;margin-top:18px}
body:has(#authPanel:not(.hidden)) #authPanel .login-help-text strong{color:#e4ebf3}
@media(max-width:1050px){body:has(#authPanel:not(.hidden)) .app-shell{padding:16px}body:has(#authPanel:not(.hidden)) .login-shell{min-height:max(740px,calc(100svh - 32px))}body:has(#authPanel:not(.hidden)) .login-card-panel{padding:44px 32px}body:has(#authPanel:not(.hidden)) #authPanel{max-width:48%;width:400px}body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading h1{font-size:34px}}
@media(max-width:700px){body:has(#authPanel:not(.hidden)) .app-shell{padding:10px}body:has(#authPanel:not(.hidden)) .login-shell{min-height:calc(100svh - 20px);border-radius:18px}body:has(#authPanel:not(.hidden)) .login-centre-photo{width:100%;height:540px;object-position:center top;mask-image:linear-gradient(#000 35%,transparent 100%)}body:has(#authPanel:not(.hidden)) .login-shell::before{background:linear-gradient(180deg,#071d361a 0,#071d3633 120px,#071d36e6 300px,#071d36 510px)}body:has(#authPanel:not(.hidden)) .login-card-panel{padding:240px 24px 30px;min-height:inherit;align-items:flex-start}body:has(#authPanel:not(.hidden)) #authPanel{max-width:none;width:100%}body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading{margin-bottom:26px}body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading h1{font-size:clamp(29px,7.8vw,38px)}body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading .eyebrow{margin-bottom:16px}body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading>p:last-child{font-size:14px}}

body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading p{text-align:left}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading{justify-items:start;align-items:start}
body:has(#authPanel:not(.hidden)) #authPanel .login-form-heading p{width:100%;max-width:none;justify-self:start}
