/* EduMock brand layer. Loaded LAST. Tokens live in theme.css :root.
   Mobile-first: base rules target phones, @media (min-width) enhances. */

/* ---------- base ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { background: var(--brand-cream); -webkit-tap-highlight-color: transparent; overscroll-behavior-y: none; }
a { color: var(--brand-green); }
a:hover { color: var(--brand-green-press); }
:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }
::selection { background: var(--brand-gold-soft); color: var(--brand-forest-deep); }

/* ---------- buttons ---------- */
.btn, button.btn, a.btn {
  border-radius: var(--radius-md) !important;
  min-height: 44px;
  padding: 10px 18px;
  font-weight: 600;
  transition: transform .15s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);
}
.btn:active { transform: scale(.97); }
.btn-primary, button.btn-primary, a.btn-primary {
  background: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
  color: #fff !important;
  box-shadow: 0 2px 0 rgba(7, 90, 62, .35);
}
.btn-primary:hover { background: var(--brand-green-press) !important; border-color: var(--brand-green-press) !important; }
.btn-accent, .btn-gold { background: var(--brand-gold-text) !important; border-color: var(--brand-gold-text) !important; color: #fff !important; }
.btn-outline, .btn-outline-primary {
  background: #fff !important;
  color: var(--brand-forest) !important;
  border: 1.5px solid var(--border-color) !important;
}
.btn-outline:hover, .btn-outline-primary:hover { border-color: var(--brand-gold) !important; }

/* ---------- inputs ---------- */
.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], input[type="date"], select, textarea {
  border-radius: var(--radius-md);
  min-height: 44px;
  font-size: 16px; /* stops iOS zoom-on-focus */
}
.form-control:focus, .form-select:focus { border-color: var(--brand-gold); box-shadow: var(--focus-ring); }

/* ---------- cards ---------- */
.card, .stat, .dash-panel, .ta-card, .profile-card, .mock-card, .mock-pick-card {
  box-shadow: var(--shadow-sm) !important;
}

