/* Screenshot-led overlay. Keep academy.css (including installed menu fixes) first. */
body.academy-reference {
  --academy-ink:#151b17; --academy-muted:#4f5c52; --academy-accent:#163e2b;
  --academy-canvas:#f7f8f7; --academy-line:#ddd5c7; --reference-cream:#fffdf8;
  --reference-olive:#4e7028;
  font-family:var(--academy-font); color:var(--academy-ink); background:var(--academy-canvas);
}
.academy-reference h1,.academy-reference h2,.academy-reference h3 { font-family:var(--academy-font); letter-spacing:-.025em; line-height:1.18; }
.academy-reference .header.white-bg { box-shadow:none; border-bottom:1px solid var(--academy-line); }
.academy-reference .header nav { max-width:1280px; margin:auto; }
.academy-reference .header .navbar-nav>li>a { font-family:var(--academy-font); font-weight:600; text-transform:none; }
.academy-reference .header .navbar-nav>li.active>a#_MYCOURSES { background:transparent!important; color:var(--academy-accent)!important; text-decoration:underline; text-underline-offset:5px; }
.academy-reference .academy-pilot { background:#eeefe9; color:#405342; border-color:var(--academy-line); font-size:13px; }
.academy-reference .forma-button,.academy-reference .btn-primary,.academy-reference input[type=submit] {
  border-radius:3px!important; background:var(--academy-accent)!important; border-color:var(--academy-accent)!important;
  font-family:var(--academy-font); font-weight:700; font-size:14px; min-height:44px; text-transform:none;
}
.academy-reference .forma-button:hover,.academy-reference .btn-primary:hover,.academy-reference input[type=submit]:hover { background:#102e20!important; }
.academy-reference .form-control { background:#fff!important; border:1px solid #7d887e; border-radius:3px; font-family:var(--academy-font); font-size:15px; }
.academy-reference .form-control::placeholder { font-style:normal; color:#59675c; }
.academy-reference .btn-default { border-radius:3px; background:var(--reference-cream); border-color:var(--academy-line); color:var(--academy-ink); }
.academy-reference .academy-page-heading { font-size:38px; margin-top:0!important; margin-bottom:12px!important; font-weight:700; }
.academy-reference .academy-page-intro { color:var(--academy-muted); font-family:var(--academy-font); font-size:16px; line-height:1.7; margin-bottom:32px!important; }
.academy-reference .reference-section-label { display:block; margin:32px 0 10px; font-size:12px; font-weight:700; letter-spacing:.15em; color:#4e7028; }
.academy-reference .lms-user-content-wrapper { background:var(--academy-canvas); }
.academy-reference .lms-user-content-wrapper>.container-fluid { max-width:1248px; margin:auto; padding-left:24px; padding-right:24px; }
.academy-reference .filterBar { background:var(--reference-cream); border:1px solid var(--academy-line); border-radius:3px; padding:18px; }
.academy-reference .filterBar__buttonLink { font-family:var(--academy-font); font-size:14px; }
.academy-reference .nav-tabs>li.active>a,.academy-reference .nav>li.active>a { background:var(--academy-accent)!important; border-color:var(--academy-accent)!important; }
.academy-reference a#myCourseButton1 { background:var(--academy-accent)!important; border-radius:3px!important; color:#fff!important; }
.academy-reference h2.page-header { background:transparent; font-size:25px; font-weight:700; padding-bottom:4px; border:0; margin-top:28px; }
.academy-reference .course-box { border:1px solid var(--academy-line)!important; border-radius:3px; background:var(--reference-cream); box-shadow:0 3px 8px #25332106; min-height:0; }
.academy-reference .course-box__cover { background:transparent!important; border-bottom:0; height:56px!important; padding:16px 20px 0; }
.academy-reference .academy-course-status { margin:0; border:1px solid #a4b197; border-radius:3px; background:#eef2e7; color:#2f4d1c; font-size:12px; line-height:1.5; padding:4px 9px; }
.academy-reference .course-box__header { display:none; } /* duplicate icons only; readable status retained above */
.academy-reference .reference-course-role { display:inline-block; margin-left:10px; color:var(--academy-muted); font-size:12px; }
.academy-reference .course-box__title { font-size:22px; font-family:var(--academy-font); line-height:1.25; min-height:0; padding:14px 20px 8px; font-weight:700; }
.academy-reference .course-box__description { font-family:var(--academy-font); font-size:15px; min-height:76px; padding:8px 20px 16px; }
.academy-reference .course-box__cta { padding:8px 20px 24px; text-align:left; }
.academy-reference .course-box__cta__button { float:none!important; border-radius:3px!important; }
body.homepage.academy-reference { display:block!important; padding:0!important; min-height:100vh; }
.academy-reference.homepage>.homepage__row--header { width:100%; box-sizing:border-box; max-width:none; background:#fff; margin:0; padding:0 max(16px,calc((100vw - 1250px)/2))!important; border-bottom:1px solid var(--academy-line); }
.academy-reference.homepage .homepage__content { width:calc(100% - 48px)!important; max-width:1200px; margin:36px auto!important; border:0; border-radius:0; box-shadow:none; background:transparent; }
.academy-reference .reference-login-layout { display:grid; grid-template-columns:1.1fr 1fr; background:var(--reference-cream); border:1px solid var(--academy-line); min-height:530px; }
.academy-reference .reference-story {
  background:linear-gradient(90deg,rgba(15,34,19,.87),rgba(15,34,19,.74)),url('/templates/terrasteam-pilot/images/reference/academy-garden.png') center/cover;
  color:#fff; text-align:left; padding:52px 40px 32px; display:flex; flex-direction:column; justify-content:space-between; gap:32px;
}
.academy-reference .reference-eyebrow { font-size:12px; letter-spacing:.15em; font-weight:700; margin:0 0 20px; color:#fff; }
.academy-reference .reference-story-copy>* { display:block!important; float:none!important; clear:both; }
.academy-reference .reference-story h2 { font-size:42px; font-weight:700; line-height:1.08; margin:0 0 24px; color:#fff; max-width:12ch; }
.academy-reference .reference-story p:not(.reference-eyebrow) { font-size:16px; line-height:1.65; color:#fff; max-width:36ch; }
.academy-reference .reference-story-copy p { text-align:left!important; margin-left:0!important; margin-right:0!important; }
.academy-reference .reference-story .reference-story-foot { border-top:1px solid #ffffff66; padding-top:18px; margin:0; font-size:13px!important; }
.academy-reference .reference-login-layout .homepage__row--login { padding:48px 40px!important; background:var(--reference-cream)!important; margin:0; }
.academy-reference .academy-login-title { font-size:32px; text-align:left; line-height:1.15; margin-bottom:12px; font-weight:700; }
.academy-reference .reference-login-layout .academy-login-title { display:block!important; float:none!important; text-align:left!important; }
.academy-reference .academy-login-subtitle { text-align:left; font-size:15px; line-height:1.65; }
.academy-reference .academy-field-label { font-family:var(--academy-font); font-size:14px; }
.academy-reference.homepage #login_confirm .form-control { height:48px; }
.academy-reference.homepage #login_confirm #login { background:var(--reference-olive)!important; border-color:var(--reference-olive)!important; font-size:15px; }
.academy-reference .academy-login-note { background:var(--reference-cream); margin-top:20px; border:1px solid var(--academy-line); padding:22px 32px; }
.academy-reference .academy-login-note h2 { font-size:20px; }
.academy-reference .academy-login-note>* { display:block!important; float:none!important; clear:both; }
.academy-reference .academy-login-note p { font-family:var(--academy-font); font-size:14px; line-height:1.65; }
.academy-reference .homepage__row--footer { background:transparent; padding:16px 0!important; }
.academy-reference .homepage__row--footer:before { background:transparent!important; }
.academy-reference .homepage__row--footer { border-top:1px solid var(--academy-line)!important; }
.academy-reference .homepage__row--footer .homepage__links { border-top:0!important; }
.academy-reference .powered_by { color:var(--academy-muted); }
.academy-reference #footer { background:var(--academy-canvas); border-color:var(--academy-line)!important; }
.academy-reference.academy-portal main { max-width:1200px; padding:40px 24px 56px; }
.academy-reference.academy-portal main>h1 { font-size:38px; font-weight:700; margin-top:0; }
.academy-reference.academy-portal main>h1+p { font-size:16px; color:var(--academy-muted); margin-bottom:28px; max-width:65ch; }
.academy-reference.academy-portal>header { padding-right:24px; }
.academy-reference.academy-portal>header>a:not(.academy-brand) { padding:0 18px; margin:12px 0 12px 16px; border:1px solid var(--academy-line); border-radius:3px; }
.academy-reference.academy-portal #summary { gap:16px; margin:24px 0; }
.academy-reference.academy-portal #summary div,.academy-reference.academy-portal article,.academy-reference.academy-portal form { border-color:var(--academy-line); background:var(--reference-cream); border-radius:3px; box-shadow:0 2px 6px #25332104; }
.academy-reference.academy-portal #summary div { padding:20px 24px; border-top:3px solid #73894c; }
.academy-reference.academy-portal #summary strong { font-size:36px; font-weight:700; color:var(--academy-accent); }
.academy-reference.academy-portal form { padding:28px; margin-top:0; }
.academy-reference.academy-portal form h2 { margin-top:0; }
.academy-reference.academy-portal button { background:var(--academy-accent); color:#fff; border-radius:3px; padding:10px 18px; font-weight:700; min-height:44px; border-color:var(--academy-accent); }
.academy-reference.academy-portal select { background:#fff; border:1px solid #7d887e; border-radius:3px; min-height:44px; }
.academy-reference.academy-portal label { font-size:14px; }
.academy-reference.academy-portal article { padding:24px; }
.academy-reference.academy-portal article h3 { margin-top:0; font-size:20px; }
.academy-reference.academy-portal article a { color:var(--academy-accent); font-weight:600; }
.academy-reference.academy-portal button:disabled { background:#e1e5db; color:#46544a; border-color:#b8c1b3; }
@media(min-width:992px) { .academy-reference .mycourses-list { max-width:480px; } }
@media(max-width:767px) {
  .academy-reference .reference-login-layout { display:flex; flex-direction:column; min-height:0; }
  .academy-reference.homepage .homepage__content { margin:20px 12px!important; width:calc(100% - 24px)!important; }
  .academy-reference.homepage>.homepage__row--header { padding:0!important; }
  .academy-reference .reference-story { padding:28px 24px 24px; gap:16px; }
  .academy-reference .reference-story h2 { font-size:31px; max-width:15ch; margin-bottom:16px; }
  .academy-reference .reference-story p:not(.reference-eyebrow) { font-size:14px; }
  .academy-reference .reference-eyebrow { margin-bottom:14px; }
  .academy-reference .reference-story-foot { display:none; }
  .academy-reference .reference-login-layout .homepage__row--login { padding:28px 24px!important; }
  .academy-reference .academy-login-title { font-size:28px; }
  .academy-reference .academy-login-note { padding:24px; }
  .academy-reference .academy-page-heading { font-size:30px; }
  .academy-reference .reference-section-label { margin-top:28px; }
  .academy-reference .course-box__title { font-size:21px; }
  .academy-reference .course-box__description { min-height:0; }
  .academy-reference .mycourses-list { padding:8px 0; }
  .academy-reference.academy-portal main { padding:28px 16px; }
  .academy-reference.academy-portal main>h1 { font-size:30px; }
  .academy-reference.academy-portal #summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .academy-reference.academy-portal #summary div { padding:16px; }
  .academy-reference.academy-portal #summary strong { font-size:30px; }
  .academy-reference.academy-portal form,.academy-reference.academy-portal article { padding:22px; }
}
@media(prefers-color-scheme:dark) {
  .academy-reference.homepage>.homepage__row--header { background:#18221f; }
  .academy-reference.academy-portal>header>a:not(.academy-brand) { border-color:#788079; }
  .academy-reference .header .navbar-nav>li.active>a#_MYCOURSES { color:#f4f5f1!important; }
}
@media(prefers-color-scheme:dark) and (max-width:767px) {
  .academy-reference .header .navbar-nav>li.active>a#_MYCOURSES { color:var(--academy-accent)!important; }
}

/* Installed regression: Forma edition selector has an inline 300px width. */
.academy-reference select#id_date { max-width:100%; }
