/* V2 visual system: civic learning, local practice, and a quieter admin desk. */
:root {
  --ink: #253039;
  --muted: #55636e;
  --line: #d9e1e7;
  --action: #287c9c;
  --warm: #c88a35;
  --danger: #835f5b;
  --danger-bg: #f2ebea;
  --green: var(--action);
  --deep: #253039;
  --mint: #eaf2f6;
  --blue: #255e7a;
  --yellow: var(--warm);
  background: #f5f7f9;
}

body {
  color: var(--ink);
  background: #f5f7f9;
  font-size: 16px;
  line-height: 1.65;
}
.mobile-content-shell { display: contents; }

/* Operations and partnership exit: evidence first, with a calm queue instead of a dense incident console. */
.v2-ops-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 20px 0 24px; border: 1px solid var(--line); background: #edf4f8; }
.v2-ops-summary > div { display: grid; gap: 3px; padding: 17px 18px; border-right: 1px solid var(--line); }
.v2-ops-summary > div:nth-child(3) { border-right: 0; }
.v2-ops-summary strong { color: var(--blue); font-size: 24px; font-variant-numeric: tabular-nums; }
.v2-ops-summary span { color: var(--muted); font-size: 13px; }
.v2-ops-summary p { grid-column: 1 / -1; margin: 0; padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.v2-ops-panel { margin: 20px 0; padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-ops-panel > h2 { margin: 0 0 8px; font-size: 19px; }
.v2-ops-panel > p { margin: 0 0 16px; }
.v2-ops-record { border-left: 3px solid var(--blue); }
.v2-ops-record .v2-admin-record-title, .v2-exit-record .v2-admin-record-title { align-items: start; }
.v2-ops-meta { color: var(--muted); font-size: 13px; }
.v2-ops-history { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 4px; }
.v2-ops-history summary { min-height: 42px; display: flex; align-items: center; color: var(--blue); cursor: pointer; font-size: 14px; }
.v2-ops-history ol { display: grid; gap: 8px; margin: 8px 0 12px; padding-left: 20px; color: var(--muted); font-size: 13px; }
.v2-incident-update, .v2-incident-school-review, .v2-exit-create, .v2-exit-school-review, .v2-exit-handoff, .v2-exit-close { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.v2-exit-assets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--line); background: #fbfdfe; list-style: none; }
.v2-exit-assets li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; font-size: 13px; }
.v2-exit-assets strong { color: var(--muted); font-weight: 600; }
.v2-exit-assets span { overflow-wrap: anywhere; }
.v2-exit-record { border-left: 3px solid var(--warm); }
@media (max-width: 700px) {
  .v2-ops-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-ops-summary > div { padding: 13px 10px; }
  .v2-ops-summary strong { font-size: 21px; }
  .v2-ops-panel { padding: 18px 14px; }
  .v2-ops-panel .section-head { align-items: start; flex-direction: column; gap: 10px; }
  .v2-exit-assets { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .v2-exit-assets li { grid-template-columns: 92px minmax(0, 1fr); }
}

/* Team incubation: compact queues, a clear current task, and separate role confirmations. */
.team-public { padding-top: 34px; padding-bottom: 40px; }
.team-page-intro { margin-bottom: 24px; }
.team-page-intro h1 { margin: 0 0 10px; font-size: 30px; }
.team-page-intro p { margin: 0; color: var(--muted); max-width: 760px; }
.team-identity { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin-bottom: 22px; font-size: 14px; }
.team-identity label { font-weight: 700; }
.team-identity select { min-height: 44px; max-width: 100%; background: #fff; color: var(--ink); border: 1px solid var(--line); padding: 8px 12px; font: inherit; }
.team-overview { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.team-overview h2, .team-heading h2 { margin: 0 0 8px; font-size: 23px; text-wrap: balance; }
.team-overview p, .team-heading p { margin: 0; font-size: 14px; color: var(--muted); }
.team-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 24px 0; background: #edf4f8; border: 1px solid var(--line); }
.team-stats > div { padding: 17px 20px; display: grid; gap: 3px; border-right: 1px solid var(--line); }
.team-stats > div:last-child { border: 0; }
.team-stats strong { color: var(--blue); font-size: 24px; font-variant-numeric: tabular-nums; }
.team-stats span { font-size: 13px; color: var(--muted); }
.team-list { display: grid; gap: 12px; }
.team-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border: 1px solid var(--line); padding: 20px 22px; color: var(--ink); text-decoration: none; }
.team-row > div { min-width: 0; }
.team-row:hover { border-color: #91b2c3; background: #fbfdfe; }
.team-row h3 { font-size: 18px; margin: 8px 0; }
.team-row p { font-size: 14px; color: var(--muted); margin: 6px 0 0; }
.team-row > span { white-space: nowrap; color: var(--blue); font-size: 14px; }
.team-back { display: inline-flex; min-height: 44px; align-items: center; color: var(--blue); }
.team-heading { margin: 10px 0 20px; }
.team-state { padding: 17px 20px; border-left: 3px solid var(--blue); background: #edf4f8; margin-bottom: 22px; }
.team-state p { margin: 8px 0 0; font-size: 14px; }
.team-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 24px; }
.team-tabs a { display: flex; min-height: 46px; padding: 10px 12px; justify-content: center; align-items: center; background: #fff; color: var(--muted); border: 1px solid var(--line); text-decoration: none; font-size: 14px; }
.team-tabs a[aria-current] { color: var(--blue); border-color: var(--blue); background: #edf4f8; font-weight: 700; }
.team-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 236px; gap: 24px; align-items: start; }
.team-main { display: grid; gap: 20px; min-width: 0; }
.team-panel { padding: 22px; border: 1px solid var(--line); background: #fff; min-width: 0; }
.team-panel > h2 { font-size: 19px; margin: 0 0 18px; }
.team-panel h3 { font-size: 16px; margin: 0 0 8px; }
.team-panel p { font-size: 14px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.team-action { border-top: 3px solid var(--blue); }
.team-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.team-field { display: grid; gap: 7px; min-width: 0; }
.team-wide { grid-column: 1 / -1; }
.team-fields > h3 { padding-top: 18px; margin-top: 4px; border-top: 1px solid var(--line); }
.team-form-section { border: 1px solid var(--line); background: #fbfdfe; }
.team-form-section > summary { display: flex; align-items: center; min-height: 48px; padding: 10px 14px; cursor: pointer; color: var(--blue); font-size: 14px; font-weight: 700; }
.team-form-section > summary::after { content: '+'; margin-left: auto; }
.team-form-section[open] > summary::after { content: '−'; }
.team-form-section > .team-fields { padding: 16px 14px; border-top: 1px solid var(--line); }
.team-field label { font-size: 14px; font-weight: 700; }
.team-field input, .team-field select, .team-field textarea { min-height: 46px; width: 100%; min-width: 0; padding: 10px 12px; font: inherit; font-size: 15px; color: var(--ink); background: #fff; border: 1px solid #becdd6; border-radius: 3px; }
.team-field textarea { line-height: 1.65; min-height: 94px; resize: vertical; }
.team-fields .team-check { grid-column: 1 / -1; }
.team-check { display: flex; gap: 10px; align-items: start; font-size: 14px; line-height: 1.7; min-height: 44px; }
.team-check input { margin: 5px 0 0; flex: 0 0 18px; width: 18px; height: 18px; }
.team-error { color: var(--danger); font-size: 14px; margin: 12px 0 0; }
.team-error:empty { display: none; }
.team-error:focus { outline: 2px solid var(--danger); outline-offset: 4px; }
.team-panel .button-row { flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.team-panel .btn, .team-overview .btn { min-height: 44px; }
.team-facts { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px 16px; font-size: 14px; margin: 0; }
.team-facts dt { color: var(--muted); }
.team-facts dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.team-member-list { display: grid; gap: 18px; }
.team-member-list > article + article { border-top: 1px solid var(--line); padding-top: 18px; }
.team-member-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.team-member-list h3 { margin: 0; }
.team-mentors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.team-milestone-head { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--muted); }
.team-deliverable, .team-feedback { padding: 14px 16px; border-left: 2px solid var(--blue); background: #edf4f8; margin-top: 16px; font-size: 14px; }
.team-contribution + .team-contribution { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.team-secondary, .team-history { padding: 0 18px; border: 1px solid var(--line); background: #fff; }
.team-secondary > summary, .team-history > summary { min-height: 48px; display: flex; align-items: center; font-size: 14px; cursor: pointer; color: var(--blue); }
.team-secondary .team-panel { border-left: 0; border-right: 0; border-bottom: 0; padding: 18px 0; }
.team-secondary .team-action { border-top: 1px solid var(--line); }
.team-secondary .btn { color: var(--blue); background: #fff; border: 1px solid var(--line); }
.team-secondary [data-team-action="terminate"] .btn, .team-secondary [data-team-action="withdraw"] .btn { color: var(--danger); border-color: var(--danger); }
.team-history p, .team-history li { font-size: 14px; overflow-wrap: anywhere; }
.team-progress { padding: 20px; border: 1px solid var(--line); background: #fff; }
.team-progress h2 { font-size: 17px; margin: 0 0 20px; }
.team-progress ol { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.team-progress li { display: flex; gap: 10px; font-size: 14px; color: var(--muted); }
.team-progress li > span { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; background: #eef3f6; font-size: 13px; }
.team-progress li > div { display: grid; gap: 4px; }
.team-progress small { font-size: 12px; }
.team-progress [aria-current] { color: var(--blue); }
.team-progress [aria-current] > span { color: #fff; border-color: var(--blue); background: var(--blue); }
.team-progress > p { margin: 22px 0 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.team-boundary { font-size: 13px; color: var(--muted); margin-top: 24px; }
.team-panel, .team-progress, .team-tabs { scroll-margin-top: 100px; }
@media (max-width: 1100px) { .team-workspace { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .team-public { padding-top: 22px; }
  .team-page-intro h1 { font-size: 25px; }
  .team-page-intro p { font-size: 14px; }
  .team-overview { align-items: start; flex-direction: column; gap: 14px; }
  .team-overview h2, .team-heading h2 { font-size: 21px; }
  .team-stats > div { padding: 13px 10px; }
  .team-stats strong { font-size: 22px; }
  .team-row { padding: 16px; align-items: start; flex-direction: column; gap: 10px; }
  .team-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-panel { padding: 18px 14px; }
  .team-fields, .team-mentors { grid-template-columns: minmax(0, 1fr); }
  .team-facts { grid-template-columns: 76px minmax(0, 1fr); gap: 10px; }
  .team-state { padding: 15px 14px; }
  .team-panel .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .team-progress ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-identity select { max-width: 100%; }
}

/* Teacher growth keeps the current task ahead of the complete record. */
.growth-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.growth-identity label { font-weight: 700; color: var(--ink); }
.growth-identity select { min-height: 44px; padding: 8px 30px 8px 10px; border: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; max-width: 100%; }
.growth-list-heading, .growth-detail-heading { margin-bottom: 20px; }
.growth-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.growth-list-heading h2, .growth-detail-heading h2 { margin: 0; font-size: 22px; }
.growth-list-heading p, .growth-detail-heading p { margin: 7px 0 0; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.growth-start { margin-bottom: 24px; }
.growth-start > h2 { margin: 0 0 8px; font-size: 20px; }
.growth-start > p { color: var(--muted); line-height: 1.7; }
.growth-type-guide { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); background: #eef4f7; }
.growth-type-guide > div { padding: 18px; border-bottom: 1px solid var(--line); }
.growth-type-guide > div:nth-child(odd) { border-right: 1px solid var(--line); }
.growth-type-guide > div:nth-last-child(-n + 2) { border-bottom: 0; }
.growth-type-guide strong { color: var(--blue); font-size: 16px; }
.growth-type-guide p { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.growth-record-list { display: grid; gap: 12px; margin-top: 22px; }
.growth-record { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px; background: #fff; border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.growth-record:hover { border-color: #91b2c3; }
.growth-record h3 { margin: 8px 0; font-size: 18px; }
.growth-record p { color: var(--muted); margin: 0; font-size: 14px; }
.growth-record > span { color: var(--blue); font-size: 14px; white-space: nowrap; }
.growth-back { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 10px; color: var(--blue); }
.growth-state { display: grid; gap: 8px; margin-bottom: 24px; padding: 18px 20px; border-left: 3px solid var(--blue); background: #edf4f8; }
.growth-state .status { justify-self: start; }
.growth-state p { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.7; }
.growth-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 228px; gap: 24px; align-items: start; }
.growth-main { display: grid; gap: 20px; min-width: 0; }
.growth-panel { min-width: 0; padding: 22px; border: 1px solid var(--line); background: #fff; }
.growth-panel h2 { margin: 0 0 18px; font-size: 19px; }
.growth-action-panel { border-top: 3px solid var(--blue); }
.growth-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.growth-field { display: grid; gap: 7px; min-width: 0; }
.growth-field label { color: var(--ink); font-size: 14px; font-weight: 700; }
.growth-wide { grid-column: 1 / -1; }
.growth-field input, .growth-field select, .growth-field textarea { display: block; width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #becdd6; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; }
.growth-field textarea { min-height: 94px; resize: vertical; line-height: 1.6; }
.growth-form .button-row { flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.growth-form .btn { min-height: 44px; }
.growth-error { margin: 12px 0 0; color: var(--danger); font-size: 14px; }
.growth-error:empty { display: none; }
.growth-facts { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 13px 16px; margin: 0; font-size: 14px; line-height: 1.7; }
.growth-facts dt { color: var(--muted); }
.growth-facts dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.growth-confirmations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.growth-confirmations > div { display: grid; align-content: start; gap: 5px; font-size: 14px; }
.growth-confirmations span { color: var(--blue); }
.growth-confirmations small { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.growth-log + .growth-log, .growth-result + .growth-result { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.growth-log h3, .growth-result h3 { margin: 0 0 10px; font-size: 16px; }
.growth-log p, .growth-result p { margin: 6px 0; font-size: 14px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.growth-feedback { padding: 14px 16px; margin-top: 16px; background: #edf4f8; border-left: 2px solid var(--blue); font-size: 14px; }
.growth-progress { padding: 20px; border: 1px solid var(--line); background: #fff; }
.growth-progress h2 { margin: 0 0 20px; font-size: 17px; }
.growth-progress ol { display: grid; gap: 16px; list-style: none; margin: 0; padding: 0; }
.growth-progress li { display: flex; align-items: start; gap: 10px; color: var(--muted); font-size: 14px; }
.growth-progress li > span { display: grid; flex: 0 0 28px; place-items: center; height: 28px; background: #eef3f6; border: 1px solid var(--line); border-radius: 50%; font-size: 13px; }
.growth-progress li > div { display: grid; gap: 4px; }
.growth-progress small { font-size: 12px; }
.growth-progress li[aria-current] { color: var(--blue); }
.growth-progress li[aria-current] > span { border-color: var(--blue); background: var(--blue); color: #fff; }
.growth-progress > p { margin: 22px 0 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.7; }
.growth-history { border: 1px solid var(--line); background: #fff; padding: 12px 20px; }
.growth-history summary { display: flex; min-height: 44px; align-items: center; color: var(--blue); font-size: 14px; cursor: pointer; }
.growth-history ol { display: grid; gap: 18px; padding-left: 20px; font-size: 14px; }
.growth-history li > span { display: block; color: var(--muted); font-size: 13px; margin-top: 4px; }
.growth-history p { margin: 6px 0 0; overflow-wrap: anywhere; }
.growth-boundary { margin-top: 24px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.growth-secondary-action { border: 1px solid var(--line); background: #fff; }
.growth-secondary-action > summary { display: flex; align-items: center; min-height: 48px; padding: 10px 18px; color: var(--muted); font-size: 14px; cursor: pointer; }
.growth-secondary-action .growth-panel { border: 0; border-top: 1px solid var(--line); }
.growth-secondary-action [data-growth-action="terminate"] .btn { color: var(--danger); border-color: var(--danger); }
@media (max-width: 1100px) { .growth-workspace { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .growth-fields { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .growth-panel { padding: 18px 14px; }
  .growth-facts { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
  .growth-list-heading { align-items: start; flex-direction: column; }
  .growth-record { padding: 16px; align-items: start; flex-direction: column; gap: 12px; }
  .growth-confirmations { grid-template-columns: minmax(0, 1fr); }
  .growth-type-guide > div { padding: 14px 12px; }
  .growth-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .growth-state { padding: 15px 14px; }
  .growth-detail-heading h2 { font-size: 20px; }
  .growth-progress ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 360px) { .growth-type-guide { grid-template-columns: minmax(0, 1fr); } .growth-type-guide > div:nth-child(odd) { border-right: 0; } .growth-type-guide > div:nth-last-child(2) { border-bottom: 1px solid var(--line); } }

button, input, textarea, select { accent-color: var(--action); }
button, a, select { touch-action: manipulation; }
h1, h2, h3 { text-wrap: balance; }
.feed-post h3, .feed-post h3 a,
body[data-page="post-detail"] #main h1 { text-wrap: pretty; }
#main :is(h2, h3)[id], #main .detail-section { scroll-margin-top: 90px; }
#main p, #main h1, #main h2, #main h3 { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid #226f7c;
  outline-offset: 3px;
}

.site-header {
  height: 72px;
  background: #fff;
  border-bottom: 1px solid #e5e8e7;
  box-shadow: 0 4px 20px #1e30300a;
}
.header-inner { max-width: 1320px; gap: 34px; }
.brand { color: var(--ink); gap: 12px; }
.brand-symbol {
  width: 42px;
  height: 42px;
  background: var(--action);
  border-radius: 3px;
  font-size: 21px;
}
.brand strong { font-size: 17px; font-weight: 800; }
.brand small { color: #677779; font-size: 12px; }
.main-nav { gap: 26px; }
.main-nav a { color: #48595d; border-bottom-width: 2px; font-size: 14px; }
.main-nav a:hover, .main-nav a.active { color: var(--action); border-color: var(--action); }
.header-actions { gap: 16px; font-size: 13px; }
.header-actions a:hover { color: var(--action); }
.header-search { color: var(--blue); }
.account-link { color: var(--ink); }
.admin-link { border-color: #ccd7d6; color: var(--ink); padding: 8px 12px; }
.admin-link:hover { border-color: var(--action); }
.workspace-label { padding-left: 18px; border-left: 1px solid #cdd8d7; font-size: 14px; font-weight: 700; color: var(--blue); }
.container { width: min(100% - 64px, 1190px); }

.section { padding: 58px 0; }
.section-white { background: #fff; }
.section-alt { background: #eef3f6; }
.section-head { margin-bottom: 24px; align-items: end; }
.section-head h2 { color: var(--ink); font-size: 25px; font-weight: 800; line-height: 1.3; }
.section-head p { color: var(--muted); font-size: 14px; margin-top: 7px; }
.section-head a, .inline-link { color: var(--blue); }
.section-head a:hover, .inline-link:hover { color: var(--action); }
.eyebrow { color: var(--action); font-size: 12px; font-weight: 800; }

.hero {
  min-height: 470px;
  background-color: #565f5e;
  background-position: center 45%;
}
.hero-inner { position: relative; isolation: isolate; }
.hero-inner::before { content: ''; position: absolute; z-index: -1; top: 18px; left: -22px; width: min(720px, 78%); height: calc(100% - 36px); border-radius: 8px; background: #17232638; pointer-events: none; }
.hero:before {
  background: linear-gradient(90deg, #262e31d9 0%, #293235a8 38%, #29323540 74%, #29323505 100%);
}
.hero-inner { padding: 57px 0 51px; }
.hero .eyebrow { color: #efd2a8; letter-spacing: 0; }
.hero h1 { max-width: 690px; font-size: 43px; font-weight: 800; line-height: 1.26; margin-bottom: 7px; text-shadow: 0 2px 7px #172326b8; }
.hero .hero-statement { max-width: 690px; margin: 0 0 9px; color: #fff; font-size: 26px; font-weight: 700; line-height: 1.35; text-shadow: 0 2px 7px #172326b8; }
.hero p { max-width: 610px; color: #f5f8f8; font-size: 15px; text-shadow: 0 1px 5px #172326b8; }
.hero-search { display: flex; width: min(100%, 590px); height: 53px; margin: 24px 0 15px; padding: 4px; background: #fff; border-radius: 4px; box-shadow: 0 6px 18px #17232635; }
.hero-search input { min-width: 0; flex: 1; border: 0; background: transparent; padding: 0 14px; color: var(--ink); font-size: 15px; outline: 0; }
.hero-search:focus-within { outline: 3px solid var(--blue); outline-offset: 3px; }
.hero-search button { flex: none; min-height: 44px; border: 0; border-radius: 3px; background: var(--action); color: #fff; padding: 0 21px; font-size: 14px; font-weight: 700; }
.hero-search button:hover { background: #216985; }
.hero .button-row { gap: 24px; }
.hero-link { color: #fff; border-bottom: 1px solid #ffffffaa; font-size: 13px; font-weight: 700; padding: 4px 0; }
.hero-link:hover { color: #f4d29a; border-color: #f4d29a; }
.hero-link::after { content: ' →'; }
.hero .btn { background: var(--action); border-color: var(--action); color: #fff; }
.hero .btn:hover { background: #216985; border-color: #216985; color: #fff; }
.hero .btn.secondary { background: #ffffffeb; border-color: #fff; color: var(--ink); }
.hero .btn.secondary:hover { background: #fff; color: var(--action); }
.hero-stats { gap: 0; margin-top: 36px; color: #e4ebeb; }
.hero-stats span { max-width: 205px; padding: 0 21px; border-left: 1px solid #ffffff67; }
.hero-stats span:first-child { padding-left: 0; border: 0; }
.hero-stats strong { font-size: 16px; }

.btn { min-height: 44px; border-radius: 4px; background: var(--action); border-color: var(--action); color: #fff; font-size: 14px; }
.btn:hover { background: #2d6276; border-color: #2d6276; }
.btn.secondary { color: var(--blue); border-color: #bacdd2; background: #fff; }
.btn.secondary:hover { background: #eaf2f3; border-color: var(--blue); }
.btn.ghost { color: var(--ink); border-color: #cad5d4; }
.btn.ghost:hover { background: #eef2f1; }
.btn.small { min-height: 36px; font-size: 13px; }
.dash-main .btn.small { min-height: 44px; }
.v2-event-attendee-field { margin: 8px 0; }
.v2-event-attendee-field input { min-height: 44px; }
.v2-event-roster-overview { margin: 18px 0 24px; }
.v2-event-roster-overview > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; }
.v2-event-roster-summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.v2-event-roster-summary h3, .v2-event-roster-summary p { margin: 0; }
.v2-event-roster-summary p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.v2-event-roster-summary dl { display: flex; gap: 16px; margin: 0; }
.v2-event-roster-summary dl > div { min-width: 72px; }
.v2-event-roster-summary dt { color: var(--muted); font-size: 12px; }
.v2-event-roster-summary dd { margin: 3px 0 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.v2-event-registration-actions { display: grid; gap: 8px; min-width: min(100%, 300px); }
.v2-rejection-note { display: grid; gap: 4px; color: var(--muted); font-size: 12px; }
.v2-rejection-note input { min-height: 40px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 4px; }
.v2-event-registration-actions .button-row { justify-content: flex-start; flex-wrap: wrap; }
.v2-event-registration-actions .button-row .btn { min-height: 44px; }
.v2-feedback-queue { margin-top: 0; padding-top: 20px; }
.v2-feedback-queue > h2 { margin-bottom: 7px; font-size: 21px; }
.v2-feedback-queue > p { margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.v2-community-queue-tools { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 18px; padding: 10px 12px; border: 1px solid var(--line); background: #fff; }
.v2-community-queue-nav { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-community-queue-nav a { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 10px; color: var(--blue); text-decoration: none; border: 1px solid var(--line); border-radius: 3px; }
.v2-community-queue-nav strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.v2-community-queue-nav a:hover { background: #eaf2f3; }
.v2-community-queue-tools > label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.v2-community-queue-tools select { min-height: 40px; padding: 0 9px; border: 1px solid var(--line); border-radius: 3px; background: #fff; }
.v2-community-queue .v2-feedback-group { scroll-margin-top: 18px; }
.v2-project-access-gate { max-width: 680px; margin: 38px auto; padding: 24px; border: 1px solid var(--line); background: #fff; }
.v2-project-access-gate h1 { margin: 14px 0 8px; font-size: 24px; }
.v2-project-access-gate p { margin: 0 0 18px; color: var(--muted); line-height: 1.65; }
.v2-project-access-gate .btn, .v2-project-apply-link { min-height: 48px; }
.v2-project-apply-link { display: flex; justify-content: center; align-items: center; width: 100%; margin-block: 10px 14px; text-decoration: none; }
.quick-grid { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.quick-link {
  min-height: 108px;
  padding: 20px 22px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  transition: background .18s ease;
}
.quick-link:first-child { padding-left: 0; }
.quick-link:last-child { border: 0; }
.quick-link:hover { background: #f7f9f8; box-shadow: none; }
.quick-link strong { font-size: 17px; color: var(--ink); }
.quick-link small { font-size: 13px; color: var(--muted); }
.quick-link .arrow { color: var(--action); font-size: 23px; }
.level-row { gap: 0; border-top: 1px solid #c9d3d2; }
.level-item { padding: 22px 22px 4px; border-top-width: 4px; border-color: var(--action); }
.level-item:first-child { padding-left: 0; }
.level-item:nth-child(2) { border-color: var(--blue); }
.level-item:nth-child(3) { border-color: #dc9968; }
.level-item:nth-child(4) { border-color: var(--ink); }
.level-item b { font-size: 17px; }
.level-item p { font-size: 13px; }
.path-band { background: #eaf2f6; color: var(--ink); }
.path-band .section-head h2,
.path-band .level-item b { color: var(--ink); }
.path-band .section-head p,
.path-band .level-item p { color: #52636e; }
.path-band .section-head a { color: var(--blue); border-bottom: 1px solid #a9c2ce; }
.path-band .level-row { border-color: #c4d4df; }
.path-band .level-item { border-color: #287c9c; }
.path-band .level-item:nth-child(2) { border-color: var(--warm); }
.path-band .level-item:nth-child(3) { border-color: #c88a35; }
.path-band .level-item:nth-child(4) { border-color: #778792; }

.grid { gap: 20px; }
.v2-discovery-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-discovery-row a { display: flex; align-items: center; min-height: 58px; padding: 10px 14px; border-right: 1px solid var(--line); color: var(--ink); font-weight: 650; line-height: 1.4; }
.v2-discovery-row a:first-child { padding-left: 0; color: var(--action); }
.v2-discovery-row a:last-child { border-right: 0; }
.v2-discovery-row a:hover { color: var(--action); background: #f7fafb; }
.v2-video-course-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(280px, .85fr); gap: 24px; align-items: start; }
.v2-event-change-banner { margin: 0 0 18px; }
.v2-event-change-banner strong { color: var(--ink); }
.v2-event-change-banner p { margin: 5px 0 0; }
.v2-event-change-banner.is-cancelled { border-left-color: #b34c4c; background: #fff1f1; }
.v2-event-card-cancelled { border-color: #e1c6b7; }
.v2-event-cancel-reason { border-left: 3px solid #bd7545; background: #fbf2ec; color: #694a37; padding: 9px 12px; }
.v2-event-checkin-cancelled { border-color: #e1c6b7; }
.v2-event-change-panel, .v2-event-change-history { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.v2-event-change-panel .section-head { margin-bottom: 14px; }
.v2-event-change-panel .checkline { margin-top: 2px; }
.v2-event-change-panel #v2-event-change-form,
.v2-event-change-panel #v2-event-change-form > .field { min-width: 0; }
.v2-event-change-panel #v2-event-change-form input,
.v2-event-change-panel #v2-event-change-form select,
.v2-event-change-panel #v2-event-change-form textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.v2-event-change-feedback { min-height: 1.4em; margin: 0; color: #a23d3d; font-size: 13px; }
.v2-event-change-history h2 { margin: 0 0 12px; font-size: 20px; }
.v2-event-absence-followup { display: grid; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-event-absence-followup .field { min-width: 0; }
.v2-event-absence-followup input, .v2-event-absence-followup select, .v2-event-absence-followup textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.v2-event-absence-followup .btn { min-height: 44px; }
.v2-event-followup-state { color: var(--muted); font-size: 13px; }
.v2-event-leave-form { width: 100%; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.v2-event-leave-form .field { min-width: 0; }
.v2-event-leave-form textarea { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.v2-event-ops-nav { display: flex; gap: 8px; margin: 16px 0 2px; padding: 5px; overflow-x: auto; border: 1px solid var(--line); background: #f7fafb; scroll-margin-top: 84px; }
.v2-event-ops-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 11px; color: var(--action); white-space: nowrap; font-size: 13px; font-weight: 700; }
.v2-event-ops-nav a:hover, .v2-event-ops-nav a:focus-visible { background: #eaf2f3; }
.v2-event-ops-section { scroll-margin-top: 84px; }
.v2-video-player-frame { overflow: hidden; aspect-ratio: 16 / 9; background: #101a20; }
.v2-video-player-frame video { display: block; width: 100%; height: 100%; object-fit: contain; }
.v2-video-title-row { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-top: 17px; }
.v2-video-title-row h2 { margin: 4px 0 0; font-size: 22px; line-height: 1.4; }
.v2-video-title-row .status { flex: none; }
.v2-video-course-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
.v2-video-course-actions > span { color: var(--muted); font-size: 14px; }
.v2-video-study-controls { margin-top: 16px; }
.v2-video-resume-note { margin: 0 0 10px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.v2-video-study-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; margin: 0 0 12px; color: var(--muted); }
.v2-video-study-progress [data-video-completed-count] { color: var(--ink); font-weight: 700; }
.v2-video-lesson-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-video-lesson-actions > .btn { flex: 0 0 auto; min-height: 44px; padding: 10px 16px; }
.v2-video-course-actions { flex-wrap: wrap; }
.v2-video-return-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.v2-video-return-links > .inline-link { display: inline-flex; align-items: center; min-height: 44px; }
.v2-video-course-actions > [data-video-joined-state] { font-size: 14px; color: var(--muted); }
[data-video-join][hidden], [data-video-joined-state][hidden] { display: none; }
[data-video-progress-retry] { margin-top: 12px; }
[data-video-progress-retry][hidden] { display: none; }
#v2-video-feedback.is-save-error { color: var(--danger); border-left-color: var(--danger); background: var(--danger-bg); }
body[data-page="me"] .dash-main .card-footer > a { display: inline-flex; align-items: center; min-height: 44px; }
.v2-video-learning-card { grid-column: auto; min-width: 0; }
.v2-video-card-position { font-size: 13px !important; overflow-wrap: anywhere; }
.v2-video-learning-card .card-body { display: flex; flex-direction: column; flex: 1; }
.v2-video-learning-card .card-footer { margin-top: auto; }
.v2-video-lesson-panel { min-width: 0; }
.v2-video-lesson-panel > p { color: var(--muted); font-size: 14px; line-height: 1.55; }
.v2-video-lesson-panel ol { max-height: 570px; margin: 14px 0; padding: 0; overflow: auto; list-style: none; border-top: 1px solid var(--line); }
.v2-video-lesson-panel li { border-bottom: 1px solid var(--line); }
.v2-video-lesson-panel li a { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: 9px; min-height: 52px; padding: 10px 8px; color: var(--ink); font-size: 14px; line-height: 1.45; }
.v2-video-lesson-panel li a:hover, .v2-video-lesson-panel li a.is-current { background: #eef5f7; color: var(--action); }
.v2-learn-context {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid var(--line);
}
.v2-learn-context > div { min-width: 0; }
.v2-course-feedback-learner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
#v2-course-review-form { display: flex; flex-direction: column; gap: 16px; padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
#v2-course-review-form .field select { height: 44px; min-height: 44px; flex: none; }
#v2-course-review-form p { margin: 0; font-size: 14px; }
.v2-review-form .field { margin: 0; }
.v2-review-form .btn { align-self: flex-start; min-height: 44px; }
.v2-course-feedback-record, .v2-course-feedback-school-record { min-width: 0; padding: 22px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; overflow-wrap: anywhere; }
.v2-course-feedback-record > header, .v2-course-feedback-school-record > header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.v2-course-feedback-record h3, .v2-course-feedback-school-record h3 { margin: 0; font-size: 18px; }
.v2-course-feedback-record p, .v2-course-feedback-school-record p { white-space: pre-wrap; line-height: 1.7; }
.v2-course-feedback-record small, .v2-course-feedback-school-record small { color: var(--muted); font-size: 13px; }
.v2-feedback-public-reply { padding: 16px; margin-block: 16px; background: #eef5f8; border-left: 3px solid var(--blue); }
.v2-feedback-public-reply p { margin-bottom: 0; }
.v2-course-feedback-record summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--blue); }
.v2-course-feedback-record time { font-size: 13px; color: var(--muted); }
.v2-course-feedback-school { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.v2-course-feedback-school .section-head { margin-bottom: 6px; }
.v2-course-feedback-queue { display: grid; gap: 16px; margin-top: 20px; }
.v2-course-feedback-school-form { padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--line); }
.v2-course-feedback-school-form .btn { min-height: 44px; }
.v2-course-feedback-feedback:empty { display: none; }
.v2-course-feedback-feedback[role=alert] { color: #9c2e2e; background: #fff2f2; padding: 12px; border-radius: 4px; }
@media (max-width: 800px) {
  .v2-course-feedback-learner { grid-template-columns: 1fr; gap: 20px; }
  #v2-course-review-form, .v2-course-feedback-record, .v2-course-feedback-school-record { padding: 18px 16px; }
  .v2-review-form .btn { align-self: stretch; }
  .v2-course-feedback-school-form .btn { width: 100%; }
}
.learn-shell { grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: 'heading heading' 'content directory' 'services directory'; align-items: start; }
.learn-shell > .v2-learn-context { grid-area: heading; margin-bottom: 0; }
.v2-learn-main { grid-area: content; min-width: 0; }
.v2-learn-directory { grid-area: directory; min-width: 0; }
.v2-learn-directory > summary { display: none; min-height: 44px; padding: 12px 14px; font-weight: 700; color: var(--blue); cursor: pointer; }
.v2-learn-directory .learn-chapters { max-height: 600px; margin: 0; }
.v2-learn-main .player { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
.v2-learn-main .player-content button { min-height: 44px; cursor: pointer; }
.v2-learn-main .learn-below > .toolbar { align-items: flex-start; gap: 12px; }
.v2-learn-main .learn-below > .v2-learn-questions-link { margin-right: 20px; margin-top: 8px; }
.v2-learn-chapter-navigation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0; }
.v2-learn-chapter-navigation > span { color: var(--muted); font-size: 13px; }
.v2-learn-chapter-navigation .btn { min-height: 44px; }
.learn-shell > .v2-learning-next-steps { grid-area: services; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 16px 0; border-top: 1px solid var(--line); }
.v2-learning-next-steps a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); }
@media (max-width: 800px) {
  .learn-shell { display: grid; width: calc(100% - 30px); grid-template-columns: minmax(0, 1fr); grid-template-areas: 'heading' 'directory' 'content' 'services'; gap: 12px; }
  .v2-learn-directory { background: #fff; border: 1px solid var(--line); border-radius: 6px; }
  .v2-learn-directory > summary { display: list-item; list-style-position: inside; }
  .v2-learn-directory .learn-chapters { border: 0; border-top: 1px solid var(--line); max-height: 290px; border-radius: 0; }
  .v2-learn-directory .learn-chapters h3 { display: none; }
  .v2-learn-main .learn-below { margin-top: 16px; }
  .v2-learn-main .learn-below > .toolbar { flex-wrap: wrap; }
  .v2-learn-main .learn-below > .toolbar .btn { min-height: 44px; }
  .learn-shell > .v2-learning-next-steps > strong { flex-basis: 100%; }
}
.v2-learn-context span { color: var(--action); font-size: 13px; font-weight: 700; }
.v2-learn-context h1 { margin: 3px 0 0; color: var(--ink); font-size: 25px; line-height: 1.3; }
.v2-learn-context .inline-link { flex: none; min-height: 44px; display: inline-flex; align-items: center; }
.v2-video-lesson-number { color: var(--muted); font-variant-numeric: tabular-nums; }
.v2-video-lesson-state { color: #1d6672; font-size: 12px; }
.card {
  position: relative;
  border: 1px solid #dce4e2;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 3px 16px #233b3b08;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.v2-favorite-toggle {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid #ffffffc9;
  border-radius: 50%;
  background: #ffffffeb;
  color: #53656d;
  font: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 3px 12px #24353a1c;
}
.v2-favorite-toggle:hover, .v2-favorite-toggle:focus-visible { color: var(--warm); background: #fff; }
.v2-favorite-toggle.is-active { color: var(--warm); }
.v2-favorite-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 0; padding: 16px 18px; border: 1px solid var(--line); background: #fff; }
.v2-favorite-row > div { min-width: 0; }
.v2-favorite-row h3 { margin: 7px 0 2px; font-size: 17px; }
.v2-favorite-row h3 a { color: var(--ink); }
.v2-favorite-row p { margin: 0; color: var(--muted); font-size: 13px; }
.v2-favorite-list { display: grid; gap: 10px; }
.v2-favorites-nav { order: 2; }
.v2-favorites-nav.active { color: var(--action); font-weight: 700; }
.card:hover { border-color: #b6cad4; box-shadow: 0 9px 25px #233b3b14; }
.card-image, .detail-visual {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  display: block;
  background: #dce3e1;
}
.card-body { padding: 18px 19px 17px; }
.card-meta { color: #647477; font-size: 13px; gap: 9px; }
.card h3 { font-size: 18px; line-height: 1.44; color: var(--ink); }
.card h3 a:hover { color: var(--action); }
.card p { color: var(--muted); font-size: 14px; line-height: 1.65; }
.card-footer { color: #637377; font-size: 13px; padding-top: 13px; }
.card-footer a { color: var(--action); }
#course-grid > .v2-video-course-card {
  display: flex;
  flex-direction: column;
  grid-column: auto;
  min-width: 0;
  width: auto;
  max-width: none;
}
#course-grid > .v2-video-course-card > .card-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.status { color: #255e7a; background: #eaf2f6; border-radius: 3px; font-size: 12px; }
.status.orange { color: #93531c; background: #fff0dd; }
.status.blue { color: #1d6672; background: #e4f1f2; }
.status.red { color: var(--danger); background: var(--danger-bg); }
.event-card { position: relative; display: block; border-color: #dce4e2; border-radius: 4px; box-shadow: 0 3px 16px #233b3b08; }
.event-card .event-info { padding: 16px 18px 15px; }
.event-card h3 { font-size: 17px; }
.event-card p { font-size: 14px; }
.event-card .event-image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.image-list > .event-card:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc(50% - 7px); justify-self: center; }
.avatar { background: #e8f1f6; color: var(--blue); }

/* Activity discovery puts schedule and venue ahead of the image. */
.v2-event-discovery { padding-bottom: 48px; }
.v2-event-viewbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.v2-event-viewbar nav { display: inline-flex; padding: 3px; background: #e8eef2; border-radius: 5px; }
.v2-event-viewbar nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 19px; border-radius: 3px; color: var(--muted); font-size: 14px; text-decoration: none; transition: background-color 160ms, color 160ms; }
.v2-event-viewbar nav a[aria-current="page"] { background: #fff; color: var(--blue); font-weight: 700; box-shadow: 0 1px 4px #25303912; }
.v2-event-viewbar > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: none; }
.v2-event-filters { display: grid; grid-template-columns: minmax(200px, 1.7fr) repeat(3, minmax(125px, 1fr)) auto; gap: 14px; align-items: end; margin-bottom: 24px; padding: 18px; }
.v2-event-filters label { display: grid; gap: 6px; min-width: 0; color: var(--muted); font-size: 13px; }
.v2-event-filters input, .v2-event-filters select { width: 100%; min-width: 0; min-height: 46px; padding: 9px 11px; font: inherit; font-size: 14px; border-radius: 3px; background: #fff; color: var(--ink); }
.v2-event-results-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 22px 0 14px; }
.v2-event-results-heading h2 { margin: 0; font-size: 19px; }
.v2-event-results-heading .result-line { margin: 0; color: var(--muted); font-size: 13px; }
.v2-event-agenda { display: grid; gap: 14px; }
.v2-event-agenda .v2-event-agenda-card { display: grid; grid-template-columns: 84px minmax(0, 1fr) 224px; align-items: start; gap: 22px; width: 100%; min-width: 0; margin: 0; padding: 22px; background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 8px #25303906; transition: border-color 160ms, box-shadow 160ms; }
.v2-event-agenda .v2-event-agenda-card:hover { border-color: #b6cad4; box-shadow: 0 5px 18px #2530390b; }
.v2-event-date-block { display: grid; align-content: center; justify-items: center; gap: 3px; min-height: 108px; border-radius: 4px; background: #edf4f8; color: var(--blue); font-variant-numeric: tabular-nums; }
.v2-event-date-block span { font-size: 13px; line-height: 1.5; }
.v2-event-date-block strong { font-size: 36px; font-weight: 700; line-height: 1.15; }
.v2-event-agenda .event-info { min-width: 0; padding: 0; }
.v2-event-agenda .card-meta { margin: 0 0 6px; gap: 8px; }
.v2-event-state { color: var(--muted); font-size: 13px; }
.v2-event-state.is-cancelled { color: var(--danger); }
.v2-event-agenda h3 { margin: 0 0 8px; font-size: 21px; line-height: 1.4; }
.v2-event-agenda h3 a { color: var(--ink); text-decoration: none; }
.v2-event-agenda h3 a:hover { color: var(--action); }
.v2-event-agenda .v2-event-full-date { display: block; color: var(--blue); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.v2-event-agenda .v2-event-location { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 5px 0; color: var(--muted); font-size: 14px; }
.v2-event-agenda .v2-event-summary { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.v2-event-agenda .card-footer { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; margin-top: 8px; padding-top: 5px; border: 0; }
.v2-event-agenda .card-footer > span { color: var(--muted); font-size: 13px; }
.v2-event-agenda .card-footer a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; text-decoration: none; }
.v2-event-mobile-action { display: none; }
.v2-event-thumb { position: relative; min-width: 0; overflow: hidden; border-radius: 3px; }
.v2-event-thumb .event-image { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; object-fit: cover; }
.v2-event-thumb .v2-favorite-toggle { right: 8px; top: 8px; }
.v2-event-registration-facts { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.v2-event-registration-facts li { display: grid; grid-template-columns: minmax(96px, 132px) 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.v2-event-registration-facts li:last-child { border-bottom: 0; }
.v2-event-registration-facts strong { color: var(--ink); }
.v2-event-registration-facts span { color: var(--muted); overflow-wrap: anywhere; }
.v2-event-publishing-details { padding: 16px; border: 1px solid var(--line); background: #f7fafb; }
.v2-event-publishing-details > h3 { margin: 0 0 12px; }
.v2-event-agenda .v2-event-empty { padding: 30px 20px; }
.v2-event-empty h3 { font-size: 18px; margin: 0; }
.v2-event-empty p { margin: 8px 0 16px; }
.v2-month-calendar { padding: 22px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.v2-calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.v2-calendar-toolbar h2 { margin: 0; font-size: 22px; font-variant-numeric: tabular-nums; }
.v2-calendar-toolbar > div { display: flex; gap: 8px; }
.v2-calendar-toolbar .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; padding: 0 12px; }
.v2-calendar-toolbar .btn[aria-label] { font-size: 24px; }
.v2-calendar-weekdays, .v2-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.v2-calendar-weekdays { margin-bottom: 7px; color: var(--muted); font-size: 13px; text-align: center; }
.v2-calendar-weekdays span { padding-bottom: 8px; }
.v2-calendar-day { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 7px; min-width: 0; min-height: 83px; padding: 10px 12px; border: 1px solid #e3e9ed; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; font-variant-numeric: tabular-nums; text-align: left; cursor: pointer; transition: background-color 160ms, border-color 160ms; }
.v2-calendar-day small { color: var(--blue); font-size: 12px; }
.v2-calendar-day small > span { margin-left: 3px; }
.v2-calendar-day.has-events { background: #edf5f9; border-color: #bfd7e3; }
.v2-calendar-day:hover { background: #e8f0f5; border-color: var(--action); }
.v2-calendar-day.is-today > span { font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.v2-calendar-day[aria-pressed="true"] { background: var(--action); border-color: var(--action); color: #fff; }
.v2-calendar-day[aria-pressed="true"] small { color: #fff; }
.v2-calendar-selection { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.v2-calendar-selection p { margin: 0; color: var(--muted); font-size: 13px; }
.v2-calendar-selection button { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--blue); font: inherit; font-size: 13px; cursor: pointer; }
.v2-calendar-selection button[hidden] { display: none; }
@media (max-width: 1000px) {
  .v2-event-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-event-search-label { grid-column: 1 / -1; }
  .v2-event-agenda .v2-event-agenda-card { grid-template-columns: 70px minmax(0, 1fr) 170px; gap: 17px; padding: 18px; }
  .v2-event-agenda h3 { font-size: 19px; }
}
@media (max-width: 640px) {
  .v2-event-viewbar { gap: 8px; margin-bottom: 12px; }
  .v2-event-viewbar nav a { padding-inline: 12px; font-size: 13px; }
  .v2-event-viewbar > a { font-size: 13px; }
  .v2-event-filters { gap: 11px 10px; padding: 14px 12px; margin-bottom: 18px; }
  .v2-event-filters label { font-size: 12px; }
  .v2-event-filters input, .v2-event-filters select { font-size: 14px; }
  .v2-event-filters .btn { min-height: 46px; }
  .v2-event-agenda { gap: 12px; }
  .v2-event-agenda .v2-event-agenda-card { grid-template-columns: 58px minmax(0, 1fr); gap: 13px; padding: 15px; }
  .v2-event-date-block { grid-column: 1; grid-row: 2; min-height: 82px; }
  .v2-event-date-block strong { font-size: 30px; }
  .v2-event-date-block span { font-size: 12px; }
  .v2-event-agenda .event-info { display: contents; }
  .v2-event-agenda .event-info .card-meta { grid-column: 1 / -1; grid-row: 1; }
  .v2-event-agenda .event-info h3 { grid-column: 2; grid-row: 2; align-self: center; min-width: 0; }
  .v2-event-agenda .event-info .v2-event-mobile-action { display: inline-flex; grid-column: 2; grid-row: 3; align-items: center; min-height: 44px; color: var(--blue); font-size: 14px; font-weight: 700; text-decoration: none; }
  .v2-event-thumb { grid-column: 1 / -1; grid-row: 4; width: 100%; max-width: none; justify-self: stretch; }
  .v2-event-agenda .event-info .v2-event-full-date { grid-column: 1 / -1; grid-row: 5; }
  .v2-event-agenda .event-info .v2-event-location { grid-column: 1 / -1; grid-row: 6; }
  .v2-event-agenda .event-info .v2-event-cancel-reason { grid-column: 1 / -1; grid-row: 7; }
  .v2-event-agenda .event-info .card-footer { grid-column: 1 / -1; grid-row: 8; }
  .v2-event-agenda h3 { margin-bottom: 8px; font-size: 19px; }
  .v2-event-agenda .v2-event-summary { display: none; }
  .v2-event-agenda .v2-event-location { gap: 3px 12px; font-size: 13px; }
  .v2-event-agenda .card-footer { gap: 3px; margin-top: 7px; }
  .v2-month-calendar { padding: 14px 10px; }
  .v2-calendar-toolbar { margin-bottom: 14px; }
  .v2-calendar-toolbar h2 { font-size: 18px; }
  .v2-calendar-toolbar > div { gap: 5px; }
  .v2-calendar-toolbar .btn { min-width: 44px; padding-inline: 8px; font-size: 12px; }
  .v2-calendar-weekdays, .v2-calendar-days { gap: 3px; }
  .v2-calendar-day { min-height: 58px; padding: 6px 4px; font-size: 14px; }
  .v2-calendar-day small { font-size: 11px; }
  .v2-calendar-day small > span { display: none; }
  .v2-event-results-heading h2 { font-size: 18px; }
}

.page-intro { padding: 47px 0 28px; }
.page-intro h1 { font-size: 32px; color: var(--ink); }
.page-intro p { color: var(--muted); font-size: 15px; }
.page-intro > .eyebrow,
.section-head > .eyebrow,
.hero-inner > .eyebrow,
.v2-expanded-page > .eyebrow,
.dash-main > .eyebrow,
.v2-teacher-public-intro > .eyebrow { display: none !important; }
.breadcrumb { color: var(--muted); font-size: 13px; }
.breadcrumb a:hover { color: var(--action); }
.filter-bar { background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 16px; }
.filter-bar input, .filter-bar select, .search-large { min-height: 46px; border-color: #cbd6d5; }
.filter-bar input:focus, .filter-bar select:focus, .search-large:focus { border-color: var(--blue); }
.v2-course-extra-filters { margin-top: 10px; border: 1px solid var(--line); background: #fff; }
.v2-course-extra-filters summary { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 13px; color: var(--ink); font-size: 14px; font-weight: 650; cursor: pointer; }
.v2-course-filter-active { color: var(--action); font-size: 12px; font-weight: 600; }
.v2-course-extra-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0 13px 13px; }
.v2-course-extra-field { display: grid; gap: 5px; min-width: 0; }
.v2-course-extra-field label { color: var(--muted); font-size: 13px; }
.v2-course-extra-field select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid #cbd6d5; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-course-extra-empty { margin-top: 12px; }
#course-grid .card[hidden] { display: none !important; }
.v2-filter-reset, .v2-empty-reset {
  min-height: 44px;
  border: 1px solid #b8cbd0;
  border-radius: 3px;
  background: #fff;
  color: var(--blue);
  padding: 0 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.v2-filter-reset:hover:not(:disabled), .v2-empty-reset:hover { background: #eaf2f3; border-color: var(--blue); }
.v2-filter-reset:disabled { color: #778689; background: #f1f4f3; border-color: #dce3e2; cursor: default; }
.v2-filter-reset:focus-visible, .v2-empty-reset:focus-visible { outline: 3px solid #226f7c; outline-offset: 2px; }
.v2-empty-reset { margin-top: 13px; }
.v2-return-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 4px 6px 4px 0;
  padding: 0 12px;
  border: 1px solid #b8cbd0;
  border-radius: 3px;
  background: #fff;
  color: var(--blue);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.v2-return-btn:hover { background: #eaf2f3; border-color: var(--blue); }
.v2-return-btn:focus-visible { outline: 3px solid #226f7c; outline-offset: 2px; }
.v2-expanded-page { max-width: 920px; padding-top: 42px; padding-bottom: 64px; }
.v2-expanded-page > .eyebrow { display: none !important; }
.v2-expanded-page > h1 { max-width: 760px; margin: 0; color: var(--ink); font-size: 32px; line-height: 1.3; }
.v2-expanded-page > .detail-lead { max-width: 760px; margin: 9px 0 25px; color: var(--muted); font-size: 15px; }
.v2-expanded-page h2 { color: var(--ink); font-size: 19px; line-height: 1.4; }
.v2-expanded-page p { color: var(--muted); }
.v2-expanded-page .notice, .v2-expanded-page .empty { margin-top: 16px; }
.v2-expanded-page .btn { min-height: 46px; }
.v2-topic-list, .v2-notice-list, .v2-calendar-list, .v2-showcase-list, .v2-certificate-list, .v2-review-list, .v2-faq-list { display: grid; gap: 10px; }
.v2-topic-list > a, .v2-notice-list > article, .v2-calendar-list > article, .v2-showcase-list > article, .v2-certificate-list > article, .v2-review-list > article, .v2-task-instructions, .v2-checkin-panel, .v2-result-summary, .v2-detail-list { border: 1px solid var(--line); background: #fff; }
.v2-topic-list > a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; padding: 14px 18px; color: var(--ink); }
.v2-topic-list > a:hover, .v2-notice-list h2 a:hover, .v2-calendar-list h2 a:hover { border-color: #aec6d1; color: var(--action); }
.v2-topic-list > a > span:first-child { display: grid; gap: 3px; }
.v2-topic-list strong { font-size: 17px; }
.v2-topic-list small, .v2-calendar-list p, .v2-showcase-list small { color: var(--muted); font-size: 13px; }
.v2-topic-list > a > span:last-child { color: var(--action); font-size: 20px; }
.v2-expanded-page .v2-simple-item { min-width: 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-simple-item h2 { margin: 9px 0 7px; }
.v2-simple-item h2 a { color: var(--ink); }
.v2-simple-item p { font-size: 14px; }
.v2-simple-item small { color: var(--muted); }
.v2-notice-list > article { padding: 18px 20px; }
.v2-notice-list time, .v2-calendar-list time { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.v2-notice-list h2 { margin: 7px 0; }
.v2-notice-list h2 a, .v2-calendar-list h2 a { color: var(--ink); }
.v2-notice-list p { margin-bottom: 0; }
.v2-notice-body { padding: 20px; border-left: 3px solid var(--action); background: #fff; }
.v2-notification-detail { max-width: 760px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-notification-detail-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.v2-notification-read-state, .v2-notification-detail-date, .v2-message-item small, .v2-message-state { color: var(--muted); font-size: 13px; }
.v2-notification-detail h2 { margin: 0 0 8px; font-size: 22px; }
.v2-notification-detail-date { margin: 0 0 18px; }
.v2-notification-detail-body { padding: 16px; border-left: 3px solid var(--action); background: #f1f6f7; color: var(--ink); line-height: 1.75; white-space: pre-wrap; }
.v2-notification-detail .button-row { margin-top: 20px; }
.v2-message-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.v2-message-heading h2 { margin: 0; }
.v2-message-heading p { margin: 5px 0 0; color: var(--muted); }
.v2-message-list { display: grid; gap: 8px; }
.v2-message-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 15px 16px; border: 1px solid var(--line); background: #fff; }
.v2-message-item.is-unread { border-left: 3px solid var(--action); background: #f8fbfb; }
.v2-message-item-main { min-width: 0; }
.v2-message-item strong { display: block; line-height: 1.5; }
.v2-message-item strong a { color: var(--ink); }
.v2-message-item strong a:hover { color: var(--action); }
.v2-message-item p { margin: 5px 0; color: var(--muted); line-height: 1.55; }
.v2-message-state { flex: none; padding-top: 2px; }
.v2-page-return { margin-top: 24px; }
.v2-page-return a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); font-weight: 700; }
.v2-expanded-page form.form-grid, .v2-expanded-page form.v2-quiz-form { display: grid; gap: 16px; max-width: 760px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-expanded-page form h2 { margin: 0; }
.v2-expanded-page .field { display: grid; gap: 7px; min-width: 0; }
.v2-expanded-page .field label, .v2-expanded-page form > label:not(.checkline) { color: var(--ink); font-size: 14px; font-weight: 700; }
.v2-expanded-page .field input, .v2-expanded-page .field select, .v2-expanded-page .field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-expanded-page .field textarea { min-height: 128px; resize: vertical; }
.v2-expanded-page .checkline, .v2-expanded-page .v2-radio-row { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; color: var(--ink); }
.v2-expanded-page .checkline input, .v2-expanded-page .v2-radio-row input { flex: none; width: 18px; height: 18px; margin-top: 3px; }
.v2-expanded-page .v2-quiz-form fieldset { min-width: 0; margin: 0; padding: 14px 16px; border: 1px solid var(--line); }
.v2-expanded-page .v2-quiz-form legend { padding: 0 6px; color: var(--ink); font-weight: 700; }
.v2-expanded-page .v2-radio-row { align-items: center; padding: 7px 0; }
.v2-expanded-page .v2-quiz-form .muted { margin: 0; font-size: 13px; }
.v2-review-list, .v2-faq-list { margin-top: 28px; }
.v2-review-list h2 { margin: 0 0 2px; }
.v2-review-list > article, .v2-showcase-list > article { padding: 17px 18px; }
.v2-review-list > article > p, .v2-showcase-list > article > p { margin: 8px 0; white-space: pre-wrap; }
.v2-certificate-list > article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; }
.v2-certificate-list h2 { margin: 0 0 5px; }
.v2-certificate-list p { margin: 0; font-size: 14px; }
.v2-certificate-list .btn { flex: none; }
.v2-result-summary, .v2-checkin-panel { display: grid; justify-items: start; gap: 10px; max-width: 760px; padding: 22px; }
.v2-result-summary > strong { color: var(--action); font-size: 34px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.v2-result-summary h2, .v2-result-summary p, .v2-checkin-panel p { margin: 0; }
.v2-result-summary + .button-row { margin-top: 18px; }
.v2-detail-list { display: grid; grid-template-columns: minmax(140px, 220px) minmax(0, 1fr); gap: 0; max-width: 760px; padding: 8px 18px; }
.v2-detail-list dt, .v2-detail-list dd { margin: 0; padding: 12px 4px; border-bottom: 1px solid #e8edf0; }
.v2-detail-list dt { color: var(--muted); }
.v2-detail-list dd { color: var(--ink); overflow-wrap: anywhere; }
.v2-detail-list dt:last-of-type, .v2-detail-list dd:last-of-type { border-bottom: 0; }
.v2-calendar-list > article { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 18px; padding: 18px 20px; }
.v2-calendar-list h2 { margin: 5px 0; }
.v2-calendar-list p { margin: 0; }
.v2-faq-list details { border-bottom: 1px solid var(--line); background: #fff; }
.v2-faq-list summary { display: flex; align-items: center; min-height: 52px; padding: 10px 14px; color: var(--ink); font-weight: 700; cursor: pointer; }
.v2-faq-list details p { margin: 0; padding: 0 14px 15px; font-size: 14px; }
.v2-expanded-page button:disabled { opacity: .6; cursor: not-allowed; }
.v2-expanded-page .button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.v2-public-info { max-width: 800px; }
.v2-public-info > h2 { margin: 28px 0 8px; }
.v2-public-info > h2:first-child { margin-top: 0; }
.v2-public-info > p, .v2-public-info > ul { line-height: 1.75; }
.v2-public-info > ul { padding-left: 22px; color: var(--muted); }
.v2-public-info-list { display: grid; grid-template-columns: minmax(130px, 190px) minmax(0, 1fr); margin: 14px 0 22px; padding: 4px 16px; border: 1px solid var(--line); background: #fff; }
.v2-public-info-list dt, .v2-public-info-list dd { margin: 0; padding: 12px 4px; border-bottom: 1px solid #e8edf0; }
.v2-public-info-list dt { color: var(--muted); font-weight: 600; }
.v2-public-info-list dd { color: var(--ink); }
.v2-public-info-list dt:nth-last-of-type(1), .v2-public-info-list dd:nth-last-of-type(1) { border-bottom: 0; }
.v2-course-question-list { display: grid; gap: 10px; }
.v2-course-question-row, .v2-course-question-detail, .v2-course-question-compose { min-width: 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-course-question-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v2-course-question-heading h2 { min-width: 0; margin: 0; font-size: 18px; overflow-wrap: anywhere; }
.v2-course-question-heading .status { flex: none; }
.v2-course-question-title { color: var(--ink); text-decoration: none; }
.v2-course-question-row > p, .v2-course-question-body { margin: 10px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.v2-course-question-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; color: var(--muted); font-size: 13px; }
.v2-course-question-meta a, .v2-course-questions-entry, .v2-learn-questions-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); font-weight: 700; }
.v2-course-question-compose { margin-top: 24px; }
.v2-course-question-compose > h2 { margin: 0 0 12px; }
.v2-course-locked { display: flex; align-items: center; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); background: #f4f7f8; color: var(--ink); }
.v2-course-question-feedback { margin: 0; color: var(--action); font-weight: 700; }
.v2-course-answer { margin: 18px 0; padding: 16px; border-left: 3px solid var(--action); background: #f1f7f9; }
.v2-course-answer h2, .v2-course-answer p { margin: 0 0 8px; }
.v2-course-answer p { white-space: pre-wrap; overflow-wrap: anywhere; }
.v2-course-answer small { color: var(--muted); }
.v2-course-secondary-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0 18px; }
.v2-course-secondary-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); font-weight: 700; }
.v2-materials-list { display: grid; gap: 10px; max-width: 820px; }
.v2-material-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid var(--line); background: #fff; }
.v2-material-row > div { min-width: 0; }
.v2-material-row .eyebrow { margin-bottom: 4px; }
.v2-material-row h2 { margin: 0 0 5px; font-size: 18px; }
.v2-material-row p { margin: 0; font-size: 14px; }
.v2-material-row > .btn { flex: none; min-width: 116px; min-height: 44px; }
.v2-material-row.is-unavailable { background: #f4f7f8; }
.v2-material-row small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.v2-course-material-review .v2-course-material-review-form { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-course-material-review > div > a { min-height: 44px; }
.v2-course-material-history, .v2-course-material-reviewed { margin-top: 24px; }
.v2-course-material-history > h2, .v2-course-material-reviewed > h2, .v2-course-material-queue > h2 { margin: 0 0 12px; font-size: 18px; }
.v2-material-submit > .v2-admin-form { max-width: 820px; }
.v2-course-material-record > div > .btn { margin-top: 4px; }
.v2-account-request-intro { max-width: 820px; margin-bottom: 14px; color: #435b60; }
.v2-account-request-form { max-width: 820px; }
.v2-account-request-form .v2-account-closure-confirm[hidden] { display: none; }
.v2-account-request-history, .v2-account-request-reviewed { margin-top: 24px; }
.v2-account-request-history > h2, .v2-account-request-reviewed > h2, .v2-account-request-queue > h2 { margin: 0 0 12px; font-size: 18px; }
.v2-account-request-list { display: grid; gap: 10px; }
.v2-account-request { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; min-width: 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-account-request h2 { margin: 0; font-size: 16px; }
.v2-account-request p { margin: 6px 0 0; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.v2-account-request-review .v2-account-request-review-form { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-account-request-review .button-row > .btn { min-height: 44px; }
.v2-my-question-toolbar { display: flex; align-items: end; gap: 10px; margin-bottom: 14px; }
.v2-my-question-toolbar p { flex: 1; margin: 0; }
.v2-my-question-toolbar label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-my-question-toolbar select { min-width: 190px; min-height: 44px; padding: 8px 10px; border: 1px solid #c5d1d8; background: #fff; color: var(--ink); font: inherit; }
.v2-account-list { display: grid; gap: 8px; }
.v2-account-list > article { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; min-width: 0; padding: 15px 16px; border: 1px solid var(--line); background: #fff; }
.v2-account-list > article > div { min-width: 0; }
.v2-account-list h3 { margin: 0 0 5px; color: var(--ink); font-size: 16px; }
.v2-account-list p { margin: 4px 0 0; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.v2-account-list article > a { display: inline-flex; align-items: center; flex: none; min-height: 44px; color: var(--blue); font-weight: 700; }
.v2-account-list [data-my-question] .status { display: inline-flex; margin-bottom: 7px; }
.v2-my-question-list [data-my-question][hidden] { display: none; }
.v2-account-list [data-my-question] h3 a { color: var(--ink); }
.v2-my-question-answer { padding-left: 10px; border-left: 2px solid var(--action); }
.v2-my-project-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0; border-block: 1px solid var(--line); }
.v2-my-project-stats > div { display: grid; gap: 2px; padding: 13px 16px; border-right: 1px solid var(--line); }
.v2-my-project-stats > div:first-child { padding-left: 0; }
.v2-my-project-stats > div:last-child { border: 0; }
.v2-my-project-stats strong { color: var(--blue); font-size: 21px; font-variant-numeric: tabular-nums; }
.v2-my-project-stats span { color: var(--muted); font-size: 13px; }
.v2-my-project-list { display: grid; gap: 14px; }
.v2-my-project-card { min-width: 0; padding: 17px; border: 1px solid var(--line); background: #fff; }
.v2-my-project-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.v2-my-project-heading h3 { margin: 0; color: var(--ink); font-size: 18px; line-height: 1.4; }
.v2-my-project-heading p { margin: 4px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.v2-my-project-review { margin: 12px 0 0; padding: 10px 12px; border-left: 3px solid var(--warm); background: #f8f4ed; color: var(--ink); font-size: 14px; }
.v2-my-project-assignment { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 14px 0 0; border: 1px solid var(--line); background: var(--line); }
.v2-my-project-assignment > div { min-width: 0; padding: 10px 12px; background: #f8fafb; }
.v2-my-project-assignment dt { color: var(--muted); font-size: 12px; }
.v2-my-project-assignment dd { margin: 3px 0 0; color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.v2-my-project-tasks { margin-top: 16px; }
.v2-my-project-tasks .section-head { margin-bottom: 6px; }
.v2-my-project-tasks .section-head h4 { margin: 0; font-size: 15px; }
.v2-my-project-tasks .section-head p { margin: 2px 0 0; font-size: 13px; }
.v2-my-project-tasks ol { display: grid; margin: 0; padding: 0; list-style: none; }
.v2-my-project-tasks li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.v2-my-project-tasks li > div { min-width: 0; }
.v2-my-project-tasks li strong { font-size: 14px; }
.v2-my-project-tasks li p { margin: 3px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.v2-my-project-tasks li .status { flex: none; }
.v2-my-project-showcase a, .v2-my-project-history summary { color: var(--blue); }
.v2-my-project-history { margin-top: 12px; }
.v2-my-project-history summary { display: inline-flex; min-height: 40px; align-items: center; cursor: pointer; }
.v2-my-project-history ol { margin: 4px 0 8px; padding-left: 20px; color: var(--muted); font-size: 13px; }
.v2-my-project-empty { display: grid; justify-items: center; gap: 12px; padding: 18px; border: 1px dashed #b9c8d0; background: #f8fafb; }
.v2-my-project-empty .empty { padding: 8px; }
.v2-my-project-card > .button-row { margin-top: 14px; }
.v2-teacher-question-list .v2-teacher-question-reply { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-workload-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.v2-workload-summary > div { display: grid; gap: 4px; min-width: 0; padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.v2-workload-summary strong { color: var(--blue); font-size: 22px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.v2-workload-summary span { color: var(--muted); font-size: 13px; }
.v2-workload-editor, .v2-workload-filter { margin: 18px 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-workload-editor h2, .v2-workload-list h2 { margin: 0 0 6px; color: var(--ink); font-size: 18px; }
.v2-workload-editor > p { margin: 0 0 12px; color: var(--muted); font-size: 14px; }
.v2-workload-editor form { padding: 0; border: 0; }
.v2-workload-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.v2-workload-filter label { font-weight: 700; }
.v2-workload-filter select { min-width: min(100%, 200px); min-height: 44px; padding: 8px 10px; border: 1px solid #c5d1d8; color: var(--ink); background: #fff; font: inherit; }
.v2-workload-list { margin: 20px 0; }
.v2-workload-record { grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); }
.v2-workload-review-form { display: grid; align-content: start; gap: 10px; min-width: 0; }
.v2-workload-review-form textarea { width: 100%; min-height: 84px; padding: 9px 10px; border: 1px solid #c5d1d8; color: var(--ink); font: inherit; }
.v2-workload-review-form .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-teacher-question-identity { display: grid; grid-template-columns: auto minmax(150px, 240px) minmax(0, 1fr); align-items: center; gap: 10px; margin: 0 0 14px; }
.v2-teacher-question-identity label { color: var(--ink); font-weight: 700; }
.v2-teacher-question-identity select { min-height: 44px; padding: 8px 10px; border: 1px solid #c5d1d8; background: #fff; color: var(--ink); font: inherit; }
.v2-teacher-question-identity span { color: var(--muted); font-size: 13px; }
.v2-teacher-question-reply .field textarea { min-height: 92px; }
.v2-teacher-question-reply > .btn { justify-self: start; min-height: 44px; }
.v2-review-comment { margin: 8px 0; padding: 9px 10px; border-left: 3px solid var(--warm); background: #fff7ec; color: #68491f; font-size: 13px; line-height: 1.55; }
.v2-review-stage { margin: 7px 0; color: var(--blue); font-size: 12px; font-weight: 700; }
.v2-course-progress { margin: 0 0 8px; color: var(--muted); font-size: 13px; }
.v2-lesson-complete small { color: #2d6e54; font-weight: 700; }
.v2-review-materials, .v2-audit-history { margin-top: 10px; color: #435b60; font-size: 13px; }
.v2-review-materials summary, .v2-audit-history summary { min-height: 44px; display: flex; align-items: center; color: var(--blue); font-weight: 700; cursor: pointer; }
.v2-review-materials a { display: inline-flex; align-items: center; min-height: 44px; }
.v2-review-materials dl { display: grid; grid-template-columns: minmax(76px, 25%) minmax(0, 1fr); gap: 6px 10px; margin: 8px 0; padding: 10px; background: #f4f7f6; }
.v2-review-materials dt { font-weight: 700; }
.v2-review-materials dd { margin: 0; overflow-wrap: anywhere; }
.v2-audit-history ol { margin: 6px 0 8px; padding-left: 22px; line-height: 1.6; }
.v2-course-field { margin-top: 14px; }
.v2-review-dialog { width: min(520px, calc(100vw - 32px)); max-height: min(85dvh, 640px); padding: 0; border: 1px solid #cddad8; border-radius: 5px; color: var(--ink); box-shadow: 0 18px 60px #182b2d30; }
.v2-review-dialog::backdrop { background: #182b2d73; }
.v2-review-dialog form { padding: 24px; }
.v2-review-dialog h2 { margin: 0 0 8px; font-size: 20px; }
.v2-review-dialog p { color: var(--muted); font-size: 14px; }
.v2-review-dialog label { display: block; margin: 14px 0 6px; font-weight: 700; }
.v2-review-dialog textarea { width: 100%; min-height: 132px; border: 1px solid #bac9c8; border-radius: 3px; padding: 10px; font: inherit; }
.v2-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.v2-enrollment-feedback { margin: 12px 0; font-size: 13px; line-height: 1.55; }
.aside-panel .btn:disabled { opacity: .72; cursor: default; }
.v2-mobile-event-enrollment { display: none; }
.learn-gate { padding: 30px 0 60px; }
.learn-gate .btn { margin-top: 8px; }
.result-line { color: var(--muted); font-size: 13px; }
.detail-main h1 { color: var(--ink); font-size: 32px; }
.detail-lead { color: #4b5e61; font-size: 16px; }
.detail-visual { max-height: none; border-radius: 4px; }
.v2-mobile-enrollment { display: none; }
.v2-published-course { min-width: 0; }
.v2-published-detail { padding-bottom: 42px; }
.v2-published-detail .detail-main h1 { margin-top: 8px; }
.v2-published-detail .detail-section { padding-top: 18px; }
.v2-learning-intents { margin-top: 26px; padding: 20px 0; border-top: 1px solid var(--line); }
.v2-learning-intents h2 { margin: 0 0 5px; font-size: 20px; }
.v2-learning-intents p { color: var(--muted); font-size: 13px; }
.v2-intent-list { display: grid; gap: 8px; margin-top: 12px; }
.v2-intent-list article { display: flex; justify-content: space-between; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); background: #fff; }
.v2-intent-list a { color: var(--blue); font-weight: 700; }
.v2-intent-list span { color: var(--muted); font-size: 13px; }
.v2-sample-link { display: inline-flex; align-items: center; min-height: 40px; color: var(--blue); font-weight: 700; }
.v2-unit-invite { margin: 16px 0 22px; padding: 16px; border-left: 3px solid var(--action); background: #eaf2f6; }
.v2-unit-invite h2 { margin: 0 0 5px; font-size: 18px; }

.v2-editorial-tabs { display: flex; gap: 4px; margin: 0 0 18px; border-bottom: 1px solid var(--line); }
.v2-editorial-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 15px; color: var(--muted); font-weight: 700; }
.v2-editorial-tabs a[aria-current="page"] { color: var(--action); border-bottom: 2px solid var(--action); }
.v2-editorial-list { margin-bottom: 24px; }
.v2-editorial-list > h2 { margin: 0 0 10px; font-size: 18px; }
.v2-editorial-row, .v2-editorial-review-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 250px); gap: 18px; padding: 16px 18px; border: 1px solid var(--line); border-bottom: 0; background: #fff; }
.v2-editorial-row:last-child, .v2-editorial-review-row:last-child { border-bottom: 1px solid var(--line); }
.v2-editorial-row p, .v2-editorial-review-row p { margin: 7px 0; color: var(--muted); font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.v2-editorial-row details, .v2-editorial-review-row details { margin-top: 8px; color: var(--muted); font-size: 13px; }
.v2-editorial-row summary, .v2-editorial-review-row summary { min-height: 40px; display: flex; align-items: center; color: var(--blue); font-weight: 700; cursor: pointer; }
.v2-editorial-record-body { white-space: pre-wrap; }
.v2-editorial-actions { display: flex; flex-direction: column; align-items: stretch; gap: 7px; min-width: 0; }
.v2-editorial-actions > a, .v2-editorial-actions > button { justify-content: center; min-height: 44px; }
.v2-editorial-offline { display: grid; gap: 7px; padding-top: 8px; border-top: 1px solid var(--line); }
.v2-editorial-offline label { color: var(--muted); font-size: 13px; font-weight: 700; }
.v2-editorial-offline input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid #c5d1d8; border-radius: 3px; font: inherit; }
.v2-editorial-workspace { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(270px, .9fr); gap: 22px; align-items: start; }
.v2-editorial-form, .v2-editorial-preview { min-width: 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-editorial-form { display: grid; gap: 14px; }
.v2-editorial-form h2, .v2-editorial-preview h2 { margin: 0; font-size: 18px; }
.v2-editorial-form .field textarea { min-height: 98px; }
.v2-editorial-form .button-row > button { min-height: 44px; }
.v2-editorial-preview { position: sticky; top: 16px; }
.v2-editorial-preview article { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-editorial-preview h3 { margin: 8px 0; font-size: 20px; line-height: 1.4; overflow-wrap: anywhere; }
.v2-editorial-preview p { color: var(--muted); font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.v2-editorial-review-row { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 10px; border-bottom: 1px solid var(--line); }
.v2-editorial-review-preview { padding: 12px 14px; border-left: 3px solid var(--action); background: #f2f7f9; }
.v2-editorial-review-preview p { margin: 0 0 8px; color: var(--ink); white-space: pre-wrap; }
.v2-editorial-review-preview small { color: var(--muted); }
.v2-editorial-review-form { display: grid; gap: 12px; max-width: 760px; margin-top: 8px; }
.v2-editorial-review-form textarea { width: 100%; min-height: 84px; padding: 10px 12px; border: 1px solid #c5d1d8; border-radius: 3px; font: inherit; }
.v2-editorial-review-form .button-row > button { min-height: 44px; }
.v2-unit-invite p { margin: 5px 0 12px; color: #465b64; font-size: 14px; }
.v2-unit-invite .v2-unit-invite-consent { display: flex; align-items: flex-start; gap: 9px; margin: 10px 0; color: #43545d; font-size: 13px; }
.v2-unit-invite .v2-unit-invite-consent { min-height: 44px; align-items: center; }
.v2-unit-invite-consent input { flex: none; margin-top: 4px; }
.v2-unit-invite .btn { min-height: 44px; }
.v2-unit-invite-confirmed { font-weight: 700; color: #2d6e54 !important; }
.v2-account-link-summary { max-width: 760px; margin: 18px 0; padding: 18px 20px; border-left: 3px solid var(--action); background: #eaf2f6; }
.v2-account-link-summary h2 { margin: 6px 0; font-size: 20px; }
.v2-account-link-summary p { margin: 6px 0 0; color: var(--muted); }

.v2-demo-login { max-width: 680px !important; }
.v2-identity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v2-identity-option { display: flex; align-items: flex-start; gap: 11px; min-width: 0; min-height: 76px; padding: 13px 14px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; }
.v2-identity-option:has(input:checked), .v2-identity-option.is-selected { border-color: var(--action); background: #edf5f7; box-shadow: inset 0 0 0 1px var(--action); }
.v2-identity-option input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--action); }
.v2-identity-option span { display: grid; gap: 3px; min-width: 0; }
.v2-identity-option strong { color: var(--ink); font-size: 15px; }
.v2-identity-option small { color: var(--muted); font-size: 13px; line-height: 1.45; }
.v2-identity-option[href] { justify-content: space-between; align-items: center; min-height: 84px; }
.v2-auth-links { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.v2-auth-panel { max-width: 760px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-auth-panel h2 { margin: 0 0 15px; }
.v2-auth-steps { display: grid; gap: 0; margin: 0 0 22px; padding: 0; list-style: none; counter-reset: auth-step; }
.v2-auth-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 0 12px; padding: 13px 0; border-bottom: 1px solid var(--line); counter-increment: auth-step; }
.v2-auth-steps li::before { content: counter(auth-step, decimal-leading-zero); grid-row: span 2; color: var(--action); font-size: 13px; font-weight: 800; }
.v2-auth-steps strong { color: var(--ink); font-size: 15px; }
.v2-auth-steps span { color: var(--muted); font-size: 14px; }
.v2-account-consent-list { display: grid; gap: 10px; max-width: 920px; margin: 18px 0; }
.v2-account-consent-record { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-account-consent-record h3 { margin: 0; font-size: 16px; }
.v2-account-consent-record p { margin: 7px 0; color: var(--muted); font-size: 13px; }
.v2-account-consent-record > button.btn.small { min-height: 48px; }
.v2-account-consent-record details { margin-top: 8px; color: var(--muted); font-size: 13px; }
.v2-account-consent-record summary { display: flex; align-items: center; min-height: 44px; color: var(--blue); font-weight: 700; cursor: pointer; }
.v2-account-consent-record ol { margin: 4px 0 8px; padding-left: 22px; line-height: 1.6; }
body.v2-has-unit-invite .v2-mobile-enrollment,
body.v2-has-unit-invite .aside-panel > .btn,
body.v2-has-unit-invite .aside-panel > button,
body.v2-has-unit-invite .v2-enrollment-feedback { display: none; }
.v2-admin-menu { margin: 4px 0 10px; }
.v2-admin-menu summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border: 1px solid var(--line); color: var(--blue); font-weight: 700; cursor: pointer; list-style: none; }
.v2-admin-menu summary::-webkit-details-marker { display: none; }
.v2-admin-menu summary::after { content: '+'; font-size: 18px; }
.v2-admin-menu[open] summary::after { content: '-'; }
.v2-publish-queue > p { color: var(--muted); font-size: 14px; }
.v2-publish-group { margin-top: 22px; }
.v2-publish-group > h3 { margin: 0 0 10px; color: var(--ink); font-size: 16px; }
.v2-publish-list { display: grid; gap: 8px; }
.v2-publish-list article { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.v2-publish-list article h3 { margin: 0 0 4px; font-size: 15px; }
.v2-publish-list article p { margin: 0; color: var(--muted); font-size: 13px; }
.v2-publish-list article > div:last-child { display: flex; align-items: center; gap: 14px; }
.v2-publish-list article a { min-height: 40px; display: inline-flex; align-items: center; }
.v2-task-form { display: grid; gap: 8px; max-width: 620px; margin-top: 10px; }
.v2-task-form label { font-weight: 700; font-size: 13px; }
.v2-task-form textarea, .v2-assignment-feedback-form textarea, .v2-project-feedback-form textarea { width: 100%; min-height: 76px; border: 1px solid var(--line); border-radius: 4px; padding: 10px; color: var(--ink); background: #fff; font: inherit; resize: vertical; }
.v2-task-status { margin: 7px 0; color: var(--muted); font-size: 13px; }
.v2-task-feedback { margin: 10px 0 0; padding: 10px 12px; border-left: 3px solid var(--blue); background: #eff6f8; color: var(--ink); font-size: 14px; }
.v2-assignment-feedback-form, .v2-project-feedback-form { display: grid; min-width: 180px; gap: 8px; }
.v2-assignment-feedback-form .btn { min-height: 44px; }
.v2-assignment-status { margin: 12px 0; }
.v2-assignment-prior-feedback { margin: 0; color: var(--muted); font-size: 13px; }
.v2-record-note { margin-top: 14px; }
.v2-project-submissions { margin-top: 24px; }
.v2-project-submission { align-items: flex-start !important; }
.v2-project-submission > div:first-child { flex: 1; min-width: 0; }
.v2-project-submission > div:first-child p { white-space: pre-wrap; overflow-wrap: anywhere; }
.v2-project-submission form { flex: 0 1 340px; }
.v2-event-publish-queue { margin-top: 24px; }
.v2-event-publish-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; margin-top: 8px; border: 1px solid var(--line); background: #fff; }
.v2-event-publish-row h3 { margin: 0 0 4px; font-size: 15px; }
.v2-event-publish-row p { margin: 0; color: var(--muted); font-size: 13px; }
.v2-event-publish-row > div:last-child { display: flex; align-items: center; gap: 14px; }
.v2-feedback-queue { margin-top: 24px; }
.v2-feedback-queue > h2 { margin: 0 0 6px; color: var(--ink); font-size: 20px; }
.v2-feedback-queue > p { color: var(--muted); font-size: 14px; }
.v2-feedback-group { display: grid; gap: 9px; margin-top: 22px; }
.v2-feedback-group > h3 { margin: 0; color: var(--ink); font-size: 16px; }
.v2-feedback-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 340px); align-items: start; gap: 16px; padding: 15px 16px; border: 1px solid var(--line); background: #fff; }
.v2-feedback-row h4 { margin: 0 0 6px; color: var(--ink); font-size: 15px; }
.v2-feedback-row p { margin: 0 0 8px; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.v2-feedback-row .status { display: inline-flex; padding: 3px 7px; }
.v2-feedback-row form { display: grid; gap: 7px; }
.v2-feedback-row form label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-feedback-row textarea, .v2-feedback-row select { width: 100%; min-height: 44px; padding: 9px 10px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-feedback-row textarea { resize: vertical; }
.v2-feedback-row .btn, .v2-admin-record .btn { min-height: 44px; }
.v2-queue-filter { display: flex; align-items: center; gap: 9px; width: fit-content; color: var(--muted); font-size: 13px; }
.v2-queue-filter select { min-width: 138px; min-height: 44px; padding: 8px 10px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-community-meta { color: var(--muted); font-size: 13px; }
.v2-moderation-group { margin-top: 24px; }
.v2-moderation-group > h3 { margin: 0; color: var(--ink); font-size: 17px; }
.v2-community-record-list { display: grid; gap: 10px; margin-top: 14px; }
.v2-community-record-list > article { min-width: 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-community-record-list h3 { margin: 0; font-size: 16px; }
.v2-community-record-list p { margin: 7px 0; font-size: 14px; overflow-wrap: anywhere; }
.v2-community-title-link { color: var(--blue); text-decoration: none; }
.v2-community-title-link:hover { text-decoration: underline; }
.v2-community-audit { margin: 8px 0; padding-left: 20px; color: var(--muted); font-size: 13px; }
.v2-community-record-section { margin-top: 28px; }
.v2-community-record-section > h2 { margin-bottom: 10px; }
.v2-content-moderation .button-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2-content-moderation .button-row .btn { min-height: 44px; }
.v2-supplement-admin-page { margin-top: 24px; padding-bottom: 36px; }
.v2-admin-page-head { margin-bottom: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.v2-admin-page-head h2 { margin: 0 0 5px; color: var(--ink); font-size: 20px; }
.v2-admin-page-head p { margin: 0; color: var(--muted); font-size: 14px; }
.v2-admin-record-list { display: grid; gap: 10px; margin-top: 18px; }
.v2-admin-record { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); align-items: start; gap: 18px; padding: 17px 18px; border: 1px solid var(--line); background: #fff; }
.v2-teacher-review-record { display: block; }
.v2-teacher-review-record > .v2-teacher-workflow-form { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-teacher-workflow-form { display: grid; gap: 10px; }
.v2-teacher-workflow-form textarea, .v2-teacher-workflow-form input:not([type="checkbox"]), .v2-teacher-workflow-form select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-teacher-workflow-form textarea { min-height: 78px; resize: vertical; }
.v2-teacher-workflow-form .checkline { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; }
.v2-teacher-workflow-form .checkline input { flex: none; width: 18px; height: 18px; margin: 3px 0 0; }
.v2-teacher-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.v2-teacher-form-grid .field { min-width: 0; }
.v2-teacher-form-grid .field-wide { grid-column: 1 / -1; }
.v2-teacher-application-form { max-width: 900px; display: grid; gap: 14px; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-teacher-application-form input:not([type="checkbox"]), .v2-teacher-application-form select, .v2-teacher-application-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-teacher-application-form textarea { resize: vertical; }
.v2-teacher-application-form small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.v2-teacher-contract-history { margin-top: 24px; }
.v2-teacher-contract-history > h3 { margin: 0; font-size: 17px; }
.v2-admin-record h3, .v2-admin-record h4 { margin: 0; color: var(--ink); font-size: 16px; }
.v2-admin-record p { margin: 7px 0; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.v2-admin-record small { color: var(--muted); font-size: 13px; }
.v2-admin-record-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.v2-finance-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 18px 0 24px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-finance-summary > div { display: grid; gap: 5px; min-width: 0; }
.v2-finance-summary span { color: var(--muted); font-size: 13px; }
.v2-finance-summary strong { color: var(--blue); font-size: 21px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.v2-quality-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 18px 0 20px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-quality-summary > div { display: grid; gap: 3px; min-width: 0; }
.v2-quality-summary strong { color: var(--blue); font-size: 22px; font-variant-numeric: tabular-nums; }
.v2-quality-summary span { color: var(--muted); font-size: 13px; }
.v2-quality-dimensions { margin: 22px 0; padding: 15px 0; border-bottom: 1px solid var(--line); }
.v2-quality-dimensions h2, .v2-quality-queue h2 { margin: 0 0 8px; font-size: 18px; }
.v2-quality-dimensions p { margin: 0 0 5px; color: var(--ink); font-size: 14px; }
.v2-quality-dimensions small { color: var(--muted); font-size: 13px; }
.v2-quality-case { grid-template-columns: minmax(0, 1fr) minmax(270px, 340px); }
.v2-quality-scope { color: var(--blue); font-size: 12px; font-weight: 700; }
.v2-quality-plan, .v2-quality-report { margin-top: 12px !important; padding: 11px 12px; border-left: 3px solid var(--action); background: #f1f6f8; }
.v2-quality-report { border-left-color: var(--warm); }
.v2-quality-plan p, .v2-quality-report p { margin-bottom: 0; }
.v2-quality-plan-form { display: grid; gap: 10px; padding: 14px; border-left: 3px solid var(--action); background: #f5f8fa; }
.v2-quality-plan-form h3 { margin: 0; font-size: 15px; }
.v2-quality-plan-form .field { display: grid; gap: 5px; }
.v2-quality-plan-form label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-quality-plan-form input, .v2-quality-plan-form select, .v2-quality-plan-form textarea, .v2-quality-report-form input, .v2-quality-report-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-quality-plan-form textarea, .v2-quality-report-form textarea { resize: vertical; }
.v2-quality-report-form { display: grid; gap: 10px; }
.v2-quality-report-form .field { display: grid; gap: 5px; }
.v2-quality-report-form label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-quality-plan-form > .btn, .v2-quality-report-form > .btn, .v2-quality-review-form .btn { min-height: 44px; }
.v2-quality-queue { margin-top: 24px; }
.v2-member-access-section, .v2-member-scope-report { margin-top: 26px; }
.v2-member-access-section > h2, .v2-member-scope-report > h2 { margin: 0 0 10px; font-size: 18px; }
.v2-member-access-card { grid-template-columns: minmax(0, 1fr) minmax(290px, 380px); }
.v2-member-live-scope { padding: 9px 11px; border-left: 3px solid var(--action); background: #f1f6f8; }
.v2-member-edit { margin-top: 8px; }
.v2-member-edit > summary { display: flex; align-items: center; min-height: 44px; color: var(--action); font-size: 13px; font-weight: 700; cursor: pointer; }
.v2-member-edit[open] > summary { margin-bottom: 8px; }
.v2-member-access-form { display: grid; gap: 10px; }
.v2-member-access-form .field { display: grid; gap: 5px; }
.v2-member-access-form .field > label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-member-access-form input:not([type="checkbox"]), .v2-member-access-form select, .v2-member-access-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-member-access-form small { color: var(--muted); font-size: 12px; }
.v2-member-scopes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 10px; min-width: 0; margin: 0; padding: 9px 10px 10px; border: 1px solid var(--line); }
.v2-member-scopes legend { padding: 0 4px; color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-member-scope-option { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 42px; color: var(--ink); font-size: 12px; line-height: 1.35; }
.v2-member-scope-option input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--action); }
.v2-member-scope-option input:disabled + span { color: #7a8991; }
.v2-member-transfer-form { max-width: none; margin-top: 22px; }
.v2-member-transfer-form h2 { margin: 0; font-size: 18px; }
.v2-member-scope-report .table-wrap { margin-top: 12px; }
.v2-member-scope-report .notice { margin-top: 12px; }
.v2-order-record { grid-template-columns: minmax(0, 1fr); }
.v2-order-record > .v2-refund-review-form { max-width: 720px; margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-order-detail .v2-refund-form, .v2-order-action, .v2-order-refund-status, .v2-settlement-policy { margin-top: 24px; }
.v2-order-action, .v2-order-refund-status, .v2-settlement-policy { padding: 16px 0; border-top: 1px solid var(--line); }
.v2-order-action h2, .v2-order-refund-status h2, .v2-settlement-policy h2 { margin: 0 0 9px; font-size: 18px; }
.v2-order-history { margin-top: 18px; color: var(--muted); }
.v2-order-history summary { min-height: 44px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.v2-order-history ol { padding-left: 22px; }
.v2-finance-course-list { display: grid; gap: 0; }
.v2-finance-course-list article { padding: 13px 0; border-top: 1px solid var(--line); }
.v2-finance-course-list h3 { margin: 0; font-size: 15px; }
.v2-finance-course-list p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.v2-settlement-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 18px 0 24px; padding: 14px 0; border-block: 1px solid var(--line); }
.v2-settlement-summary > div { display: grid; gap: 5px; min-width: 0; }
.v2-settlement-summary span { color: var(--muted); font-size: 13px; }
.v2-settlement-summary strong { color: var(--blue); font-size: 21px; font-variant-numeric: tabular-nums; }
.v2-settlement-list { margin-top: 16px; }
.v2-settlement-record { grid-template-columns: minmax(0, 1fr); }
.v2-settlement-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; margin: 16px 0; }
.v2-settlement-meta > div { min-width: 0; }
.v2-settlement-meta dt { color: var(--muted); font-size: 12px; }
.v2-settlement-meta dd { margin: 4px 0 0; color: var(--ink); font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.v2-settlement-lines { margin-top: 12px; }
.v2-settlement-lines .data-table { min-width: 720px; }
.v2-settlement-history { margin-top: 10px; color: var(--muted); }
.v2-settlement-history summary { display: flex; align-items: center; min-height: 44px; color: var(--action); font-size: 13px; font-weight: 700; cursor: pointer; }
.v2-settlement-history ol { padding-left: 20px; line-height: 1.65; }
.v2-settlement-record form { align-self: stretch; }
.v2-settlement-record form .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-settlement-record form .btn { min-width: 0; min-height: 44px; white-space: normal; }
.v2-settlement-queue { margin-top: 24px; }
.v2-settlement-queue > h2 { margin: 0 0 8px; font-size: 18px; }
.v2-settlement-policy ul { display: grid; gap: 7px; padding-left: 20px; color: var(--muted); font-size: 14px; }
.v2-admin-record .status { display: inline-flex; padding: 3px 7px; }
.v2-admin-record form { display: grid; gap: 10px; }
.v2-admin-record form label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-admin-record textarea, .v2-admin-record select, .v2-admin-form input:not([type="checkbox"]):not([type="radio"]), .v2-admin-form select, .v2-admin-form textarea { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-admin-form .checkline { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; }
.v2-admin-form .checkline input[type="checkbox"], .v2-admin-form .checkline input[type="radio"] { flex: none; width: 18px; height: 18px; margin: 3px 0 0; }
.v2-admin-record textarea, .v2-admin-form textarea { resize: vertical; }
.v2-admin-record .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-project-assignment-form { display: grid; gap: 10px; padding: 14px; border-left: 3px solid var(--blue); background: #f3f8fa; }
.v2-project-assignment-form h4 { margin: 0; }
.v2-project-assignment-form .field { display: grid; gap: 5px; }
.v2-project-assignment-form .field label { font-weight: 700; }
.v2-project-closeout-form { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-project-assignment-summary { padding: 20px; border: 1px solid var(--line); background: #fff; }
.v2-project-assignment-summary dl { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px 16px; margin: 18px 0 0; }
.v2-project-assignment-summary dt { color: var(--muted); font-weight: 700; }
.v2-project-assignment-summary dd { margin: 0; overflow-wrap: anywhere; }
.v2-admin-form { max-width: 820px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.v2-admin-form small { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.v2-governance-summary, .v2-audit-summary { display: grid; grid-template-columns: 160px 160px minmax(0, 1fr); align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.v2-governance-summary > div, .v2-audit-summary > div { display: flex; align-items: baseline; gap: 8px; }
.v2-governance-summary strong, .v2-audit-summary strong { color: var(--blue); font-size: 23px; font-variant-numeric: tabular-nums; }
.v2-governance-summary span, .v2-audit-summary span { color: var(--muted); font-size: 13px; }
.v2-governance-summary > p, .v2-audit-summary > p { margin: 0; color: var(--muted); font-size: 13px; }
.v2-role-policy-section, .v2-access-queue, .v2-audit-tools { margin-top: 28px; }
.v2-role-policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.v2-role-policy { min-width: 0; padding: 14px 0; border-top: 2px solid var(--line); }
.v2-role-policy h3 { margin: 0; font-size: 16px; }
.v2-role-policy ul { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }
.v2-role-policy li { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; color: var(--ink); font-size: 13px; }
.v2-role-policy code { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; text-align: right; }
.v2-access-workspace { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(230px, .7fr); gap: 28px; align-items: start; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.v2-access-workspace h2, .v2-access-queue h2 { margin: 0; font-size: 19px; }
.v2-access-workspace > div > p, .v2-access-queue .section-head p { margin: 5px 0 14px; color: var(--muted); font-size: 13px; }
.v2-access-workspace .v2-admin-form { max-width: none; padding: 16px; }
.v2-access-workspace .v2-admin-form > .btn { min-height: 44px; }
.v2-access-guidance { padding: 8px 0 0; }
.v2-access-guidance h3 { margin: 0; font-size: 15px; }
.v2-access-guidance ol { margin: 10px 0 0; padding-left: 20px; color: var(--muted); font-size: 13px; }
.v2-access-guidance li { margin: 0 0 7px; }
.v2-access-list { display: grid; gap: 12px; }
.v2-access-request { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 20px; padding: 16px 0; border-top: 1px solid var(--line); }
.v2-access-request h3 { margin: 0; font-size: 15px; }
.v2-access-request p { margin: 6px 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.v2-access-request form { display: grid; align-content: start; gap: 8px; }
.v2-access-request form .field { display: grid; gap: 5px; }
.v2-access-request form label { font-size: 13px; font-weight: 700; }
.v2-access-request textarea, .v2-access-request input { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-access-request textarea { resize: vertical; }
.v2-access-request .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-access-request .button-row .btn, .v2-access-request > form > .btn { min-height: 44px; }
.v2-access-history { margin-top: 8px; color: var(--muted); font-size: 12px; }
.v2-access-history summary, .v2-audit-row details summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; }
.v2-access-history ol { margin: 0; padding-left: 18px; }
.v2-audit-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px 18px; }
.v2-audit-filter { display: grid; grid-template-columns: minmax(180px, 1.4fr) repeat(4, minmax(120px, 1fr)) auto; align-items: end; gap: 10px; }
.v2-audit-filter .field { display: grid; gap: 5px; min-width: 0; }
.v2-audit-filter label { font-size: 12px; font-weight: 700; }
.v2-audit-filter input, .v2-audit-filter select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }
.v2-audit-filter-actions { display: flex; gap: 6px; }
.v2-audit-filter-actions .btn, #v2-audit-export { min-height: 44px; }
.v2-audit-count { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 13px; }
.v2-audit-list { display: grid; gap: 0; margin-top: 14px; }
.v2-audit-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, .55fr); gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); }
.v2-audit-row[hidden] { display: none; }
.v2-audit-row h3 { margin: 0; font-size: 15px; }
.v2-audit-row p { margin: 5px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.v2-audit-row details { align-self: start; color: var(--muted); font-size: 12px; }
.v2-audit-row details dl { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 4px 8px; margin: 0; }
.v2-audit-row details dt { font-weight: 700; }
.v2-audit-row details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.v2-member-audit-filter { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); align-items: end; gap: 10px; }
.v2-member-audit-filter .field { display: grid; gap: 5px; min-width: 0; }
.v2-member-audit-filter label { font-size: 12px; font-weight: 700; }
.v2-member-audit-filter input, .v2-member-audit-filter select { width: 100%; min-width: 0; min-height: 44px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; }
.v2-member-audit-tools #v2-member-audit-export { justify-self: end; }
.v2-member-audit-row { grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); }
.v2-course-image-disclosure { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.v2-event-ops-summary { display: grid; grid-template-columns: 180px 180px minmax(0, 1fr); align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.v2-event-ops-summary > div { display: flex; align-items: baseline; gap: 8px; }
.v2-event-ops-summary strong { color: var(--blue); font-size: 17px; }
.v2-event-ops-summary span, .v2-event-ops-summary p { color: var(--muted); font-size: 13px; }
.v2-event-ops-summary p { margin: 0; }
.v2-event-ops-section { margin-top: 26px; }
.v2-event-ops-section > .section-head { margin-bottom: 12px; }
.v2-event-ops-section > .section-head h2 { font-size: 19px; }
.v2-event-ops-form, .v2-event-incident-form { padding: 16px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.v2-event-ops-form input, .v2-event-ops-form select, .v2-event-ops-form textarea, .v2-event-incident-form input, .v2-event-incident-form select, .v2-event-incident-form textarea, .v2-event-incident-update textarea, .v2-event-school-followup textarea, .v2-event-safety-review-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); font: inherit; font-size: 14px; }
.v2-event-ops-form textarea, .v2-event-incident-form textarea { min-height: 84px; }
.v2-event-checklist { margin: 18px 0; padding: 12px 14px; border: 1px solid var(--line); }
.v2-event-checklist legend { padding: 0 5px; font-weight: 700; }
.v2-event-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 12px; }
.v2-event-check-item { display: flex; align-items: flex-start; gap: 9px; min-height: 44px; padding: 8px 0; color: var(--ink); font-size: 13px; line-height: 1.45; }
.v2-event-check-item input, .v2-event-incident-update input[type="checkbox"] { flex: none; width: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--action); }
.v2-event-ops-feedback, .v2-event-incident-feedback { min-height: 20px; color: var(--blue); font-size: 13px; }
.v2-event-incident-list, .v2-event-safety-review-list { display: grid; gap: 12px; }
.v2-event-incident, .v2-event-safety-review { min-width: 0; padding: 15px 0; border-top: 1px solid var(--line); }
.v2-event-incident h3, .v2-event-safety-review h3 { margin: 0; font-size: 16px; }
.v2-event-incident p, .v2-event-safety-review p { margin: 7px 0; color: var(--muted); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.v2-event-incident-update, .v2-event-school-followup, .v2-event-safety-review-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-event-incident-update .checkline { margin: 8px 0; }
.v2-event-review-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding-left: 18px; color: var(--muted); font-size: 12px; }
.v2-event-history summary { min-height: 44px; display: flex; align-items: center; color: var(--blue); font-weight: 700; cursor: pointer; }
.v2-event-safety-summary { margin-top: 18px; padding: 14px 16px; border-left: 3px solid #3a8092; background: #f2f7f9; }
.v2-event-safety-summary h3 { margin: 0 0 7px; font-size: 16px; }
.v2-event-safety-summary p { margin: 5px 0; color: var(--ink); font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.v2-training-plan-list { display: grid; gap: 10px; margin-top: 14px; }
.v2-training-plan-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px; padding: 16px 18px; border: 1px solid var(--line); background: #fff; }
.v2-training-plan-row.is-current { border-left: 3px solid var(--action); }
.v2-current-plan-label { color: var(--action); font-size: 13px; font-weight: 700; }
.v2-training-plan-row h3 { margin: 0; color: var(--ink); font-size: 16px; }
.v2-training-plan-row p { margin: 7px 0 0; color: var(--muted); font-size: 14px; overflow-wrap: anywhere; }
.v2-training-plan-row details { margin-top: 10px; color: var(--muted); font-size: 13px; }
.v2-training-plan-row summary { min-height: 36px; display: flex; align-items: center; cursor: pointer; }
.v2-training-plan-row > button, .v2-training-plan-row .button-row { align-self: center; }
.v2-training-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.v2-training-form-grid .field { min-width: 0; }
.v2-admin-form > h3 { margin: 0 0 4px; color: var(--ink); font-size: 17px; }
#v2-training-plan-form > .btn { min-height: 44px; }
.v2-training-overview, .v2-training-class { margin-top: 28px; }
.v2-training-overview > h3, .v2-training-class > h4 { margin: 0 0 12px; color: var(--ink); font-size: 17px; }
.v2-training-class-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.v2-training-class-head h3 { margin: 3px 0 5px; color: var(--ink); font-size: 19px; }
.v2-training-class-head p { margin: 0; color: var(--muted); font-size: 14px; }
.v2-training-learner-actions { display: grid; gap: 10px; min-width: 0; }
.v2-training-learner-actions > .btn { justify-self: start; min-height: 44px; }
.v2-training-remediation { min-width: 0; padding-top: 10px; border-top: 1px solid var(--line); }
.v2-training-remediation-summary { padding: 9px 11px; background: #f2f6f8; color: var(--ink); }
.v2-class-roster-form { max-width: 760px; display: grid; gap: 12px; margin: 18px 0 24px; }
.v2-class-roster-form .field { min-width: 0; }
.v2-class-roster-form .btn { justify-self: start; }
.v2-training-feedback, .v2-class-roster-feedback { min-height: 22px; margin: 0; color: var(--muted); font-size: 14px; }
.v2-training-plan-row .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-training-plan-row .button-row > * { min-height: 44px; }
.v2-training-review-plan { margin-top: 18px; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-training-review-plan > p { color: var(--muted); font-size: 14px; }
.v2-training-review-plan > .btn { min-height: 44px; margin-top: 14px; }
.v2-training-exception-row { grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr); align-items: start; }
.v2-training-exception-row details { margin-top: 10px; color: var(--muted); font-size: 13px; }
.v2-training-exception-row details summary { min-height: 38px; display: flex; align-items: center; cursor: pointer; }
.v2-training-disposition { display: grid; gap: 9px; min-width: 0; }
.v2-training-disposition .field { display: grid; gap: 5px; min-width: 0; }
.v2-training-disposition .field label { color: var(--ink); font-size: 13px; font-weight: 700; }
.v2-training-disposition select, .v2-training-disposition input, .v2-training-disposition textarea { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-training-disposition textarea { min-height: 76px; resize: vertical; }
.v2-training-disposition .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-training-disposition .button-row > button { min-height: 44px; }
.v2-training-school-review { display: grid; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-training-school-review .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-training-school-review .button-row > button { min-height: 44px; }
.v2-org-picker { display: grid; gap: 6px; max-width: 820px; margin: 0 0 16px; color: var(--ink); font-weight: 700; }
.v2-org-picker select { min-height: 44px; padding: 8px 10px; border: 1px solid #c5d1d8; border-radius: 3px; color: var(--ink); background: #fff; font: inherit; }
.v2-org-summary { max-width: 820px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.v2-org-summary h3 { margin: 0 0 5px; color: var(--ink); font-size: 17px; }
.v2-org-summary p { margin: 0; color: var(--muted); font-size: 14px; }
.v2-org-members, .v2-org-invites { max-width: 1000px; margin-top: 28px; }
.v2-org-members > h3, .v2-org-invites > h3 { margin: 0; color: var(--ink); font-size: 17px; }
.v2-org-members .v2-admin-record details summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; }
.v2-org-members .v2-admin-record > button { min-height: 44px; }
.v2-org-invite-form { grid-template-columns: minmax(0, 1fr); max-width: none; }
.v2-org-invite-form > h3, .v2-org-invite-form > .notice { grid-column: 1; }
#v2-org-invite-form > .btn { min-height: 44px; }
.v2-training-create { max-width: 820px; margin: 10px 0 22px; }
.v2-training-create > summary { display: flex; align-items: center; min-height: 48px; padding: 0 2px; color: var(--action); font-weight: 700; cursor: pointer; }
.v2-training-create > summary::marker { color: var(--action); }
.v2-training-create[open] > summary { margin-bottom: 10px; }
.v2-training-create .v2-admin-form { max-width: none; }
.v2-profile-preview { max-width: 820px; margin-top: 24px; padding: 18px 0; border-top: 1px solid var(--line); }
.v2-profile-preview h3 { margin: 0 0 12px; color: var(--ink); font-size: 16px; }
.v2-profile-preview strong { font-size: 18px; }
.v2-profile-preview p { color: var(--muted); }
.v2-roster-import-result { margin-top: 14px; }
.v2-roster-import-result:empty { display: none; }
.v2-partner-decision .button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-published-event { padding-bottom: 42px; }
.v2-published-event .detail-section { padding-top: 18px; }
.v2-event-feedback { min-height: 24px; color: var(--muted); font-size: 13px; }
.tabs { border-bottom-color: var(--line); }
.tabs .active, .tabs a:hover, .tabs button:hover { color: var(--action); border-color: var(--action); }
.aside-panel { border-color: #dce4e2; border-radius: 4px; box-shadow: 0 5px 22px #233b3b0b; }
.aside-panel .price { color: var(--ink); }
.notice { background: #eaf2f6; border-left-color: var(--blue); color: #3f5968; }
.feed-post, .resource, .task-row { border-color: #dce4e2; border-radius: 4px; }
.feed-post h3 { color: var(--ink); }
.side-menu .active, .side-menu button:hover, .side-menu a:hover { color: var(--blue); background: #eaf2f3; }
.outline-item b, .resource a { color: var(--blue); }

body[data-page="admin"] { background: #f2f5f8; }
body[data-page="admin"] .site-footer,
body[data-page="admin"] .mobile-nav { display: none; }
body[data-page="admin"] .header-inner { justify-content: flex-start; }
body[data-page="admin"] .header-actions { margin-left: auto; }
body[data-page="admin"] .proto-banner { background: #e8f0f4; color: #3e5a69; }
body[data-page="admin"] .dashboard { grid-template-columns: 224px minmax(0, 1fr); gap: 28px; max-width: 1320px; }
body[data-page="admin"] .dash-side {
  border: 1px solid #dbe3e2;
  border-radius: 4px;
  box-shadow: none;
  padding: 14px;
}
body[data-page="admin"] .dash-side h3 { font-size: 15px; padding: 3px 8px 12px; margin: 0 0 3px; }
body[data-page="admin"] .dash-side nav a { border-radius: 3px; padding: 10px 12px; font-size: 14px; }
body[data-page="admin"] .dash-side nav a.active,
body[data-page="admin"] .dash-side nav a:hover { color: #255e7a; background: #eaf2f6; }
body[data-page="admin"] .dash-main > .eyebrow { color: var(--blue); }
body[data-page="admin"] .dash-main h1 { color: var(--ink); font-size: 29px; }
body[data-page="admin"] .role-switch { gap: 0; border-bottom: 1px solid #d3dedd; }
body[data-page="admin"] .role-switch a {
  margin-bottom: -1px;
  padding: 10px 15px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #536569;
  font-size: 14px;
}
body[data-page="admin"] .role-switch a.active {
  color: var(--action);
  border-bottom-color: var(--action);
  font-weight: 800;
}
body[data-page="admin"] .stat-grid { gap: 12px; }
body[data-page="admin"] .stat {
  border: 1px solid #dce4e2;
  border-top: 3px solid var(--blue);
  border-radius: 4px;
  padding: 17px;
}
body[data-page="admin"] .stat:nth-child(2) { border-top-color: var(--yellow); }
body[data-page="admin"] .stat:nth-child(3) { border-top-color: #6d9bb0; }
body[data-page="admin"] .stat:nth-child(4) { border-top-color: #778792; }
body[data-page="admin"] .stat small { font-size: 13px; }
body[data-page="admin"] .stat strong { font-size: 28px; font-variant-numeric: tabular-nums; }
body[data-page="admin"] .section-head { margin-top: 8px; }
body[data-page="admin"] .section-head h2 { font-size: 21px; }
body[data-page="admin"] .task-row { padding: 17px 20px; background: #fff; }
body[data-page="admin"] .task-row h3 { font-size: 16px; }
body[data-page="admin"] .task-row p { font-size: 13px; }
body[data-page="admin"] .data-table { font-size: 13px; }
body[data-page="admin"] .data-table th { background: #eaf1f4; color: #465a66; }
body[data-page="admin"] .data-table th,
body[data-page="admin"] .data-table td { padding: 13px 14px; }
body[data-page="admin"] .data-table a,
body[data-page="admin"] .data-table button { color: var(--blue); }
body[data-page="admin"] .table-wrap { overscroll-behavior-x: contain; scrollbar-color: #9ab2b7 #edf2f1; }

.site-footer { background: #eaf0f3; color: #4d606b; border-top: 1px solid #dce4e7; }
.footer-inner strong { color: var(--ink); }
.footer-links a:hover { color: var(--action); }
.toast { background: var(--ink); }

@media (max-width: 1100px) {
  .header-inner { gap: 18px; }
  .main-nav { gap: 14px; }
  .main-nav a { font-size: 13px; }
}
@media (max-width: 850px) {
  .site-header { height: 62px; }
  .container { width: calc(100% - 40px); }
  .quick-grid, .level-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-link:nth-child(2) { border-right: 0; }
  .quick-link:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .quick-link:nth-child(3) { padding-left: 0; }
}
@media (max-width: 640px) {
  body[data-page="home"] .card-footer a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
  body[data-page="home"] .card-footer { align-items: center; }
  .v2-course-extra-filters summary { position: relative; padding-right: 38px; }
  .v2-course-extra-filters summary::after { content: '+'; position: absolute; right: 13px; color: var(--blue); font-size: 18px; font-weight: 400; }
  .v2-course-extra-filters[open] summary::after { content: '-'; }
  .v2-course-path-entry { flex-direction: row; align-items: center; min-height: 52px; padding-block: 7px; }
  .v2-course-path-entry a { flex: 0 0 auto; }
  .v2-notification-detail { padding: 16px; }
  .v2-notification-detail-status, .v2-message-heading { align-items: flex-start; flex-direction: column; }
  .v2-message-item { padding: 13px; }
  body { font-size: 16px; }
  .container { width: calc(100% - 32px); }
  .site-header { height: 58px; }
  .brand-symbol { width: 36px; height: 36px; font-size: 18px; }
  .brand strong { font-size: 15px; }
  .brand small { font-size: 12px; }
  .hero p { font-size: 15px; }
  .section { padding: 38px 0; }
  .section-head h2 { font-size: 21px; }
  .section-head p { font-size: 13px; }
  .hero { min-height: 300px; align-items: end; background-position: 58% center; }
  .hero:before { background: linear-gradient(0deg, #262e31e8 0%, #293235a8 42%, #29323532 82%, #29323512 100%); }
  .hero-inner { padding: 19px 0; }
  .hero h1 { font-size: 28px; line-height: 1.28; }
  .hero .hero-statement { max-width: 345px; font-size: 18px; line-height: 1.45; text-wrap: pretty; }
  .hero p { font-size: 14px; }
  .hero-search { height: 52px; margin: 14px 0 8px; }
  .hero-search input { padding: 0 9px; font-size: 13px; }
  .hero-search button { padding: 0 12px; font-size: 13px; }
  .hero .button-row { gap: 8px 16px; flex-wrap: wrap; }
  .hero-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
  .hero-stats { gap: 10px; margin-top: 24px; }
  .hero-stats span { width: 100%; max-width: none; border: 0; padding: 0; font-size: 12px; }
  .hero-stats strong { display: inline; margin-right: 7px; font-size: 13px; }
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.three, .grid.four, .image-list { grid-template-columns: 1fr; }
  .feed { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .feed .side-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; overflow: visible; border-top: 0; }
  .feed .side-menu button { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 6px 3px; border: 1px solid var(--line); border-radius: 3px; font-size: 13px; line-height: 1.25; text-align: center; }
  .feed .side-menu .active { border-color: var(--action); background: #eaf2f3; }
  .v2-feedback-queue { padding-top: 8px; }
  .v2-community-queue-tools { align-items: stretch; flex-direction: column; gap: 8px; padding: 10px; }
  .v2-community-queue-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .v2-community-queue-nav a { justify-content: center; min-width: 0; min-height: 44px; padding-inline: 4px; font-size: 13px; }
  .v2-community-queue-tools > label { justify-content: space-between; min-height: 44px; }
  .v2-community-queue-tools select { min-width: 0; min-height: 44px; flex: 1; }
  .quick-link { min-width: 0; min-height: 82px; padding: 11px 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 6px; }
  .quick-link:first-child, .quick-link:nth-child(3) { padding-left: 0; }
  .quick-link:nth-child(even) { border-right: 0; }
  .quick-link:nth-child(n+3) { border-bottom: 0; }
  .quick-link strong { font-size: 15px; line-height: 1.35; }
  .quick-link small { font-size: 12px; line-height: 1.4; }
  .quick-link .arrow { flex: none; font-size: 20px; }
  .v2-discovery-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-discovery-row a { min-width: 0; min-height: 52px; padding: 9px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; }
  .v2-discovery-row a:first-child { padding-left: 0; }
  .v2-discovery-row a:nth-child(even) { border-right: 0; }
  .v2-discovery-row a:nth-last-child(-n+2) { border-bottom: 0; }
  .v2-discovery-row a:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .v2-video-course-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .v2-video-title-row { gap: 9px; }
  .v2-video-title-row h2 { font-size: 18px; }
  .v2-learn-context { align-items: flex-start; flex-direction: column; gap: 5px; margin-bottom: 14px; padding-bottom: 12px; }
  .v2-learn-context h1 { font-size: 22px; }
  .v2-video-course-actions { align-items: flex-start; flex-direction: column; }
  .v2-video-lesson-panel ol { max-height: none; }
  .v2-video-lesson-panel li a { min-height: 48px; padding-inline: 4px; }
  .v2-favorite-row { align-items: stretch; flex-direction: column; gap: 10px; padding: 14px; }
  .v2-favorite-row .btn { width: 100%; }
  .filter-bar:has(#course-search) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .filter-bar:has(#course-search) #course-search { grid-column: 1 / -1; grid-row: 1; width: 100%; }
  .filter-bar:has(#course-search) select { width: 100%; min-width: 0; }
  .filter-bar:has(#course-search) select:first-of-type { grid-column: 1; grid-row: 2; }
  .filter-bar:has(#course-search) select:nth-of-type(2) { grid-column: 2; grid-row: 2; }
  .filter-bar:has(#course-search) .v2-filter-reset { grid-column: 3; grid-row: 2; justify-self: stretch; width: auto; padding-inline: 6px; font-size: 12px; }
  .v2-course-extra-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v2-course-extra-field:last-child { grid-column: 1 / -1; }
  #course-grid .card { display: block; }
  #course-grid .card-image { width: 100%; height: auto; aspect-ratio: 16 / 9; }
  #course-grid .card-body { min-width: 0; padding: 13px 14px 8px; }
  #course-grid .card-meta { gap: 6px; font-size: 13px; line-height: 1.4; margin-bottom: 5px; }
  #course-grid .status { padding: 2px 6px; font-size: 12px; }
  #course-grid .card h3 { font-size: 16px; line-height: 1.45; margin-bottom: 0; }
  #course-grid .card h3 a { display: flex; min-height: 44px; align-items: center; }
  #course-grid .card p { display: none; }
  #course-grid .card-footer { align-items: center; flex-direction: row; justify-content: space-between; gap: 8px; padding-top: 6px; font-size: 13px; line-height: 1.4; }
  #course-grid .card-footer a { display: inline-flex; align-items: center; min-height: 44px; white-space: normal; }
  .v2-course-image-disclosure { margin: 0 0 10px; color: var(--muted); font-size: 13px; line-height: 1.45; }
  .v2-published-course .card-footer a { min-height: 44px; }
  .level-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .level-item { padding: 15px 10px 6px; }
  .level-item:nth-child(3) { padding-left: 0; }
  .level-item b { font-size: 14px; }
  .level-item p { font-size: 13px; }
  .card h3 { font-size: 18px; }
  .card p { font-size: 14px; }
  .card-image, .detail-visual { aspect-ratio: 16 / 9; height: auto; }
  .image-list .event-card { display: block; }
  .image-list > .event-card:last-child:nth-child(odd) { grid-column: auto; width: auto; justify-self: stretch; }
  .image-list .event-card .event-image { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .event-card .event-info { padding: 16px; }
  .event-card .card-footer a, .feed-post .post-tools a { display: inline-flex; align-items: center; min-height: 44px; }
  .v2-event-leave-form > .btn { min-height: 48px; }
  .page-intro { padding: 29px 0 21px; }
  .v2-expanded-page { padding-top: 25px; padding-bottom: 38px; }
  .v2-expanded-page > h1 { font-size: 26px; }
  .v2-expanded-page > .detail-lead { margin-bottom: 19px; font-size: 14px; }
  .v2-course-question-row, .v2-course-question-detail, .v2-course-question-compose { padding: 14px; }
  .v2-material-row { align-items: stretch; flex-direction: column; gap: 12px; padding: 15px; }
  .v2-material-row > .btn { width: 100%; }
  .v2-account-request { flex-direction: column; padding: 14px; }
  .v2-account-request > .btn { width: 100%; min-height: 44px; }
  .v2-my-question-toolbar { align-items: stretch; flex-direction: column; }
  .v2-my-question-toolbar select { width: 100%; }
  .v2-account-list > article { flex-direction: column; gap: 4px; padding: 14px; }
  .v2-account-list article > a { align-self: flex-start; }
  .v2-my-project-stats > div { padding: 10px 8px; }
  .v2-my-project-stats > div:first-child { padding-left: 0; }
  .v2-my-project-stats span { font-size: 12px; }
  .v2-my-project-card { padding: 13px; }
  .v2-my-project-heading { flex-direction: column; gap: 7px; }
  .v2-my-project-heading h3 { font-size: 17px; }
  .v2-my-project-assignment { grid-template-columns: minmax(0, 1fr); }
  .v2-my-project-tasks li { flex-direction: column; gap: 5px; }
  .v2-my-project-empty > .btn { width: 100%; }
  .v2-course-question-heading { gap: 8px; }
  .v2-course-question-heading h2 { font-size: 16px; }
  .v2-course-question-meta { display: grid; gap: 2px; }
  .v2-teacher-question-identity { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .v2-expanded-page form.form-grid, .v2-expanded-page form.v2-quiz-form { gap: 13px; padding: 15px; }
  .v2-expanded-page .v2-quiz-form fieldset { padding: 12px; }
  .v2-certificate-list > article { align-items: stretch; flex-direction: column; gap: 12px; }
  .v2-certificate-list .btn { width: 100%; }
  .v2-detail-list { grid-template-columns: minmax(0, 1fr); padding: 8px 14px; }
  .v2-detail-list dt { padding: 10px 2px 0; border-bottom: 0; font-size: 13px; }
  .v2-detail-list dd { padding: 2px 2px 10px; }
  .v2-public-info-list { grid-template-columns: minmax(0, 1fr); padding: 4px 12px; }
  .v2-public-info-list dt { padding: 10px 2px 0; border-bottom: 0; }
  .v2-public-info-list dd { padding: 2px 2px 10px; }
  .v2-calendar-list > article { grid-template-columns: 1fr; gap: 5px; padding: 15px; }
  .v2-topic-list > a, .v2-notice-list > article { padding: 14px; }
  .v2-result-summary, .v2-checkin-panel { padding: 16px; }
  .v2-expanded-page .button-row > * { flex: 1 1 140px; }
  .page-intro h1 { font-size: 26px; }
  .page-intro p { font-size: 14px; }
  .detail-main h1 { font-size: 26px; }
  .detail-lead { font-size: 15px; }
  .v2-mobile-event-enrollment { display: grid; gap: 7px; margin: 12px 0 22px; padding: 13px; border: 1px solid var(--line); background: #fff; }
  .v2-mobile-event-enrollment > label { font-size: 13px; font-weight: 700; }
  .v2-mobile-event-enrollment > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .v2-mobile-event-enrollment input { min-width: 0; min-height: 46px; padding: 9px 11px; border: 1px solid #becdd6; color: var(--ink); font: inherit; }
  .v2-mobile-event-enrollment .btn { min-height: 46px; padding: 0 14px; white-space: nowrap; }
  .v2-mobile-event-enrollment .btn:disabled { opacity: .72; }
  .v2-mobile-event-feedback { margin: 0; color: var(--muted); font-size: 13px; }
  .v2-mobile-event-feedback:empty { display: none; }
  .v2-event-mobile-booking-ready > .aside-panel { display: none; }
  .v2-mobile-enrollment { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 4px; padding: 11px 12px; border: 1px solid #d8e2e8; border-radius: 4px; background: #fff; }
  .v2-mobile-enrollment .v2-mobile-price { min-width: 0; color: var(--ink); font-size: 19px; font-weight: 800; }
  .v2-mobile-enrollment .btn { min-width: 128px; min-height: 44px; padding: 0 14px; }
  .v2-mobile-enrollment .btn:disabled { opacity: .74; }
  .v2-course-secondary-links { display: flex; flex-wrap: wrap; gap: 4px 16px; max-width: 100%; margin: 8px 0 14px; }
  .v2-course-secondary-links a { flex: 0 1 auto; min-width: 0; white-space: normal; }
  .v2-course-booking-aside { margin-top: 12px; padding: 13px 14px; }
  .v2-course-booking-aside > .price,
  .v2-course-booking-aside > p,
  .v2-course-booking-aside .v2-enrollment-feedback,
  .v2-course-booking-aside > .btn { display: none; }
  .v2-course-booking-aside h3 { margin-bottom: 5px; }
  .v2-course-booking-aside .aside-facts { margin: 0; }
  .v2-published-detail { display: block; padding-bottom: 34px; }
  .v2-learning-intents { margin-top: 22px; padding: 16px 0; }
  .v2-intent-list article { display: grid; gap: 4px; padding: 11px 12px; }
  .v2-sample-link { min-height: 44px; }
  .v2-publish-list article { align-items: flex-start; flex-direction: column; gap: 10px; padding: 13px 14px; }
  .v2-publish-list article > div:last-child { flex-wrap: wrap; gap: 10px; }
  .v2-publish-list article a { min-height: 44px; }
  .v2-event-publish-row { align-items: flex-start; flex-direction: column; gap: 10px; padding: 13px 14px; }
  .v2-event-publish-row > div:last-child { flex-wrap: wrap; }
  .v2-task-form { width: 100%; }
  .v2-project-submission { flex-direction: column; }
  .v2-project-submission form { flex-basis: auto; width: 100%; }
  .v2-feedback-row { grid-template-columns: minmax(0, 1fr); padding: 13px 14px; }
  .v2-feedback-row form { width: 100%; }
  .v2-feedback-row form > .btn { width: 100%; min-height: 48px; }
  .v2-feedback-row form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-content-moderation .button-row { grid-template-columns: minmax(0, 1fr); }
  .v2-content-moderation .button-row .btn, .v2-admin-record form .btn { min-height: 48px; }
  .v2-queue-filter { width: 100%; justify-content: space-between; }
  .v2-queue-filter select { flex: 1; min-height: 48px; }
  .v2-community-record-list > article { padding: 13px; }
  .v2-admin-record { grid-template-columns: minmax(0, 1fr); gap: 13px; padding: 14px; }
  .v2-member-access-card { grid-template-columns: minmax(0, 1fr); }
  .v2-member-scopes { grid-template-columns: minmax(0, 1fr); }
  .v2-member-access-form .button-row > .btn { flex: 1 1 132px; min-height: 48px; }
  .v2-quality-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .v2-project-assignment-summary dl { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .v2-project-assignment-summary dd { margin-bottom: 9px; }
  .v2-project-assignment-form .btn, .v2-project-closeout-form .btn { min-height: 48px; }
  .v2-admin-record .button-row > .btn { flex: 1 1 130px; }
  .v2-account-consent-record { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 13px; }
  .v2-account-consent-record > button { width: 100%; }
  .v2-account-link-summary { padding: 15px; }
  .v2-identity-grid { grid-template-columns: 1fr; }
  .v2-identity-option { min-height: 68px; padding: 12px; }
  .v2-identity-option[href] { min-height: 68px; }
  .v2-auth-panel { padding: 15px; }
  .v2-event-registration-actions .btn { min-height: 44px; }
  .v2-event-roster-summary { display: grid; gap: 12px; }
  .v2-event-roster-summary dl { justify-content: space-between; gap: 8px; }
  .v2-event-registration-actions { min-width: 0; width: 100%; }
  .v2-event-registration-actions .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .v2-event-registration-actions .button-row .btn { min-width: 0; min-height: 44px; white-space: normal; }
  .v2-admin-form { padding: 14px; }
  #v2-training-plan-form > .btn { min-height: 48px; }
  .v2-org-picker select, .v2-org-members .v2-admin-record > button { min-height: 48px; }
  #v2-org-invite-form > .btn { min-height: 48px; }
  .v2-training-form-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-teacher-form-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-teacher-form-grid .field-wide { grid-column: auto; }
  .v2-teacher-application-form { padding: 14px; }
  .v2-teacher-workflow-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-teacher-workflow-form .button-row > .btn, .v2-teacher-contract-form > .btn { min-height: 48px; }
  .v2-training-plan-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; }
  .v2-training-plan-row > button { justify-self: start; min-height: 44px; }
  .v2-training-plan-row .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-training-plan-row .button-row > * { justify-content: center; min-height: 48px; }
  .v2-training-learner-actions > .btn, .v2-training-remediation .btn { width: 100%; min-height: 48px; }
  .v2-training-remediation { width: 100%; }
  .v2-training-review-plan { padding: 14px; }
  .v2-training-exception-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; }
  .v2-training-disposition { width: 100%; }
  .v2-training-disposition select, .v2-training-disposition input, .v2-training-disposition textarea { min-height: 48px; font-size: 16px; }
  .v2-training-disposition textarea { min-height: 84px; }
  .v2-training-disposition .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-training-disposition .button-row > button { min-height: 48px; }
  .v2-editorial-row { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 14px; }
  .v2-editorial-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-editorial-offline { grid-column: 1 / -1; }
  .v2-editorial-workspace { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-editorial-form, .v2-editorial-preview { padding: 14px; }
  .v2-editorial-preview { position: static; }
  .v2-editorial-preview h3 { font-size: 18px; }
  .v2-editorial-form .button-row, .v2-editorial-review-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-editorial-form .button-row > button, .v2-editorial-review-form .button-row > button { min-height: 48px; }
  .v2-training-school-review .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-training-school-review .button-row > button { min-height: 48px; }
  .v2-training-class-head { align-items: flex-start; gap: 8px; }
  .v2-training-class-head h3 { font-size: 17px; }
  .v2-class-roster-form .btn { width: 100%; min-height: 48px; }
  .v2-admin-record textarea, .v2-admin-record select, .v2-admin-form input:not([type="checkbox"]):not([type="radio"]), .v2-admin-form select, .v2-admin-form textarea { font-size: 16px; }
  body[data-page="admin"] .dashboard { display: block; }
  body[data-page="admin"] .proto-banner .container { padding-block: 6px; font-size: 12px; line-height: 1.4; }
  body[data-page="admin"] .dashboard { padding-top: 10px; }
  body[data-page="admin"] .dash-side { margin-bottom: 12px; padding: 6px 8px; }
  body[data-page="admin"] .dash-side > h3,
  body[data-page="admin"] .dash-side > .divider,
  body[data-page="admin"] .dash-side > .inline-link { display: none; }
  body[data-page="admin"] .v2-admin-menu { margin: 0; }
  body[data-page="admin"] .v2-admin-menu summary { padding-inline: 10px; font-size: 13px; }
  body[data-page="admin"] .dash-main > .eyebrow { display: none; }
  body[data-page="admin"] .dash-main > h1 { margin-top: 0; }
  .workspace-label { font-size: 12px; padding-left: 10px; }
  body[data-page="admin"] .dash-side nav a { font-size: 13px; }
  body[data-page="admin"] .dash-side nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  body[data-page="admin"] .dash-side nav a { display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: 7px 4px; text-align: center; white-space: normal; line-height: 1.35; }
  body[data-page="admin"] .v2-admin-menu:not([open]) nav { display: none; }
  body[data-page="admin"] .v2-admin-menu[open] nav { margin-top: 8px; }
  body[data-page="admin"] .dash-side nav a:last-child:nth-child(odd) { grid-column: auto; width: auto; justify-self: stretch; }
  body[data-page="admin"] .role-switch { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 4px; overflow: visible; }
  body[data-page="admin"] .role-switch a { min-height: 48px; padding: 7px 3px; text-align: center; white-space: normal; font-size: 13px; line-height: 1.35; }
  body[data-page="admin"] .v2-admin-role-menu { margin-top: 8px; border-top: 1px solid var(--line); }
  body[data-page="admin"] .v2-admin-role-menu summary { display: flex; align-items: center; min-height: 44px; padding-inline: 10px; color: var(--muted); font-size: 13px; cursor: pointer; }
  body[data-page="admin"] .v2-admin-role-menu[open] .role-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 4px; }
  body[data-page="me"] .dash-side nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  body[data-page="me"] .dash-side nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 6px 4px; text-align: center; white-space: normal; line-height: 1.35; }
  body[data-page="admin"] .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="admin"] .table-wrap { margin-inline: 0; max-width: 100%; overflow: visible; border: 0; }
  body[data-page="admin"] .data-table { display: block; min-width: 0; background: transparent; }
  body[data-page="admin"] .data-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  body[data-page="admin"] .data-table tbody { display: grid; gap: 10px; }
  body[data-page="admin"] .data-table tr { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border: 1px solid #dce4e9; border-radius: 4px; background: #fff; }
  body[data-page="admin"] .data-table td { display: block; padding: 10px 12px; border-bottom: 1px solid #edf1f4; overflow-wrap: anywhere; }
  body[data-page="admin"] .data-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #52636e; font-size: 13px; font-weight: 700; }
  body[data-page="admin"] .data-table td:last-child { border-bottom: 0; }
  body[data-page="admin"] .data-table td[colspan] { display: block; }
  body[data-page="admin"] .data-table td[colspan]::before { content: none; }
  body[data-page="admin"] .data-table button,
  body[data-page="admin"] .v2-publish-list .btn { min-height: 44px; }
  body[data-page="admin"] .data-table a { display: inline-flex; align-items: center; min-height: 44px; }
  .v2-filter-reset { width: 100%; }
  .mobile-nav { height: 58px; }
  .mobile-nav { height: calc(58px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); }
  .mobile-nav a { font-size: 12px; }
  .site-footer { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  #main { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  .mobile-nav a.active { color: var(--action); }
  .toast { bottom: 72px; }
}
@media (max-width: 900px) {
  .v2-role-policy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-audit-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2-member-audit-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  html, body { height: 100%; }
  body { display: grid; grid-template-rows: 54px minmax(0, 1fr) calc(58px + env(safe-area-inset-bottom)); height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
  .site-header { grid-row: 1; }
  .mobile-content-shell { display: block; grid-row: 2; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
  #main { min-height: 0; padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .site-footer { padding-bottom: 20px; }
  .mobile-nav { position: static; inset: auto; grid-row: 3; width: 100%; height: calc(58px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); }
  /* Admin pages hide the learner nav, so use that row for the work area. */
  body[data-page="admin"] { grid-template-rows: 54px minmax(0, 1fr); }
  body[data-page="admin"] #main { padding-bottom: 20px; }
  body[data-page="home"] #main > .section:has(.quick-grid) { padding-block: 21px; }
  body[data-page="home"] .quick-grid { gap: 0; }
  body[data-page="home"] .quick-link { min-height: 68px; }
  .v2-finance-summary { gap: 8px; }
  .v2-workload-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .v2-workload-summary > div { padding: 11px 12px; }
  .v2-workload-editor, .v2-workload-filter { padding: 12px; }
  .v2-workload-filter { align-items: stretch; }
  .v2-workload-filter label { flex: 1 0 100%; }
  .v2-workload-filter select { flex: 1 1 150px; min-width: 0; }
  .v2-workload-record { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-workload-review-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-workload-review-form .button-row .btn { min-height: 48px; }
  .v2-workload-editor input, .v2-workload-editor select, .v2-workload-editor textarea { min-width: 0; font-size: 16px; }
  .v2-finance-summary strong { font-size: 18px; }
  .v2-settlement-summary { gap: 8px; }
  .v2-settlement-summary strong { font-size: 18px; }
  .v2-settlement-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .v2-settlement-lines .data-table { min-width: 0; }
  .v2-settlement-lines .data-table tbody tr { padding: 4px 0; }
  .v2-settlement-record form .button-row { grid-template-columns: minmax(0, 1fr); }
  .v2-settlement-record form .btn { min-height: 48px; }
  .v2-order-record .v2-refund-review-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-order-record .v2-refund-review-form .btn { min-height: 48px; }
  .v2-order-detail .v2-refund-form > .btn, .v2-order-action > .btn { width: 100%; min-height: 48px; }
  .v2-governance-summary, .v2-audit-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
  .v2-governance-summary > p, .v2-audit-summary > p { grid-column: 1 / -1; margin-top: 6px; }
  .v2-role-policy-grid, .v2-access-workspace, .v2-access-request, .v2-audit-row { grid-template-columns: minmax(0, 1fr); }
  .v2-member-audit-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-member-audit-filter .field:first-child { grid-column: 1 / -1; }
  .v2-member-audit-tools #v2-member-audit-export { justify-self: stretch; }
  .v2-role-policy-grid { gap: 6px; }
  .v2-access-workspace { gap: 10px; }
  .v2-access-guidance { padding: 0; }
  .v2-access-request { gap: 10px; }
  .v2-audit-tools { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .v2-audit-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-audit-filter .field:first-child, .v2-audit-count { grid-column: 1 / -1; }
#course-grid .card h3 { overflow-wrap: anywhere; }
  #v2-audit-export { width: 100%; }
  .v2-role-policy li { align-items: flex-start; flex-direction: column; gap: 2px; }
  .v2-role-policy code { text-align: left; }
  .v2-event-ops-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
  .v2-event-ops-summary > p { grid-column: 1 / -1; }
  .v2-event-check-grid, .v2-event-review-checks { grid-template-columns: minmax(0, 1fr); }
  .v2-event-ops-form, .v2-event-incident-form { padding: 12px; }
  .v2-event-ops-form .button-row, .v2-event-incident-update .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-event-ops-form .button-row .btn, .v2-event-incident-update .button-row .btn { min-height: 48px; }
}
@media (max-width: 360px) {
  body[data-page="admin"] .task-row { align-items: flex-start; flex-direction: column; gap: 8px; }
  body[data-page="admin"] .task-row > a { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; white-space: nowrap; }
  .filter-bar:has(#course-search) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-bar:has(#course-search) .v2-filter-reset { grid-column: 1 / -1; grid-row: 3; min-height: 44px; }
  #course-grid .card-body { padding: 12px 12px 7px; }
  #course-grid .card h3 { font-size: 15px; }
  #course-grid .card-footer { font-size: 13px; }
  .v2-teacher-public-profile { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .v2-teacher-portrait { width: min(100%, 180px); }
  .v2-teacher-public-intro { min-width: 0; }
}

.v2-class-tools { display: flex; align-items: center; gap: 10px; margin: 12px 0 20px; color: var(--muted); font-size: 14px; }
.v2-class-tools select, .v2-class-threshold-form select { min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-class-list { margin: 20px 0 28px; }
.v2-class-list > h2, .v2-class-detail h2 { margin: 0 0 12px; font-size: 20px; }
.v2-class-summary-list { display: grid; gap: 10px; }
.v2-class-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 16px; padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.v2-class-summary .v2-admin-record-title, .v2-class-summary > p { grid-column: 1; }
.v2-class-summary .v2-admin-record-title { margin: 0; }
.v2-class-summary .v2-admin-record-title h3 { margin: 0; font-size: 16px; }
.v2-class-summary > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.v2-class-summary > .btn { grid-column: 2; grid-row: 1 / span 3; min-height: 44px; }
.v2-class-detail { margin: 24px 0 32px; padding-top: 20px; border-top: 1px solid var(--line); }
.v2-class-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.v2-class-detail-head h2 { margin: 4px 0; }
.v2-class-detail-head p { margin: 0; color: var(--muted); font-size: 14px; }
.v2-class-threshold-form { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 16px 0 12px; }
.v2-class-threshold-form > label { color: var(--ink); font-size: 14px; }
.v2-class-threshold-form select { min-width: 90px; }
.v2-class-learner-list { display: grid; gap: 10px; margin-top: 16px; }
.v2-class-learner { min-width: 0; padding: 15px; border: 1px solid var(--line); background: #fff; }
.v2-class-learner-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v2-class-learner-head h3 { margin: 0 0 3px; font-size: 16px; }
.v2-class-learner-head p, .v2-class-progress-label { margin: 0; color: var(--muted); font-size: 13px; }
.v2-class-progress { height: 8px; margin: 12px 0 6px; overflow: hidden; border-radius: 4px; background: #e7edf0; }
.v2-class-progress span { display: block; height: 100%; background: var(--action); }
.v2-class-progress-label { margin-bottom: 8px; }
.v2-class-history { margin: 8px 0; color: var(--ink); font-size: 13px; }
.v2-class-history summary { min-height: 36px; display: inline-flex; align-items: center; cursor: pointer; }
.v2-class-history ul { display: grid; gap: 6px; margin: 4px 0 10px; padding: 0; list-style: none; }
.v2-class-history li { display: grid; gap: 2px; padding: 8px 10px; border-left: 2px solid var(--action); background: #f2f6f8; }
.v2-class-history li span { color: var(--muted); line-height: 1.5; }
.v2-class-followup-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px 14px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-class-followup-form > .field { margin: 0; }
.v2-class-followup-form textarea { min-height: 64px; }
.v2-class-followup-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; }
.v2-class-followup-controls .field { min-width: 150px; margin: 0; }
.v2-class-followup-controls .btn { min-height: 44px; }
.v2-project-ops-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0 18px; }
.v2-project-ops-summary > div { display: grid; gap: 3px; padding: 13px 15px; border-left: 3px solid var(--action); background: #eef4f6; }
.v2-project-ops-summary strong { color: var(--blue); font-size: 22px; }
.v2-project-ops-summary span { color: var(--muted); font-size: 13px; }
.v2-project-ops-section { margin: 24px 0 32px; }
.v2-project-ops-section > .section-head { margin-bottom: 12px; }
.v2-project-ops-section > .section-head h2 { font-size: 20px; }
.v2-project-lead-create { margin: 12px 0 16px; padding: 15px; border: 1px solid var(--line); background: #fff; }
.v2-project-lead-create h3 { margin: 0 0 12px; font-size: 16px; }
.v2-project-lead-list, .v2-project-fulfillment-list { display: grid; gap: 10px; }
.v2-project-lead, .v2-project-fulfillment { min-width: 0; padding: 15px; border: 1px solid var(--line); background: #fff; }
.v2-project-governance-list, .v2-unit-project-results { display: grid; gap: 12px; margin-top: 16px; }
.v2-unit-project-empty-state { display: grid; justify-items: start; gap: 10px; padding: 24px; text-align: left; }
.v2-unit-project-empty-state h2, .v2-unit-project-empty-state p { margin: 0; }
.v2-unit-project-empty-state p { max-width: 680px; line-height: 1.65; }
.v2-unit-project-empty-state .btn { min-height: 44px; align-items: center; }
.v2-project-governance-card, .v2-unit-project-card { min-width: 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-project-governance-card .v2-admin-record-title, .v2-unit-project-card .v2-admin-record-title { align-items: flex-start; gap: 12px; }
.v2-project-governance-card h3, .v2-unit-project-card h3 { margin: 0; font-size: 17px; line-height: 1.4; }
.v2-project-governance-card .v2-admin-record-title p, .v2-unit-project-card .v2-admin-record-title p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.v2-project-governance-card dl { display: grid; gap: 8px; margin: 12px 0; }
.v2-project-governance-card dl > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 10px; padding: 10px 12px; background: #f2f6f8; }
.v2-project-governance-card dt { color: var(--blue); font-size: 13px; font-weight: 700; }
.v2-project-governance-card dd { min-width: 0; margin: 0; color: var(--ink); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.v2-project-governance-review, .v2-unit-project-receipt { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.v2-project-governance-review .field, .v2-unit-project-receipt .field { min-width: 0; margin: 0; }
.v2-project-governance-review .btn, .v2-unit-project-receipt .btn { min-height: 44px; }
.v2-project-delivery-link { padding: 9px 11px; border-left: 3px solid var(--action); background: #eff5f7; color: var(--ink) !important; }
.v2-unit-project-card > p { margin: 7px 0; color: var(--muted); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.v2-project-lead > p, .v2-project-fulfillment > p { margin: 5px 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.v2-project-lead .v2-admin-record-title, .v2-project-fulfillment .v2-admin-record-title { margin: 0 0 7px; }
.v2-project-lead .v2-admin-record-title h3, .v2-project-fulfillment .v2-admin-record-title h3 { margin: 0; font-size: 16px; }
.v2-project-lead details, .v2-project-fulfillment details { margin: 8px 0; font-size: 13px; }
.v2-project-lead details summary, .v2-project-fulfillment details summary { display: inline-flex; min-height: 36px; align-items: center; cursor: pointer; }
.v2-project-lead ol, .v2-project-fulfillment ol { display: grid; gap: 4px; margin: 5px 0 10px; padding-left: 21px; color: var(--muted); line-height: 1.5; }
.v2-project-lead-update, .v2-project-fulfillment-form { display: grid; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-project-lead-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.v2-project-lead-update .field, .v2-project-fulfillment-form .field { min-width: 0; margin: 0; }
.v2-project-lead-update .btn, .v2-project-fulfillment-form .btn, .v2-project-recap-form .btn { min-height: 44px; justify-self: start; }
.v2-project-recap-form { margin-top: 12px; padding: 14px; border-left: 3px solid var(--action); background: #f2f6f8; }
.v2-project-recap-form h4, .v2-project-recap h4 { margin: 0 0 10px; font-size: 15px; }
.v2-project-recap { margin-top: 12px; padding: 13px 14px; border-left: 3px solid #4a8b65; background: #edf5ef; }
.v2-project-recap p { margin: 7px 0 0; color: var(--ink); font-size: 14px; line-height: 1.6; }
@media (max-width: 640px) {
  .v2-class-summary { grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 13px; }
  .v2-class-summary .v2-admin-record-title, .v2-class-summary > p, .v2-class-summary > .btn { grid-column: 1; grid-row: auto; }
  .v2-class-summary > .btn { justify-self: start; min-height: 44px; }
  .v2-class-detail-head { align-items: flex-start; }
  .v2-class-tools { flex-wrap: wrap; }
  .v2-class-followup-form { grid-template-columns: minmax(0, 1fr); }
  .v2-class-followup-controls { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-class-followup-controls .field, .v2-class-followup-controls .btn { min-width: 0; width: 100%; }
  .v2-project-ops-summary { gap: 7px; }
  .v2-project-ops-summary > div { padding: 10px; }
  .v2-project-lead-fields { grid-template-columns: minmax(0, 1fr); }
  .v2-project-lead-create, .v2-project-lead, .v2-project-fulfillment { padding: 12px; }
  .v2-project-governance-card, .v2-unit-project-card { padding: 12px; }
  .v2-project-governance-card dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .v2-project-governance-card .v2-admin-record-title, .v2-unit-project-card .v2-admin-record-title { flex-direction: column; }
  .v2-project-recap-form { padding: 12px; }
  .v2-project-lead-update .btn, .v2-project-fulfillment-form .btn, .v2-project-recap-form .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .card, .quick-link { transition: none; }
}
.v2-teacher-public-profile { display: grid; grid-template-columns: minmax(190px, 260px) minmax(0, 1fr); align-items: start; gap: 28px; margin: 8px 0 28px; }
.v2-teacher-portrait { position: relative; aspect-ratio: 3 / 4; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; overflow: hidden; border: 1px solid #cbd6dd; border-radius: 3px; background: #e8eef1; color: #526a78; text-align: center; }
.v2-teacher-portrait > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v2-teacher-portrait > span { display: grid; width: 76px; aspect-ratio: 1; place-items: center; border: 1px solid #afc0ca; border-radius: 50%; background: #f6f8f9; color: #426b84; font-size: 30px; font-weight: 700; }
.v2-teacher-portrait > small { position: absolute; right: 6px; bottom: 6px; padding: 3px 6px; border: 1px solid #d9e1e7; border-radius: 2px; background: rgb(255 255 255 / 92%); color: var(--muted); font-size: 12px; }
.v2-teacher-portrait.is-profile-placeholder { border-style: solid; background: #eef3f3; color: #355e62; }
.v2-teacher-portrait.is-profile-placeholder > span { width: 88px; border-color: #b6ccca; background: #f8fbfa; color: #355e62; }
.v2-teacher-portrait.is-profile-placeholder > small { border-color: #c8d8d6; color: #355e62; }
.v2-teacher-portrait-upload { display: grid; grid-template-columns: 156px minmax(0, 1fr); align-items: center; gap: 18px; }
.v2-teacher-portrait-preview { display: flex; width: 156px; aspect-ratio: 3 / 4; flex-direction: column; align-items: center; justify-content: center; gap: 6px; overflow: hidden; border: 1px dashed #a8bac4; background: #f2f6f8; color: #526a78; cursor: pointer; }
.v2-teacher-portrait-preview > img { width: 100%; height: 100%; object-fit: cover; }
.v2-teacher-portrait-preview > span { font-weight: 700; }
.v2-teacher-portrait-control { display: grid; gap: 8px; min-width: 0; }
.v2-teacher-portrait-control > input { width: 100%; }
.v2-teacher-portrait-control > small { max-width: 560px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.v2-admin-teacher-portrait { display: grid; width: fit-content; max-width: 100%; gap: 6px; margin: 12px 0; color: var(--muted); font-size: 13px; }
.v2-admin-teacher-portrait > img { display: block; width: 120px; aspect-ratio: 3 / 4; object-fit: cover; border: 1px solid var(--line); }
.v2-teacher-portrait-settings { margin: 22px 0; padding-top: 16px; border-top: 1px solid var(--line); }
.v2-teacher-portrait-settings > h3 { margin: 0; font-size: 17px; }
.v2-teacher-public-intro { min-width: 0; padding-top: 4px; }
.v2-teacher-public-intro h1, .v2-teacher-public-intro h2 { margin: 8px 0 5px; color: var(--ink); }
.v2-teacher-public-intro > p { max-width: 720px; }
.v2-example-mentor-portrait { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; margin: 0 0 14px; border: 1px solid var(--line); border-radius: 2px; }
.v2-example-mentor-placeholder { position: relative; display: grid; width: 100%; aspect-ratio: 3 / 4; place-items: center; margin: 0 0 14px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(145deg, #e9f0f2, #f6f4ed); color: #2d687c; }
.v2-example-mentor-placeholder > span { display: grid; width: 76px; aspect-ratio: 1; place-items: center; border: 1px solid #bbccd0; border-radius: 50%; background: #ffffffc7; font-size: 30px; font-weight: 700; }
.v2-example-mentor-placeholder > small { position: absolute; right: 8px; bottom: 8px; padding: 4px 7px; border: 1px solid #d5dfe2; background: #fff; color: #52636a; font-size: 12px; }
.v2-mentor-endorsement { margin: 10px 0 14px; padding: 12px 14px; border-left: 3px solid var(--action); background: #edf5f8; color: var(--ink); }
.v2-mentor-endorsement strong { display: block; margin-bottom: 5px; color: var(--blue); font-size: 13px; }
.v2-mentor-endorsement p { margin: 0; font-size: 14px; line-height: 1.65; }
.v2-teacher-public-intro > .v2-mentor-endorsement { margin: 14px 0; }
.v2-teacher-course-focus { margin-top: 16px; }
@media (max-width: 640px) {
  .v2-teacher-public-profile { grid-template-columns: minmax(100px, 34%) minmax(0, 1fr); gap: 12px; margin-bottom: 20px; }
  .v2-teacher-portrait-upload { grid-template-columns: minmax(110px, 34%) minmax(0, 1fr); gap: 12px; }
  .v2-teacher-portrait-preview { width: 100%; }
  .v2-teacher-portrait > span { width: 54px; font-size: 23px; }
  .v2-teacher-portrait > small { font-size: 12px; }
  .v2-teacher-public-intro .notice { font-size: 12px; }
}
@media (max-width: 360px) {
  .v2-teacher-public-profile { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .v2-teacher-portrait { width: min(100%, 180px); }
}

#mentor-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
.v2-mentor-card { grid-column: span 2; }
.v2-mentor-card { min-width: 0; overflow: hidden; }
.v2-mentor-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 0;
  padding: 0;
}
.v2-mentor-card-portrait {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  aspect-ratio: 3 / 4;
  height: auto;
  margin: 0;
  object-fit: cover;
}
.v2-mentor-card-copy { grid-column: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 15px 16px 14px; }
.v2-mentor-card-body .person-row { align-items: flex-start; gap: 0; }
.v2-mentor-card-body .person-row .avatar { display: none; }
.v2-mentor-card-body .person-row h3, .v2-mentor-card-copy > h3 { margin: 0; font-size: 17px; line-height: 1.4; }
.v2-mentor-card-body .person-row small, .v2-mentor-card-body .card-meta { color: var(--muted); font-size: 13px; }
.v2-mentor-card-copy > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.v2-mentor-card-body .card-footer { align-self: stretch; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--line); font-size: 13px; }
.v2-unit-progress-report { margin: 28px 0 36px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-unit-progress-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.v2-unit-progress-head h2 { margin: 4px 0; font-size: 22px; }
.v2-unit-progress-head p { margin: 0; color: var(--muted); font-size: 14px; }
.v2-unit-progress-head .field { width: min(100%, 340px); margin: 0; }
.v2-unit-progress-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.v2-unit-progress-summary > div { display: flex; align-items: baseline; gap: 10px; min-height: 60px; padding: 12px 14px; border-left: 3px solid var(--action); background: #eef4f6; }
.v2-unit-progress-summary strong { color: var(--blue); font-size: 22px; }
.v2-unit-progress-summary span { color: var(--muted); font-size: 14px; }
.v2-unit-progress-report .table-wrap { overflow-x: auto; }
.v2-unit-progress-report .data-table { min-width: 640px; }
@media (max-width: 900px) {
  #mentor-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .v2-mentor-card { grid-column: span 2; }
}
@media (max-width: 700px) {
  #mentor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .v2-mentor-card { grid-column: auto; }
  .v2-mentor-card-copy { gap: 7px; padding: 12px; }
  .v2-mentor-card-body .person-row h3, .v2-mentor-card-copy > h3 { font-size: 16px; }
  .v2-unit-progress-report { margin: 22px 0 30px; padding: 14px 12px; }
  .v2-unit-progress-head { align-items: stretch; flex-direction: column; gap: 14px; }
  .v2-unit-progress-head .field { width: 100%; }
}
@media (max-width: 480px) {
  #mentor-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-mentor-card { grid-column: auto; }
  .v2-mentor-card-copy { gap: 7px; padding: 13px 14px; }
}
@media (min-width: 901px) {
  #mentor-grid > .v2-mentor-card:nth-child(4) { grid-column: 2 / span 2; }
  #mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 360px) {
  .v2-unit-progress-summary { gap: 8px; }
  .v2-unit-progress-summary > div { flex-direction: column; gap: 0; padding: 10px; }
}

body[data-page="admin"] .dash-side nav.v2-admin-nav-groups { display: grid; gap: 7px; }
body[data-page="admin"] .v2-admin-nav-group { min-width: 0; border: 1px solid var(--line); background: #fff; }
body[data-page="admin"] .v2-admin-nav-group > summary { display: flex; min-height: 42px; align-items: center; justify-content: space-between; padding: 8px 11px; color: var(--blue); font-size: 13px; font-weight: 700; cursor: pointer; list-style: none; }
body[data-page="admin"] .v2-admin-nav-group > summary::-webkit-details-marker { display: none; }
body[data-page="admin"] .v2-admin-nav-group > summary::after { content: '+'; color: var(--muted); font-size: 17px; font-weight: 400; }
body[data-page="admin"] .v2-admin-nav-group[open] > summary::after { content: '-'; }
body[data-page="admin"] .v2-admin-nav-group-links { display: grid; gap: 2px; padding: 0 5px 5px; }
body[data-page="admin"] .v2-admin-nav-group-links a { margin: 0; }
body[data-page="admin"] .v2-school-overview { display: grid; gap: 20px; }
body[data-page="admin"] .v2-school-overview-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border-left: 4px solid var(--action); background: #edf4f7; }
body[data-page="admin"] .v2-school-overview-head h2 { margin: 4px 0; font-size: 24px; }
body[data-page="admin"] .v2-school-overview-head p { margin: 5px 0 0; color: var(--muted); }
body[data-page="admin"] .v2-school-overview-total { display: grid; width: 76px; aspect-ratio: 1; flex: 0 0 auto; align-content: center; justify-items: center; border: 1px solid #c4d5dd; background: #fff; color: var(--blue); font-size: 27px; font-weight: 700; }
body[data-page="admin"] .v2-school-overview-total small { color: var(--muted); font-size: 12px; font-weight: 400; }
body[data-page="admin"] .v2-school-queue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body[data-page="admin"] .v2-school-queue-link { display: grid; min-width: 0; min-height: 104px; grid-template-columns: minmax(0, 1fr) auto; align-content: space-between; gap: 7px 10px; padding: 13px 14px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; }
body[data-page="admin"] .v2-school-queue-link:hover { border-color: #9bb9c8; background: #f7fafb; }
body[data-page="admin"] .v2-school-queue-link > span { align-self: center; font-weight: 700; }
body[data-page="admin"] .v2-school-queue-link > strong { color: var(--blue); font-size: 23px; }
body[data-page="admin"] .v2-school-queue-link > small { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
body[data-page="admin"] .v2-school-queue-empty { grid-column: 1 / -1; padding: 20px; border: 1px dashed #c8d4da; color: var(--muted); text-align: center; }
body[data-page="admin"] .v2-school-risk-section { display: grid; gap: 10px; padding-top: 17px; border-top: 1px solid var(--line); }
body[data-page="admin"] .v2-school-risk-section h3 { margin: 0; font-size: 16px; }
body[data-page="admin"] .v2-school-risk-link { border-left: 3px solid #c57a42; }
body[data-page="admin"] .v2-school-quick-section { display: grid; gap: 10px; padding-top: 17px; border-top: 1px solid var(--line); }
body[data-page="admin"] .v2-school-quick-section h3 { margin: 0; font-size: 16px; }
body[data-page="admin"] .v2-school-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body[data-page="admin"] .v2-school-quick-link { display: grid; min-width: 0; min-height: 76px; align-content: center; gap: 7px; padding: 12px 14px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; }
body[data-page="admin"] .v2-school-quick-link:hover { border-color: #9bb9c8; background: #f7fafb; }
body[data-page="admin"] .v2-school-quick-link:focus-visible { outline: 3px solid var(--action); outline-offset: 2px; }
body[data-page="admin"] .v2-school-quick-link strong { color: var(--blue); font-size: 14px; }
body[data-page="admin"] .v2-school-quick-link span { color: var(--muted); font-size: 12px; line-height: 1.5; }
body[data-page="admin"] .v2-school-count-rules { padding: 12px 14px; border: 1px solid var(--line); background: #fff; }
body[data-page="admin"] .v2-school-count-rules summary { min-height: 32px; color: var(--blue); font-weight: 700; cursor: pointer; }
body[data-page="admin"] .v2-school-count-rules p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
@media (max-width: 900px) {
  body[data-page="admin"] .v2-school-queue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="admin"] .v2-school-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body[data-page="admin"] .v2-admin-menu:not([open]) nav.v2-admin-nav-groups { display: none !important; }
  body[data-page="admin"] .v2-admin-menu[open] nav.v2-admin-nav-groups { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
  body[data-page="admin"] .v2-admin-nav-group-links { grid-template-columns: minmax(0, 1fr); }
  body[data-page="admin"] .v2-admin-nav-group-links a { justify-content: flex-start; min-height: 44px; padding-inline: 10px; text-align: left; }
  body[data-page="admin"] .v2-school-overview { gap: 14px; }
  body[data-page="admin"] .v2-school-overview-head { align-items: flex-start; padding: 14px 12px; }
  body[data-page="admin"] .v2-school-overview-head h2 { font-size: 19px; }
  body[data-page="admin"] .v2-school-overview-head p { font-size: 13px; line-height: 1.55; }
  body[data-page="admin"] .v2-school-overview-total { width: 58px; font-size: 22px; }
  body[data-page="admin"] .v2-school-queue-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  body[data-page="admin"] .v2-school-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body[data-page="admin"] .v2-school-queue-link { min-height: 72px; align-items: center; padding: 10px 12px; }
  body[data-page="admin"] .v2-school-queue-link > small { grid-column: 1; }
  body[data-page="admin"] .v2-school-queue-link > strong { grid-column: 2; grid-row: 1 / span 2; }
  body[data-page="admin"] .v2-school-quick-link { min-height: 82px; padding: 10px; }
}

.v2-course-version-editor, .v2-course-version-history { margin: 24px 0 30px; }
.v2-course-version-editor { padding: 20px; border: 1px solid var(--line); background: #fff; }
.v2-course-version-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.v2-course-version-editor-head h2, .v2-course-version-history > h2 { margin: 4px 0 0; font-size: 21px; }
.v2-course-version-editor form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-course-version-editor .field-wide { grid-column: 1 / -1; }
.v2-course-version-record { min-width: 0; }
.v2-course-version-record > details { margin: 12px 0; }
.v2-course-version-record > details > summary, .v2-version-history > summary { min-height: 44px; display: flex; align-items: center; }
.v2-course-version-diff { display: grid; gap: 12px; margin-top: 10px; }
.v2-course-version-diff > section { display: grid; grid-template-columns: minmax(120px, 180px) repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px; border-left: 3px solid var(--action); background: #f3f7f9; }
.v2-course-version-diff h3, .v2-course-version-diff h4 { margin: 0; font-size: 14px; }
.v2-course-version-diff > section > div { min-width: 0; }
.v2-course-version-diff > section > div > span { color: var(--muted); font-size: 12px; }
.v2-course-version-diff p { margin: 5px 0 0; overflow-wrap: anywhere; line-height: 1.6; }
.v2-course-version-record .button-row { margin-top: 12px; }
.v2-community-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; justify-content: stretch; }
.v2-community-toolbar > input[type="search"] { width: 100%; min-width: 0; }
.v2-community-toolbar > .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.v2-followup-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0 22px; }
.v2-followup-summary > div { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid var(--line); background: #fff; }
.v2-followup-summary strong { color: var(--ink); font-size: 22px; line-height: 1.2; }
.v2-followup-summary span, .v2-followup-identity span { color: var(--muted); font-size: 13px; }
.v2-followup-batch-form { margin: 16px 0 24px; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-followup-batch-form h2, .v2-training-followup-list > h2 { margin: 0 0 12px; font-size: 18px; }
.v2-followup-identity { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; }
.v2-followup-identity label { font-weight: 700; }
.v2-followup-identity select { min-height: 44px; min-width: 160px; }
.v2-training-followup-list { margin-top: 20px; }
.v2-training-followup-card { display: grid; gap: 10px; margin: 10px 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-training-followup-card > p { margin: 0; line-height: 1.65; overflow-wrap: anywhere; }
.v2-training-followup-card .v2-admin-record-title { align-items: flex-start; }
.v2-training-followup-card .v2-admin-record-title h3 { margin: 0 0 4px; }
.v2-training-followup-card .v2-admin-record-title p { margin: 0; color: var(--muted); font-size: 13px; }
.v2-training-followup-card form { display: grid; gap: 10px; margin-top: 4px; }
.v2-training-followup-card textarea, .v2-training-followup-card select, .v2-followup-batch-form input, .v2-followup-batch-form select { width: 100%; min-height: 44px; }
.v2-followup-response { padding: 12px; border-left: 3px solid var(--action); background: var(--mint); }
.v2-followup-response p { margin: 5px 0 0; }
.v2-followup-feedback { min-height: 22px; margin: 0; color: var(--muted); }
@media (max-width: 640px) {
  .v2-community-toolbar { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  .v2-community-toolbar > input[type="search"] { grid-column: 1 / -1; }
  .v2-followup-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-followup-batch-form { padding: 14px 12px; }
  .v2-training-followup-card { padding: 13px 12px; }
  .v2-training-followup-card .v2-admin-record-title { gap: 8px; }
  .v2-followup-identity { align-items: stretch; flex-direction: column; }
  .v2-followup-identity select { width: 100%; }
  .v2-course-version-editor { padding: 14px 12px; }
  .v2-course-version-editor-head { flex-direction: column; gap: 8px; }
  .v2-course-version-editor form { grid-template-columns: minmax(0, 1fr); }
  .v2-course-version-editor .field-wide { grid-column: 1; }
  .v2-course-version-diff > section { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 10px; }
  .v2-course-version-diff h3, .v2-course-version-diff h4 { padding-bottom: 5px; border-bottom: 1px solid var(--line); }
  .v2-course-version-record .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-course-version-record .btn { min-height: 46px; }
}

/* Shared visual polish: clearer hierarchy, warmer learning accents, and stable media sizing. */
:root {
  --ink: #263640;
  --muted: #566a75;
  --line: #d8e2e7;
  --action: #176d75;
  --warm: #c66a4f;
  --danger: #835f5b;
  --danger-bg: #f2ebea;
  --green: var(--action);
  --deep: #203b45;
  --mint: #e7f1ef;
  --blue: #3e6579;
  --yellow: #d39a47;
  background: #f4f7f8;
}

body {
  color: var(--ink);
  background: #f4f7f8;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

.site-header {
  border-bottom-color: #dce5e9;
  box-shadow: 0 2px 12px #2636400a;
}

.container { width: min(100% - 56px, 1200px); }
.section { padding-block: 48px; }
.section-alt { background: #edf3f5; }
.section-head { align-items: flex-end; margin-bottom: 22px; }
.section-head h2 { color: var(--deep); font-size: 22px; }
.section-head p { color: var(--muted); font-size: 14px; }
.page-intro { padding-block: 36px 24px; }
.page-intro h1 { color: var(--deep); font-size: 30px; line-height: 1.3; }
.page-intro p, .detail-lead { color: var(--muted); font-size: 15px; line-height: 1.7; }

.btn {
  min-height: 44px;
  border-color: var(--action);
  border-radius: 4px;
  background: var(--action);
  box-shadow: 0 2px 4px #174b5014;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.btn:hover { background: #105b62; border-color: #105b62; box-shadow: 0 4px 10px #174b5022; transform: translateY(-1px); }
.btn.secondary { color: var(--action); box-shadow: none; }
.btn.secondary:hover { background: #e7f1ef; }
.inline-link, .section-head a, .quick-link .arrow { color: var(--action); }
.card, .event-card, .quick-link, .resource, .feed-post, .task-row {
  border-color: #d8e2e7;
  border-radius: 5px;
}
.card, .event-card { box-shadow: 0 2px 8px #26364008; transition: border-color 160ms ease, box-shadow 160ms ease; }
.card:hover, .event-card:hover { border-color: #9dbbc0; box-shadow: 0 8px 22px #26364012; }
.card h3, .event-card h3 { color: var(--ink); line-height: 1.45; }
.card p, .event-card p { color: var(--muted); }
.card-meta { color: var(--muted); font-size: 12px; }
.card-footer { color: var(--muted); }

/* Keep course artwork at its intended 16:9 shape at every breakpoint. */
#course-grid .card-image,
.v2-published-course .card-image,
.v2-learning-level-courses .v2-path-course-image {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.v2-path-course-image img { width: 100%; height: 100%; object-fit: cover; }

.hero { min-height: 390px; }
.hero h1 { max-width: 640px; line-height: 1.25; }
.hero .hero-statement { text-wrap: pretty; }
.hero-search { border-radius: 5px; box-shadow: 0 8px 24px #122c2c28; }
.hero-search input { min-height: 48px; }
.hero-search button { min-height: 44px; background: var(--action); border-color: var(--action); }
.quick-link { min-height: 82px; padding: 17px 18px; }
.quick-link:hover { border-color: #9dbbc0; background: #fbfdfd; box-shadow: 0 6px 18px #26364010; }
body[data-page="home"] .section-head > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding-inline: 4px;
}

.filter-bar input, .filter-bar select, .field input, .field select, .field textarea,
.search-large, .v2-event-filters input, .v2-event-filters select {
  border-color: #c7d4da;
  border-radius: 4px;
}
.filter-bar input:focus, .filter-bar select:focus, .field input:focus, .field select:focus,
.field textarea:focus, .search-large:focus {
  border-color: var(--action);
  box-shadow: 0 0 0 3px #176d751c;
}

.v2-event-agenda .v2-event-agenda-card,
.v2-event-card, .image-list .event-card {
  border-radius: 5px;
  box-shadow: 0 2px 8px #26364008;
}
.v2-event-date-block { background: #e8f1f2; color: var(--blue); }
.v2-event-viewbar nav a[aria-current="page"] { color: var(--action); }

body[data-page="admin"] { background: #f1f5f7; }
body[data-page="admin"] .dashboard { gap: 24px; }
body[data-page="admin"] .dash-main h1 { color: var(--deep); font-size: 27px; }
body[data-page="admin"] .stat { border-top-color: var(--action); }
body[data-page="admin"] .stat:nth-child(2) { border-top-color: var(--yellow); }
body[data-page="admin"] .stat:nth-child(3) { border-top-color: #6f9aa2; }
body[data-page="admin"] .stat:nth-child(4) { border-top-color: #87959b; }
body[data-page="admin"] .v2-admin-nav-group > summary { color: var(--blue); }
body[data-page="admin"] .v2-school-overview-head { border-left-color: var(--action); background: #e8f1f2; }
body[data-page="admin"] .v2-school-queue-link:hover,
body[data-page="admin"] .v2-school-quick-link:hover { border-color: #9dbbc0; background: #f8fbfb; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #c66a4f;
  outline-offset: 3px;
}

@media (max-width: 850px) {
  .container { width: calc(100% - 40px); }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  .container { width: calc(100% - 32px); }
  .section { padding-block: 34px; }
  .section-head { align-items: flex-start; }
  .section-head h2 { font-size: 20px; }
  .section-head p { font-size: 13px; }
  .page-intro { padding-block: 26px 19px; }
  .page-intro h1 { font-size: 26px; }
  .page-intro p, .detail-lead { font-size: 14px; }
  .hero { min-height: 290px; }
  .hero-search { min-height: 50px; }
  .hero-search input { min-width: 0; }
  .quick-link { min-height: 74px; }
  .v2-event-agenda .v2-event-agenda-card { border-radius: 4px; }
  body[data-page="admin"] .dash-main h1 { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .btn, .card, .event-card, .quick-link { transition: none; }
}

/* Mentor directory: photo-led cards keep the directory full and easy to scan. */
.eyebrow { display: none !important; }

#mentor-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; gap: 20px; }
#mentor-grid > .v2-mentor-card,
#mentor-grid > .v2-mentor-card:nth-child(4),
#mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: span 2; width: auto; justify-self: stretch; }
.v2-mentor-card { min-width: 0; overflow: hidden; }
.v2-mentor-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  padding: 0;
}
.v2-mentor-card-portrait {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto;
  display: block;
  align-self: stretch;
  margin: 0;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border: 0;
  border-radius: 0;
}
.v2-mentor-card-copy {
  grid-column: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 15px 16px 14px;
}
.v2-mentor-card-body .person-row { align-items: flex-start; gap: 0; }
.v2-mentor-card-body .person-row .avatar { display: none; }
.v2-mentor-card-body .person-row h3,
.v2-mentor-card-copy > h3 { margin: 0; font-size: 17px; line-height: 1.35; }
.v2-mentor-card-body .person-row small,
.v2-mentor-card-body .card-meta { color: var(--muted); font-size: 13px; }
.v2-mentor-card-copy > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.v2-mentor-card-body .card-footer { align-self: stretch; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--line); font-size: 13px; }
.v2-mentor-card-body .card-footer span { display: none; }
.v2-mentor-card-body .card-footer a { margin-left: auto; }

@media (max-width: 900px) {
  #mentor-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  #mentor-grid > .v2-mentor-card,
  #mentor-grid > .v2-mentor-card:nth-child(4),
  #mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: span 2; }
  #mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: 2 / span 2; }
  .v2-mentor-card-copy { padding: 13px 13px 12px; }
}
@media (max-width: 640px) {
  #mentor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #mentor-grid > .v2-mentor-card,
  #mentor-grid > .v2-mentor-card:nth-child(4),
  #mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: auto; }
  #mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 12px) / 2); }
  .v2-mentor-card-copy { gap: 7px; padding: 12px 12px 11px; }
  .v2-mentor-card-body .person-row h3,
  .v2-mentor-card-copy > h3 { font-size: 16px; }
  .v2-mentor-card-copy > p { font-size: 13px; }
}
@media (max-width: 360px) {
  #mentor-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #mentor-grid > .v2-mentor-card:nth-child(5) { grid-column: auto; width: auto; }
  .v2-mentor-card-copy { padding: 10px 10px; }
  .v2-mentor-card-body .person-row small,
  .v2-mentor-card-body .card-meta { font-size: 12px; }
  .v2-mentor-card-copy > p { font-size: 12px; }
}

.v2-studio-overview { display: grid; gap: 26px; }
.v2-studio-overview-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.v2-studio-overview-head h2 { margin: 0 0 8px; font-size: 23px; }
.v2-studio-overview-head p { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.65; }
.v2-studio-overview-head .button-row { flex: 0 0 auto; margin: 0; }
.v2-studio-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.v2-studio-stats > div { display: grid; gap: 3px; min-height: 82px; align-content: center; padding: 12px 18px; border-right: 1px solid var(--line); }
.v2-studio-stats > div:last-child { border-right: 0; }
.v2-studio-stats strong { color: var(--blue); font-size: 24px; }
.v2-studio-stats span { color: var(--muted); font-size: 13px; }
.v2-studio-section { display: grid; gap: 12px; margin-top: 4px; }
.v2-studio-section > h2 { margin: 0; font-size: 19px; }
.v2-studio-section .section-head { margin-bottom: 0; }
.v2-studio-work-list, .v2-studio-recap-list { display: grid; gap: 10px; }
.v2-studio-work-row, .v2-studio-recap-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border: 1px solid var(--line); background: #fff; }
.v2-studio-work-main, .v2-studio-recap-row > div { min-width: 0; flex: 1; }
.v2-studio-work-title { display: flex; align-items: center; gap: 12px; }
.v2-studio-work-title h3, .v2-studio-recap-row h3 { margin: 0; font-size: 16px; }
.v2-studio-work-title h3 a { color: var(--ink); text-decoration: none; }
.v2-studio-work-title h3 a:hover { color: var(--blue); }
.v2-studio-work-row p, .v2-studio-recap-row p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.v2-studio-work-row > .btn { flex: 0 0 auto; }
.v2-studio-project-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.v2-studio-project-links > a { display: grid; min-height: 82px; align-content: space-between; gap: 10px; padding: 14px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; }
.v2-studio-project-links > a:hover { border-color: #9ab7c8; background: #f8fbfc; }
.v2-studio-project-links span { color: var(--blue); font-size: 13px; }
.v2-studio-form { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.v2-studio-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.v2-studio-form-grid .field { min-width: 0; margin: 0; }
.v2-studio-form-grid .field-wide { grid-column: 1 / -1; }
.v2-studio-form input:not([type="checkbox"]), .v2-studio-form select, .v2-studio-form textarea, .v2-studio-admin-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-studio-form textarea, .v2-studio-admin-form textarea { resize: vertical; }
.v2-studio-form .button-row { margin: 0; }
.v2-studio-checks, .v2-studio-review-checks { display: grid; gap: 6px; }
.v2-studio-form .checkline, .v2-studio-admin-form .checkline { display: flex; align-items: flex-start; gap: 9px; min-height: 42px; margin: 0; }
.v2-studio-form .checkline input, .v2-studio-admin-form .checkline input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; }
.v2-studio-feedback { min-height: 20px; margin: 0; color: var(--muted); }
.v2-studio-progress { display: grid; gap: 10px; margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-studio-progress h2 { margin: 0; font-size: 19px; }
.v2-studio-progress p { margin: 0; color: var(--muted); line-height: 1.6; }
.v2-studio-draft-preview { overflow-wrap: anywhere; padding: 14px; border-left: 3px solid var(--action); background: #f1f5f7; line-height: 1.7; }
.v2-studio-review-note { padding: 10px 12px; border-left: 3px solid #cb8d53; background: #f8f3ed; color: var(--ink) !important; }
.v2-studio-audit { display: grid; gap: 5px; margin: 0; padding-left: 20px; color: var(--muted); font-size: 13px; }
.v2-studio-readonly { min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); background: #f5f7f8; }
.v2-studio-recap-select { max-width: 620px; margin: 0; }
.v2-studio-recap-select select { width: 100%; }
.v2-studio-admin-list { margin-top: 14px; }
.v2-studio-admin-record { display: grid; gap: 10px; }
.v2-studio-admin-record > p { margin: 0; line-height: 1.6; }
.v2-studio-admin-record details > summary { min-height: 38px; display: flex; align-items: center; color: var(--blue); cursor: pointer; }
.v2-studio-admin-form { display: grid; gap: 10px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-studio-admin-form .field { margin: 0; }
.v2-studio-admin-form .button-row { margin: 0; }
.v2-studio-admin-form .btn { min-height: 44px; }
.v2-studio-admin-form .field label { display: block; margin-bottom: 5px; font-weight: 700; }
.v2-studio-recap-row { align-items: flex-start; }
.v2-studio-recap-row > a { flex: 0 0 auto; }
.v2-home-learning-map-link, .v2-course-path-entry { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.v2-home-learning-map-link { margin-top: 8px; }
.v2-home-learning-map-link a, .v2-course-path-entry a { display: inline-flex; min-height: 44px; align-items: center; color: var(--blue); font-weight: 700; text-decoration: none; }
.v2-home-learning-map-link a:hover, .v2-course-path-entry a:hover { color: var(--action); }
.v2-learning-map-index { position: sticky; top: 8px; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 20px 0 10px; border: 1px solid var(--line); background: var(--line); }
.v2-learning-map-index a { display: flex; min-height: 54px; align-items: center; gap: 10px; padding: 8px 14px; background: #fff; color: var(--ink); font-weight: 700; text-decoration: none; }
.v2-learning-map-index a:hover { background: #edf4f7; }
.v2-learning-map-index a span { color: var(--action); font-size: 12px; font-variant-numeric: tabular-nums; }
.v2-learning-level-list { display: grid; gap: 36px; }
.v2-learning-level { scroll-margin-top: 82px; padding-top: 22px; border-top: 1px solid var(--line); }
.v2-learning-level > header { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 13px; margin-bottom: 16px; }
.v2-learning-level-number { display: grid; width: 42px; aspect-ratio: 1; place-items: center; background: #e6f0f4; color: var(--blue); font-size: 13px; font-weight: 800; }
.v2-learning-level > header h2 { margin: 0; font-size: 21px; }
.v2-learning-level > header p { margin: 4px 0 0; font-size: 14px; }
.v2-learning-level-count { color: var(--muted); font-size: 13px; white-space: nowrap; }
.v2-learning-level-courses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.v2-learning-level-courses > .v2-path-course:last-child:nth-child(3n + 1) { grid-column: 2; }
.v2-learning-level-courses:not(:has(.v2-path-course:nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 780px; margin-inline: auto; }
.v2-path-course { overflow: hidden; min-width: 0; padding: 0; }
.v2-path-course-image { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #e8eef1; }
.v2-path-course-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v2-path-course-copy { display: grid; gap: 7px; padding: 13px 14px 12px; }
.v2-path-course-copy p { margin: 0; font-size: 13px; }
.v2-path-course-copy h3 { margin: 0; font-size: 16px; line-height: 1.4; }
.v2-path-course-copy h3 a { color: var(--ink); text-decoration: none; }
.v2-path-course-copy h3 a:hover { color: var(--blue); }
.v2-path-course-cta { display: flex; min-height: 44px; align-items: center; justify-content: space-between; color: var(--blue); font-size: 14px; font-weight: 700; text-decoration: none; }
.v2-learning-map-video { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 34px; padding: 18px 0; border-block: 1px solid var(--line); }
.v2-learning-map-video h2 { margin: 0; }
.v2-learning-map-video p { margin: 5px 0 0; }
@media (max-width: 760px) {
  .v2-learning-map-index { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-learning-map-index a { min-height: 48px; padding-inline: 10px; }
  .v2-learning-level-list { gap: 28px; }
  .v2-learning-level > header { grid-template-columns: 38px minmax(0, 1fr); gap: 10px; }
  .v2-learning-level-number { width: 36px; }
  .v2-learning-level > header h2 { font-size: 19px; }
  .v2-learning-level-count { grid-column: 2; }
  .v2-learning-level-courses { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v2-learning-level-courses > .v2-path-course:last-child:nth-child(3n + 1) { grid-column: auto; }
  .v2-learning-level-courses:not(:has(.v2-path-course:nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
  .v2-path-course-copy { padding: 11px 10px 9px; }
  .v2-path-course-copy h3 { font-size: 15px; }
  .v2-path-course-copy p { font-size: 12px; }
  .v2-home-learning-map-link { align-items: flex-start; flex-direction: column; gap: 3px; padding-inline: 0; }
  .v2-course-path-entry { align-items: center; flex-direction: row; gap: 8px; padding-inline: 0; }
  .v2-learning-map-video { align-items: flex-start; flex-direction: column; }
  .v2-learning-map-video .btn { width: 100%; }
  .v2-studio-overview { gap: 20px; }
  .v2-studio-overview-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .v2-studio-overview-head h2 { font-size: 20px; }
  .v2-studio-overview-head .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .v2-studio-overview-head .button-row .btn { min-height: 44px; }
  .v2-studio-stats > div { min-height: 70px; padding: 10px; }
  .v2-studio-stats strong { font-size: 21px; }
  .v2-studio-work-row, .v2-studio-recap-row { align-items: flex-start; flex-direction: column; gap: 12px; padding: 13px 12px; }
  .v2-studio-work-row > .btn { width: 100%; }
  .v2-studio-project-links { grid-template-columns: minmax(0, 1fr); }
  .v2-studio-form { padding: 14px 12px; }
  .v2-studio-form-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-studio-form-grid .field-wide { grid-column: 1; }
  .v2-studio-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-studio-form .button-row .btn { min-height: 46px; }
  .v2-studio-work-title { align-items: flex-start; flex-direction: column; gap: 7px; }
}
@media (max-width: 360px) {
  .v2-learning-level-courses,
  .v2-learning-level-courses:not(:has(.v2-path-course:nth-child(3))) { grid-template-columns: minmax(0, 1fr); }
}

.v2-demand-form,
.v2-demand-receipt { display: grid; gap: 18px; max-width: 900px; margin-inline: auto; }
.v2-demand-form { padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-demand-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.v2-demand-form-grid .field { min-width: 0; margin: 0; }
.v2-demand-form-grid .field-wide { grid-column: 1 / -1; }
.v2-demand-form input:not([type="checkbox"]),
.v2-demand-form select,
.v2-demand-form textarea,
.v2-demand-review-form select,
.v2-demand-review-form textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-demand-form textarea,
.v2-demand-review-form textarea { min-height: 120px; resize: vertical; }
.v2-demand-form .checkline { display: flex; align-items: flex-start; gap: 9px; margin: 0; line-height: 1.55; }
.v2-demand-form .checkline input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; }
.v2-demand-form .button-row { margin: 0; }
.v2-demand-form > .notice { margin: 0; }
.v2-demand-receipt { max-width: 760px; padding: 22px; border: 1px solid var(--line); background: #fff; }
.v2-demand-receipt h2,
.v2-demand-receipt p { margin: 0; }
.v2-demand-receipt > p { color: var(--muted); line-height: 1.6; }
.v2-demand-admin { display: grid; gap: 24px; }
.v2-demand-admin-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.v2-demand-admin-stats > div { display: grid; gap: 4px; min-height: 78px; align-content: center; padding: 12px 18px; border-right: 1px solid var(--line); }
.v2-demand-admin-stats > div:last-child { border-right: 0; }
.v2-demand-admin-stats strong { color: var(--blue); font-size: 23px; }
.v2-demand-admin-stats span { color: var(--muted); font-size: 13px; }
.v2-demand-admin-section { display: grid; gap: 12px; }
.v2-demand-admin-section .section-head { align-items: flex-end; margin: 0; }
.v2-demand-admin-section .section-head h2 { margin: 0; font-size: 19px; }
.v2-demand-admin-section .section-head p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.v2-demand-topic-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.v2-demand-topic-summary > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; min-height: 54px; padding: 10px 13px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-demand-topic-summary > div:nth-child(3n) { border-right: 0; }
.v2-demand-topic-summary > div:nth-last-child(-n + 3) { border-bottom: 0; }
.v2-demand-topic-summary span { color: var(--muted); font-size: 13px; }
.v2-demand-topic-summary strong { color: var(--blue); font-variant-numeric: tabular-nums; }
.v2-demand-filter-label { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.v2-demand-filter-label select { min-height: 42px; padding: 7px 28px 7px 9px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-demand-review-list { display: grid; gap: 12px; }
.v2-demand-review-card { display: grid; gap: 13px; min-width: 0; padding: 17px; border: 1px solid var(--line); background: #fff; }
.v2-demand-review-card[hidden] { display: none; }
.v2-demand-review-card .v2-admin-record-title { align-items: flex-start; }
.v2-demand-review-card .v2-admin-record-title h3 { margin: 0; font-size: 17px; line-height: 1.4; }
.v2-demand-review-card .v2-admin-record-title p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.v2-demand-review-details { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 8px 12px; margin: 0; line-height: 1.6; }
.v2-demand-review-details dt { color: var(--muted); font-size: 13px; }
.v2-demand-review-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.v2-demand-review-form { display: grid; grid-template-columns: minmax(190px, 0.75fr) minmax(0, 1.5fr) auto; align-items: end; gap: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-demand-review-form .field { min-width: 0; margin: 0; }
.v2-demand-review-form .field label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 700; }
.v2-demand-review-form textarea { min-height: 74px; }
.v2-demand-review-form .btn { min-height: 44px; }
.v2-demand-review-card details > summary { display: flex; min-height: 42px; align-items: center; color: var(--blue); cursor: pointer; }
.v2-demand-review-card details ol { display: grid; gap: 5px; margin: 0; padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.5; }
@media (max-width: 760px) {
  .v2-demand-form { padding: 15px 12px; }
  .v2-demand-form-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .v2-demand-form-grid .field-wide { grid-column: 1; }
  .v2-demand-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-demand-form .button-row .btn { min-height: 46px; }
  .v2-demand-receipt { padding: 16px 13px; }
  .v2-demand-admin { gap: 19px; }
  .v2-demand-admin-stats > div { min-height: 70px; padding: 9px; }
  .v2-demand-admin-stats strong { font-size: 20px; }
  .v2-demand-topic-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-demand-topic-summary > div:nth-child(3n) { border-right: 1px solid var(--line); }
  .v2-demand-topic-summary > div:nth-child(2n) { border-right: 0; }
  .v2-demand-topic-summary > div:nth-last-child(-n + 3) { border-bottom: 1px solid var(--line); }
  .v2-demand-topic-summary > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .v2-demand-admin-section .section-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .v2-demand-filter-label { width: 100%; }
  .v2-demand-filter-label select { flex: 1; min-width: 0; }
  .v2-demand-review-card { padding: 13px 11px; }
  .v2-demand-review-card .v2-admin-record-title { flex-direction: column; }
  .v2-demand-review-details { grid-template-columns: 74px minmax(0, 1fr); gap: 6px 9px; font-size: 14px; }
  .v2-demand-review-form { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .v2-demand-review-form .btn { width: 100%; }
}

.v2-event-archive-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0 22px; border-block: 1px solid var(--line); }
.v2-event-archive-summary > div { display: grid; align-content: center; gap: 4px; min-height: 78px; padding: 12px 16px; border-right: 1px solid var(--line); }
.v2-event-archive-summary > div:last-child { border-right: 0; }
.v2-event-archive-summary strong { color: var(--blue); font-size: 23px; font-variant-numeric: tabular-nums; }
.v2-event-archive-summary span { color: var(--muted); font-size: 13px; }
.v2-event-archive-list { display: grid; gap: 14px; }
.v2-event-archive-card { display: grid; gap: 15px; min-width: 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-event-archive-heading { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 14px; }
.v2-event-archive-heading h2 { margin: 0; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.v2-event-archive-heading p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.v2-event-archive-heading .status { flex: 0 0 auto; }
.v2-event-archive-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-block: 1px solid var(--line); }
.v2-event-archive-stats > div { display: grid; gap: 3px; padding: 10px 12px; border-right: 1px solid var(--line); }
.v2-event-archive-stats > div:last-child { border-right: 0; }
.v2-event-archive-stats dt { color: var(--muted); font-size: 12px; }
.v2-event-archive-stats dd { margin: 0; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.v2-event-archive-participants > summary { display: flex; min-height: 42px; align-items: center; color: var(--blue); cursor: pointer; font-weight: 700; }
.v2-event-archive-table-wrap { max-width: 100%; overflow-x: auto; }
.v2-event-archive-table-wrap table { width: 100%; min-width: 590px; border-collapse: collapse; font-size: 13px; }
.v2-event-archive-table-wrap th, .v2-event-archive-table-wrap td { padding: 9px 10px; border: 1px solid var(--line); text-align: left; white-space: nowrap; }
.v2-event-archive-table-wrap th { background: #f4f7f8; font-weight: 700; }
.v2-event-archive-form { display: grid; gap: 12px; padding-top: 13px; border-top: 1px solid var(--line); }
.v2-event-archive-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 18px; min-width: 0; margin: 0; padding: 0; border: 0; }
.v2-event-archive-form legend { margin-bottom: 8px; font-weight: 700; }
.v2-event-archive-check { display: flex; min-height: 42px; align-items: flex-start; gap: 9px; line-height: 1.5; }
.v2-event-archive-check input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--blue); }
.v2-event-archive-form .button-row { margin: 0; }
.v2-event-archive-form .btn { min-height: 42px; }
.v2-event-archive-form .btn:disabled { cursor: not-allowed; opacity: .52; }
.v2-event-archive-stamp { margin: 0; color: var(--muted); font-size: 13px; }
.v2-event-archive-empty-state { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: start; min-height: 230px; padding: 30px; border: 1px dashed #b9cbd2; background: linear-gradient(135deg, #f7fafb, #fff); }
.v2-event-archive-empty-state h2 { margin: 0 0 8px; font-size: 21px; }
.v2-event-archive-empty-state p { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.7; }
.v2-event-archive-empty-state .button-row { display: grid; min-width: 190px; gap: 8px; }
.v2-event-archive-empty-state .btn { justify-content: center; min-height: 44px; }
.v2-event-archive-empty-state ol { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; margin: 0; padding: 17px 0 0 22px; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.55; }
@media (max-width: 760px) {
  .v2-event-archive-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-event-archive-summary > div { min-height: 68px; padding: 10px; }
  .v2-event-archive-summary > div:nth-child(2) { border-right: 0; }
  .v2-event-archive-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .v2-event-archive-card { gap: 12px; padding: 14px 12px; }
  .v2-event-archive-heading { flex-direction: column; gap: 8px; }
  .v2-event-archive-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-event-archive-stats > div:nth-child(2) { border-right: 0; }
  .v2-event-archive-stats > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .v2-event-archive-form fieldset { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .v2-event-archive-form .button-row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .v2-event-archive-form .button-row .btn { width: 100%; }
  .v2-event-archive-empty-state { grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 20px 16px; }
  .v2-event-archive-empty-state .button-row { grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
  .v2-event-archive-empty-state .button-row .btn:last-child { grid-column: 1 / -1; }
  .v2-event-archive-empty-state ol { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

.v2-notification-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0 20px; border-block: 1px solid var(--line); }
.v2-notification-stats > div { display: grid; align-content: center; gap: 4px; min-height: 72px; padding: 10px 15px; border-right: 1px solid var(--line); }
.v2-notification-stats > div:last-child { border-right: 0; }
.v2-notification-stats strong { color: var(--blue); font-size: 22px; font-variant-numeric: tabular-nums; }
.v2-notification-stats span { color: var(--muted); font-size: 13px; }
.v2-notification-filter { display: flex; align-items: center; gap: 10px; margin: 0 0 13px; color: var(--muted); font-size: 13px; }
.v2-notification-filter select { min-width: 170px; min-height: 42px; padding: 7px 30px 7px 10px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-notification-list { display: grid; gap: 11px; }
.v2-notification-card { display: grid; gap: 13px; min-width: 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.v2-notification-card[hidden] { display: none; }
.v2-notification-card-head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v2-notification-card-head h2 { margin: 0; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
.v2-notification-card-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.v2-notification-card-head .status { flex: 0 0 auto; }
.v2-notification-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 13px; }
.v2-notification-result-form { display: grid; grid-template-columns: minmax(145px, .7fr) minmax(200px, 1.3fr) auto; align-items: end; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
.v2-notification-result-form .field { min-width: 0; margin: 0; }
.v2-notification-result-form .field label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 700; }
.v2-notification-result-form select, .v2-notification-result-form input { width: 100%; min-width: 0; min-height: 42px; padding: 8px 10px; border: 1px solid #c5d1d8; border-radius: 3px; background: #fff; color: var(--ink); font: inherit; }
.v2-notification-result-form .btn { min-height: 42px; }
.v2-notification-card details > summary { display: flex; min-height: 38px; align-items: center; color: var(--blue); cursor: pointer; }
.v2-notification-card details ol { display: grid; gap: 5px; margin: 0; padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.v2-notification-audience { display: grid; gap: 10px; margin-top: 20px; }
.v2-notification-audience h2 { margin: 0; font-size: 18px; }
.v2-notification-audience dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); }
.v2-notification-audience dl > div { display: flex; min-width: 0; justify-content: space-between; gap: 10px; padding: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-notification-audience dt { color: var(--muted); font-size: 13px; }
.v2-notification-audience dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
  .v2-notification-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-notification-stats > div { min-height: 64px; padding: 9px; }
  .v2-notification-stats > div:nth-child(2) { border-right: 0; }
  .v2-notification-stats > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .v2-notification-card { padding: 13px 11px; }
  .v2-notification-card-head { flex-direction: column; gap: 8px; }
  .v2-notification-result-form { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .v2-notification-result-form .btn { width: 100%; }
  .v2-notification-filter { align-items: flex-start; flex-direction: column; }
  .v2-notification-filter select { width: 100%; }
  .v2-notification-audience dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-notification-audience dl > div:nth-child(2n) { border-right: 0; }
}

.v2-media-detail { display: grid; gap: 18px; }
.v2-media-detail-summary { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid var(--line); background: #fff; }
.v2-media-detail-summary h2 { margin: 0 0 6px; font-size: 21px; overflow-wrap: anywhere; }
.v2-media-detail-summary p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.v2-media-version-list { display: grid; gap: 11px; }
.v2-media-version { display: grid; gap: 8px; min-width: 0; padding: 15px; border: 1px solid var(--line); background: #fff; }
.v2-media-version p { margin: 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.v2-media-version .button-row { margin-top: 4px; }
.v2-media-audit { padding: 13px 15px; border: 1px solid var(--line); background: #fff; }
.v2-media-audit summary { min-height: 40px; display: flex; align-items: center; color: var(--blue); cursor: pointer; font-weight: 700; }
.v2-media-audit ol { margin: 5px 0 0; padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.v2-media-title-link { color: inherit; }
.media-library-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0 24px; border: 1px solid var(--line); background: #fff; }
.media-library-summary > div { display: grid; gap: 4px; padding: 16px 20px; border-right: 1px solid var(--line); }
.media-library-summary > div:last-child { border: 0; }
.media-library-summary strong { color: var(--blue); font-size: 26px; font-variant-numeric: tabular-nums; }
.media-library-summary span { color: var(--muted); font-size: 13px; }
.media-library-list { display: grid; gap: 12px; margin-bottom: 20px; }
.media-library-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.media-library-row > div { min-width: 0; }
.media-library-row h3 { font-size: 17px; overflow-wrap: anywhere; }
.media-library-row p { margin: 6px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.media-library-row > .btn { flex-shrink: 0; }
.media-registration, .media-revoke-panel { margin-block: 16px; padding: 12px 18px; border: 1px solid var(--line); background: #fff; }
.media-registration > summary, .media-revoke-panel > summary { min-height: 44px; align-content: center; cursor: pointer; font-weight: 700; color: var(--blue); }
.media-registration[open] > summary, .media-revoke-panel[open] > summary { margin-bottom: 14px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.media-registration .form-grid, .media-revoke-panel .form-grid { margin: 0; box-shadow: none; }
.media-registration .v2-admin-form { max-width: none; padding: 0; border: 0; background: transparent; }
.section-head > .media-register-link { min-height: 44px; color: #fff; }
.media-feedback, .media-registration form > p, .media-revoke-panel form > p { grid-column: 1 / -1; margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.media-feedback { color: #a4382a; }
.media-feedback:empty { display: none; }
.media-review-form { display: grid; gap: 12px; padding-top: 16px; margin-top: 8px; border-top: 1px solid var(--line); }
.media-review-form .field { display: grid; gap: 7px; }
.media-review-form textarea { width: 100%; min-width: 0; min-height: 80px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font: inherit; resize: vertical; }
.media-version-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 8px 0; padding: 12px 0; border-block: 1px solid var(--line); }
.media-version-meta dt { color: var(--muted); font-size: 13px; }
.media-version-meta dd { margin: 5px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.media-withdrawn { padding: 16px; border: 1px solid var(--line); border-left: 3px solid #bd7b3a; background: #fff; }
.media-withdrawn h3 { margin: 0 0 8px; }
.media-withdrawn p { margin: 4px 0; line-height: 1.6; }
.v2-media-detail .btn, .media-library-row .btn, .media-registration .btn, .media-registration input, .media-registration select, .media-revoke-panel input { min-height: 44px; }
.media-source-link { display: inline-flex; align-items: center; min-height: 44px; justify-self: start; }
.v2-search-page { padding-top: 38px; padding-bottom: 48px; }
.v2-search-heading h1 { margin: 0 0 10px; color: var(--deep); font-size: 30px; line-height: 1.4; }
.v2-search-heading p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.v2-search-form { margin: 26px 0 20px; }
.v2-search-form > label { display: block; margin-bottom: 9px; color: var(--ink); font-size: 14px; font-weight: 700; }
.v2-search-input-row { display: flex; align-items: center; gap: 12px; padding: 7px 8px 7px 16px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.v2-search-input-row:focus-within { border-color: var(--action); box-shadow: 0 0 0 3px #176d7514; }
.v2-search-input-row svg { width: 21px; height: 21px; flex-shrink: 0; color: var(--muted); }
.v2-search-input-row input { width: 100%; min-width: 0; min-height: 44px; padding: 6px 0; border: 0; outline: none; color: var(--ink); background: transparent; font: inherit; font-size: 16px; }
.v2-search-input-row .btn { min-height: 44px; flex: 0 0 auto; padding-inline: 26px; }
.v2-search-types { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.v2-search-types button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 14px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; }
.v2-search-types button > span { font-size: 12px; font-variant-numeric: tabular-nums; opacity: .85; }
.v2-search-types button[aria-pressed="true"] { color: var(--action); background: #e7f1f2; border-color: #bad5d8; font-weight: 700; }
.v2-search-types button:hover { background: #edf3f5; }
.v2-search-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 34px; align-items: start; padding-top: 20px; }
.v2-search-main { min-width: 0; }
.v2-search-result-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-bottom: 18px; }
.v2-search-result-summary p { margin: 0; font-size: 14px; color: var(--muted); overflow-wrap: anywhere; }
.v2-search-reset { min-height: 44px; flex-shrink: 0; padding: 8px 0 8px 10px; border: 0; background: transparent; color: var(--action); font: inherit; font-size: 14px; cursor: pointer; }
.v2-search-reset[hidden] { display: none; }
.v2-search-group { margin-bottom: 28px; }
.v2-search-group > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-bottom: 10px; }
.v2-search-group h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 19px; }
.v2-search-group h2 > span { color: var(--muted); font-size: 13px; font-weight: 400; }
.v2-search-group > header button { min-height: 44px; padding: 8px 0 8px 8px; border: 0; background: transparent; color: var(--action); font: inherit; font-size: 13px; cursor: pointer; }
.v2-search-result-list { display: grid; gap: 10px; }
.v2-search-result { display: grid; grid-template-columns: 160px minmax(0, 1fr) 18px; gap: 18px; align-items: center; min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); text-decoration: none; transition: border-color 150ms ease, box-shadow 150ms ease; }
.v2-search-result:hover { color: var(--ink); border-color: #92bac0; box-shadow: 0 2px 8px #1b46500a; }
@media (prefers-reduced-motion: reduce) { .v2-search-result { transition: none; } }
.v2-search-result-media { display: grid; justify-items: start; align-items: center; min-width: 0; }
.v2-search-result-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 3px; }
.v2-search-result-copy { min-width: 0; }
.v2-search-result h3 { margin: 0 0 7px; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.v2-search-result-copy > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 9px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.v2-search-result-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.v2-search-result-arrow { align-self: start; padding-top: 3px; color: var(--action); font-size: 20px; }
.v2-search-result.is-mentors { grid-template-columns: 72px minmax(0, 1fr) 18px; }
.v2-search-result.is-mentors img { aspect-ratio: 3 / 4; object-position: center top; }
.v2-search-result.is-community, .v2-search-result.is-resources { grid-template-columns: 52px minmax(0, 1fr) 18px; }
.v2-search-result-symbol { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 4px; background: #edf3f5; color: var(--action); font-size: 21px; }
.v2-search-result.is-mentors .v2-search-result-symbol { width: 72px; height: 96px; }
.v2-search-guidance { display: grid; gap: 24px; padding: 16px 0 0 24px; border-left: 1px solid var(--line); }
.v2-search-guidance h2 { margin: 0 0 12px; font-size: 15px; }
.v2-search-keywords { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-search-keywords button { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: 14px; cursor: pointer; }
.v2-search-keywords button:hover { border-color: var(--action); color: var(--action); }
.v2-search-path-help { padding: 16px; border-radius: 4px; background: #e9f1f3; }
.v2-search-path-help p { margin: 0 0 10px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.v2-search-path-help a, .v2-search-browse-links a { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--action); }
.v2-search-browse-links { display: grid; }
.v2-search-empty { display: grid; justify-items: center; gap: 14px; padding: 38px 22px; border: 1px solid var(--line); border-radius: 5px; background: #fff; text-align: center; }
.v2-search-empty-icon { color: var(--action); font-size: 38px; }
.v2-search-empty h2 { margin: 0; font-size: 20px; }
.v2-search-empty p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.v2-search-empty > .inline-link { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
body[data-page="home"] .v2-home-mentor-card .card-body { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px; }
body[data-page="home"] .v2-home-mentor-portrait { display: block; width: 78px; }
body[data-page="home"] .v2-home-mentor-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; border-radius: 3px; }
body[data-page="home"] .v2-home-mentor-copy { min-width: 0; }
body[data-page="home"] .v2-home-mentor-copy .person-row { margin-bottom: 6px; }
body[data-page="home"] .v2-home-mentor-copy h3 { font-size: 16px; }
body[data-page="home"] .v2-home-mentor-copy p { margin: 0 0 7px; font-size: 12px; line-height: 1.6; }
body[data-page="home"] .v2-home-mentor-copy .card-footer { margin-top: 0; padding-top: 0; border: 0; }
body[data-page="home"] .v2-home-mentor-copy .card-footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 1020px) {
  .v2-search-workspace { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .v2-search-guidance { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .v2-search-page { padding-top: 24px; }
  .v2-search-heading h1 { font-size: 25px; }
  .v2-search-heading p { font-size: 14px; }
  .v2-search-form { margin: 20px 0 14px; }
  .v2-search-input-row { gap: 8px; padding-left: 10px; }
  .v2-search-input-row svg { display: none; }
  .v2-search-input-row .btn { padding-inline: 16px; }
  .v2-search-types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; padding-bottom: 14px; }
  .v2-search-types button { gap: 5px; padding: 6px 3px; font-size: 13px; }
  .v2-search-workspace { padding-top: 12px; }
  .v2-search-result-summary { margin-bottom: 10px; }
  .v2-search-result-summary p { font-size: 13px; }
  .v2-search-reset { font-size: 13px; }
  .v2-search-result { grid-template-columns: 96px minmax(0, 1fr); align-items: start; gap: 12px; padding: 12px; }
  .v2-search-result h3 { font-size: 15px; margin-bottom: 6px; }
  .v2-search-result-copy > p { font-size: 13px; margin-bottom: 6px; }
  .v2-search-result-arrow { display: none; }
  .v2-search-result-meta { gap: 3px 8px; }
  .v2-search-result.is-mentors { grid-template-columns: 60px minmax(0, 1fr); }
  .v2-search-result.is-mentors .v2-search-result-symbol { width: 60px; height: 80px; }
  .v2-search-result.is-community, .v2-search-result.is-resources { grid-template-columns: 40px minmax(0, 1fr); }
  .v2-search-result-symbol { width: 40px; height: 44px; font-size: 18px; }
  .v2-search-guidance { grid-template-columns: minmax(0, 1fr); }
  .v2-search-guidance > section:first-child { display: none; }
  .v2-search-browse-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .v2-search-empty { padding: 26px 14px; }
  .v2-search-empty h2 { font-size: 18px; }
  body[data-page="home"] .v2-home-mentor-card .card-body { grid-template-columns: 66px minmax(0, 1fr); gap: 12px; padding: 14px; }
  body[data-page="home"] .v2-home-mentor-portrait { width: 66px; }
}
@media (max-width: 640px) {
  .v2-media-detail-summary { flex-direction: column; padding: 14px 12px; }
  .v2-media-detail-summary .button-row { width: 100%; }
  .v2-media-detail-summary .button-row .btn { flex: 1 1 auto; }
  .v2-media-version { padding: 13px 11px; }
  .media-library-summary > div { padding: 12px 9px; }
  .media-library-summary strong { font-size: 22px; }
  .media-library-row { flex-direction: column; align-items: stretch; padding: 14px 12px; }
  .media-registration, .media-revoke-panel { padding: 10px 12px; }
  .media-version-meta { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .media-review-form .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-media-detail-summary > .btn { width: 100%; }
}
/* Help, ticket conversations and account return flow. Mentor directory keeps its approved layout. */
.support-public, .support-auth { padding-top: 34px; padding-bottom: 48px; }
.support-page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 28px; }
.support-page-head h1 { margin-top: 0; }
.support-page-head .detail-lead { margin-bottom: 0; }
.support-page-head .button-row { flex-shrink: 0; }
.support-help-layout { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 32px; align-items: start; }
.support-help-layout h2, .support-conversation > h2, .support-history h2 { margin: 0 0 18px; font-size: 20px; }
.support-faq, .support-request, .support-conversation, .support-history { min-width: 0; padding: 24px; background: var(--surface, #fff); border: 1px solid var(--line, #d9e1e7); border-radius: 8px; }
.support-faq .v2-faq-list { margin: 0; gap: 0; }
.support-faq .v2-faq-list summary { padding: 14px 0; min-height: 52px; gap: 12px; }
.support-faq summary::after { content: '+'; margin-left: auto; color: var(--action); }
.support-faq details[open] summary::after { content: '−'; }
.support-faq .v2-faq-list details p { padding: 0 0 16px; line-height: 1.8; }
.support-faq .inline-link { margin-bottom: 12px; }
.support-form { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.support-form .field { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.support-form label { font-weight: 600; color: var(--ink); }
.support-form input, .support-form select, .support-form textarea { max-width: 100%; width: 100%; box-sizing: border-box; min-width: 0; border: 1px solid var(--line); background: #fff; border-radius: 4px; padding: 11px 12px; color: var(--ink); font: inherit; line-height: 1.6; }
.support-form textarea { min-height: 140px; resize: vertical; }
.support-form select { min-height: 46px; }
.support-form .btn { align-self: flex-start; min-height: 46px; }
.support-form-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.support-form-footer .btn { min-width: 160px; }
.support-form-footer span, .support-hint, .support-caption { color: var(--muted); font-size: 14px; line-height: 1.7; }
.support-hint, .support-caption { margin: 0; }
.support-caption { margin-top: 20px; max-width: 760px; }
.support-feedback { margin: 0; padding: 12px; color: #9c2e28; background: #fff4f2; border: 1px solid #e6b6ae; border-radius: 4px; overflow-wrap: anywhere; }
.support-feedback[hidden] { display: none; }
.support-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin: 0 0 24px; }
.support-metrics > div { display: grid; gap: 4px; padding: 18px 20px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.support-metrics strong { font-size: 26px; font-variant-numeric: tabular-nums; line-height: 1.3; }
.support-metrics span { color: var(--muted); font-size: 14px; }
.support-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 20px; }
.support-filter select { min-height: 44px; padding: 8px 32px 8px 12px; max-width: 100%; font: inherit; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.support-ticket-list { display: grid; gap: 14px; }
.support-ticket-card { display: flex; justify-content: space-between; gap: 24px; padding: 22px 24px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.support-ticket-copy { min-width: 0; }
.support-ticket-card h2 { font-size: 18px; line-height: 1.6; margin: 8px 0; overflow-wrap: anywhere; }
.support-ticket-card h2 a { color: var(--ink); }
.support-ticket-card p { margin: 8px 0; color: var(--muted); overflow-wrap: anywhere; }
.support-ticket-card small { display: block; color: var(--muted); overflow-wrap: anywhere; font-size: 12px; }
.support-ticket-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: 13px; }
.support-ticket-actions { display: flex; flex-direction: column; flex-shrink: 0; align-items: flex-end; justify-content: space-between; gap: 16px; }
.support-status { display: inline-flex; align-items: center; padding: 5px 10px; font-size: 13px; font-weight: 600; line-height: 1.5; white-space: nowrap; border-radius: 4px; color: #765017; background: #fff2d9; }
.support-status-1, .support-status-3 { color: #23596c; background: #e9f3f7; }
.support-status-4 { color: #266552; background: #eaf5ef; }
.support-status-5 { color: #53616b; background: #eef1f3; }
.support-detail-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 0 20px; }
.support-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 0.36fr); gap: 24px; align-items: start; }
.support-messages { display: grid; gap: 16px; padding: 0; margin: 0 0 26px; list-style: none; }
.support-message { padding: 16px; border-left: 3px solid var(--line); background: #f6f8fa; border-radius: 0 6px 6px 0; }
.support-message-reply { border-left-color: var(--action); background: #eef6f8; }
.support-message > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; }
.support-message strong { font-size: 14px; }
.support-message time { color: var(--muted); font-size: 12px; }
.support-message p { margin: 10px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.support-confirm-form { padding: 20px 0; border-top: 1px solid var(--line); margin-top: 24px; }
.support-confirm-form h3, .support-confirm-form p { margin: 0; }
.support-secondary-action { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 8px; }
.support-secondary-action summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; color: var(--action); }
.support-secondary-action .support-form { padding-top: 12px; }
.support-history ol { display: grid; gap: 18px; padding: 0 0 0 18px; margin: 0 0 24px; }
.support-history li { padding-left: 4px; overflow-wrap: anywhere; }
.support-history strong { display: block; font-size: 14px; line-height: 1.6; }
.support-history span, .support-history p { display: block; font-size: 12px; color: var(--muted); line-height: 1.8; }
.support-auth .v2-demo-login { max-width: 760px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 24px; }
.support-auth .v2-demo-login h2 { margin: 0; font-size: 20px; }
.support-auth .v2-identity-option input { width: 18px; height: 18px; min-height: 0; accent-color: var(--action); }
.support-auth .v2-auth-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--action); }
.support-public :focus-visible, .support-workspace :focus-visible, .support-auth :focus-visible { outline: 2px solid var(--action); outline-offset: 3px; }
@media (max-width: 900px) {
  .support-help-layout { grid-template-columns: 1fr; gap: 20px; }
  .support-detail-layout { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 600px) {
  .support-public, .support-auth { padding-top: 22px; }
  .support-page-head { flex-direction: column; gap: 16px; margin-bottom: 22px; }
  .support-faq, .support-request, .support-conversation, .support-history { padding: 18px 16px; }
  .support-form-footer { flex-direction: column; align-items: stretch; }
  .support-form-footer .btn, .support-form > .btn { width: 100%; }
  .support-ticket-card { flex-direction: column; padding: 18px 16px; gap: 16px; }
  .support-ticket-actions { flex-direction: row; align-items: center; }
  .support-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .support-metrics > div { padding: 14px; }
  .support-auth .v2-demo-login { padding: 18px 16px; }
  .support-public .detail-lead { overflow-wrap: anywhere; }
}
/* Compact personal navigation and mobile detail actions. */
.v2-personal-mobile-nav, .v2-mobile-course-preview, .v2-mobile-event-services { display: none; }
.v2-event-registration-history { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.v2-event-registration-history h2 { margin: 0; font-size: 20px; }
.v2-event-registration-history > p { color: var(--muted); font-size: 14px; }
.v2-event-registration-history .status { margin-bottom: 8px; }
@media (max-width: 640px) {
  body[data-page="me"] .dash-side > h3, body[data-page="me"] .dash-side > nav:not(.v2-personal-mobile-nav) { display: none; }
  body[data-page="me"] .dash-side > nav.v2-personal-mobile-nav { display: block; }
  .v2-personal-primary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
  body[data-page="me"] .v2-personal-mobile-nav a { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 8px 4px; border-radius: 4px; font-size: 14px; }
  .v2-personal-more { margin-top: 8px; border-top: 1px solid var(--line); }
  .v2-personal-more > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 8px; color: var(--muted); font-size: 14px; cursor: pointer; }
  .v2-personal-more > summary::after { content: '+'; color: var(--action); }
  .v2-personal-more[open] > summary::after { content: '−'; }
  .v2-personal-more.is-current > summary { color: var(--action); font-weight: 700; }
  .v2-personal-more > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding-top: 4px; }
  .v2-personal-mobile-nav :focus-visible { outline: 2px solid var(--action); outline-offset: 2px; }
  .v2-mobile-course-preview { display: flex; align-items: center; min-height: 44px; padding: 0 12px; margin-bottom: 8px; font-size: 14px; }
  .v2-mobile-event-services { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 16px; padding: 0 12px; }
  .v2-mobile-event-services a { display: inline-flex; align-items: center; min-height: 44px; color: var(--action); font-size: 14px; font-weight: 600; }
  .v2-mobile-event-enrollment > a { display: flex; align-items: center; min-height: 44px; font-size: 14px; }
}
/* Shared ticket routing: current responsibility stays above the conversation. */
.support-thread-actions { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: -8px 0 20px; }
.support-thread-actions a { display: inline-flex; min-height: 44px; align-items: center; color: var(--action); font-size: 14px; font-weight: 600; }
.support-earlier { margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.support-earlier > summary { display: flex; align-items: center; min-height: 44px; gap: 12px; justify-content: space-between; color: var(--action); font-size: 14px; cursor: pointer; }
.support-earlier > summary::after { content: '+'; }
.support-earlier[open] > summary::after { content: '−'; }
.v2-inbox-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.v2-inbox-summary button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.v2-inbox-summary strong { font-size: 26px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.v2-inbox-summary span { font-size: 14px; }
.v2-inbox-summary button.is-active { border-color: var(--action); background: #edf5f6; }
.v2-inbox-controls { padding: 18px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.v2-inbox-categories { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.v2-inbox-category { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 12px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; }
.v2-inbox-category span { font-size: 12px; font-variant-numeric: tabular-nums; }
.v2-inbox-category.is-active { color: var(--action); border-color: #c8dfe3; background: #edf5f6; font-weight: 700; }
.v2-inbox-fields { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 16px; }
.v2-inbox-fields .field { margin: 0; min-width: 0; }
.v2-inbox-fields input, .v2-inbox-fields select { width: 100%; min-height: 44px; }
.v2-inbox-results-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 14px 0 8px; }
#v2-inbox-result { margin: 0; color: var(--muted); font-size: 14px; }
.v2-inbox-results-head button { flex-shrink: 0; }
.v2-inbox-results-head [data-inbox-clear], .v2-inbox-item-actions button { border: 0; background: transparent; font-family: inherit; cursor: pointer; }
.v2-inbox-results-head [data-inbox-clear][hidden] { display: none; }
.v2-inbox-page #main > .page-intro[hidden] { display: none; }
.v2-inbox-page .dashboard { margin-top: 24px; }
body[data-page="me"] .v2-message-list { gap: 0; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: #fff; }
body[data-page="me"] .v2-message-item { border: 0; border-bottom: 1px solid var(--line); padding: 18px 20px; border-left: 3px solid transparent; }
body[data-page="me"] .v2-message-item:last-child { border-bottom: 0; }
body[data-page="me"] .v2-message-item.is-unread { border-left-color: var(--action); background: #f8fbfc; }
.v2-message-item-main { width: 100%; overflow-wrap: anywhere; }
.v2-inbox-item-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; color: var(--muted); font-size: 13px; }
.v2-message-item h3 { font-size: 17px; line-height: 1.5; margin: 4px 0; }
.v2-message-item h3 a { display: flex; align-items: center; min-height: 44px; color: var(--ink); }
.v2-message-item h3 a:hover { color: var(--action); }
.v2-message-item .v2-inbox-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 4px 0 8px; }
.v2-inbox-reference { display: block; overflow-wrap: anywhere; }
.v2-inbox-item-states { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: 13px; }
.v2-inbox-action-state { color: var(--action); font-weight: 700; }
.v2-inbox-item-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0 18px; margin-top: 4px; }
.v2-inbox-item-actions .inline-link, .v2-inbox-results-head .inline-link, .v2-assignment-record-action { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; }
.v2-assignment-record-action { display: flex; }
.v2-inbox-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; }
.v2-inbox-pagination span { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; }
.v2-inbox-feedback, .v2-notification-feedback { padding: 12px 14px; border-left: 3px solid var(--danger); color: var(--danger); background: var(--danger-bg); }
.v2-notification-primary-actions { margin: 0 0 18px !important; }
.v2-notification-business-status { padding: 12px 14px; border-left: 3px solid var(--action); background: #edf5f6; font-size: 14px; }
.v2-notification-detail, .v2-notification-detail-body { overflow-wrap: anywhere; }
.v2-inbox-heading-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 12px; width: 100%; }
.v2-inbox-heading-body h1 { margin: 0; font-size: 26px; line-height: 1.4; }
.v2-inbox-heading-body > p { grid-column: 1 / -1; margin: 0; }
.v2-inbox-heading-body > a { display: inline-flex; align-items: center; min-height: 44px; }
.v2-inbox-mobile-category { display: none; }
.v2-notification-primary-actions > .btn { flex: 0 0 auto; min-height: 46px; height: auto; }
@media (max-width: 640px) {
  .v2-inbox-summary { gap: 8px; margin: 16px 0; }
  .v2-inbox-summary button { padding: 12px 8px; }
  .v2-inbox-summary strong { font-size: 24px; }
  .v2-inbox-summary span { font-size: 12px; }
  .v2-inbox-controls { padding: 12px; }
  .v2-inbox-categories { display: none; }
  .v2-inbox-category { padding: 8px; gap: 5px; font-size: 13px; }
  .v2-inbox-fields { grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; }
  .v2-inbox-mobile-category { display: block; }
  .v2-inbox-state-field { display: none; }
  .v2-inbox-fields input { padding-left: 10px; padding-right: 10px; font-size: 14px; }
  .v2-inbox-fields select { padding-left: 8px; padding-right: 22px; font-size: 14px; }
  .v2-inbox-heading-body > a { font-size: 13px; }
  .v2-inbox-heading-body h1 { font-size: 24px; }
  body[data-page="me"] .v2-message-item { padding: 14px 12px; }
  .v2-message-item h3 { font-size: 16px; }
  .v2-inbox-item-meta { font-size: 12px; }
  .v2-inbox-item-actions { gap: 0 14px; }
  .v2-inbox-results-head { align-items: flex-start; }
  .v2-notification-primary-actions { align-items: stretch; flex-direction: column; }
}
.support-earlier > ol { margin-top: 16px; }
.support-thread-count { color: var(--muted); font-size: 13px; margin: 0 0 14px; }
.support-confirm-form.support-quick-confirm { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; padding: 18px 20px; margin: 0 0 24px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.support-quick-confirm h3 { font-size: 16px; margin: 0 0 5px; }
.support-quick-confirm p { font-size: 14px; color: var(--muted); margin: 0; line-height: 1.7; }
.support-quick-confirm .support-feedback { flex-basis: 100%; }
#support-response-form, #support-latest-message { scroll-margin-top: 20px; }
@media (max-width: 600px) { .support-confirm-form.support-quick-confirm { padding: 16px; } .support-quick-confirm > .btn { width: 100%; } }
.support-current-step { padding: 16px 20px; margin: 0 0 20px; border: 1px solid #cfdee8; border-left: 3px solid var(--action); background: #eef5fa; border-radius: 6px; }
.support-current-step strong { font-size: 16px; color: var(--ink); }
.support-current-step p { margin: 5px 0 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.support-status-6 { color: #23596c; background: #e9f3f7; }
.support-status-7 { color: #765017; background: #fff2d9; }
.support-form h3 { margin: 0; font-size: 18px; }
.support-review-context { padding: 18px; margin: 0 0 24px; background: #f7f9fb; border: 1px solid var(--line); border-radius: 6px; }
.support-review-context h3 { margin: 0 0 12px; font-size: 16px; }
.support-review-context p { margin: 8px 0 0; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; }
.support-packet-history summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--action); font-size: 14px; }
.support-packet-history > details { padding-left: 12px; border-left: 2px solid var(--line); }
.support-form .field[hidden] { display: none; }
.support-history-details > summary, .support-internal > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; gap: 12px; font-size: 16px; font-weight: 600; cursor: pointer; }
.support-history-details > summary::after, .support-internal > summary::after { content: '+'; color: var(--action); }
.support-history-details[open] > summary::after, .support-internal[open] > summary::after { content: '−'; }
.support-history-details > ol { margin: 16px 0 0; }
.support-internal { margin-top: 24px; padding-top: 12px; border-top: 1px solid var(--line); }
.support-review-round { padding: 16px 0; border-bottom: 1px solid var(--line); }
.support-review-round h3, .support-business-links h3 { margin: 0 0 10px; font-size: 15px; }
.support-review-round p { margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; font-size: 14px; }
.support-review-round time { color: var(--muted); font-size: 12px; }
.support-business-links { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.support-business-links a { display: flex; align-items: center; min-height: 44px; }
.support-filter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; gap: 12px 16px; }
.support-filter-field { min-width: 0; display: grid; gap: 8px; }
.support-filter-field label { font-size: 14px; font-weight: 600; }
.support-filter-field select { width: 100%; min-width: 0; }
.support-filter-actions { display: flex; align-items: center; gap: 16px; min-height: 44px; }
.support-filter-actions a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) {
  .support-metrics.support-metrics-three { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .support-metrics-three > div { padding: 12px 8px; }
  .support-metrics-three strong { font-size: 22px; }
  .support-metrics-three span { font-size: 12px; line-height: 1.6; }
  .support-current-step { padding: 14px 16px; }
  .support-filter { grid-template-columns: 1fr; align-items: stretch; }
  .support-filter-field { grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; }
  .support-filter-actions .btn { flex: 1; }
  .support-filter label { display: flex; align-items: center; min-height: 44px; }
  .support-filter select { flex: 1 1 150px; min-width: 0; }
}
/* Versioned event arrangements and acknowledgement follow-up. */
.event-response-page { padding-top: 32px; padding-bottom: 48px; }
.event-response-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.event-response-heading h1 { margin: 0 0 14px; }
.event-response-heading p { margin: 0; color: var(--muted); line-height: 1.8; }
.event-response-heading > .btn { flex-shrink: 0; }
.event-response-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .34fr); gap: 24px; align-items: start; }
.event-response-summary, .event-response-form, .event-response-aside, .event-followup-schedule, .event-followup-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.event-response-summary h2 { margin: 18px 0 22px; font-size: 22px; line-height: 1.6; }
.event-response-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; color: var(--muted); font-size: 13px; }
.event-schedule-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.event-schedule-comparison > section { min-width: 0; padding: 20px; background: #f5f7f9; border: 1px solid #e0e6eb; border-radius: 6px; }
.event-schedule-comparison .event-schedule-after { border-color: #b7d4dc; background: #eef6f8; }
.event-schedule-comparison h3 { font-size: 15px; margin: 0 0 18px; color: var(--muted); }
.event-schedule-after h3 { color: var(--action); }
.event-schedule-comparison dl { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px 10px; margin: 0; }
.event-schedule-comparison dt { font-size: 13px; color: var(--muted); padding-top: 2px; }
.event-schedule-comparison dd { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.event-schedule-after dd { font-weight: 700; }
.event-schedule-comparison p { margin: 0; line-height: 1.9; }
.event-response-reason { margin-top: 24px; }
.event-response-reason h3 { font-size: 15px; margin: 0 0 8px; }
.event-response-reason p { margin: 0; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.event-response-form { display: flex; flex-direction: column; gap: 18px; margin-top: 20px; }
.event-response-form h2, .event-response-aside h2 { font-size: 20px; margin: 0; }
.event-response-form > p { margin: 0; font-size: 14px; color: var(--muted); line-height: 1.8; }
.event-response-form .field, .event-followup-form .field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.event-response-form label, .event-followup-form label { font-size: 14px; font-weight: 600; }
.event-response-form label span { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); font-weight: 400; }
.event-response-form textarea, .event-response-form select, .event-followup-form select, .event-followup-form textarea, .event-followup-form input, .event-followup-select select, .event-followup-toolbar select { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; min-height: 46px; padding: 11px 12px; font: inherit; font-size: 15px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.event-response-form textarea, .event-followup-form textarea { resize: vertical; min-height: 110px; line-height: 1.7; }
.event-response-form .button-row { align-items: center; gap: 12px 20px; margin: 0; }
.event-response-form .btn, .event-followup-form .btn { min-height: 46px; align-self: flex-start; }
.event-response-aside { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.event-response-aside h3 { margin: 0; font-size: 15px; }
.event-response-aside p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.event-response-aside ol { margin: 0; padding-left: 18px; display: grid; gap: 14px; }
.event-response-aside li { font-size: 13px; }
.event-response-aside time { color: var(--muted); font-size: 12px; }
.event-response-feedback { margin: 0; padding: 12px 14px; color: #97362b; background: #fff1ed; border: 1px solid #e7b8ae; border-radius: 4px; line-height: 1.7; }
.event-response-feedback[hidden], .event-followup-next[hidden], .event-followup-card[hidden], .event-followup-empty[hidden] { display: none; }
.event-response-outdated { padding: 18px 20px; margin-bottom: 24px; border: 1px solid #ddc99b; background: #fff9ec; color: #72501f; border-radius: 6px; line-height: 1.8; }
.event-response-outdated p { margin: 8px 0 14px; }
.event-response-success { margin: 0 0 22px; padding: 14px 18px; background: #edf6f2; color: #28614c; border: 1px solid #c2ddce; border-radius: 4px; }
.event-change-entry { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.event-change-entry > span { font-size: 13px; color: var(--muted); }
.event-change-entry .inline-link { min-height: 44px; display: inline-flex; align-items: center; }
.event-followup-select { display: grid; gap: 8px; margin-bottom: 22px; max-width: 680px; }
.event-followup-select label { font-size: 14px; font-weight: 600; }
.event-followup-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.event-followup-metrics > div { display: grid; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 18px; }
.event-followup-metrics strong { font-size: 26px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.event-followup-metrics span { color: var(--muted); font-size: 13px; }
.event-followup-schedule { margin-bottom: 24px; }
.event-followup-schedule h2 { margin: 0 0 18px; font-size: 19px; line-height: 1.7; }
.event-followup-schedule > p { margin: 16px 0 0; color: var(--muted); line-height: 1.8; overflow-wrap: anywhere; }
.event-followup-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-bottom: 18px; }
.event-followup-toolbar select { width: auto; max-width: 100%; }
.event-followup-list { display: grid; gap: 16px; }
.event-followup-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.event-followup-card h3 { margin: 0; font-size: 18px; }
.event-followup-card header p { margin: 8px 0 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.event-followup-statuses { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 14px 0; margin-top: 10px; color: var(--muted); font-size: 13px; border-bottom: 1px solid var(--line); }
.event-followup-request { padding: 12px 14px; margin: 16px 0; border-left: 3px solid var(--action); background: #eef6f8; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.event-followup-editor summary, .event-followup-history summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; line-height: 1.7; font-size: 14px; color: var(--action); }
.event-followup-editor summary::after { content: '+'; margin-left: auto; }
.event-followup-editor[open] summary::after { content: '−'; }
.event-followup-form { display: flex; flex-direction: column; gap: 16px; padding-top: 12px; max-width: 720px; }
.event-followup-history ol { padding-left: 20px; font-size: 14px; }
.event-followup-history p { line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.event-followup-history span { font-size: 12px; color: var(--muted); }
.event-response-page :focus-visible, .event-followup-workspace :focus-visible { outline: 2px solid var(--action); outline-offset: 3px; }
@media (max-width: 900px) {
  .event-response-layout { grid-template-columns: 1fr; }
  .event-followup-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .event-response-page { padding-top: 22px; }
  .event-response-heading { flex-direction: column; gap: 18px; margin-bottom: 22px; }
  .event-response-summary, .event-response-form, .event-response-aside, .event-followup-schedule, .event-followup-card { padding: 18px 16px; }
  .event-schedule-comparison { grid-template-columns: 1fr; gap: 12px; }
  .event-schedule-comparison > section { padding: 16px; }
  .event-response-form .button-row { flex-direction: column; align-items: stretch; }
  .event-response-form .btn, .event-followup-form .btn { width: 100%; }
  .event-followup-card > header { flex-wrap: wrap; }
  .event-followup-statuses { flex-direction: column; gap: 8px; }
  .event-followup-metrics { gap: 8px; }
  .event-followup-metrics > div { padding: 14px; }
}
/* Learning records share a readable card layout on desktop and narrow screens. */
.v2-record-heading, .v2-assignment-card header, .v2-completion-card header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.v2-record-heading { align-items:center; margin-bottom:20px; }
.v2-record-heading h2, .v2-record-heading h3, .v2-assignment-card h4, .v2-completion-card h3, .v2-issued-record h3 { margin:0; }
.v2-record-heading p { margin:8px 0 0; }
.v2-completion-section { margin:28px 0; }
.v2-completion-section > h2, .v2-completion-section > h3 { margin:0 0 18px; font-size:20px; }
.v2-record-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 20px; }
.v2-record-stats > div { display:flex; align-items:center; gap:12px; padding:16px 20px; background:var(--mint); border:1px solid var(--line); border-radius:6px; }
.v2-record-stats strong { font-size:26px; line-height:1.2; color:var(--action); }
.v2-record-stats span { color:var(--muted); font-size:14px; }
.v2-record-card-list { display:grid; gap:16px; }
.v2-assignment-card, .v2-completion-card, .v2-issued-record { min-width:0; padding:24px; border:1px solid var(--line); background:var(--paper,#fff); border-radius:8px; }
.v2-assignment-card h4, .v2-completion-card h3, .v2-issued-record h3 { font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.v2-assignment-card header > div, .v2-completion-card header > div { min-width:0; }
.v2-assignment-card header p, .v2-completion-card header p { margin:6px 0 0; font-size:14px; color:var(--muted); }
.v2-assignment-card header .status, .v2-completion-card header .status { flex-shrink:0; }
.v2-record-meta { font-size:13px; color:var(--muted); margin:14px 0; }
.v2-assignment-feedback { padding:16px 18px; background:var(--mint); border-radius:5px; margin-bottom:16px; }
.v2-assignment-feedback strong { font-size:14px; }
.v2-assignment-feedback p { margin:8px 0 0; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.v2-assignment-card details { margin:0 0 18px; }
.v2-assignment-card summary { cursor:pointer; min-height:44px; display:flex; align-items:center; color:var(--muted); font-size:14px; }
.v2-assignment-submission { white-space:pre-wrap; overflow-wrap:anywhere; }
.v2-completion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.v2-completion-grid:has(> .v2-completion-card:only-child) { grid-template-columns:1fr; }
.v2-record-progress { height:5px; background:var(--line); overflow:hidden; border-radius:3px; margin:20px 0; }
.v2-record-progress > span { display:block; height:100%; background:var(--action); }
.v2-completion-checklist { margin:0; }
.v2-completion-checklist > div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line); }
.v2-completion-checklist dt { color:var(--muted); flex-shrink:0; font-size:14px; }
.v2-completion-checklist dd { margin:0; text-align:right; font-size:14px; overflow-wrap:anywhere; }
.v2-completion-hint { font-size:13px; line-height:1.7; color:var(--muted); margin:16px 0; }
.v2-completion-actions { display:flex; flex-wrap:wrap; gap:12px; }
.v2-completion-actions .btn, .v2-assignment-card > .btn, .v2-issued-record .btn, .v2-record-empty .btn, .v2-record-heading .btn { min-height:44px; margin:0; max-width:100%; white-space:normal; }
.v2-record-empty .btn { margin:8px 8px 0 0; }
.v2-issued-record .status { margin-bottom:12px; }
.v2-learning-record-error { margin:16px 0 0; }
@media (max-width:1000px) { .v2-completion-grid { grid-template-columns:1fr; } }
@media (max-width:640px) {
  .v2-assignment-card, .v2-completion-card, .v2-issued-record { padding:18px 16px; }
  .v2-record-heading { flex-wrap:wrap; gap:12px; }
  .v2-record-stats { gap:8px; }
  .v2-record-stats > div { flex-direction:column; align-items:flex-start; gap:6px; padding:12px; }
  .v2-record-stats strong { font-size:24px; }
  .v2-record-stats span { font-size:12px; }
  .v2-assignment-card header, .v2-completion-card header { flex-direction:column; gap:10px; }
  .v2-assignment-feedback { padding:14px; }
  .v2-completion-actions { flex-direction:column; align-items:stretch; }
  .v2-completion-actions > .btn { flex:0 0 auto; }
  .v2-completion-checklist > div { gap:10px; }
  .v2-assignment-card > .btn { width:100%; }
}
/* Post-training service: readable queues, progressive forms and separate learning choices. */
.followup-filters { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.followup-filters .btn { min-height:44px; padding:8px 16px; }
.followup-filters [aria-pressed="true"] { background:var(--action); color:white; border-color:var(--action); }
.followup-form { display:grid; gap:16px; margin:16px 0 0; }
.followup-form label { display:grid; gap:8px; font-weight:600; }
.followup-form input,.followup-form select,.followup-form textarea { width:100%; min-width:0; min-height:44px; font:inherit; font-weight:400; }
.followup-form .btn { min-height:44px; justify-self:start; }
.followup-create { margin-top:24px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:white; }
.followup-create summary,.followup-history summary { min-height:44px; align-content:center; cursor:pointer; font-weight:600; }
.followup-source-preview { padding:16px; background:var(--mint); border-radius:12px; }
.followup-source-preview li,.followup-history li { overflow-wrap:anywhere; margin:8px 0; }
.followup-meta { display:flex; flex-wrap:wrap; gap:8px 20px; color:var(--muted); margin:12px 0 18px; font-size:14px; }
.followup-feedback,.followup-suggestion { padding:18px; border-radius:12px; background:var(--mint); margin:18px 0; }
.followup-feedback h4,.followup-suggestion h4 { margin:0 0 10px; font-size:16px; }
.followup-history { margin-top:18px; border-top:1px solid var(--line); padding-top:8px; }
.followup-change-choice { margin:16px 0; }
.followup-change-choice summary { min-height:44px; align-content:center; cursor:pointer; color:var(--action); }
.followup-suggestion > [data-retrain-entry] { display:inline-flex; margin-top:12px; }
.v2-training-followup-card { min-width:0; overflow-wrap:anywhere; }
.v2-training-followup-card .button-row { gap:8px; flex-wrap:wrap; }
.v2-training-followup-card .btn,.followup-create .btn { min-height:44px; }
@media(max-width:640px) {
  .followup-create { padding:16px; }
  .followup-feedback,.followup-suggestion { padding:14px; }
  .followup-form .form-grid { grid-template-columns:minmax(0,1fr); }
  .followup-form .button-row { flex-direction:column; align-items:stretch; }
  .followup-form .button-row > .btn { flex:0 0 auto; width:100%; }
  .followup-filters .btn { flex:0 0 auto; }
  .followup-form > .btn { width:100%; }
}
/* Learning outcomes: visible denominators and source records next to decisions. */
.outcomes-filter { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:22px; background:white; border:1px solid var(--line); border-radius:16px; }
.outcomes-filter-shell > summary { display:none; }
.outcomes-scope-summary { padding-top:12px; }
.outcomes-filter label,.outcomes-save form label { display:grid; gap:7px; font-size:14px; font-weight:600; min-width:0; }
.outcomes-filter input,.outcomes-filter select,.outcomes-save input,.outcomes-save textarea { width:100%; min-width:0; min-height:44px; font:inherit; font-weight:400; }
.outcomes-filter-actions { display:flex; gap:12px; grid-column:1/-1; }
.outcomes-observed { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; margin:20px 0; color:var(--muted); font-size:13px; }
.outcomes-observed p { margin:0; }
.outcomes-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.outcomes-stat { padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.outcomes-stat > span { font-size:14px; color:var(--muted); }
.outcomes-stat > strong { display:block; font-size:32px; line-height:1.4; font-variant-numeric:tabular-nums; margin:7px 0; color:var(--blue); }
.outcomes-stat small { font-size:13px; font-weight:400; margin-left:6px; color:var(--muted); }
.outcomes-stat p { margin:0; font-size:13px; line-height:1.6; color:var(--muted); }
.outcomes-overview { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:18px; margin:24px 0; }
.outcomes-chart,.outcomes-context,.outcomes-detail { border:1px solid var(--line); border-radius:16px; background:#fff; padding:24px; min-width:0; }
.outcomes-chart h2,.outcomes-context h2,.outcomes-detail h2,.outcomes-groups h2,.outcomes-save h2,.outcomes-empty h2 { margin:0 0 10px; font-size:20px; line-height:1.5; }
.outcomes-chart > p { margin:0 0 22px; font-size:13px; color:var(--muted); }
.outcomes-bar { display:grid; grid-template-columns:110px minmax(30px,1fr) 66px; gap:12px; align-items:center; margin:20px 0; font-size:14px; }
.outcomes-bar-track { height:10px; border-radius:10px; background:#e8eef2; overflow:hidden; }
.outcomes-bar-track i { display:block; height:100%; background:var(--action); border-radius:10px; }
.outcomes-bar strong { font-variant-numeric:tabular-nums; text-align:right; }
.outcomes-bar small { color:var(--muted); font-weight:400; }
.outcomes-context dl { margin:16px 0 0; }
.outcomes-context dl > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.outcomes-context dt { color:var(--muted); }
.outcomes-context dd { margin:0; font-weight:600; }
.outcomes-groups { margin:28px 0; }
.outcomes-groups > header,.outcomes-detail > header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
.outcomes-groups > header > span { color:var(--muted); font-size:14px; }
.outcomes-course-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:20px; align-items:center; padding:18px 20px; border:1px solid var(--line); border-radius:12px; background:#fff; margin:12px 0; }
.outcomes-course-row h3 { margin:0 0 6px; font-size:16px; line-height:1.5; }
.outcomes-course-row p { margin:0; font-size:13px; color:var(--muted); }
.outcomes-course-row dl { display:flex; gap:24px; margin:0; }
.outcomes-course-row dt { font-size:12px; color:var(--muted); }
.outcomes-course-row dd { margin:4px 0 0; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.outcomes-course-row dd small { font-size:12px; color:var(--muted); font-weight:400; }
.outcomes-detail { scroll-margin-top:88px; overflow-wrap:anywhere; }
.outcomes-detail > header p { margin:0; color:var(--muted); font-size:14px; }
.outcomes-source { border-top:1px solid var(--line); }
.outcomes-source summary { display:flex; min-height:48px; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; font-size:14px; }
.outcomes-source summary strong { color:var(--blue); }
.outcomes-source ul { list-style:none; padding:0; margin:0 0 16px; }
.outcomes-source li { display:grid; grid-template-columns:120px minmax(0,1fr); gap:4px 16px; padding:12px 14px; background:var(--mint); margin:8px 0; border-radius:8px; font-size:13px; }
.outcomes-source li span:last-child { grid-column:2; color:var(--muted); }
.outcomes-follow-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.outcomes-save { display:grid; gap:16px; padding:22px; margin:24px 0; background:#edf4f8; border:1px solid var(--line); border-radius:14px; }
.outcomes-save p { margin:0; font-size:14px; color:var(--muted); }
.outcomes-save > .btn { justify-self:start; }
.outcomes-save form { display:grid; gap:16px; margin-top:16px; }
.outcomes-save form > .btn { justify-self:start; }
.outcomes-save summary,.outcomes-history summary,.outcomes-issues summary,.outcomes-rules summary { min-height:44px; align-content:center; cursor:pointer; font-size:15px; font-weight:600; }
.outcomes-history,.outcomes-issues,.outcomes-rules { border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px 20px; margin:18px 0; overflow-wrap:anywhere; }
.outcomes-issues article { padding:12px 0; border-top:1px solid var(--line); font-size:14px; }
.outcomes-issues p { margin:6px 0 0; color:var(--muted); }
.outcomes-history article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-top:1px solid var(--line); font-size:14px; }
.outcomes-history p { margin:5px 0 0; font-size:13px; color:var(--muted); }
.outcomes-rules li { font-size:14px; line-height:1.8; margin:10px 0; }
.outcomes-saved-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.outcomes-saved-head h2 { margin:10px 0; font-size:22px; }
.outcomes-saved-head p { margin:0; color:var(--muted); font-size:14px; }
.outcomes-empty { background:white; border-radius:14px; margin:24px 0; }
@media (max-width:1100px) {
  .outcomes-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .outcomes-overview { grid-template-columns:minmax(0,1fr); }
  .outcomes-course-row { grid-template-columns:minmax(0,1fr) auto; }
  .outcomes-course-row dl { grid-column:1; grid-row:2; }
  .outcomes-course-row > .btn { grid-column:2; grid-row:1/3; }
}
@media (max-width:640px) {
  .outcomes-filter-shell { background:white; border:1px solid var(--line); border-radius:14px; }
  .outcomes-filter-shell > summary { display:grid; gap:6px; padding:16px; min-height:44px; cursor:pointer; }
  .outcomes-filter-shell > summary strong { font-size:15px; }
  .outcomes-filter-shell > summary strong::after { content:' ＋'; float:right; color:var(--action); }
  .outcomes-filter-shell[open] > summary strong::after { content:' −'; }
  .outcomes-filter-shell > summary span { font-size:13px; color:var(--muted); line-height:1.6; }
  .outcomes-filter-shell .outcomes-filter { border:0; border-top:1px solid var(--line); border-radius:0 0 14px 14px; }
  .outcomes-filter { padding:16px; gap:14px; grid-template-columns:minmax(0,1fr); }
  .outcomes-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .outcomes-stat { padding:15px 12px; }
  .outcomes-stat > strong { font-size:28px; }
  .outcomes-chart,.outcomes-context,.outcomes-detail { padding:16px; }
  .outcomes-bar { grid-template-columns:98px minmax(24px,1fr) 60px; gap:8px; font-size:13px; }
  .outcomes-course-row { grid-template-columns:minmax(0,1fr); gap:14px; padding:16px; }
  .outcomes-course-row dl { justify-content:space-between; gap:12px; }
  .outcomes-course-row > .btn { grid-column:1; grid-row:3; width:100%; }
  .outcomes-detail > header { align-items:start; flex-direction:column; }
  .outcomes-source li { grid-template-columns:minmax(0,1fr); }
  .outcomes-source li span:last-child { grid-column:1; }
  .outcomes-follow-actions { flex-direction:column; }
  .outcomes-follow-actions > .btn,.outcomes-filter-actions > .btn { flex:0 0 auto; min-height:44px; }
  .outcomes-history article,.outcomes-saved-head { align-items:stretch; flex-direction:column; }
  .outcomes-save { padding:16px; }
  .outcomes-save > .btn,.outcomes-save form > .btn { width:100%; }
}
.lifecycle-hidden { display:none!important; }
.lifecycle-workspace { display:grid; gap:24px; }
.lifecycle-workspace:has(.lifecycle-detail) { grid-template-columns:minmax(320px,.75fr) minmax(0,1fr); align-items:start; }
.lifecycle-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.lifecycle-filters .btn { min-height:44px; }
.lifecycle-filters [aria-pressed="true"] { background:var(--action); color:white; }
.lifecycle-queue { display:grid; gap:12px; }
.lifecycle-course-row { display:grid; grid-template-columns:128px minmax(0,1fr) auto; gap:16px; align-items:center; padding:18px; background:white; border:1px solid var(--line); border-radius:14px; }
.lifecycle-course-row img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:8px; }
.lifecycle-course-row h3 { margin:0 0 6px; font-size:17px; line-height:1.5; }
.lifecycle-course-row p { margin:4px 0; font-size:14px; line-height:1.6; color:var(--muted); }
.lifecycle-course-row .btn { min-height:44px; }
.lifecycle-workspace:has(.lifecycle-detail) .lifecycle-course-row { grid-template-columns:80px minmax(0,1fr); }
.lifecycle-workspace:has(.lifecycle-detail) .lifecycle-course-row .btn { grid-column:2; justify-self:start; }
.lifecycle-detail,.lifecycle-own-card { background:white; border:1px solid var(--line); border-radius:18px; padding:24px; min-width:0; overflow-wrap:anywhere; scroll-margin-top:90px; }
.lifecycle-detail header { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.lifecycle-detail h2,.lifecycle-own-card h2 { font-size:22px; line-height:1.5; margin:0; }
.lifecycle-detail > section,.lifecycle-detail > details { margin-top:24px; }
.lifecycle-pending,.lifecycle-own-impact { background:var(--mint); padding:18px; border-radius:12px; }
.lifecycle-form { display:grid; gap:16px; margin-top:16px; }
.lifecycle-field { display:grid; gap:8px; font-weight:600; }
.lifecycle-field input,.lifecycle-field select,.lifecycle-field textarea { width:100%; min-width:0; min-height:44px; font:inherit; font-weight:400; }
.lifecycle-form .btn { justify-self:start; min-height:44px; }
.lifecycle-form .v2-radio-row { min-height:44px; }
.lifecycle-form .button-row { gap:12px; }
.lifecycle-form fieldset { border:0; padding:0; display:grid; gap:8px; min-width:0; }
.lifecycle-form legend { margin-bottom:12px; font-weight:600; }
.lifecycle-history,.lifecycle-create { border-top:1px solid var(--line); padding-top:12px; margin-top:24px; }
.lifecycle-history summary,.lifecycle-create summary { min-height:44px; align-content:center; cursor:pointer; font-weight:600; }
.lifecycle-person-row { border:1px solid var(--line); border-radius:12px; padding:16px; margin-top:16px; overflow-wrap:anywhere; }
.lifecycle-own-card { margin-top:24px; }
.lifecycle-own-card > .button-row { margin-top:20px; gap:12px; }
.lifecycle-own-card > .button-row > .btn { flex:0 0 auto; min-height:44px; }
.lifecycle-card-state { font-size:14px; color:var(--action); padding-top:8px; border-top:1px solid var(--line); }
.lifecycle-plan-note { color:var(--action); }
.lifecycle-admin-summary { display:block; margin:24px 0; min-height:44px; }
@media(max-width:1000px) {
  .lifecycle-workspace:has(.lifecycle-detail) { grid-template-columns:minmax(0,1fr); }
  .lifecycle-workspace:has(.lifecycle-detail) > section:first-child { order:2; }
  .lifecycle-workspace:has(.lifecycle-detail) > .lifecycle-detail { order:1; }
}
@media(max-width:640px) {
  .lifecycle-course-row { grid-template-columns:80px minmax(0,1fr); gap:12px; padding:16px; }
  .lifecycle-course-row > .btn { grid-column:1/-1; }
  .lifecycle-workspace:has(.lifecycle-detail) .lifecycle-course-row .btn { grid-column:1/-1; justify-self:stretch; }
  .lifecycle-detail,.lifecycle-own-card { padding:16px; }
  .lifecycle-form .button-row,.lifecycle-own-card > .button-row { flex-direction:column; align-items:stretch; }
  .lifecycle-form .button-row > .btn { flex:0 0 auto; width:100%; }
  .lifecycle-form > .btn { width:100%; }
}
/* Period teaching report: compact sources, readable narrative, clear review state. */
.teaching-report-heading,.teaching-report-card,.teaching-report-identity,.teaching-report-filters{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:20px 0}
.teaching-report-heading h2{font-size:23px;margin:8px 0;line-height:1.4;overflow-wrap:anywhere}
.teaching-report-heading p,.teaching-report-card p{margin:6px 0;color:var(--color-muted-foreground,#475569);font-size:14px;overflow-wrap:anywhere}
.teaching-report-panel,.teaching-report-card,.teaching-report-next,.teaching-report-history,.teaching-report-review{background:#fff;border:1px solid var(--color-border,#d9e1e7);border-radius:8px;padding:24px;margin-bottom:24px;min-width:0}
.teaching-report-panel h2,.teaching-report-next h2,.teaching-report-shortcuts h2,.teaching-report-review h2{font-size:18px;margin:0 0 16px}
.teaching-report-panel>p,.teaching-report-next p,.teaching-report-review p{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.teaching-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.teaching-report-stats>div{background:#fff;border:1px solid var(--color-border,#d9e1e7);border-radius:6px;padding:18px;min-width:0}
.teaching-report-stats span{display:block;font-size:14px;color:#475569}
.teaching-report-stats strong{display:block;font-size:28px;color:#255e7a;margin-top:8px;font-variant-numeric:tabular-nums}
.teaching-report-stats small{font-size:13px;font-weight:400;margin-left:6px;color:#475569}
.teaching-report-stats p{font-size:12px;color:#475569;margin:4px 0 0}
.teaching-report-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:start}
.teaching-report-layout>div{min-width:0}
.teaching-report-next{margin-top:20px;background:#eef3f6}
.teaching-report-next ol{padding-left:20px;line-height:1.8;font-size:14px}
.teaching-report-next li{margin:10px 0}.teaching-report-next [aria-current]{font-weight:700;color:#255e7a}
.teaching-report-form{display:grid;gap:18px}.teaching-report-form label,.teaching-report-identity label,.teaching-report-filters label{display:grid;gap:8px;min-width:0;font-size:14px;font-weight:600}
.teaching-report-form input,.teaching-report-form select,.teaching-report-form textarea,.teaching-report-identity select,.teaching-report-filters select{min-height:44px;width:100%;max-width:100%;box-sizing:border-box;font:inherit;font-weight:400;color:#253039;background:#fff;border:1px solid #b6c6d0;border-radius:4px;padding:10px 12px}
.teaching-report-form textarea{resize:vertical;line-height:1.7}.teaching-report-form p{font-size:14px;line-height:1.7;margin:0}
.teaching-report-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.teaching-report-sources{border-top:1px solid #d9e1e7}.teaching-report-sources summary,.teaching-report-history summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:15px;font-weight:600;overflow-wrap:anywhere}
.teaching-report-sources article{padding:14px;background:#f5f7f9;margin:0 0 10px;border-radius:4px;overflow-wrap:anywhere}.teaching-report-sources p{font-size:14px;line-height:1.7;margin:8px 0}.teaching-report-sources code{font-size:12px;overflow-wrap:anywhere;white-space:normal;color:#475569}
.teaching-report-sources ul{padding-left:20px;font-size:14px;line-height:1.8}.teaching-report-history>article{border-top:1px solid #d9e1e7;padding:16px 0}.teaching-report-history h3{font-size:16px}.teaching-report-history p{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.teaching-report-review{border-left:4px solid #c88a35;background:#fffaf2}.teaching-report-prose{white-space:pre-wrap;overflow-wrap:anywhere}
.teaching-report-feedback:not([hidden]){background:#fff5e8;color:#713e13;padding:12px 14px;border:1px solid #dfb775;line-height:1.6;font-size:14px}
.teaching-report-back{display:inline-flex;align-items:center;min-height:44px}.teaching-report-boundary,.teaching-report-identity>span{font-size:13px;line-height:1.7;color:#475569;overflow-wrap:anywhere}.teaching-report-boundary{margin-top:24px}
.teaching-report-card{margin:0 0 12px}.teaching-report-card h3{font-size:18px;line-height:1.6;margin:10px 0 6px;overflow-wrap:anywhere}
.teaching-report-shortcuts{margin-top:24px}.teaching-report-shortcuts .btn,.teaching-report-heading .btn,.teaching-report-card .btn,.teaching-report-form .btn,.teaching-report-history .btn{min-height:44px;white-space:normal;text-align:center;overflow-wrap:anywhere}
@media(max-width:1000px){.teaching-report-layout{grid-template-columns:minmax(0,1fr)}.teaching-report-next{margin-top:0}.teaching-report-next ol{display:flex;gap:24px;flex-wrap:wrap}}
@media(max-width:640px){.teaching-report-panel,.teaching-report-card,.teaching-report-history,.teaching-report-next,.teaching-report-review{padding:16px}.teaching-report-range{grid-template-columns:minmax(0,1fr)}.teaching-report-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teaching-report-stats>div{padding:14px}.teaching-report-stats strong{font-size:26px}.teaching-report-heading{align-items:flex-start;gap:12px}.teaching-report-heading h2{font-size:20px}.teaching-report-form .button-row{display:grid;grid-template-columns:1fr;gap:12px}.teaching-report-next ol{display:block}.teaching-report-card{display:block}.teaching-report-card>.btn{margin-top:14px}.teaching-report-filters{align-items:stretch}.teaching-report-filters>label{flex:1;min-width:120px}.teaching-report-identity{display:block}.teaching-report-identity>span{display:block;margin-top:8px}.teaching-report-identity select{width:100%}}
.teaching-report-preview-heading h2{font-size:20px;margin:24px 0 12px}.teaching-report-preview-heading p{font-size:14px;line-height:1.7}.teaching-report-preview-heading .btn{margin-left:12px;min-height:44px}
#teaching-report-preview-heading,#teaching-report-narrative,#teaching-report-school-review{scroll-margin-top:100px}

/* Period reconciliation uses a compact queue and independent detail pages. */
.settlement-page{display:grid;gap:20px;min-width:0;font-size:15px;line-height:1.65}
.settlement-page h2,.settlement-page h3{text-wrap:balance}
.settlement-top,.settlement-record-head,.settlement-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.settlement-top p{margin:0;color:var(--muted)}
.settlement-page .btn{min-height:44px;white-space:normal;text-align:center}
.settlement-page .button-row{gap:12px;flex-wrap:wrap}.settlement-page .button-row .btn{flex:0 1 auto}
.settlement-heading{align-items:start}.settlement-heading h2{margin:0 0 8px;font-size:23px}
.settlement-heading p{margin:0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.settlement-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.settlement-stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px}
.settlement-stats span{display:block;color:var(--muted);font-size:14px}
.settlement-stats strong{display:block;margin-top:5px;font-size:28px;font-variant-numeric:tabular-nums;line-height:1.4}
.settlement-stats small{font-size:14px;font-weight:400}
.settlement-filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px}
.settlement-filter label{flex:1 1 150px;display:grid;gap:6px;min-width:0;font-weight:600}
.settlement-filter input,.settlement-filter select{min-height:44px;min-width:0;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400;color:var(--ink);background:#fff}
.settlement-queue{display:grid;gap:12px}.settlement-queue-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.settlement-queue-record h3{font-size:18px;line-height:1.5;margin:0}.settlement-queue-record p{font-size:14px;color:var(--muted);margin:6px 0 0}
.settlement-queue-record>div{min-width:0;overflow-wrap:anywhere}
.settlement-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}
.settlement-detail-main{grid-row:1;grid-column:1;display:grid;gap:20px;min-width:0}
.settlement-progress{grid-column:2;grid-row:1;padding:20px;border:1px solid var(--line);border-top:3px solid var(--action);border-radius:12px;background:#fff}
.settlement-progress h3{margin:0 0 14px;font-size:16px}.settlement-progress>strong{color:var(--action);font-size:20px}
.settlement-progress p,.settlement-progress li{color:var(--muted);font-size:14px}.settlement-progress ol{padding-left:20px;margin:20px 0 0}.settlement-progress li{padding:5px 0}
.settlement-progress .btn{width:100%;padding-left:10px;padding-right:10px}.settlement-revise{margin-top:12px}
.settlement-panel{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0;overflow-wrap:anywhere;scroll-margin-top:100px}
.settlement-panel h2{margin:0 0 12px;font-size:19px}.settlement-panel p{margin:8px 0 14px;color:var(--muted)}
.settlement-meta{margin:20px 0 0;display:grid;gap:14px}.settlement-meta>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.settlement-meta dt{color:var(--muted)}.settlement-meta dd{margin:0;white-space:pre-wrap}
.settlement-form{display:grid;gap:18px;margin-top:18px}.settlement-form label{display:grid;gap:8px;font-weight:600;min-width:0}
.settlement-form input:not([type="checkbox"]),.settlement-form textarea,.settlement-form select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400;background:#fff;color:var(--ink)}
.settlement-form textarea{resize:vertical}.settlement-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.settlement-form .settlement-check{display:flex;align-items:start;gap:10px;min-height:44px;font-weight:400;cursor:pointer}.settlement-check input{flex:0 0 20px;width:20px;height:20px;margin-top:3px}
.settlement-sources{border-top:1px solid var(--line);padding:8px 0}.settlement-sources summary,.settlement-legacy>summary{min-height:44px;align-content:center;font-weight:600;cursor:pointer}
.settlement-sources article{padding:16px;border:1px solid var(--line);border-radius:8px;margin:12px 0;overflow-wrap:anywhere;background:var(--mist,#f5f7f9)}
.settlement-sources article p{margin:8px 0 0;font-size:14px}.settlement-sources article code{display:block;margin-top:6px;font-size:13px;overflow-wrap:anywhere}
.settlement-sources ol{padding-left:20px}.settlement-sources li p{font-size:14px}
.settlement-policy{border-left:3px solid var(--action)}.settlement-policy p{margin-bottom:0}
.settlement-preview-heading{margin:24px 0 18px}.settlement-preview-heading h2{scroll-margin-top:100px}
.settlement-feedback:not([hidden]){padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--action);border-radius:8px;background:#edf5f8;margin:0;overflow-wrap:anywhere}
.settlement-identity{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.settlement-identity label{display:flex;align-items:center;gap:12px}.settlement-identity select{min-height:44px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit}.settlement-identity p{margin:0;color:var(--muted);font-size:14px}
.settlement-legacy article{border-top:1px solid var(--line);padding:16px 0}
.settlement-filter-shell>summary{display:none}.settlement-id{margin-top:8px;font-size:14px;color:var(--muted)}.settlement-id summary,.settlement-steps summary{min-height:44px;align-content:center;cursor:pointer}.settlement-id code{overflow-wrap:anywhere}.settlement-steps{margin-top:12px;font-size:14px}
@media(max-width:1100px){.settlement-detail-layout{grid-template-columns:minmax(0,1fr)}.settlement-progress{grid-column:1;grid-row:1}.settlement-detail-main{grid-column:1;grid-row:2}.settlement-progress ol{display:flex;flex-wrap:wrap;gap:8px 28px}}
@media(max-width:640px){
 .settlement-page{gap:16px}.settlement-top,.settlement-heading{flex-direction:column;align-items:stretch}.settlement-top>.btn{width:100%}.settlement-heading .status{align-self:start}.settlement-heading h2{font-size:21px}
 .settlement-stats{gap:8px}.settlement-stats>div{padding:12px 10px}.settlement-stats span{font-size:13px}.settlement-stats strong{font-size:25px}.settlement-stats small{display:block;font-size:13px}
 .settlement-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.settlement-filter>label{min-width:0}.settlement-filter .btn{min-width:0;padding-left:10px;padding-right:10px}
 .settlement-queue-record{grid-template-columns:minmax(0,1fr);padding:16px;gap:14px}.settlement-record-head{flex-wrap:wrap;gap:8px}.settlement-queue-record>.btn{width:100%}
 .settlement-panel,.settlement-progress{padding:16px}.settlement-field-pair{grid-template-columns:minmax(0,1fr);gap:16px}.settlement-meta>div{grid-template-columns:minmax(0,1fr);gap:3px}
 .settlement-page .button-row{flex-direction:column}.settlement-page .button-row>.btn{flex:0 0 auto;width:100%}.settlement-progress ol{display:block}
 .settlement-filter-shell{background:#fff;border:1px solid var(--line);border-radius:12px}.settlement-filter-shell>summary{display:grid;gap:4px;padding:12px 16px;min-height:44px;cursor:pointer;font-weight:600}.settlement-filter-shell>summary span{font-size:13px;font-weight:400;color:var(--muted)}.settlement-filter-shell .settlement-filter{border:0;border-top:1px solid var(--line);border-radius:0 0 12px 12px}
 .settlement-top:has([data-settlement-export]){flex-direction:row;flex-wrap:wrap;gap:8px}.settlement-top:has([data-settlement-export])>.btn{width:auto;flex:1 1 auto;padding:8px;font-size:14px}
 .settlement-identity{gap:6px}.settlement-identity label{font-size:14px}.settlement-identity p{font-size:13px}.settlement-id{margin-top:0}.settlement-id summary{min-height:36px}
}
