/* ACADEMIC PATH – login UI scale / 2026-10-19 */
:root {--ap-ui-navy:#374866;--ap-ui-blue:#88b3ff;--ap-ui-paper:#fdfdf5}
/* Portal login: use the available desktop area rather than a narrow mobile-sized column. */
.ap-login .login-shell {
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  min-height:100dvh;
}
.ap-login .login-brand{
  padding:clamp(36px,4.5vw,88px);
  background:linear-gradient(142deg,#0e2446,#162f55 59%,#234c78);
  min-width:0;
}
.ap-login .brand-copy {width:100%;max-width:690px}
.ap-login .brand-copy h1 {
  font-family:Cambria,Georgia,serif;
  font-weight:700;
  font-size:clamp(42px,4.0vw,68px);
  line-height:1.11;
  letter-spacing:-.025em;
  margin:clamp(28px,5vh,54px) 0 20px;
  overflow-wrap:break-word;
}
.ap-login .brand-copy p {font-size:clamp(16px,1.3vw,19px);line-height:1.65;max-width:550px}
.ap-login .brand-orbit{display:none}
.ap-login .login-brand .ap-logo-plate{width:min(310px,70%);padding:12px 18px}
.ap-login .login-panel {
  min-width:0;
  padding:clamp(20px,3.5vw,72px);
  background:var(--ap-ui-paper);
}
.ap-login .login-card {
  width:min(610px,100%);
  border:1px solid #d9e1ed;
  border-radius:24px;
  padding:clamp(28px,3.6vw,55px);
  box-shadow:0 14px 42px rgba(24,45,74,.09);
}
/* On wide screens the brand lives in the left panel; do not duplicate the logo. */
.ap-login .login-card .mobile-brand{display:none}
.ap-login .login-card .eyebrow{
  display:block;
  font-family:Poppins,system-ui,sans-serif;
  font-size:13px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--ap-ui-navy);
  text-transform:uppercase;
  margin:0 0 8px;
}
.ap-login .login-card h2 {
  font-family:Cambria,Georgia,serif;
  font-weight:700;
  font-size:clamp(34px,3vw,44px);
  line-height:1.13;
  letter-spacing:-.018em;
  margin:0 0 12px;
}
.ap-login .login-card .intro {font-size:clamp(15px,1.15vw,17px);line-height:1.6;margin:0 0 30px}
.ap-login .login-card label{font-family:Poppins,system-ui,sans-serif;font-size:14px;font-weight:600;margin:18px 0}
.ap-login .login-card input{min-height:56px;font-size:17px;padding-inline:17px;border-radius:12px}
.ap-login .login-card button {min-height:56px;font-size:16px;border-radius:12px;background:var(--ap-ui-navy)}
.ap-login .login-card .diagnostic-cta{font-size:13px;line-height:1.6}
/* Activity link logins need the same hierarchy, without the awkward logo+kicker overlap. */
.ap-practice .login-wrap{
  min-height:100dvh;
  padding:clamp(16px,3vw,38px);
  background:linear-gradient(145deg,#eff5fa,#fdfdf5);
}
.ap-practice #loginView .login-card{
  width:min(650px,100%);
  padding:clamp(28px,4.2vw,54px);
  border-radius:24px;
  border:1px solid #d5dfeb;
  box-shadow:0 16px 55px rgba(24,45,74,.09);
}
.ap-practice #loginView .ap-logo-plate {
  display:inline-flex;
  width:min(225px,72%) !important;
  margin:0 0 24px;
  padding:12px 15px;
  border-radius:12px;
}
.ap-practice #loginView .kicker{
  display:block;
  margin:0 0 10px;
  font-family:Poppins,system-ui,sans-serif;
  font-size:13px;
  line-height:1.45;
  letter-spacing:.11em;
  font-weight:700;
  text-transform:uppercase;
  color:var(--ap-ui-navy);
}
.ap-practice #loginView h1{
  font-family:Cambria,Georgia,serif;
  font-size:clamp(34px,3.6vw,45px);
  line-height:1.15;
  color:var(--ap-ui-navy);
  margin:0 0 13px;
  overflow-wrap:break-word;
}
.ap-practice #loginView p{font-size:clamp(15px,1.3vw,17px);line-height:1.55;margin:0 0 25px;color:#546984}
.ap-practice #loginView .field{gap:8px;margin:18px 0}
.ap-practice #loginView .field label{
  font-family:Poppins,system-ui,sans-serif;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.055em;
  color:var(--ap-ui-navy);
}
.ap-practice #loginView .field input{
  min-height:56px;
  font-family:Poppins,system-ui,sans-serif;
  font-size:17px;
  padding:12px 16px;
  border-radius:12px;
}
.ap-practice #loginView .primary-btn{
  min-height:56px;
  font-family:Poppins,system-ui,sans-serif;
  font-size:16px;
  font-weight:700;
  background:var(--ap-ui-navy);
  border-radius:12px;
}
@media(max-width:1120px){
  .ap-login .login-shell{grid-template-columns:1fr}
  .ap-login .login-brand{display:none}
  .ap-login .login-panel{padding:clamp(16px,4vw,36px);min-height:100dvh}
  .ap-login .login-card{width:min(620px,100%);padding:clamp(28px,5vw,44px)}
  .ap-login .login-card .mobile-brand{display:inline-flex;width:clamp(190px,35vw,260px);margin:0 0 30px}
}
@media(max-width:540px){
  .ap-login .login-card{border-radius:20px;padding:clamp(22px,6vw,30px)}
  .ap-login .login-card h2{font-size:34px}
  .ap-login .login-card .intro{margin-bottom:24px}
  .ap-login .login-card input,.ap-practice #loginView .field input{min-height:54px}
  .ap-practice #loginView .login-card{border-radius:20px;padding:clamp(22px,5vw,28px)}
  .ap-practice #loginView .ap-logo-plate{width:200px!important;margin-bottom:22px}
  .ap-practice #loginView h1{font-size:clamp(31px,8vw,38px)}
}
@media(prefers-reduced-motion:reduce){.ap-login *, .ap-practice #loginView *{animation:none!important;transition:none!important}}
