/* CBT PAS desktop login v24. At <=720px, v23 mobile design is unchanged. */
.login-showcase{display:none}
@media screen and (min-width:721px){
  html,body.cbt-login-v22{width:100%;height:100%;min-height:0;overflow:hidden}
  body.cbt-login-v22{
    background:radial-gradient(circle at 0 0,#eaf8ef 0,transparent 45%),
      radial-gradient(circle at 100% 95%,#e6f7ed 0,transparent 42%),#eff8f2;
  }
  body.cbt-login-v22::before{display:none}
  body.cbt-login-v22 .login-page{
    width:calc(100% - 26px);max-width:none;
    height:calc(100vh - 26px);height:calc(100dvh - 26px);min-height:0;
    margin:13px auto;padding:clamp(10px,1.05vw,17px);
    display:grid;grid-template-columns:clamp(328px,29.4vw,445px) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);align-items:stretch;justify-content:stretch;
    gap:clamp(12px,1.8vw,28px);
    border:1px solid #e3efe7;border-radius:32px;background:#fff;
    box-shadow:0 16px 48px rgba(29,111,67,.08);overflow:hidden;
  }
  body.cbt-login-v22 .login-card{
    width:100%;height:100%;max-width:none;min-height:0;
    display:flex;flex-direction:column;justify-content:flex-start;
    padding:clamp(18px,2.0vw,32px) clamp(19px,2.1vw,34px);
    border-radius:26px;border:1px solid #e8f0ea;background:#fff;
    box-shadow:0 12px 30px rgba(44,108,74,.075);
  }
  body.cbt-login-v22 .login-brand{
    text-align:center;margin:clamp(3px,4vh,34px) 0 clamp(14px,3.6vh,32px);
  }
  body.cbt-login-v22 .login-brand picture{display:block;line-height:0;margin:0 auto 11px}
  body.cbt-login-v22 .login-brand-mark{
    display:block;width:clamp(105px,10vw,150px);height:clamp(105px,10vw,150px);
    object-fit:contain;border-radius:28px;margin:0 auto;
  }
  body.cbt-login-v22 .login-brand h1{
    color:#0b7f45;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    font-size:clamp(22px,2.15vw,30px);font-weight:800;letter-spacing:-.045em;line-height:1.17;
  }
  body.cbt-login-v22 .login-brand h1 span{font-size:.94em}
  body.cbt-login-v22 .brand-accent{background:#129f56;width:43px;height:3px;margin:11px auto 9px}
  body.cbt-login-v22 .login-brand p{color:#657d70;font-size:12px;line-height:1.4}
  body.cbt-login-v22 .login-form{gap:12px}
  body.cbt-login-v22 .login-field{gap:7px}
  body.cbt-login-v22 .login-field label{font-size:12px;color:#284337}
  body.cbt-login-v22 .login-input-wrap{min-height:46px;height:48px;border-radius:12px}
  body.cbt-login-v22 .login-input-wrap input{height:45px;font-size:13px}
  body.cbt-login-v22 .login-input-wrap>svg{width:19px;height:19px;flex-basis:19px}
  body.cbt-login-v22 .login-submit{
    min-height:48px;border-radius:12px;font-size:14px;
    background:linear-gradient(100deg,#028546,#17a257);border-color:#0b904f;
  }
  body.cbt-login-v22 .login-divider{margin:14px 0 12px}
  body.cbt-login-v22 .login-role-button{min-height:46px;border-radius:12px;font-size:12px}
  body.cbt-login-v22 .login-role-help{margin-top:8px}
  body.cbt-login-v22 .login-help-button{
    margin:auto auto 0;min-height:35px;flex-shrink:0;color:#0c8247;font-size:12px;
  }
  body.cbt-login-v22 .login-help-panel{margin:5px 0 0}
  body.cbt-login-v22 .login-alert{margin-bottom:10px;padding:9px 12px}
  body.cbt-login-v22 .login-copyright{
    position:absolute;bottom:7px;right:clamp(10px,2vw,32px);
    color:#789183;font-size:10px;z-index:2;pointer-events:none;
  }
  body.cbt-login-v22 .login-showcase{
    display:grid;grid-template-rows:auto minmax(0,1fr) auto;
    gap:clamp(6px,1vh,14px);min-width:0;min-height:0;
    padding:clamp(4px,1vh,10px) clamp(2px,.8vw,13px) clamp(12px,2vh,24px);
    overflow:hidden;
  }
  .showcase-heading{text-align:center;margin:0;min-width:0}
  .showcase-heading h2{color:#213c30;font-size:clamp(25px,2.65vw,39px);line-height:1.16;letter-spacing:-.05em;margin:0;font-weight:850}
  .showcase-heading h2 span{color:#12863e;white-space:nowrap}
  .showcase-accent{display:block;width:54px;height:3px;background:#14a255;border-radius:3px;margin:9px auto 10px}
  .showcase-heading p{font-size:clamp(11px,1.05vw,15px);color:#647589;margin:0;line-height:1.35}
  .showcase-art{min-width:0;min-height:0;max-height:none;display:grid;place-items:center;overflow:hidden;position:relative}
  .showcase-art img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
  .showcase-values{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(7px,.75vw,13px);
    min-width:0;height:clamp(135px,22.5vh,203px);
  }
  .showcase-value{
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;
    min-width:0;min-height:0;padding:clamp(10px,1vw,16px) clamp(7px,.8vw,13px);
    border-radius:15px;border:1px solid #e6eee8;background:#fff;
    box-shadow:0 5px 13px rgba(29,91,61,.052);overflow:hidden;
  }
  .showcase-value-icon{
    display:grid;place-items:center;flex-shrink:0;
    width:clamp(32px,3vw,46px);height:clamp(32px,3vw,46px);
    background:#eaf8ee;color:#0c9951;border-radius:50%;margin-bottom:9px;
  }
  .showcase-value-icon svg{width:55%;height:55%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .showcase-value h3{font-size:clamp(10px,.97vw,14px);line-height:1.28;margin:0;color:#213a30;font-weight:750;letter-spacing:-.02em}
  .showcase-value p{font-size:clamp(9px,.77vw,11.5px);line-height:1.5;color:#71818b;margin:clamp(6px,1vh,13px) 0 0}
}
@media screen and (min-width:721px) and (max-width:1090px){
  /* Two-column layout for intermediate screens while preserving the five value tiles */
  body.cbt-login-v22 .login-page{grid-template-columns:clamp(312px,33vw,356px) minmax(0,1fr)}
  body.cbt-login-v22 .login-card{padding-left:20px;padding-right:20px}
  .showcase-value{padding:10px 5px}
  .showcase-value h3{font-size:10px}
  .showcase-value p{font-size:9px}
}
@media screen and (min-width:721px) and (max-height:790px){
  body.cbt-login-v22 .login-card{padding-top:15px;padding-bottom:15px}
  body.cbt-login-v22 .login-brand{margin:6px 0 15px}
  body.cbt-login-v22 .login-brand-mark{width:90px;height:90px;margin-bottom:3px;border-radius:19px}
  body.cbt-login-v22 .login-brand h1{font-size:24px}
  body.cbt-login-v22 .login-brand p{font-size:11px}
  body.cbt-login-v22 .brand-accent{margin:8px auto 7px}
  body.cbt-login-v22 .login-form{gap:9px}
  body.cbt-login-v22 .login-field{gap:5px}
  body.cbt-login-v22 .login-input-wrap{height:44px;min-height:44px}
  body.cbt-login-v22 .login-input-wrap input{height:42px}
  body.cbt-login-v22 .login-submit{min-height:44px}
  body.cbt-login-v22 .login-divider{margin:11px 0 10px}
  body.cbt-login-v22 .login-role-button{min-height:44px}
  body.cbt-login-v22 .login-help-button{min-height:30px}
  .showcase-heading h2{font-size:clamp(24px,2.3vw,34px)}
  .showcase-values{height:clamp(128px,21vh,166px)}
  .showcase-value{padding:9px 6px}
  .showcase-value-icon{width:32px;height:32px;margin-bottom:6px}
  .showcase-value p{margin-top:7px;line-height:1.34}
}
@media screen and (min-width:721px) and (max-height:650px){
  body.cbt-login-v22 .login-brand-mark{width:70px;height:70px}
  body.cbt-login-v22 .login-brand{margin:3px 0 8px}
  body.cbt-login-v22 .login-brand h1{font-size:22px}
  body.cbt-login-v22 .login-card{padding-top:9px;padding-bottom:8px}
  body.cbt-login-v22 .login-input-wrap,body.cbt-login-v22 .login-submit{min-height:40px;height:40px}
  body.cbt-login-v22 .login-input-wrap input{height:38px}
  body.cbt-login-v22 .login-role-button{min-height:38px;padding:7px}
  body.cbt-login-v22 .login-divider{margin:7px 0}
  .showcase-accent{margin:6px auto}
  .showcase-values{height:103px}
  .showcase-value p{display:none}
}
