/* Login-only scope: keep every authenticated role layout unchanged. */
#loginView.login-shell{width:100%;min-height:100svh;height:auto;margin:0;grid-template-columns:54% minmax(0,46%);border:0;border-radius:0;box-shadow:none;background:#fff;direction:ltr;overflow:clip}
#loginView.hidden{display:none}
#loginView .login-brand{min-height:100svh;height:auto;padding:clamp(42px,5vw,80px);background:#071b31 url('/assets/login-pyramids-navy-v1.webp') center bottom/cover no-repeat;isolation:isolate}
#loginView .login-brand:after{z-index:-1;background:linear-gradient(180deg,rgba(4,19,36,.05),transparent 72%,rgba(4,19,36,.25))}
#loginView .login-brand-content{width:100%;text-shadow:0 2px 14px #061a3055}
#loginView .login-brand-lockup{gap:24px}
#loginView .brand-logo-panel{width:84px;height:84px;padding:9px;flex:0 0 84px;border-radius:18px;background:#fff;border:1px solid #e5e9ef;box-shadow:0 6px 20px #0002}
#loginView .brand-logo-panel img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
#loginView .login-brand-lockup strong{font-size:clamp(23px,2.45vw,38px);line-height:1.35;letter-spacing:1px;color:#fff}
#loginView .login-brand-lockup small{font-size:clamp(11px,1.1vw,16px);letter-spacing:1.8px;margin-top:8px;color:#edf2f8}
#loginView .login-brand-content h1{margin:clamp(90px,12vh,140px) 0 16px;font-size:clamp(30px,3.3vw,50px);line-height:1.24;letter-spacing:1.5px;color:#fff;max-width:650px}
#loginView .login-brand-content h1:before{content:'';display:block;width:76px;height:3px;margin-bottom:32px;background:#e7a12c}
#loginView .login-brand-content>p{font-size:clamp(16px,1.5vw,23px);line-height:1.5;letter-spacing:5px;color:#fff}
#loginView .login-brand-site{position:absolute;inset-inline-start:clamp(42px,5vw,80px);bottom:42px;color:#fff;font-size:17px;letter-spacing:.2px;text-decoration:none;z-index:2}
#loginView .login-card{min-width:0;min-height:100svh;padding:64px clamp(36px,6vw,108px);display:flex;flex-direction:column;justify-content:center;background:#fff;color:#11243e;text-align:start;position:relative}
#loginView .login-main{width:100%;max-width:510px;margin-inline:auto;transition:transform .2s ease}
#loginView .login-heading h2{margin:0 0 10px;font-size:clamp(30px,2.65vw,42px);line-height:1.25;font-weight:750;color:#10233f;letter-spacing:1px;text-align:start}
#loginView .login-heading p{margin:0;color:#626978;font-size:17px;line-height:1.6}
#loginView #loginForm{margin-top:38px;gap:22px}
#loginView #loginForm>label{display:grid;gap:10px;font-size:16px;line-height:1.45;font-weight:600;color:#10233f}
#loginView .login-field{position:relative;display:block}
#loginView .login-field svg{position:absolute;inset-inline-start:16px;top:50%;transform:translateY(-50%);width:23px;height:23px;stroke:#233650;fill:none;stroke-width:1.6;pointer-events:none}
#loginView #loginForm .login-field input{height:56px;width:100%;padding:12px 15px;padding-inline-start:51px;font-size:16px;line-height:1.4;border:1px solid #d4d8e0;border-radius:5px;background:#fff;color:#142740;box-shadow:none;direction:ltr;text-align:start}
#loginView #loginForm input:focus-visible,#loginView button:focus-visible,#loginLanguageDrawer :focus-visible{outline:3px solid #d69a3155;outline-offset:3px;border-color:#b57b19}
#loginView #loginForm input::placeholder{color:#858b96;font-weight:400}
#loginView .login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:15px;line-height:1.4}
#loginView .login-options label{display:flex;align-items:center;gap:8px;font-size:15px;color:#22344d;font-weight:500}
#loginView .login-options input{appearance:auto;width:18px;height:18px;margin:0;accent-color:#c48b29}
#loginView .login-options button{padding:6px 0;background:none;border:0;color:#ac7216;min-height:32px;font-size:15px;font-weight:500;box-shadow:none}
#loginView #loginForm>.primary,#loginLanguageConfirm{--type-body:21px;height:56px;width:100%;padding:10px 20px;border:1px solid #c58a25;border-radius:5px;background:linear-gradient(110deg,#c98f28,#c48a23);color:#fff;box-shadow:0 4px 10px #bd85191c;font-size:21px;font-weight:650;line-height:1.4}
#loginView #loginForm>.primary:hover,#loginLanguageConfirm:hover{background:#b67d1c}
#loginLanguageButton{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:20px;padding:5px 0;background:transparent;color:#6d7481;border:0;border-radius:4px;font-size:14px;line-height:1.5;text-align:start}
#loginLanguageButton bdi{font-weight:400}
#loginLanguageButton svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
#loginView.is-locale-open .login-main{transform:translateY(calc(-1 * min(14vh,140px)))}
#loginLanguageDrawer{position:fixed;inset:auto 0 0 auto;width:46vw;max-width:none;max-height:min(76svh,560px);margin:0;padding:28px 30px max(24px,env(safe-area-inset-bottom));border:1px solid #dce0e5;border-bottom:0;border-radius:16px 16px 0 0;background:#fff;color:#14243e;box-shadow:0 -6px 28px #1227441f;overflow-y:auto;overscroll-behavior:contain;text-align:start}
#loginLanguageDrawer::backdrop{background:rgba(8,24,43,.07)}
#loginLanguageDrawer[open]{animation:login-language-enter .2s ease-out}
#loginLanguageDrawer header{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:18px}
#loginLanguageDrawer h2{margin:0;font-size:23px;line-height:1.35;font-weight:650;color:#14243e;text-align:start}
#loginLanguageDrawer header p{margin:6px 0 0;font-size:14px;color:#707786;line-height:1.5}
#loginLanguageClose{flex:0 0 36px;min-height:36px;width:36px;height:36px;padding:5px;border:0;border-radius:5px;background:none;color:#667084;font-size:29px;line-height:1}
#loginLanguageDrawer fieldset{min-width:0;border:0;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#loginLanguageDrawer legend{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#loginLanguageDrawer label{display:flex;align-items:center;gap:14px;min-height:57px;padding:13px 15px;border:1px solid #d6dbe4;border-radius:5px;background:#fff;cursor:pointer;color:#1c2d46;font-size:17px;font-weight:500;line-height:1.3}
#loginLanguageDrawer label.is-selected{border-color:#c68c2c;color:#98631b;background:#fffaf1}
#loginLanguageDrawer input{appearance:auto;flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#c78c29}
#loginLanguageDrawer label.is-selected:after{content:'✓';display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;margin-inline-start:auto;border-radius:50%;color:#fff;background:#c78c29;font-size:13px}
#loginLanguageDrawer .login-language-memory{margin:14px 0 0;text-align:center;color:#737b89;font-size:13px;line-height:1.5}
[dir=rtl] #loginView .login-card,[dir=rtl] #loginLanguageDrawer{direction:rtl}
[dir=rtl] #loginView #loginForm .login-field input{padding-inline-start:15px;padding-inline-end:51px}
[dir=rtl] #loginView .login-brand-content{direction:rtl}
[dir=rtl] #loginView .login-brand-content h1,[dir=rtl] #loginView .login-brand-content>p{letter-spacing:0}
@keyframes login-language-enter{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:761px) and (max-height:730px){#loginView .login-card{padding-block:30px}#loginView .login-brand{padding-top:38px}#loginView .login-brand-content h1{margin-top:65px}#loginView.is-locale-open .login-main{transform:none}}
@media(max-width:1100px) and (min-width:761px){#loginView .login-card{padding-inline:35px}#loginView .login-brand{padding-inline:38px}#loginView .login-brand-lockup{gap:16px}#loginView .brand-logo-panel{width:65px;height:65px;flex-basis:65px}#loginView .login-brand-site{inset-inline-start:38px}#loginLanguageDrawer{padding:24px 20px}#loginLanguageDrawer label{gap:8px;font-size:15px;padding-inline:10px}}
@media(max-width:760px){
  #loginView.login-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;min-height:100svh;overflow:visible}
  #loginView .login-brand{height:auto;min-height:190px;padding:24px;background-position:center 62%}
  #loginView .login-brand:after{background:linear-gradient(90deg,rgba(4,19,36,.76),rgba(4,19,36,.28))}
  #loginView .login-brand-lockup{gap:13px}
  #loginView .brand-logo-panel{width:53px;height:53px;flex-basis:53px;padding:5px;border-radius:12px}
  #loginView .login-brand-lockup strong{font-size:22px;letter-spacing:.5px}
  #loginView .login-brand-lockup small{font-size:10px;margin-top:4px;letter-spacing:1px}
  #loginView .login-brand-content h1{margin:18px 0 4px;font-size:25px;line-height:1.3;letter-spacing:1px}
  #loginView .login-brand-content h1:before{display:none}
  #loginView .login-brand-content>p{font-size:12px;letter-spacing:3px}
  #loginView .login-brand-site{display:none}
  #loginView .login-card{min-height:0;padding:30px 24px max(24px,env(safe-area-inset-bottom));justify-content:flex-start}
  #loginView .login-heading h2{font-size:28px;margin-bottom:6px}
  #loginView .login-heading p{font-size:14px}
  #loginView #loginForm{margin-top:25px;gap:18px}
  #loginView #loginForm>label{gap:8px;font-size:15px}
  #loginView #loginForm .login-field input{height:52px}
  #loginView .login-options label,#loginView .login-options button{font-size:14px}
  #loginView #loginForm>.primary{--type-body:19px;height:52px;font-size:19px}
  #loginLanguageButton{margin-top:14px;font-size:13px}
  #loginView.is-locale-open .login-main{transform:none}
  #loginLanguageDrawer{width:100%;max-height:85svh;padding:23px 20px max(22px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
  #loginLanguageDrawer h2{font-size:22px}
  #loginLanguageDrawer label{font-size:15px;padding:12px 11px;gap:9px}
  #loginLanguageDrawer fieldset{gap:11px}
  #loginLanguageConfirm{height:52px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){#loginView .login-main{transition:none}#loginLanguageDrawer[open]{animation:none}}