/* ---------- motion ---------- */
@keyframes em-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes em-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes em-pop { 0% { transform: scale(.9); opacity: 0; } 60% { transform: scale(1.03); } 100% { transform: scale(1); opacity: 1; } }
@keyframes em-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.em-rise { animation: em-rise .5s var(--ease) both; }
.em-fade { animation: em-fade .5s ease both; }
.em-pop { animation: em-pop .55s var(--ease) both; }
.em-d1 { animation-delay: .08s; } .em-d2 { animation-delay: .16s; } .em-d3 { animation-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0s !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---------- logo ---------- */
.em-logo { display: block; height: auto; user-select: none; -webkit-user-drag: none; }
.em-logo-badge {
  display: inline-grid; place-items: center;
  width: 44px; height: 44px; border-radius: 14px;
  background: var(--brand-cream); box-shadow: 0 2px 8px rgba(0,0,0,.15);
  overflow: hidden;
}
.em-logo-badge img { width: 36px; height: 36px; object-fit: contain; }

/* ---------- auth screens (phone first) ---------- */
body.auth-body { background: var(--brand-cream); }
.auth-shell { min-height: 100dvh; display: flex; flex-direction: column; background: var(--brand-cream); }
.auth-hero {
  display: grid; place-items: center; text-align: center;
  padding: calc(1.5rem + var(--safe-top)) 1.25rem 1.1rem;
  position: relative; overflow: hidden;
}
.auth-hero::before, .auth-hero::after {
  content: ""; position: absolute; border-radius: 50%; pointer-events: none;
}
.auth-hero::before { width: 260px; height: 260px; right: -110px; top: -120px; background: radial-gradient(circle, rgba(199,138,74,.22), transparent 70%); }
.auth-hero::after { width: 220px; height: 220px; left: -100px; top: 30px; background: radial-gradient(circle, rgba(9,113,78,.14), transparent 70%); }
.auth-hero__logo { width: min(58vw, 220px); position: relative; z-index: 1; animation: em-pop .7s var(--ease) both; }
.auth-hero__tag { position: relative; z-index: 1; margin: .35rem 0 0; font-size: .8rem; color: var(--brand-brown); letter-spacing: .02em; animation: em-fade .8s .3s ease both; }
.auth-visual { display: none; }

.auth-panel {
  flex: 1; display: block; background: #fff;
  border-radius: 28px 28px 0 0;
  box-shadow: 0 -10px 40px rgba(38, 74, 67, .10);
  padding: 1.6rem calc(1.25rem + env(safe-area-inset-right, 0px)) calc(2rem + var(--safe-bottom)) calc(1.25rem + env(safe-area-inset-left, 0px));
  animation: em-rise .6s .1s var(--ease) both;
}
.auth-card { width: 100%; max-width: 440px; margin: 0 auto; padding: 0; background: transparent; box-shadow: none; border-radius: 0; }
.auth-shell--wide .auth-card { max-width: 520px; }
.auth-kicker { color: var(--brand-gold-text); letter-spacing: .12em; font-size: .72rem; font-weight: 700; }
.auth-card .page-title, .auth-card .page-title.auth-welcome { color: var(--brand-forest); font-size: clamp(1.55rem, 6vw, 1.95rem); }
.auth-input {
  border-radius: var(--radius-md) !important;
  border: 1.5px solid var(--border-color) !important;
  background: var(--brand-cream) !important;
  min-height: 50px;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background .2s;
}
.auth-input:focus-within { border-color: var(--brand-gold) !important; box-shadow: var(--focus-ring) !important; background: #fff !important; }
.auth-input input { font-size: 16px !important; }
.auth-submit { width: 100%; min-height: 52px; font-size: 1rem; border-radius: 14px !important; }
.auth-switch { text-align: center; margin-top: 1.1rem; color: var(--text-muted); }
.auth-switch a, .auth-forgot { color: var(--brand-green); font-weight: 600; }

@media (min-width: 900px) {
  .auth-shell { display: grid; grid-template-columns: minmax(380px, 46%) 1fr; }
  .auth-hero { display: none; }
  .auth-visual {
    display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;
    padding: 2.5rem 3rem; color: #fff; position: relative; overflow: hidden;
    background: linear-gradient(160deg, var(--brand-forest) 0%, var(--brand-forest-deep) 100%);
  }
  .auth-visual::after {
    content: ""; position: absolute; width: 380px; height: 380px; right: -140px; bottom: -140px; border-radius: 50%;
    background: radial-gradient(circle, rgba(199,138,74,.35), transparent 70%);
  }
  .auth-visual__brand { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 1.4rem; color: #fff; }
  .auth-visual__copy, .auth-visual__foot { display: block; position: relative; z-index: 1; }
  .auth-visual__kicker { color: var(--brand-gold-soft); }
  .auth-visual__title { color: #fff; font-family: var(--font-display) !important; font-size: 2.1rem; }
  .auth-visual__points i { background: rgba(241,217,180,.16); color: var(--brand-gold-soft); border-radius: 10px; }
  .auth-panel {
    display: grid; place-items: center; border-radius: 0; box-shadow: none; background: var(--brand-cream);
    animation: none;
  }
  .auth-card { background: #fff; border-radius: 24px; box-shadow: var(--shadow-md); padding: 2.2rem 2rem; }
}

/* auth polish */
.auth-card { border: 0 !important; }
.auth-input input, .auth-input input:focus {
  border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important;
  min-height: 0; padding-left: 0; flex: 1; min-width: 0;
}
.auth-input select, .auth-input select:focus {
  border: 0 !important; background-color: transparent !important; box-shadow: none !important; outline: none !important;
  min-height: 0; flex: 1; min-width: 0; padding-left: 0;
}
/* long forms: compact hero so the form starts higher */
.auth-shell--wide .auth-hero { padding-bottom: .4rem; }
.auth-shell--wide .auth-hero__logo { width: min(36vw, 140px); }

/* ---- Examiner look: parchment canvas, cream panels, segmented controls, warm table heads ---- */
body, .app-main-shell { background: #f6f2ea; }
.app-main-shell { background: linear-gradient(180deg, #f9f5ec 0%, #f6f2ea 180px); }
.seg { display: inline-flex; background: #efe7d6; border-radius: 9px; padding: 3px; gap: 2px; }
.seg > a, .seg > button { border: 0; background: none; padding: 6px 14px; border-radius: 7px; color: var(--brand-brown); font-weight: 600; font-size: .85rem; text-decoration: none; }
.seg > .on, .seg > a.active { background: var(--brand-forest); color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
table.data th, .tbl th { background: #f6efe1; color: #6b4a3a; }
.pill, .badge-soft { background: #fff7ea; color: var(--brand-brown); border: 1px solid #ecd7b6; border-radius: 12px; padding: 2px 10px; font-size: .78rem; }
.btn-gold { background: var(--brand-gold-text) !important; border-color: var(--brand-gold-text) !important; color: #fff !important; }

/* ---- Examiner top bar: cream with a thin rule (desktop school bar, SA bar, phone app bar) ---- */
.top-navbar, .school-brand-bar, body.sa-tailadmin .ta-topbar {
  background: var(--brand-cream) !important;
  border-bottom: 1px solid var(--border-color) !important;
  color: var(--brand-brown) !important;
}
.portal-topbar-brand__school, .top-navbar__title, body.sa-tailadmin .ta-topbar__term { color: var(--brand-forest) !important; font-family: var(--font-display); }
.current-mock-switch__label, body.sa-tailadmin .ta-topbar .current-mock-switch__label { color: var(--text-muted) !important; }
.current-mock-switch__pill { background: #fff7ea !important; color: var(--brand-brown) !important; border: 1px solid #ecd7b6 !important; border-radius: 12px !important; }
.admin-topbar-user { color: var(--brand-brown); }
.admin-topbar-user__name, body.sa-tailadmin .ta-topbar__user-meta strong { color: var(--brand-forest) !important; }
.admin-topbar-user__role { color: var(--text-muted); }
.admin-topbar-user__avatar, body.sa-tailadmin .ta-topbar__avatar { background: var(--brand-forest) !important; color: #fff !important; }
.portal-topbar-logout, body.sa-tailadmin .ta-topbar__logout, body.sa-tailadmin .ta-topbar__menu {
  color: var(--brand-forest) !important; background: #fff !important; border: 1px solid var(--border-color) !important; border-radius: 10px !important;
}
.portal-topbar-logout:hover { background: #f1e9da !important; }
@media (min-width: 768px) { .sidebar-logout { display: none; } }

/* ---- Dashboards: Examiner panels (white, warm border, gold edge) ---- */
.hero-banner, .hero-banner--accent {
  background: #fff !important; color: var(--brand-forest) !important;
  border: 1px solid var(--border-color) !important; border-left: 5px solid var(--brand-gold) !important;
  border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-sm) !important;
  position: relative; overflow: hidden;
}
.hero-banner::after {
  content: ""; position: absolute; right: -40px; top: -50px; width: 160px; height: 160px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 141, 74, .20), transparent 70%); pointer-events: none;
}
.hero-banner__content h3 { color: var(--brand-forest) !important; font-family: var(--font-display) !important; }
.hero-banner__content p { color: var(--text-muted) !important; }
.dash-stat-card, .ta-stat-card { background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.dash-stat-card:active, .ta-stat-card:active { transform: scale(.99); }
.dash-stat-card__value, .ta-stat-card__value { color: var(--brand-forest) !important; font-family: var(--font-display); }
.dash-stat-card__icon, .ta-stat-card__icon { background: #f6efe1 !important; color: var(--brand-gold-text) !important; border-radius: 12px; }
.dash-stat-card a, .dash-stat-card__link { color: var(--brand-green); font-weight: 600; }
.current-mock-panel { background: #fff; border-left: 5px solid var(--brand-green) !important; }
.current-mock-panel__kicker, .setup-card__kicker, .dash-panel__kicker { color: var(--brand-gold-text) !important; letter-spacing: .1em; }
.setup-card { background: #fff7ea !important; border: 1px solid #ecd7b6 !important; }
.setup-card__steps li.is-done > span { background: var(--brand-green); color: #fff; }

/* ---- page headers, forms, alerts ---- */
.page-title, h1.page-title { color: var(--brand-forest) !important; font-family: var(--font-display) !important; }
.page-title-row { border-bottom: 1px solid var(--border-color); }
label, .form-label { color: var(--brand-brown); font-weight: 600; font-size: .84rem; }
.form-control, .form-select, input, select, textarea { border-color: #d5c9b4; background-color: #fff; }
.alert { border-radius: var(--radius-md); border-width: 1px; }
.alert-success { background: #e6f4ea; border-color: #bfe0c8; color: #17692f; }
.alert-danger { background: #fdeeed; border-color: #efb9b5; color: #8a1b15; }
.alert-warning { background: #fff6e6; border-color: #f0d9a8; color: #7a4c00; }
.alert-info { background: #fff7ea; border-color: #ecd7b6; color: var(--brand-brown); }
.badge, .status-badge { border-radius: 999px; }
.nav-tabs, .tabs { border-bottom-color: var(--border-color); }
.nav-tabs .nav-link.active, .tab.on { color: var(--brand-forest); border-color: var(--border-color) var(--border-color) #fff; font-weight: 600; }
.btn-danger, .btn-outline-danger { border-radius: var(--radius-md) !important; }

/* ---- file inputs: friendly drop-zone look (all screens) ---- */
input[type="file"], .form-control[type="file"] {
  display: block; width: 100%; height: auto !important; min-height: 0 !important; flex: none !important;
  padding: .85rem; border: 2px dashed #d5c9b4 !important; border-radius: 14px; background: #fff7ea; color: var(--brand-brown);
  font-size: .9rem; cursor: pointer;
}
input[type="file"]:hover { border-color: var(--brand-gold) !important; }
input[type="file"]::file-selector-button {
  margin-right: .75rem; padding: .5rem .9rem; border: 0; border-radius: 10px;
  background: var(--brand-green); color: #fff; font-weight: 600; cursor: pointer;
}
.btn-danger, button.btn-danger, a.btn-danger { background: #b3261e !important; border-color: #b3261e !important; color: #fff !important; }
.btn-danger:hover { background: #8f1d17 !important; }
.btn-outline-danger { color: #b3261e !important; border-color: #efb9b5 !important; background: #fff !important; }

/* ---- Super Admin: school access panel on a mock ---- */
.school-access { background: #fff; border: 1px solid var(--border-color); border-left: 5px solid var(--brand-gold); border-radius: var(--radius-lg); padding: 1rem 1.1rem; margin: 1.25rem 0; box-shadow: var(--shadow-sm); }
.school-access__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-bottom: .5rem; }
.school-access__head h2 { margin: 0 0 .15rem; font-size: 1.15rem; color: var(--brand-forest); font-family: var(--font-display); }
.school-access__head .hint { margin: 0; }
.school-access .table-actions form { display: inline; }
@media (max-width: 767px) { .school-access__head form, .school-access__head .btn { width: 100%; } }
body.sa-tailadmin .ta-topbar__term { background: #f6efe1 !important; color: var(--brand-forest) !important; border: 1px solid #ecd7b6; border-radius: 10px; padding: .25rem .7rem; font-size: .8rem; }

/* ---- Pro: school page, Super Admin codes ---- */
.pro-status { background: #fff; border: 1px solid var(--border-color); border-left: 5px solid var(--border-color); border-radius: var(--radius-lg); padding: 1rem 1.1rem; margin: 0 0 1rem; box-shadow: var(--shadow-sm); }
.pro-status--on { border-left-color: var(--brand-gold); background: linear-gradient(135deg, #fff 60%, #fff7ea); }
.pro-status p { margin: .35rem 0 0; }
.pro-status__badge { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--brand-forest); }
.pro-status--on .pro-status__badge i { color: var(--brand-gold-text); }
.pro-status__warn { color: #7a4c00; background: #fff6e6; border-radius: 10px; padding: .45rem .7rem; }
.pro-features { display: grid; gap: .75rem; grid-template-columns: 1fr; margin: 0 0 1rem; }
.pro-feature { display: flex; gap: .85rem; align-items: flex-start; background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: .9rem 1rem; box-shadow: var(--shadow-sm); }
.pro-feature__icon { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #f6efe1; color: var(--brand-gold-text); font-size: 1.2rem; }
.pro-feature h3 { margin: 0 0 .2rem; font-size: 1rem; color: var(--brand-forest); }
.pro-feature p { margin: 0; color: var(--text-muted); font-size: .9rem; }
.pro-tag { display: inline-block; margin-left: .35rem; padding: .05rem .5rem; border-radius: 999px; background: var(--brand-gold-text); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; }
.pro-redeem__form { display: flex; flex-wrap: wrap; gap: .6rem; }
.pro-redeem__form input { flex: 1 1 220px; font-family: var(--font-mono); letter-spacing: .08em; text-transform: uppercase; text-align: center; font-size: 1.05rem; }
.pro-new { background: #fff7ea; border: 1px solid #ecd7b6; border-left: 5px solid var(--brand-gold); border-radius: var(--radius-lg); padding: 1rem 1.1rem; margin: 0 0 1rem; }
.pro-new h2 { margin: 0 0 .25rem; font-size: 1.1rem; color: var(--brand-forest); }
.pro-new__box { width: 100%; font-family: var(--font-mono); font-size: 1rem; letter-spacing: .05em; background: #fff; border: 1px solid #ecd7b6; border-radius: 12px; padding: .7rem; margin: .5rem 0; resize: vertical; }
.pro-form { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.pro-form__field { display: flex; flex-direction: column; gap: .25rem; }
.pro-form__field--grow { flex: 1 1 220px; }
.pro-inline { display: inline-flex; gap: .4rem; align-items: center; }
.pro-inline__days { width: 5.5rem; }
.table-actions form { display: inline-block; }
@media (min-width: 768px) { .pro-features { grid-template-columns: 1fr 1fr; } }
@media print { .pro-new { border: 1px solid #000; } .sidebar, .appbar, .tabbar, .toolbar { display: none !important; } }

/* ---- Score Centre steps ---- */
.score-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; list-style: none; margin: 0 0 1rem; padding: 0; }
.score-steps__item { display: flex; flex-direction: column; align-items: center; gap: .35rem; text-align: center; padding: .7rem .4rem; background: #fff; border: 1px solid var(--border-color); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: border-color .25s, background .25s; }
.score-steps__dot { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #efe7d6; color: var(--brand-brown); font-weight: 700; font-size: .9rem; }
.score-steps__text { display: flex; flex-direction: column; line-height: 1.2; }
.score-steps__text strong { font-size: .86rem; color: var(--brand-forest); }
.score-steps__text em { font-style: normal; font-size: .7rem; color: var(--text-muted); }
.score-steps__item.is-current { border-color: var(--brand-gold); background: #fff7ea; }
.score-steps__item.is-current .score-steps__dot { background: var(--brand-gold-text); color: #fff; animation: em-pop .4s var(--ease) both; }
.score-steps__item.is-done .score-steps__dot { background: var(--brand-green); color: #fff; }
@media (min-width: 768px) { .score-steps__item { flex-direction: row; justify-content: center; text-align: left; gap: .75rem; padding: .8rem 1rem; } }

/* ---- Pro: grading scale screen ---- */
.grading-modes { display: grid; gap: .6rem; margin-top: .5rem; }
.grading-mode { display: flex; gap: .7rem; align-items: flex-start; padding: .75rem .9rem; background: #fff; border: 1.5px solid var(--border-color); border-radius: var(--radius-md); cursor: pointer; transition: border-color .2s, background .2s; }
.grading-mode input { margin-top: .25rem; accent-color: var(--brand-green); }
.grading-mode span { display: flex; flex-direction: column; }
.grading-mode strong { color: var(--brand-forest); }
.grading-mode em { font-style: normal; font-size: .84rem; color: var(--text-muted); }
.grading-mode.is-on { border-color: var(--brand-gold); background: #fff7ea; }
.grading-head { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; align-items: flex-end; }
.grading-preset { display: flex; flex-direction: column; gap: .2rem; min-width: 12rem; }
.grading-name { margin: .75rem 0; max-width: 24rem; }
.grading-table input { width: 100%; }
.grading-table td { vertical-align: middle; }
.grading-try { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 1rem 0 0; }
.grading-try input { width: 6rem; }
.grading-try__result { font-weight: 700; color: var(--brand-forest); }
@media (min-width: 768px) { .grading-modes { grid-template-columns: repeat(3, 1fr); } }

/* ---- grading + pro forms: consistent rounded inputs ---- */
.grading-form input:not([type]), .grading-form input[type="text"], .grading-form input[type="number"], .grading-form select,
.pro-form input, .pro-redeem__form input, .pro-inline input {
  border: 1.5px solid #d5c9b4 !important; border-radius: 12px !important; background: #fff;
  min-height: 44px; padding: .5rem .75rem; width: 100%; font-size: 16px; color: var(--ink);
}
.grading-form input:focus, .grading-form select:focus, .pro-form input:focus, .pro-redeem__form input:focus { border-color: var(--brand-gold) !important; box-shadow: var(--focus-ring); outline: none; }
.pro-inline input { width: 5.5rem; }

/* ---- empty state: add students first ---- */
.no-students { background: #fff; border: 1px solid var(--border-color); border-left: 5px solid var(--brand-gold); border-radius: var(--radius-lg); padding: 1.25rem 1.2rem; box-shadow: var(--shadow-sm); text-align: center; }
.no-students__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: #f6efe1; color: var(--brand-gold-text); font-size: 1.6rem; margin-bottom: .5rem; }
.no-students h2 { margin: 0 0 .35rem; font-size: 1.25rem; color: var(--brand-forest); font-family: var(--font-display); }
.no-students > p { margin: 0 auto 1rem; max-width: 34rem; color: var(--text-muted); }
.no-students__steps { list-style: none; counter-reset: ns; margin: 0 auto 1.1rem; padding: 0; max-width: 34rem; text-align: left; display: grid; gap: .6rem; }
.no-students__steps li { counter-increment: ns; display: grid; grid-template-columns: 2rem 1fr; column-gap: .75rem; padding: .65rem .8rem; background: #fbf8f2; border: 1px solid var(--border-color); border-radius: 12px; }
.no-students__steps li::before { content: counter(ns); grid-row: span 2; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--brand-forest); color: #fff; font-weight: 700; }
.no-students__steps strong { color: var(--brand-forest); }
.no-students__steps span { font-size: .86rem; color: var(--text-muted); }
.no-students__actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
@media (max-width: 767px) { .no-students__actions .btn { flex: 1 1 100%; } }

.ta-topbar__cohort { text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; }
.ta-topbar__cohort strong { font-weight: 700; }
