/* AcademyCrew R15 · canonical cross-portal shell and language selector */
:root{--ac-r15-navy:#10264d;--ac-r15-blue:#315ee6;--ac-r15-line:#dce5f1;--ac-r15-soft:#eef3f8;--ac-r15-card:#fff}
/* One language control everywhere: same geometry in ES and EN, public and authenticated. */
.ac-global-language,.lang-switch-pretty,.qa07-language,.ac-home-language{
  display:inline-grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;justify-content:center!important;
  width:94px!important;min-width:94px!important;max-width:94px!important;height:42px!important;min-height:42px!important;max-height:42px!important;
  padding:4px!important;gap:3px!important;margin:0!important;overflow:hidden!important;box-sizing:border-box!important;
  border:1px solid #d6e0eb!important;border-radius:999px!important;background:var(--ac-r15-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;vertical-align:middle!important;position:relative!important;inset:auto!important;
}
.ac-global-language button,.lang-switch-pretty button,.qa07-language a,.ac-home-language a{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;
  height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 8px!important;margin:0!important;box-sizing:border-box!important;
  border:0!important;border-radius:999px!important;background:transparent!important;color:#64748b!important;text-decoration:none!important;
  font:800 .78rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:.02em!important;box-shadow:none!important;transform:none!important;
}
.ac-global-language button[aria-pressed="true"],.lang-switch-pretty button.active,.qa07-language a[aria-current="page"],.ac-home-language a[aria-current="page"]{
  background:#fff!important;color:var(--ac-r15-navy)!important;box-shadow:0 2px 7px rgba(16,38,77,.12)!important;
}
.ac-global-language button:focus-visible,.lang-switch-pretty button:focus-visible,.qa07-language a:focus-visible,.ac-home-language a:focus-visible{outline:2px solid #78a5ff!important;outline-offset:1px!important}
/* Keep the exact same control on dark headers; no inverted geometry or alternate theme. */
header .ac-global-language,header .lang-switch-pretty,header .qa07-language,.ac-student-header .ac-global-language,.my-head .ac-global-language,.app-topbar .ac-global-language{background:var(--ac-r15-soft)!important;border-color:#d6e0eb!important}
/* Shared navigation and back affordance. */
.ac-smart-back{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:40px!important;padding:8px 13px!important;border:1px solid rgba(255,255,255,.30)!important;border-radius:13px!important;background:rgba(255,255,255,.10)!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;white-space:nowrap!important}
.ac-smart-back:hover{background:rgba(255,255,255,.17)!important}.ac-smart-back:focus-visible{outline:2px solid #b9d0ff!important;outline-offset:2px!important}
.ac-student-subnav{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:14px auto 4px!important;max-width:1680px!important;padding:0 32px!important;box-sizing:border-box!important}
.ac-student-subnav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:9px 13px!important;border-radius:13px!important;border:1px solid var(--ac-r15-line)!important;background:#fff!important;color:var(--ac-r15-navy)!important;text-decoration:none!important;font-weight:800!important;box-shadow:none!important}
.ac-student-subnav a[aria-current="page"]{background:#edf3ff!important;border-color:#b9caff!important;color:#244fd1!important}
/* Identity stays visible without competing with actions. */
.ac-user-identity{display:flex!important;align-items:center!important;min-width:0!important;margin-left:4px!important;color:#fff!important}
.ac-user-identity .ac-id-badge{display:grid!important;grid-template-columns:auto!important;gap:1px!important;min-width:124px!important;max-width:196px!important;padding:6px 10px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:12px!important;background:rgba(255,255,255,.08)!important;line-height:1.12!important}
.ac-user-identity small{font-size:.62rem!important;opacity:.76!important;font-weight:700!important}.ac-user-identity strong{font-size:.76rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ac-user-identity code{font:600 .64rem/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;opacity:.82!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
/* Secondary student pages use the same surfaces and rhythm. */
body.my-shell,body.ac-account-portal,body.app-shell,body.progress-shell{background:#f5f8fd!important;color:var(--ac-r15-navy)!important}
.my-card,.pf-card,.account-overview-block,.progress-card,.my-empty,.profile-card{border:1px solid var(--ac-r15-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 30px rgba(16,38,77,.055)!important}
.r23-btn,.btn,.pf-primary{border-radius:13px!important;min-height:42px!important;font-weight:800!important;box-shadow:none!important}
@media(max-width:900px){
  .ac-student-subnav{padding:0 16px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:thin}.ac-student-subnav a{white-space:nowrap!important}
  .ac-user-identity .ac-id-badge{min-width:104px!important;max-width:142px!important;padding:5px 8px!important}.ac-user-identity small{display:none!important}.ac-user-identity strong{font-size:.70rem!important}.ac-user-identity code{font-size:.58rem!important}
}
@media(max-width:620px){
  .ac-global-language,.lang-switch-pretty,.qa07-language,.ac-home-language{width:88px!important;min-width:88px!important;max-width:88px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:4px!important}
  .ac-global-language button,.lang-switch-pretty button,.qa07-language a,.ac-home-language a{height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 6px!important;font-size:.74rem!important}
  .ac-user-identity{margin-left:0!important}.ac-user-identity .ac-id-badge{min-width:88px!important;max-width:112px!important}.ac-user-identity code{display:none!important}
}
