/* Responsive MAM-LMS login redesign. Authentication behaviour remains unchanged. */
.login-modern{padding:0;background:#eef3ef;display:block}.login-modern .login-frame{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);background:#fff}.login-about-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b4d34 0%,#0a5a3b 58%,#0a4933 100%);color:#fff}.login-about-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 16%,rgba(255,255,255,.07),transparent 28%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,36px 36px,36px 36px;pointer-events:none}.login-about-panel:after{content:"";position:absolute;width:240px;height:240px;border:2px solid rgba(213,164,69,.7);border-radius:50%;right:-110px;bottom:-92px}.login-about-inner{position:relative;z-index:1;min-height:100%;padding:56px clamp(42px,6vw,84px) 38px;display:flex;flex-direction:column}.login-about-brand{display:flex;align-items:center;gap:18px}.login-dss-mark{width:68px;height:68px;border-radius:16px;background:linear-gradient(145deg,#d9ab4f,#c6932e);color:#0d4d35;display:grid;place-items:center;font-size:22px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.14)}.login-about-brand h1{font-size:40px;line-height:1;margin:5px 0 0;letter-spacing:.01em}.login-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.gold-text{color:#e2b457}.login-about-copy{margin:auto 0;max-width:680px;padding:58px 0}.login-about-copy h2{font-size:clamp(42px,5.6vw,70px);line-height:.98;letter-spacing:-.035em;max-width:650px;margin:16px 0 24px}.login-about-copy p{max-width:640px;font-size:16px;line-height:1.68;color:rgba(255,255,255,.92);margin:0 0 15px}.login-about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}.login-about-points div{display:grid;gap:7px}.login-about-points strong{font-size:13px}.login-about-points span{font-size:11px;line-height:1.45;color:rgba(255,255,255,.72)}.login-about-footer{margin-top:auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);font-size:11px;color:rgba(255,255,255,.72)}
.login-access-panel{display:grid;place-items:center;background:#f8faf9;padding:42px}.login-access-inner{width:min(430px,100%);background:#fff;border:1px solid #e2e9e4;border-radius:24px;padding:34px;box-shadow:0 18px 55px rgba(22,55,38,.08)}.login-access-inner:before{content:"🔒";width:52px;height:52px;border-radius:16px;background:#eaf5ef;color:#145c3b;display:grid;place-items:center;font-size:22px;margin:0 auto 18px}.login-access-inner>.eyebrow{text-align:center;margin-bottom:8px}.login-access-inner h2{text-align:center;font-size:42px;line-height:1;margin:0 0 24px;letter-spacing:-.03em}.login-tabs{margin-bottom:22px}.login-tabs button{min-height:42px}.login-access-inner .field{margin-bottom:16px}.login-access-inner .field label{font-size:12px}.login-access-inner .field input{min-height:48px;background:#f7faf8}.login-access-inner .field input:focus{outline:2px solid rgba(20,92,59,.16);border-color:#7eaa92}.login-submit{width:100%;min-height:48px;margin-top:3px;font-size:15px}.login-access-note{margin:20px 0 0;padding:16px 0 0;border-top:1px solid #edf1ee;color:#69756e;font-size:11px;line-height:1.55;text-align:center}
@media(max-width:980px){.login-modern .login-frame{grid-template-columns:1fr}.login-about-panel{min-height:auto}.login-about-inner{padding:32px 28px 28px}.login-about-copy{padding:42px 0 30px}.login-about-copy h2{font-size:48px;max-width:560px}.login-about-points{max-width:700px}.login-about-footer{display:none}.login-access-panel{padding:28px 20px 42px}.login-access-inner{margin-top:-6px}}
@media(max-width:640px){.login-modern{background:#fff}.login-modern .login-frame{min-height:100dvh}.login-about-panel{border-radius:0 0 28px 28px}.login-about-inner{padding:26px 20px 30px}.login-about-brand{gap:12px}.login-dss-mark{width:54px;height:54px;border-radius:13px;font-size:17px}.login-about-brand h1{font-size:28px}.login-about-copy{padding:34px 0 8px}.login-about-copy h2{font-size:36px;line-height:1.02;margin:12px 0 18px}.login-about-copy p{font-size:13px;line-height:1.55}.login-about-copy p:nth-of-type(n+2){display:none}.login-about-points{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px;padding-top:0;border-top:0}.login-about-points div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:10px 8px;text-align:center}.login-about-points strong{font-size:10px}.login-about-points span{display:none}.login-about-panel:after{width:150px;height:150px;right:-75px;bottom:-74px}.login-access-panel{padding:20px 14px 34px;display:block}.login-access-inner{width:100%;border-radius:22px;padding:24px 18px;box-shadow:none}.login-access-inner:before{width:46px;height:46px;margin-bottom:13px}.login-access-inner h2{font-size:34px;margin-bottom:20px}.login-tabs button{padding:10px 8px}.login-access-inner .field input{min-height:50px}.login-submit{min-height:50px}.login-access-note{font-size:10px}.login-access-inner .eyebrow{font-size:10px}}

/* Desktop fit: keep the complete login experience visible at normal 100% browser zoom. */
@media(min-width:981px){
  .login-modern{height:100vh;min-height:680px;overflow:auto}
  .login-modern .login-frame{height:100vh;min-height:680px;grid-template-columns:minmax(0,1.08fr) minmax(420px,.82fr)}
  .login-about-inner{height:100%;min-height:680px;padding:clamp(28px,4vh,42px) clamp(42px,4.8vw,72px) clamp(22px,3vh,32px)}
  .login-about-brand{gap:15px}
  .login-dss-mark{width:56px;height:56px;border-radius:14px;font-size:19px}
  .login-about-brand h1{font-size:clamp(30px,2.2vw,36px);margin-top:4px}
  .login-kicker{font-size:10px}
  .login-about-copy{margin:auto 0;padding:clamp(20px,3vh,34px) 0;max-width:620px}
  .login-about-copy h2{font-size:clamp(42px,3.7vw,58px);line-height:.97;max-width:580px;margin:12px 0 18px}
  .login-about-copy p{max-width:590px;font-size:14px;line-height:1.5;margin-bottom:11px}
  .login-about-points{gap:16px;margin-top:20px;padding-top:17px}
  .login-about-points strong{font-size:12px}
  .login-about-points span{font-size:10px;line-height:1.35}
  .login-about-footer{padding-top:17px;font-size:10px}
  .login-about-panel:after{width:190px;height:190px;right:-88px;bottom:-76px}
  .login-access-panel{padding:28px clamp(28px,3vw,48px)}
  .login-access-inner{width:min(400px,100%);padding:28px 30px;border-radius:22px}
  .login-access-inner:before{width:46px;height:46px;border-radius:14px;font-size:19px;margin-bottom:12px}
  .login-access-inner>.eyebrow{margin-bottom:5px}
  .login-access-inner h2{font-size:36px;margin-bottom:18px}
  .login-tabs{margin-bottom:17px}
  .login-tabs button{min-height:38px;padding:8px}
  .login-access-inner .field{margin-bottom:12px}
  .login-access-inner .field input{min-height:44px;padding:10px 12px}
  .login-submit{min-height:44px}
  .login-access-note{margin-top:15px;padding-top:13px}
}
@media(min-width:981px) and (max-height:760px){
  .login-about-copy p:nth-of-type(3){display:none}
  .login-about-points{margin-top:14px;padding-top:13px}
  .login-about-footer{padding-top:12px}
  .login-access-inner{padding-top:22px;padding-bottom:22px}
}
