/* Login styles preserved from original cascade. Homepage rules are maintained separately. */

/* classmate-landing-r283921.css */
@media  screen {#authGate.cm-public-gate.auth-gate:not([hidden]) {display:block;min-height:100vh;min-height:100dvh;width:100%!important;max-width:none!important;min-width:0!important;padding:0!important;overflow:clip;background:#f8fbfc!important;color:#102e42;text-align:left;}
#authGate .cm-lp-icon {width:19px;height:19px;flex:0 0 auto;vertical-align:middle;stroke-width:1.85;}
#authGate .cm-btn .cm-lp-icon {width:16px;height:16px;}
#authGate .cm-eyebrow .cm-lp-icon {width:14px;height:14px;}
#authGate .cm-login-overlay[hidden] {display:none!important;}
#authGate .cm-login-overlay {position:fixed;inset:0;z-index:5001;display:grid;place-items:center;padding:18px;overscroll-behavior:contain;}
#authGate .cm-login-backdrop {position:absolute;inset:0;border:0;border-radius:0;background:rgba(4,30,47,.72);backdrop-filter:blur(6px);cursor:default;}
#authGate .cm-login-panel {position:relative;z-index:1;width:min(462px,100%);max-height:min(92dvh,810px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d1e6ec;border-radius:22px;box-shadow:0 30px 96px rgba(3,34,53,.3);padding:23px 26px 25px;min-width:0;}
#authGate .cm-login-panel-top {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:16px;border-bottom:1px solid #e8eff2;}
#authGate .cm-login-kicker {color:#0a94aa;font-size:10px;font-weight:950;letter-spacing:.12em;display:block;margin-bottom:4px;}
#authGate .cm-login-panel-title {font-size:15px;color:#143e54;font-weight:950;}
#authGate .cm-close-login {border:1px solid #e0ebef;background:#f5fafb;border-radius:10px;width:36px;height:36px;padding:8px;display:grid;place-items:center;color:#426a7d;flex:none;}
#authGate .cm-close-login svg {width:17px;height:17px;}
#authGate .cm-premium-login-form.auth-card {width:100%!important;max-width:100%!important;background:transparent!important;border:0!important;padding:21px 0 0!important;border-radius:0!important;box-shadow:none!important;text-align:left;min-width:0!important;}
#authGate .cm-premium-login-form .brand-logo-frame {max-width:173px;margin:0 auto 16px;}
#authGate .cm-premium-login-form h1 {color:#12374b;font-size:24px;font-weight:950;text-align:center;margin:0 0 3px;letter-spacing:-.025em;}
#authGate .cm-premium-login-form p {text-align:center;font-size:12px;color:#8092a0;margin:0 0 22px;line-height:1.55;}
#authGate .cm-premium-login-form label {color:#34586b;font-size:12px;font-weight:900;margin:0 0 7px;}
#authGate .cm-premium-login-form input {width:100%;height:47px;border:1px solid #d4e2e9;background:#f8fbfc;border-radius:11px!important;color:#14374d;padding:12px 14px;font-size:13px;font-weight:750;}
#authGate .cm-premium-login-form input:focus {border-color:#0da4b8;background:#fff;box-shadow:0 0 0 4px rgba(8,151,173,.12);outline:none;}
#authGate .cm-premium-login-form .login-password-wrap {width:100%;}
#authGate .cm-premium-login-form .password-reveal {right:6px;}
#authGate .cm-premium-login-form #loginButton {margin-top:18px!important;width:100%;height:48px;border-radius:11px!important;font-size:13px;font-weight:950;}
#authGate .cm-premium-login-form .auth-error {border:1px solid #fecbd4;border-radius:10px;}
#authGate .cm-signin-foot {display:flex;align-items:center;justify-content:center;gap:7px;margin-top:17px;color:#75919e;font-size:10.5px;font-weight:800;}
#authGate .cm-signin-foot svg {width:15px;height:15px;color:#1599ad;}
#authGate .cm-login-help {font-size:11px;text-align:center;color:#8da0ab;padding-top:15px;border-top:1px solid #ecf1f4;margin-top:19px;font-weight:700;line-height:1.5;}}
@media  screen and (max-width:600px) {#authGate .cm-header-login {padding:9px 11px;min-height:37px;font-size:11px;}
#authGate .cm-header-login svg {display:none;}
#authGate .cm-login-overlay {padding:8px;align-items:center;}
#authGate .cm-login-panel {padding:18px 20px 22px;border-radius:17px;max-height:calc(100dvh - 18px);}
#authGate .cm-premium-login-form.auth-card {padding-top:15px!important;}
#authGate .cm-premium-login-form .brand-logo-frame {max-width:151px;margin-bottom:10px;}
#authGate .cm-premium-login-form p {margin-bottom:16px;}
#authGate .cm-signin-foot {margin-top:13px;}
#authGate .cm-login-help {margin-top:13px;padding-top:13px;}}
@media  screen and (max-width:360px) {#authGate .cm-header-login {padding:9px 10px;}}
@media  screen and (max-width:600px){#authGate .cm-header-login{min-height:42px;font-size:12px;padding:10px 12px}}
#authGate.cm-public-gate.auth-gate[hidden],
body.cm-authenticated #authGate.cm-public-gate.auth-gate,
#platformApp[hidden]{display:none!important;}
/* classmate-academic-r283929.css */
@media  screen {#authGate.cm-public-gate {background:#f6f8fb!important;color:#062b4c;font-family:"Nunito",system-ui,-apple-system,sans-serif;}
#authGate .cm-header-login{white-space:nowrap;}
#authGate .cm-hero-actions .cm-lp-icon{width:17px;height:17px;}}
@media  screen and (max-width:680px){#authGate .cm-header-login{font-size:11px;padding:10px 12px;min-height:42px;}
#authGate .cm-header-login svg{display:none;}}
#authGate .cm-login-status{display:flex;gap:9px;align-items:center;justify-content:center;min-height:28px;margin:10px 0 0;color:#077e9f;font-size:12px;font-weight:800;line-height:1.45;text-align:center;}
#authGate .cm-login-status[hidden]{display:none!important;}
#authGate .cm-login-status:not([hidden])::before{content:"";width:14px;height:14px;flex:none;border:2px solid #eef6fa;border-top-color:#0a9dc5;border-radius:50%;animation:cm-signin-spinner .85s linear infinite;}
@media  (prefers-reduced-motion:reduce){#authGate .cm-login-status::before{animation:none!important;}}
@media  screen and (max-width:300px) {#authGate .cm-header-login {font-size:10px;padding:9px;min-height:40px;}}
@media  screen {#authGate.cm-public-gate .cm-landing-shell {
    width:100%;max-width:none;min-width:0;margin:0;
    background:#f6f8fb;
  }}
/* classmate-learner-demo-r283930.css */

/* classmate-mobile-r283932.css */

/* classmate-sales-r283933.css */

/* classmate-vision-r283934.css */

/* classmate-fidelity-r283935.css */

/* classmate-saas-r283937.css */

/* classmate-flat-r283938.css */

/* classmate-typography-r283941.css */

/* classmate-seamless-r283942.css */

/* classmate-motion-r283943.css */

/* classmate-mobile-metrics-r283944.css */

/* classmate-signin-r283945.css */
#authGate .cm-header-login{min-height:44px!important;padding:10px 16px!important;font-size:13px!important;line-height:1.25!important;font-weight:700!important;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}
#authGate .cm-header-login:focus-visible{outline:3px solid #1e8dfa!important;outline-offset:3px}
@media (max-width:600px){#authGate .cm-header-login{font-size:12px!important;min-height:44px!important;padding:9px 12px!important}}
@media (max-width:359px){#authGate .cm-header-login{padding-inline:10px!important;font-size:11.5px!important}}
/* classmate-signin-r283946.css */
#authGate a.cm-header-login{cursor:pointer;text-decoration:none;position:relative;pointer-events:auto}
#authGate a.cm-header-login{min-height:48px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}
#authGate a[data-cm-signin]:focus-visible{outline:3px solid #1389ed;outline-offset:3px}
@media (max-width:600px){#authGate a.cm-header-login{min-height:46px;font-size:12.5px!important}}
/* classmate-mobile-visibility-r283947.css */

/* classmate-login-recovery-r283948.css */

/* classmate-login-layout-r283949.css */
@media  screen {html body #authGate.cm-public-gate #classmateLoginOverlay[hidden] { display:none!important; }
html body #authGate.cm-public-gate #classmateLoginOverlay:not([hidden]) {
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100vw!important;height:100dvh!important;min-height:0!important;
  margin:0!important;padding:clamp(12px,3vw,24px)!important;
  overflow:auto!important;opacity:1!important;visibility:visible!important;
  background:rgba(7,32,50,.58)!important;box-sizing:border-box!important;
  pointer-events:auto!important;isolation:isolate!important;
}
html body #authGate #classmateLoginOverlay .cm-login-backdrop {
  position:fixed!important;inset:0!important;width:100%!important;height:100%!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;z-index:0!important;
}
html body #authGate #classmateLoginOverlay .cm-login-panel {
  position:relative!important;z-index:1!important;display:block!important;flex:none!important;
  width:min(450px,100%)!important;min-width:0!important;max-width:450px!important;
  max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;
  margin:auto!important;padding:22px 25px 25px!important;
  background:#fff!important;color:#123b55!important;border:1px solid #dce8ee!important;
  border-radius:20px!important;box-shadow:0 24px 74px rgba(11,37,57,.28)!important;
  transform:none!important;box-sizing:border-box!important;
}
html body #authGate #classmateLoginOverlay .cm-login-panel-top {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0!important;padding:0 0 12px!important;border-bottom:1px solid #e8f0f4!important;}
html body #authGate #classmateLoginOverlay .cm-login-panel-top>div {display:flex!important;flex-direction:column!important;gap:4px!important;}
html body #authGate #classmateLoginOverlay .cm-login-kicker {display:block!important;font-size:10px!important;letter-spacing:.08em!important;font-weight:800!important;color:#48758b!important;}
html body #authGate #classmateLoginOverlay .cm-login-panel-title {display:block!important;font-size:15px!important;font-weight:750!important;color:#0b3c59!important;}
html body #authGate #classmateLoginOverlay .cm-close-login {width:40px!important;height:40px!important;flex:0 0 40px!important;padding:10px!important;display:grid!important;place-items:center!important;border:1px solid #e1eaf0!important;border-radius:11px!important;background:#f6fafc!important;color:#17445e!important;cursor:pointer!important;}
html body #authGate #classmateLoginOverlay .cm-close-login svg,html body #authGate #classmateLoginOverlay .cm-signin-foot svg {display:block!important;width:19px!important;height:19px!important;min-width:0!important;min-height:0!important;max-width:19px!important;max-height:19px!important;transform:none!important;position:static!important;}
html body #authGate #classmateLoginOverlay .cm-premium-login-form.auth-card {display:block!important;position:static!important;width:100%!important;max-width:100%!important;margin:0!important;padding:18px 0 0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;}
html body #authGate #classmateLoginOverlay .cm-premium-login-form .brand-logo-frame {max-width:160px!important;max-height:75px!important;margin:0 auto 12px!important;}
html body #authGate #classmateLoginOverlay .cm-premium-login-form .brand-logo-frame img {width:100%!important;max-height:75px!important;object-fit:contain!important;}
html body #authGate #classmateLoginOverlay .cm-signin-foot {display:flex!important;align-items:center!important;gap:8px!important;line-height:1.5!important;margin-top:13px!important;font-size:11px!important;}
html body #authGate #classmateLoginOverlay .cm-login-help {font-size:11px!important;line-height:1.5!important;margin-top:8px!important;}
@media (max-width:520px){html body #authGate #classmateLoginOverlay .cm-login-panel {padding:16px 19px 20px!important;border-radius:16px!important;}}}
/* classmate-login-modal-r283951.css */
html body > #classmateLoginOverlay[hidden]{display:none!important}
html body > #classmateLoginOverlay:not([hidden]){
 position:fixed!important;inset:0!important;z-index:2147483000!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;
 margin:0!important;padding:16px!important;overflow-y:auto!important;overflow-x:hidden!important;
 box-sizing:border-box!important;background:rgba(7,31,52,.66)!important;
 visibility:visible!important;opacity:1!important;pointer-events:auto!important;isolation:isolate!important;
}
html body > #classmateLoginOverlay .cm-login-backdrop{
 position:absolute!important;inset:0!important;z-index:0!important;display:block!important;
 width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
 border:0!important;padding:0!important;margin:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;cursor:default!important;
}
html body > #classmateLoginOverlay .cm-login-panel{
 position:relative!important;inset:auto!important;z-index:1!important;display:block!important;flex:none!important;
 width:min(450px,100%)!important;max-width:450px!important;min-width:0!important;
 max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overflow-x:hidden!important;
 margin:auto!important;padding:20px 24px 24px!important;
 border:1px solid #dce8ee!important;border-radius:20px!important;background:#fff!important;
 box-shadow:0 25px 75px rgba(6,27,47,.35)!important;color:#123b55!important;
 transform:none!important;box-sizing:border-box!important;
}
html body > #classmateLoginOverlay .cm-login-panel-top{
 display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
 padding:0 0 12px!important;margin:0!important;border-bottom:1px solid #e5edf3!important;
}
html body > #classmateLoginOverlay .cm-login-panel-top > div{display:flex!important;flex-direction:column!important;gap:3px!important}
html body > #classmateLoginOverlay .cm-login-kicker{font-size:10px!important;font-weight:800!important;letter-spacing:.08em!important;color:#48758b!important}
html body > #classmateLoginOverlay .cm-login-panel-title{font-size:15px!important;font-weight:800!important;color:#0b3c59!important}
html body > #classmateLoginOverlay .cm-close-login{
 display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;
 padding:10px!important;border:1px solid #dae7ef!important;border-radius:11px!important;
 background:#f4f9fc!important;color:#17445e!important;cursor:pointer!important;
}
html body > #classmateLoginOverlay .cm-close-login svg,html body > #classmateLoginOverlay .cm-signin-foot svg{
 display:block!important;position:static!important;width:18px!important;height:18px!important;
 max-width:18px!important;max-height:18px!important;min-width:0!important;min-height:0!important;
 transform:none!important;
}
html body > #classmateLoginOverlay .cm-premium-login-form.auth-card{
 position:static!important;display:block!important;width:100%!important;max-width:none!important;
 padding:18px 0 0!important;margin:0!important;background:transparent!important;border:0!important;
 border-radius:0!important;box-shadow:none!important;transform:none!important;
}
html body > #classmateLoginOverlay .cm-premium-login-form .brand-logo-frame{max-width:160px!important;max-height:78px!important;margin:0 auto 12px!important}
html body > #classmateLoginOverlay .cm-premium-login-form .brand-logo-frame img{width:100%!important;max-height:78px!important;object-fit:contain!important}
html body > #classmateLoginOverlay .cm-signin-foot{display:flex!important;align-items:center!important;gap:8px!important;margin-top:12px!important;font-size:11px!important;line-height:1.45!important}
html body > #classmateLoginOverlay .cm-login-help{font-size:11px!important;line-height:1.45!important;margin-top:7px!important}
@media (max-width:520px){html body > #classmateLoginOverlay .cm-login-panel{padding:15px 18px 20px!important;border-radius:17px!important}}