:root {
  --maroon-900: #48141f;
  --maroon-800: #5f1b2a;
  --maroon-700: #742437;
  --maroon-100: #f4e9ec;
  --slate-600: #53667a;
  --gray-950: #1d2025;
  --gray-800: #343941;
  --gray-600: #626a75;
  --gray-300: #d5d9de;
  --gray-200: #e7e9ec;
  --gray-100: #f4f5f6;
  --white: #fff;
  --focus: #2378c3;
  --shadow: 0 8px 24px rgb(29 32 37 / 8%);
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html { background: var(--gray-100); color: var(--gray-950); }
body { margin: 0; min-height: 100vh; line-height: 1.5; }
a { color: var(--maroon-700); text-underline-offset: 0.18em; }
a:hover { color: var(--maroon-900); }
button, input, select, textarea { font: inherit; }
button, .button {
  align-items: center;
  background: var(--maroon-700);
  border: 1px solid var(--maroon-700);
  border-radius: 0.45rem;
  color: var(--white);
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  gap: 0.35rem;
  justify-content: center;
  min-height: 2.65rem;
  padding: 0.55rem 0.9rem;
  text-decoration: none;
}
button:hover, .button:hover { background: var(--maroon-900); color: var(--white); }
.button-secondary { background: var(--white); color: var(--maroon-700); }
.button-danger { background: #8a1c1c; border-color: #8a1c1c; }
.button-danger:hover { background: #671414; border-color: #671414; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(1.8rem, 3vw, 2.45rem); line-height: 1.15; margin-bottom: 0.45rem; }
h2 { font-size: 1.35rem; }

body > header, body > main { margin: 2rem auto; max-width: 70rem; padding: 0 1.5rem; }
body > header a { color: var(--maroon-800); font-size: 1.25rem; font-weight: 800; text-decoration: none; }

.skip-link { background: var(--white); left: 1rem; padding: 0.7rem 1rem; position: fixed; top: -5rem; z-index: 20; }
.skip-link:focus { top: 1rem; }
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.app-shell { display: grid; grid-template-columns: 16rem minmax(0, 1fr); min-height: 100vh; }
.app-shell { --shell-burgundy: #582332; --shell-spacing: 1.75rem; background: #eef1f4; }
.shell-icon { display: block; flex: 0 0 auto; height: 1.25rem; width: 1.25rem; }
.sidebar {
  background: var(--white);
  color: var(--gray-800);
  border-right: 1px solid var(--gray-200);
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem 0.8rem 0.75rem;
  position: sticky;
  top: 0;
}
.sidebar-scrim { display: none; }
.primary-nav { display: grid; flex-shrink: 0; gap: 0.5rem; }
.nav-list { display: grid; gap: 0.1rem; list-style: none; margin: 0; padding: 0; }
.nav-dashboard-row { align-items: center; display: flex; gap: 0.2rem; }
.nav-dashboard-row > a { flex: 1; min-width: 0; }
.sidebar-dismiss { background: transparent; border: 0; color: var(--slate-600); flex: 0 0 2.625rem; min-height: 2.625rem; padding: 0.5rem; }
.sidebar-dismiss:hover { background: var(--gray-100); color: var(--maroon-800); }
.nav-group, .nav-list-utilities { border-top: 1px solid var(--gray-200); padding-top: 0.5rem; }
.sidebar-version { color: var(--gray-600); flex-shrink: 0; font-size: 0.8rem; margin: auto 0 0; padding: 0.65rem 0.8rem 0; }
.primary-nav a, .nav-unavailable {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0.4rem;
  color: var(--gray-800);
  display: flex;
  gap: 0.7rem;
  justify-content: flex-start;
  min-height: 2.625rem;
  padding: 0.5rem 0.7rem;
  text-decoration: none;
  width: 100%;
}
.primary-nav a:hover { background: var(--gray-100); color: var(--maroon-800); }
.primary-nav a[aria-current] { background: var(--gray-200); color: var(--maroon-800); font-weight: 700; }
.primary-nav a[aria-current="location"] { box-shadow: inset 0.2rem 0 var(--maroon-700); }
.primary-nav .shell-icon { color: var(--slate-600); }
.primary-nav [aria-current] .shell-icon { color: var(--maroon-800); }
.sidebar :focus-visible { outline-color: var(--focus); outline-offset: 2px; }
.nav-unavailable { color: var(--gray-600); cursor: default; }
.workspace { min-width: 0; }
.workspace-header { align-items: center; background: var(--shell-burgundy); border-bottom: 1px solid var(--shell-burgundy); color: var(--white); display: flex; gap: 1rem; min-height: 4rem; padding: 0.55rem var(--shell-spacing); position: sticky; top: 0; z-index: 5; }
.workspace-header :focus-visible { outline-color: var(--white); }
.workspace-header .account-panel :focus-visible { outline-color: var(--focus); }
.sidebar-open { background: transparent; border: 0; color: var(--white); display: none; flex: 0 0 2.75rem; min-height: 2.75rem; padding: 0.65rem; }
.sidebar-open:hover { background: rgb(255 255 255 / 12%); color: var(--white); }
.navigation-collapsed { grid-template-columns: minmax(0, 1fr); }
.navigation-collapsed .sidebar { display: none; }
.navigation-collapsed .workspace { grid-column: 1 / -1; }
.navigation-collapsed .sidebar-open { display: inline-flex; }
.header-identity { align-items: center; display: flex; flex: 1; gap: 1rem; min-width: 0; }
.header-brand { border-right: 1px solid rgb(255 255 255 / 35%); color: var(--white); flex-shrink: 0; font-size: 1.375rem; font-weight: 600; padding-right: 1rem; white-space: nowrap; }
.breadcrumbs { min-width: 0; }
.breadcrumbs ol { align-items: center; display: flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li { color: #f3e5e9; font-size: 1rem; }
.breadcrumbs a, .breadcrumbs a:hover { color: var(--white); }
.breadcrumbs li:not(:last-child)::after { color: var(--gray-300); content: "/"; margin-left: 0.35rem; }
.breadcrumbs li[aria-current="page"] { color: var(--white); font-weight: 650; overflow-wrap: anywhere; }
.header-context { align-items: center; display: flex; flex-shrink: 0; gap: 1.35rem; margin-left: auto; }
.header-date { color: #f3e5e9; font-size: 0.95rem; white-space: nowrap; }
.account-disclosure { min-width: 0; position: relative; }
.account-disclosure summary { align-items: center; border: 1px solid rgb(255 255 255 / 45%); border-radius: 0.6rem; color: var(--white); cursor: pointer; display: flex; font-size: 0.95rem; font-weight: 600; gap: 0.55rem; list-style: none; min-height: 2.5rem; padding: 0.45rem 0.7rem; }
.account-disclosure summary::-webkit-details-marker { display: none; }
.account-disclosure summary:hover, .account-disclosure[open] summary { background: rgb(255 255 255 / 12%); }
.account-disclosure summary span { overflow-wrap: anywhere; }
.account-panel { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.55rem; box-shadow: var(--shadow); display: grid; gap: 0.25rem; min-width: 12rem; padding: 0.5rem; position: absolute; right: 0; top: calc(100% + 0.45rem); }
.account-panel form { margin: 0; }
.account-profile, .account-logout { border-radius: 0.35rem; display: block; font-size: 0.9rem; min-height: 2.5rem; padding: 0.55rem 0.7rem; text-align: left; width: 100%; }
.account-profile { color: var(--gray-600); cursor: default; opacity: 0.75; }
.account-logout { background: transparent; border: 0; color: var(--maroon-700); justify-content: flex-start; }
.account-logout:hover { background: var(--gray-100); color: var(--maroon-900); }
.content { margin: 0 auto; max-width: 92rem; padding: 2rem clamp(1rem, 3vw, 3rem) 4rem; }
.page-heading, .section-heading { align-items: flex-start; display: flex; gap: 1.5rem; justify-content: space-between; }
.page-heading { margin-bottom: 1.5rem; }
.section-heading { align-items: baseline; margin-top: 2rem; }
.section-heading-first { margin-top: 0; }
.section-heading-compact { margin-top: 1.5rem; }
.section-heading-compact h4 { margin: 0; }
.eyebrow { color: var(--maroon-700); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.09em; margin-bottom: 0.4rem; text-transform: uppercase; }
.card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.class-card, .empty-state, .attention-panel, .warning-panel, .confirmation-panel, section > dl, .content > dl {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 0.7rem;
  box-shadow: var(--shadow);
  padding: 1rem;
}
.class-card h3 { margin-bottom: 0.3rem; }
.class-card h3 a { color: var(--gray-950); }
.card-actions, .button-row, .filter-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.attention-panel { margin-top: 2rem; }
.warning-panel { border-left: 0.35rem solid #a85a00; margin-bottom: 1.5rem; max-width: 42rem; }
.warning-panel h2 { font-size: 1.05rem; margin-bottom: 0.35rem; }
.confirmation-panel { border-left: 0.35rem solid var(--maroon-700); margin-bottom: 1.5rem; max-width: 42rem; }
.messages { margin-bottom: 1rem; }
.message { background: var(--white); border: 1px solid var(--gray-300); border-left: 0.3rem solid var(--focus); border-radius: 0.35rem; margin: 0 0 0.5rem; padding: 0.7rem 0.85rem; }
.message-success { border-left-color: #33704a; }
.message-error { border-left-color: #9a1d1d; }
.status-label { border: 1px solid var(--gray-300); border-radius: 999px; display: inline-block; font-size: 0.78rem; font-weight: 750; line-height: 1.2; padding: 0.2rem 0.55rem; }
.status-label-success { border-color: #33704a; color: #265638; }
.status-label-warning { border-color: #a85a00; color: #7c4100; }
.profile-current-summary, .year-section, .action-context {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 0.7rem;
  box-shadow: var(--shadow);
  margin-bottom: 1.5rem;
  padding: 1rem;
  scroll-margin-top: 6rem;
}
.profile-current-summary > dl, .year-section > dl, .action-context > dl { box-shadow: none; }
.contact-list, .operation-list { list-style: none; margin: 0; padding: 0; }
.contact-list li, .operation-list li { background: var(--white); border: 1px solid var(--gray-200); padding: 0.9rem 1rem; }
.contact-list li + li, .operation-list li + li { border-top: 0; }
.operation-list li { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.inline-actions { display: inline-flex; flex-wrap: wrap; gap: 0.85rem; }
.history-disclosures { display: grid; gap: 0.75rem; }
.history-disclosure, .subhistory-disclosure { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.55rem; scroll-margin-top: 6rem; }
.history-disclosure > summary, .subhistory-disclosure > summary { cursor: pointer; font-weight: 750; padding: 0.9rem 1rem; }
.history-disclosure > summary { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: space-between; }
.history-disclosure-body { border-top: 1px solid var(--gray-200); padding: 0 1rem 1rem; }
.subhistory-disclosure { margin: 1rem 0; }
.open-history-alert { color: #8a3d00; font-size: 0.86rem; }
.form-section { border: 1px solid var(--gray-300); border-radius: 0.55rem; margin: 0 0 1rem; max-width: 42rem; padding: 0.75rem 1rem; }
.form-section legend { font-weight: 800; padding: 0 0.35rem; }
.helptext { color: var(--gray-600); display: block; font-size: 0.9rem; margin-top: 0.25rem; }
.selector-ambiguity { border-left: 0.25rem solid #a85a00; margin: 0.75rem 0 1rem; max-width: 42rem; padding: 0.55rem 0.8rem; }
.selector-ambiguity p { margin: 0.25rem 0; }
.selector-ambiguity ul { margin: 0.35rem 0 0; }
.attention-list { list-style: none; margin: 0; padding: 0; }
.attention-list li + li { border-top: 1px solid var(--gray-200); margin-top: 0.7rem; padding-top: 0.7rem; }
.attention-list a { display: block; }
.all-clear { color: var(--gray-600); }
.back-link { margin-bottom: 1.1rem; }
.settings-groups { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.settings-groups section { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.7rem; box-shadow: var(--shadow); padding: 1.25rem; }
.settings-groups h2 { margin-bottom: 0.65rem; }
.settings-groups ul { margin: 0; padding-left: 1.25rem; }
.settings-groups li + li { margin-top: 0.4rem; }

.filter-panel { align-items: end; background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.7rem; display: grid; gap: 0.75rem; grid-template-columns: repeat(5, minmax(9rem, 1fr)) auto; margin-bottom: 1.25rem; padding: 0.8rem; }
.finance-filter-panel { grid-template-columns: repeat(3, minmax(11rem, 1fr)); }
.panel-stack { display: grid; gap: 1rem; }
.panel-stack > .card { background: var(--surface, #fff); border: 1px solid var(--border, #d5d9de); border-radius: 0.55rem; padding: 1rem; }
.group-charge-student-list { border: 1px solid var(--border, #d5d9de); border-radius: 0.45rem; max-height: 24rem; overflow: auto; padding: 0.5rem 0.75rem; }
.group-charge-student-list ul { list-style: none; margin: 0; padding: 0; }
.group-charge-student-list li { border-bottom: 1px solid var(--border-subtle, #e7e9ec); padding: 0.45rem 0; }
.group-charge-student-list li:last-child { border-bottom: 0; }
/* Assignment setup shares definition/scoring cards between create and draft edit. */
.assignment-setup-layout { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 1.35fr) minmax(22rem, 1fr); }
.assignment-setup-stack { display: grid; gap: var(--shell-spacing); min-width: 0; }
.assignment-setup-fields { display: grid; gap: 1rem; }
.assignment-setup-fields > div > label, .assignment-schedule-entry > div > label, .assignment-setup-fields .compact-form-grid label { display: block; font-weight: 650; margin-bottom: 0.3rem; }
.assignment-setup-fields textarea { min-height: 9rem; resize: vertical; }
.assignment-setup-fields input[type="number"] { max-width: 10rem; }
.assignment-setup-fields p { margin: 0; }
.assignment-scoring-choice, .assignment-class-choices, .assignment-origin-choice { border: 0; margin: 0; min-width: 0; padding: 0; }
.assignment-class-choices legend, .assignment-schedule-entry legend, .assignment-origin-choice legend { font-weight: 650; margin-bottom: 0.35rem; }
.assignment-scoring-choice label, .assignment-class-choices label, .assignment-origin-choice label { align-items: center; display: flex; gap: 0.5rem; min-height: 2.75rem; }
.assignment-scoring-choice > div { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.assignment-class-choices label { border-radius: 0.35rem; padding: 0.3rem; }
.assignment-class-choices label:hover, .assignment-class-choices label:has(:checked) { background: var(--gray-100); }
.assignment-class-choices label[hidden] { display: none; }
.assignment-date-exception summary { color: var(--gray-600); cursor: pointer; font-size: 0.9rem; padding: 0.4rem 0; }
.assignment-date-exception .checkbox-row { margin-top: 0.5rem; }
.assignment-setup-fields .checkbox-row > label { font-size: 0.9rem; font-weight: 400; }
.assignment-schedule-entry { border: 0; border-top: 1px solid var(--gray-300); display: grid; gap: 0.85rem; margin: 0; min-width: 0; padding: 0.7rem 0 0; }
.assignment-schedule-entry legend { padding-right: 0.6rem; }
.assignment-setup-page-edit .assignment-setup-stack { display: contents; }
.assignment-edit-schedules { grid-column: 1 / -1; }
.assignment-edit-year { max-width: 24rem; }
.assignment-schedule-list { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.assignment-setup-page .form-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.assignment-setup-actions { margin-top: var(--shell-spacing); }
.assignment-review-summary { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: var(--shell-spacing); }
.assignment-review-summary .content-panel-body > p:first-child { margin-top: 0; }
.assignment-review-table { border: 0; border-radius: 0 0 0.65rem 0.65rem; }
.assignment-review-table th, .assignment-review-table td { padding: 0.55rem 0.85rem; vertical-align: middle; }
.assignment-review-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.assignment-review-table tbody th { font-weight: 500; }
.assignment-review-table td { white-space: nowrap; }
.assignment-origin-choice { white-space: normal; }
.assignment-origin-choice label { align-items: flex-start; padding: 0.4rem 0; }
.assignment-copy-card { max-width: 46rem; }
@media (max-width: 1100px) {
  .assignment-setup-layout, .assignment-review-summary { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) { .assignment-setup-page .card-add-pill { min-height: 2.75rem; } }
.compact-form-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(9rem, 1fr)); }
.compact-form-grid p { margin-top: 0; }
.checkbox-row { align-items: flex-start; display: flex; gap: 0.5rem; }
.checkbox-row label { font-weight: 500; }
.assignment-derived-maximum { background: var(--gray-100); border-radius: 0.4rem; padding: 0.55rem 0.65rem; }
.assignment-summary-table table { min-width: 58rem; }
.assignment-summary-table th:nth-child(2) { min-width: 15rem; }
.assignment-summary-table td, .assignment-summary-table th { vertical-align: top; }
.assignment-overview-toolbar { align-items: center; border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: space-between; padding: 0.45rem 1rem; }
.assignment-filter-disclosure { display: inline-block; }
.assignment-filter-disclosure > summary { background: var(--maroon-100); border: 1px solid var(--maroon-700); color: var(--maroon-800); font-weight: 650; }
.assignment-filter-panel { align-items: end; background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.55rem; box-shadow: var(--shadow); display: grid; gap: 0.7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); left: 0; margin: 0; padding: 0.85rem; position: absolute; top: calc(100% + 0.3rem); width: min(30rem, calc(100vw - 21rem)); z-index: 4; }
.assignment-filter-panel > div { min-width: 0; }
.assignment-filter-panel select { width: 100%; }
.assignment-filter-actions { align-items: center; display: flex; gap: 0.55rem; grid-column: 1 / -1; justify-content: flex-end; }
.assignment-filter-actions button { background: var(--gray-100); border-color: var(--gray-300); color: var(--gray-800); min-height: 2.25rem; padding: 0.3rem 0.75rem; }
.assignment-filter-actions button:hover { background: var(--gray-200); color: var(--gray-950); }
.assignment-filter-close { font-weight: 500; }
.assignment-class-panel { min-width: 0; scroll-margin-top: 6rem; }
.assignment-class-table { border: 0; border-radius: 0 0 0.65rem 0.65rem; scrollbar-gutter: auto; }
.assignment-class-table table { min-width: 38rem; }
.assignment-subgroup .assignment-class-table table { min-width: 0; }
.assignment-class-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.assignment-class-table th, .assignment-class-table td { padding: 0.45rem 0.75rem; vertical-align: middle; }
.assignment-class-table tbody th { font-weight: 650; min-width: 12rem; }
.assignment-class-table tbody th a { align-items: center; display: inline-flex; min-height: 2.25rem; }
.assignment-class-table tbody tr:hover, .assignment-class-table tbody tr:focus-within { background: var(--gray-100); }
.assignment-class-table td:first-child { white-space: nowrap; }
.assignment-number { font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.assignment-row-context { color: var(--gray-600); display: block; font-size: 0.84rem; font-weight: 400; white-space: normal; }
.assignment-action { text-align: right; white-space: nowrap; }
.assignment-class-table .card-add-pill { min-height: 2.25rem; }
.assignment-subgroup { border-top: 1px solid var(--gray-200); }
.assignment-subgroup h3 { color: var(--maroon-800); font-size: 1rem; margin: 0; padding: 0.65rem 0.75rem 0.3rem; }
.assignment-page-count { color: var(--gray-600); font-size: 0.9rem; margin: calc(-1 * var(--shell-spacing) + 0.65rem) 0 0; }
.assignment-rubric-library-link { border-top: 1px solid var(--gray-200); font-size: 0.9rem; margin: 0.7rem 0 0; padding-top: 0.55rem; }
/* Assignment detail follows the Class Workspace's independent main/support columns. */
.assignment-detail-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.content:has(> .assignment-detail-page) { max-width: none; padding: var(--shell-spacing); }
.assignment-detail-page > .assignment-identity { margin: 0; }
.assignment-state, .assignment-historical-year { color: var(--gray-600); font-size: 0.95rem; }
.assignment-workspace-layout { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 1fr) minmax(17rem, 19rem); }
.assignment-definition .preserve-lines { line-height: 1.5; }
.assignment-definition-scoring { border-top: 1px solid var(--gray-200); margin: 0.85rem 0 0; padding-top: 0.75rem; }
.assignment-management { padding-top: 0; }
.assignment-schedule-action { border-top: 1px solid var(--gray-300); display: grid; gap: 0.25rem; margin-top: 0.75rem; padding-top: 0.75rem; }
.assignment-schedule-action > span { color: var(--gray-600); }
.assignment-schedule-action > a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.assignment-detail-table { border: 0; border-radius: 0 0 0.65rem 0.65rem; scrollbar-gutter: auto; }
.assignment-detail-table table { min-width: 36rem; }
.assignment-detail-table th, .assignment-detail-table td { padding: 0.4rem 0.65rem; vertical-align: middle; }
.assignment-detail-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.assignment-detail-table tbody th { font-weight: 650; }
.assignment-detail-table tbody tr:hover, .assignment-detail-table tbody tr:focus-within, .assignment-detail-table tbody tr.assignment-selected-class { background: var(--gray-100); }
.assignment-detail-table .assignment-number { font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.assignment-schedule-table tbody th { width: 30%; }
.assignment-schedule-table tbody td { white-space: nowrap; }
.assignment-schedule-table tbody tr { height: 2.75rem; }
.assignment-selected-roster, .assignment-roster-table tr[id], #assignment-student-history { scroll-margin-top: 8rem; }
.assignment-class-switcher { border-bottom: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0.4rem 1rem 0.9rem; }
.assignment-class-switcher .card-add-pill[aria-current] { background: var(--gray-200); border-color: var(--gray-600); color: var(--gray-950); }
.assignment-roster-table .assignment-name-col { width: 27%; }
.assignment-roster-table .assignment-status-col { width: 20%; }
.assignment-roster-table .assignment-score-col { width: 9%; }
.assignment-roster-table .assignment-date-col { width: 19%; }
.assignment-roster-table .assignment-actions-col { width: 25%; }
.assignment-roster-table tbody th > a, .assignment-roster-table td.assignment-number > a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.assignment-roster-table td.assignment-number > a { justify-content: center; min-width: 2.75rem; }
.assignment-roster-table tbody tr:target { outline: 2px solid var(--focus); outline-offset: -2px; }
.assignment-roster-status { font-size: 0.95rem; }
.assignment-status-completed { color: #265638; }
.assignment-status-missing { color: #7c4100; font-weight: 600; }
.assignment-excuse-reason { color: var(--gray-600); display: block; font-size: 0.9rem; overflow-wrap: anywhere; }
.assignment-actions-heading { text-align: right; }
.assignment-row-actions { align-items: center; display: flex; gap: 0.2rem; justify-content: flex-end; }
.assignment-row-actions > .card-add-pill { min-width: 4.6rem; }
.assignment-roster-foot { color: var(--gray-600); font-size: 0.9rem; margin: 0; padding: 0.65rem 1rem; }
.assignment-history-facts { border: 0; box-shadow: none; display: block; margin: 0.75rem 0; }
.assignment-history-facts > div { border-top: 1px solid var(--gray-200); padding: 0.4rem 0; }
.assignment-history-facts dt, .assignment-history-facts dd { background: transparent; border: 0; margin: 0; padding: 0; }
.assignment-history-facts dt { color: var(--gray-600); font-size: 0.85rem; }
.assignment-history-facts dd { overflow-wrap: anywhere; }
.assignment-student-history h4 { font-size: 1rem; margin: 1rem 0 0.5rem; }
.assignment-student-changes { padding-left: 1.2rem; }
.assignment-student-changes li + li { margin-top: 0.7rem; }
@media (max-width: 1240px) {
  .assignment-workspace-layout { grid-template-columns: minmax(0, 1fr); }
  .assignment-workspace-layout > aside { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .assignment-workspace-layout > aside { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) {
  .assignment-detail-page .card-add-pill { min-height: 2.75rem; }
}
.passoff-filter-panel { grid-template-columns: minmax(14rem, 24rem) auto; }
.task-filter-panel { grid-template-columns: repeat(3, minmax(10rem, 1fr)); }
.report-filter-panel { grid-template-columns: repeat(3, minmax(11rem, 1fr)); }
.report-table table { min-width: max-content; }
.print-privacy-label, .print-footer { color: var(--maroon-900); }
.filter-panel label { display: block; font-size: 0.82rem; font-weight: 750; margin-bottom: 0.25rem; }
input, select, textarea { background: var(--white); border: 1px solid #9aa1aa; border-radius: 0.4rem; min-height: 2.65rem; padding: 0.5rem 0.65rem; width: 100%; }
input[type="checkbox"], input[type="radio"] { min-height: auto; padding: 0; width: auto; }
form p label { display: block; font-weight: 700; margin-bottom: 0.25rem; }
form p { max-width: 42rem; }
form ul { max-width: 42rem; }
.clock-time-field { border: 0; margin: 0 0 1rem; padding: 0; }
.clock-time-field legend { font-weight: 700; margin-bottom: 0.25rem; }
.clock-time-controls { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.clock-time-controls input { max-width: 9rem; }
.clock-time-controls select { width: auto; }
.clock-time-field .helptext { color: var(--gray-600); display: block; font-size: 0.9rem; margin-top: 0.25rem; }
.class-list { display: grid; gap: 0.85rem; list-style: none; padding: 0; }
.class-list > li { align-items: flex-start; background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.7rem; display: flex; gap: 1rem; justify-content: space-between; padding: 1rem; }
.class-list h2 { font-size: 1.1rem; margin: 0 0 0.65rem; }
.class-context { display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; margin: 0; }
.class-context div { display: block; }
.class-context dt { border: 0; color: var(--gray-600); font-size: 0.76rem; padding: 0; text-transform: uppercase; }
.class-context dd { padding: 0; }
.music-catalog-table { min-width: 90rem; table-layout: fixed; }
.music-catalog-table th, .music-catalog-table td { overflow-wrap: anywhere; padding: 0.4rem 0.7rem; vertical-align: middle; }
.music-catalog-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.music-catalog-table thead th:nth-child(1) { width: 8%; }
.music-catalog-table thead th:nth-child(2) { width: 14%; }
.music-catalog-table thead th:nth-child(3), .music-catalog-table thead th:nth-child(4) { width: 17%; }
.music-catalog-table thead th:nth-child(5) { width: 8%; }
.music-catalog-table thead th:nth-child(6), .music-catalog-table thead th:nth-child(7) { width: 6%; }
.music-catalog-table thead th:nth-child(8) { width: 10%; white-space: nowrap; }
.music-catalog-table thead th:nth-child(9) { width: 14%; }
.music-catalog-table tbody th { font-weight: 650; }
.music-catalog-table tbody tr:hover, .music-catalog-table tbody tr:focus-within { background: var(--gray-100); }
.music-catalog-table tbody a { align-items: center; display: inline-flex; max-width: 100%; min-height: 2.75rem; }
.music-catalog-note-preview { color: var(--gray-800); }
.music-catalog-note-action { font-size: 0.9rem; margin-left: 0.35rem; }
.music-catalog-performance-action { font-size: 0.9rem; white-space: nowrap; }
.music-catalog-table thead th:nth-child(8), .music-catalog-table tbody td:nth-child(8) { text-align: center; }
.music-catalog-table .music-level { min-width: 6rem; text-align: center; }
.music-retired-label { color: var(--gray-600); font-size: 0.82rem; font-weight: 650; margin-left: 0.4rem; }
.inventory-compact-table { min-width: 54rem; }
.inventory-compact-table th, .inventory-compact-table td { padding: 0.4rem 0.7rem; vertical-align: middle; }
.inventory-compact-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.inventory-compact-table tbody th { font-weight: 650; }
.inventory-compact-table .inventory-identity { min-width: 11rem; width: 11rem; overflow-wrap: anywhere; }
.inventory-compact-table tbody tr:hover, .inventory-compact-table tbody tr:focus-within { background: var(--gray-100); }
.inventory-compact-table tbody a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.inventory-compact-table :is(th, td):nth-child(7) { min-width: 8rem; width: 8rem; }
.inventory-home-use { color: var(--gray-600); font-size: 0.85rem; font-weight: 400; }
.inventory-compact-table .inventory-status { text-align: center; }
.inventory-compact-table .inventory-status .roster-sort-link { justify-content: center; width: 100%; }
.compact-reference-list { margin: 0 0 1.25rem; padding-left: 1.25rem; }
.combination-dialog { border: 0; border-radius: 0.7rem; box-shadow: 0 18px 50px rgb(29 32 37 / 28%); max-width: 30rem; padding: 1.25rem; width: calc(100% - 2rem); }
.combination-dialog::backdrop { background: rgb(29 32 37 / 55%); }
.combination-value { background: var(--gray-100); border: 1px solid var(--gray-300); border-radius: 0.45rem; font-size: 1.35rem; font-weight: 800; letter-spacing: 0.04em; padding: 0.8rem; }
.muted-text, dd small, td small { color: var(--gray-600); display: block; font-size: 0.82rem; }
.errorlist { color: #9a1d1d; }

.table-wrap { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.65rem; overflow-x: auto; scrollbar-gutter: stable; }
.table-wrap:focus-visible { outline-offset: 2px; }
table { border-collapse: collapse; width: 100%; }
caption { font-weight: 700; padding: 1rem; text-align: left; }
th, td { border-bottom: 1px solid var(--gray-200); padding: 0.62rem 0.75rem; text-align: left; }
thead th { background: var(--gray-100); color: var(--gray-600); font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; }
tbody tr:last-child > * { border-bottom: 0; }
tbody th small { color: var(--gray-600); display: block; font-weight: 500; }
dl { display: grid; grid-template-columns: minmax(9rem, 0.35fr) 1fr; margin-bottom: 1.5rem; }
dt, dd { border-bottom: 1px solid var(--gray-200); margin: 0; padding: 0.65rem; }
dt { color: var(--gray-600); font-weight: 700; }
.pagination { align-items: center; display: flex; gap: 1rem; justify-content: center; padding: 1.25rem; }
.error-summary { border-left: 0.3rem solid #9a1d1d; margin-bottom: 1rem; max-width: 42rem; padding: 0.8rem 1rem; }
.error-summary h2 { font-size: 1rem; margin-bottom: 0.35rem; }
.rubric-list { margin-top: 1rem; }
.rubric-list p { margin-bottom: 0.35rem; }
.rubric-list small { color: var(--gray-600); }
.rubric-library-table table { min-width: 54rem; }
.rubric-library-table th, .rubric-library-table td { vertical-align: top; }
.rubric-editor-section { margin-bottom: 2rem; }
.rubric-editor-section > .section-heading p { color: var(--gray-600); margin-bottom: 0; }
.definition-cards { display: grid; gap: 0.8rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.definition-cards .form-section { margin: 0; min-width: 0; }
.definition-cards textarea { resize: vertical; }
.rubric-grid { margin-bottom: 1.5rem; }
.rubric-grid table { min-width: 44rem; }
.rubric-grid th:first-child { min-width: 13rem; }
.rubric-grid td { min-width: 13rem; vertical-align: top; }
.rubric-grid thead small { color: var(--gray-600); display: block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.rubric-grid-editor { max-height: min(70vh, 48rem); }
.rubric-grid-editor table { min-width: max-content; }
.rubric-grid-editor th, .rubric-grid-editor td { vertical-align: top; }
.rubric-grid-editor thead th { position: sticky; top: 0; z-index: 2; }
.rubric-grid-editor th:first-child { background: var(--gray-100); left: 0; position: sticky; z-index: 1; }
.rubric-grid-editor thead th:first-child { z-index: 3; }
.rubric-grid-editor thead th:not(:first-child) { min-width: 14rem; text-transform: none; }
.rubric-grid-editor tbody th { min-width: 16rem; }
.rubric-grid-editor label { color: var(--gray-800); display: block; font-size: 0.74rem; font-weight: 750; letter-spacing: 0; margin: 0.25rem 0 0.15rem; text-transform: none; }
.rubric-grid-editor input, .rubric-grid-editor textarea { font-weight: 400; letter-spacing: 0; text-transform: none; }
.rubric-grid-editor textarea { min-width: 12rem; resize: vertical; }
.rubric-grid-editor tbody th textarea { min-width: 14rem; }
.rubric-grid-editor input[type="number"] { max-width: 6rem; }
.rubric-remove-control { display: block; font-size: 0.78rem; margin-top: 0.55rem; }
.rubric-cell-incomplete { background: #fff9ef; }
.rubric-cell-incomplete textarea { border-color: #b87725; }
.rubric-grid-status { color: var(--gray-600); font-size: 0.9rem; margin-bottom: 0.6rem; }
.wording-change { background: var(--gray-100); grid-template-columns: 6rem 1fr; margin: 0.6rem 0; }
.wording-change strong, .wording-change span { display: block; }
.score-sheet table { min-width: max-content; }
.score-sheet th, .score-sheet td { padding: 0.55rem 0.65rem; vertical-align: top; }
.score-sheet thead th { white-space: normal; }
.score-sheet tbody th { background: var(--white); left: 0; min-width: 12rem; position: sticky; z-index: 1; }
.score-sheet input[type="date"] { min-width: 9.5rem; width: 9.5rem; }
.score-sheet input[type="number"] { min-width: 5.5rem; width: 5.5rem; }
.score-sheet input[type="text"] { min-width: 11rem; width: 11rem; }
.score-sheet select { min-width: 9rem; width: 9rem; }
.score-sheet .errorlist { font-size: 0.82rem; margin: 0.25rem 0 0; padding-left: 1rem; }
.scoring-assignment-context { max-width: none; }
.scoring-assignment-context progress { accent-color: var(--maroon-700); max-width: 28rem; width: 100%; }
.focused-scoring-layout { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr); }
.score-roster, .score-entry-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.7rem; box-shadow: var(--shadow); min-width: 0; }
.score-roster { max-height: calc(100vh - 8rem); overflow-y: auto; position: sticky; top: 1rem; }
.score-roster-heading { align-items: baseline; border-bottom: 1px solid var(--gray-200); display: flex; justify-content: space-between; padding: 0.8rem; }
.score-roster-heading h2 { font-size: 1rem; margin: 0; }
.score-roster-heading span { color: var(--gray-600); font-size: 0.8rem; }
.score-roster-list { list-style: none; margin: 0; padding: 0.35rem; }
.score-student-link { align-items: center; border-left: 0.25rem solid transparent; border-radius: 0.35rem; color: var(--gray-950); display: flex; gap: 0.45rem; justify-content: space-between; min-height: 2.75rem; padding: 0.45rem 0.55rem; text-decoration: none; }
.score-student-link:hover { background: var(--gray-100); color: var(--gray-950); }
.score-student-link[aria-current="page"] { background: var(--gray-200); border-left-color: var(--maroon-700); font-weight: 750; }
.score-student-link small { color: var(--gray-600); flex: 0 0 auto; font-size: 0.72rem; }
.score-student-completed small { color: #265638; }
.score-student-excused small { color: var(--gray-600); }
.score-entry-card { padding: 1rem; }
.score-entry-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.score-entry-heading h2 { margin-bottom: 0.8rem; }
.score-save-state { border: 1px solid var(--gray-300); border-radius: 999px; flex: 0 0 auto; font-size: 0.8rem; font-weight: 800; margin: 0; padding: 0.25rem 0.65rem; }
.score-save-state-saved { border-color: #33704a; color: #265638; }
.score-save-state-dirty, .score-save-state-pending { border-color: #a85a00; color: #7c4100; }
.score-save-state-error, .score-save-state-changed { border-color: #9a1d1d; color: #7c1717; }
.score-primary-field { max-width: 18rem; }
.score-comment-field { margin-top: 1rem; max-width: 48rem; }
.score-comment-field label, .score-primary-field label, .score-secondary-fields label { display: block; font-weight: 700; margin-bottom: 0.25rem; }
.score-comment-field textarea { resize: vertical; }
.score-secondary-fields { border: 1px solid var(--gray-200); border-radius: 0.5rem; margin-top: 1rem; max-width: 48rem; padding: 0.75rem; }
.score-secondary-fields summary { cursor: pointer; font-weight: 750; }
.score-secondary-fields[open] summary { margin-bottom: 0.8rem; }
.score-save-actions { align-items: center; margin-top: 1rem; }
.score-save-actions .helptext { margin: 0; }
.score-completed-summary { background: var(--gray-100); border-radius: 0.55rem; padding: 1rem; }
.score-rubric-grid { margin-bottom: 1rem; max-height: min(62vh, 44rem); }
.score-rubric-grid table { min-width: max-content; }
.score-rubric-grid th, .score-rubric-grid td { max-width: 20rem; min-width: 12rem; vertical-align: top; }
.score-rubric-grid thead th { position: sticky; top: 0; z-index: 2; }
.score-rubric-grid th:first-child { background: var(--gray-100); left: 0; min-width: 11rem; position: sticky; z-index: 1; }
.score-rubric-grid thead th:first-child { z-index: 3; }
.score-rubric-grid th small, .score-rubric-grid thead small { color: var(--gray-600); display: block; font-size: 0.75rem; font-weight: 500; letter-spacing: 0; margin-top: 0.25rem; text-transform: none; }
.score-rubric-choice { cursor: pointer; display: grid; gap: 0.45rem; grid-template-columns: auto 1fr; min-height: 4rem; }
.score-rubric-choice input { margin-top: 0.22rem; }
.score-student-navigation { border-top: 1px solid var(--gray-200); display: flex; justify-content: space-between; margin-top: 1rem; padding-top: 0.8rem; }
.score-switch-dialog { border: 0; border-radius: 0.7rem; box-shadow: 0 18px 50px rgb(29 32 37 / 28%); max-width: 32rem; padding: 1.2rem; }
.score-switch-dialog::backdrop { background: rgb(29 32 37 / 55%); }
.score-switch-dialog .form-actions { align-items: stretch; flex-direction: column; }
.scoring-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.content:has(> .scoring-page) { max-width: none; padding: var(--shell-spacing); }
.scoring-page .scoring-identity { margin: 0; }
.scoring-identity .class-workspace-banner-identity > span { color: var(--gray-600); font-size: 1rem; }
.scoring-page .focused-scoring-layout { gap: var(--shell-spacing); grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem); }
.scoring-support { grid-column: 2; grid-row: 1; display: grid; gap: var(--shell-spacing); min-width: 0; }
.scoring-page .score-entry-card { grid-column: 1; grid-row: 1; padding: 0; }
.scoring-page .score-entry-heading { align-items: center; flex-wrap: wrap; }
.scoring-page .score-entry-heading h2 { margin: 0; }
.scoring-page .score-save-state { border: 0; border-radius: 0; font-size: 0.9rem; font-weight: 500; padding: 0; }
.scoring-page .score-roster { max-height: none; overflow: visible; position: static; }
.scoring-page .score-roster-heading h2 { font-size: 1.15rem; }
.scoring-page .score-roster-heading span { font-size: 0.9rem; }
.scoring-progress { color: var(--gray-600); font-size: 0.9rem; margin: 0; padding: 0.55rem 1rem; }
.scoring-page .score-roster-list { display: block; max-height: min(48vh, 30rem); overflow-y: auto; padding: 0 0.35rem 0.35rem; }
.scoring-page .score-student-link { border-bottom: 1px solid var(--gray-200); border-radius: 0; font-size: 0.95rem; }
.score-roster-status { color: var(--gray-600); flex: 0 0 auto; font-size: 0.85rem; }
.score-student-completed .score-roster-status { color: #265638; }
.scoring-page .score-primary-field { max-width: 18rem; }
.scoring-page .score-comment-field { max-width: none; }
.scoring-page .score-comment-field textarea { min-height: 6rem; }
.scoring-page .score-save-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.scoring-page .score-save-actions button { min-height: 2.75rem; }
.score-next-hint { color: var(--gray-600); font-size: 0.9rem; margin: 0.55rem 0 0; }
.scoring-page .score-secondary-fields { border-width: 1px 0; border-radius: 0; max-width: none; padding: 0.75rem 0; }
.scoring-page .score-completed-summary { background: transparent; padding: 0; }
.scoring-page .score-student-navigation { align-items: center; padding-top: 0.35rem; }
.scoring-page .score-student-navigation a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.scoring-due { color: var(--gray-600); margin-bottom: 0; }
.scoring-page .score-rubric-grid table { min-width: 38rem; width: 100%; }
.scoring-page .score-rubric-grid th, .scoring-page .score-rubric-grid td { min-width: 10rem; padding: 0.65rem; }
.scoring-page .score-rubric-grid th:first-child { background: var(--white); min-width: 8rem; width: 8rem; }
.scoring-page .score-rubric-grid thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.scoring-page .score-rubric-grid td:has(input:checked) { background: var(--gray-200); }
.scoring-page .score-rubric-grid td:focus-within { outline: 2px solid var(--focus); outline-offset: -2px; }
.scoring-page .score-rubric-choice { min-height: 2.75rem; }
.scoring-page .score-rubric-choice input { align-self: start; }
@media (max-width: 1300px) {
  .scoring-page-rubric .focused-scoring-layout { grid-template-columns: minmax(0, 1fr); }
  .scoring-page-rubric .scoring-support { align-items: start; grid-column: auto; grid-row: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scoring-page-rubric .score-entry-card { grid-column: auto; grid-row: auto; }
  .scoring-page-rubric .score-roster-list { max-height: 10rem; }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .scoring-page:not(.scoring-page-rubric) .focused-scoring-layout { grid-template-columns: minmax(0, 1fr) 17rem; }
}
@media (max-width: 760px) {
  .scoring-page .focused-scoring-layout { grid-template-columns: minmax(0, 1fr); }
  .scoring-page .scoring-support, .scoring-page .score-entry-card { grid-column: auto; grid-row: auto; }
  .scoring-page .scoring-support { grid-template-columns: minmax(0, 1fr); }
  .scoring-page .score-roster-list { max-height: 10rem; }
}
.assignment-result-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.content:has(> .assignment-result-page) { max-width: none; padding: var(--shell-spacing); }
.assignment-result-page .result-identity { margin: 0; }
.assignment-result-page .assignment-workspace-layout > aside { grid-template-columns: minmax(0, 1fr); }
.result-identity .class-workspace-banner-identity > span { color: var(--gray-600); font-size: 1rem; }
.result-facts { display: flex; flex-wrap: wrap; gap: 0.75rem 2.5rem; margin: 0 0 1rem; }
.result-facts dt, .result-facts dd { background: transparent; border: 0; padding: 0; }
.result-facts dt { color: var(--gray-600); font-size: 0.9rem; }
.result-facts dd { font-size: 1.15rem; font-weight: 650; margin: 0.2rem 0 0; }
.result-comment h3, .result-date-context h3, .result-history-comparison h3 { font-size: 1rem; margin: 0 0 0.4rem; }
.result-comment p { margin: 0; }
.result-date-context { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }
.result-assignment-context > p:first-child { margin-top: 0; }
.result-rubric-table td { vertical-align: top; }
.result-rubric-table th:first-child { width: 20%; }
.result-history-list { list-style: none; margin: 0; padding: 0; }
.result-history-list > li { border-top: 1px solid var(--gray-300); margin-top: 1rem; padding-top: 0.5rem; }
.result-history-comparison { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.result-history-comparison section { background: var(--gray-100); border-radius: 0.4rem; padding: 0.8rem; }
.result-history-comparison p:last-child { margin-bottom: 0; }
.result-provenance, .result-correction-guidance { color: var(--gray-600); }
.result-correction-guidance { margin-top: 0; }
.result-state-choice, .result-correction-fields { border: 0; margin: 0; min-width: 0; padding: 0; }
.result-state-choice { border-bottom: 1px solid var(--gray-200); margin-bottom: 1rem; padding-bottom: 0.65rem; }
.result-state-choice > div { display: flex; flex-wrap: wrap; gap: 0 1.4rem; }
.result-state-choice legend { font-size: 1rem; font-weight: 650; margin-bottom: 0.35rem; }
.result-state-choice label { align-items: center; display: flex; gap: 0.5rem; min-height: 2.75rem; }
.result-state-choice input { margin: 0; }
.result-clear-notice { background: var(--gray-100); border-left: 3px solid var(--gray-600); padding: 0.75rem; }
@media (pointer: coarse) { .assignment-result-page .card-add-pill { min-height: 2.75rem; } }
@media (max-width: 640px) { .result-history-comparison { grid-template-columns: minmax(0, 1fr); } }
.passoff-entry-table table { min-width: 64rem; }
.passoff-entry-table th, .passoff-entry-table td { vertical-align: top; }
.passoff-action-cell { min-width: 13rem; }
.passoff-action-cell form { margin-bottom: 0.4rem; }
.passoff-action-cell > a { display: block; margin-top: 0.35rem; }
.row-feedback { border-left: 0.25rem solid #33704a; font-size: 0.86rem; margin: 0.65rem 0 0; padding: 0.45rem 0.6rem; }
.row-feedback-error { border-left-color: #9a1d1d; color: #7c1717; }
.row-feedback:focus { outline-offset: 2px; }
.missing-cell { color: #8a3d00; font-style: italic; }
.compact-choice { border: 0; margin: 0; padding: 0; }
.compact-choice legend { font-weight: 700; margin-bottom: 0.4rem; }
.compact-choice label { display: block; margin: 0.3rem 0; }
.rubric-save-actions { margin-top: 1.5rem; }
.workflow-steps { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; padding-left: 1.25rem; }
.import-summary-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); margin: 1.5rem 0; }
.import-summary-grid > div { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.55rem; padding: 0.8rem; }
.import-summary-grid strong, .import-summary-grid span { display: block; }
.import-summary-grid strong { font-size: 1.45rem; }
.import-summary-grid span { color: var(--gray-600); font-size: 0.82rem; }
.import-summary-grid .count-error { border-left: 0.3rem solid #9a1d1d; }
.import-summary-grid .count-warning { border-left: 0.3rem solid #a85a00; }
.import-report { max-width: none; }
.import-preview-table { margin: 1.5rem 0; }
.import-preview-table table { min-width: 78rem; }
.import-preview-table th, .import-preview-table td { vertical-align: top; }
.import-preview-table details { margin-top: 0.55rem; }
.import-preview-table details dl { grid-template-columns: minmax(11rem, 0.4fr) 1fr; margin: 0.5rem 0; }
.import-preview-table details dt, .import-preview-table details dd { padding: 0.3rem; }
.identity-resolution, .import-preview-table form { border-top: 1px solid var(--gray-200); margin-top: 0.75rem; padding-top: 0.75rem; }
.identity-resolution form { border-top: 0; }
.import-preview-table button { font-size: 0.86rem; margin-top: 0.55rem; }
.unplaced-label { color: #8a3d00; }
.status-ready { color: #33704a; font-weight: 800; }
.import-confirmation form { margin-bottom: 0.75rem; }
.cancel-import-form { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }

.content:has(.dashboard-workboard), .content:has(> .content-panel), .content:has(> .class-index-layout), .content:has(> .class-workspace-page) { max-width: none; padding: var(--shell-spacing); }
.content:has(> .utility-page) { max-width: none; padding: var(--shell-spacing); }
.utility-page { display: grid; gap: var(--shell-spacing); max-width: 72rem; min-width: 0; }
.utility-groups, .utility-card-grid { display: grid; gap: var(--shell-spacing); grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr)); }
.utility-group { min-width: 0; }
.utility-group h2 { color: var(--maroon-800); font-size: 1rem; margin: 0 0 0.35rem; }
.utility-links { list-style: none; margin: 0; padding: 0; }
.utility-links-columns { display: grid; column-gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.utility-links li { align-items: center; border-bottom: 1px solid var(--gray-200); border-radius: 0.35rem; min-width: 0; padding: 0.15rem 0.5rem; }
.utility-links li:hover, .utility-links li:focus-within { background: var(--gray-100); }
.utility-links a { align-items: center; display: inline-flex; min-height: 2.75rem; overflow-wrap: anywhere; }
.utility-link-row { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; justify-content: space-between; }
.utility-context, .utility-empty { color: var(--gray-600); }
.utility-page .content-panel-body > p:first-child { margin-top: 0; }
.utility-page .content-panel-body > p:last-child { margin-bottom: 0; }
.dashboard-workboard { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(17rem, 25rem) minmax(0, 1fr); }
.dashboard-column { display: grid; gap: var(--shell-spacing); min-width: 0; }
.dashboard-panel, .content-panel { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.65rem; box-shadow: 0 2px 4px rgb(58 31 39 / 8%), 0 8px 20px rgb(58 31 39 / 13%); min-width: 0; }
.dashboard-panel-header, .content-panel-header { align-items: center; background: var(--white); border-radius: 0.65rem 0.65rem 0 0; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; justify-content: space-between; padding: 0.58rem 1rem; }
.dashboard-panel-header h2, .content-panel-header h1, .content-panel-header h2 { color: var(--maroon-800); font-size: 1.15rem; font-weight: 700; margin: 0; }
.dashboard-panel-header p { margin: 0.1rem 0 0; }
.dashboard-panel-header > a, .dashboard-panel-header .inline-actions { font-size: 0.9rem; }
.dashboard-panel-body, .content-panel-body { padding: 1rem; overflow-wrap: anywhere; }
.content-panel-body > :last-child { margin-bottom: 0; }
.class-index-table-wrap { border: 0; border-radius: 0; scrollbar-gutter: auto; }
.class-index-table { min-width: 34rem; }
.class-index-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.class-index-table tbody th { font-weight: 650; width: 42%; }
.class-index-table th, .class-index-table td { padding: 0.4rem 0.75rem; }
.class-index-layout:has(.program-overview) .class-index-table { min-width: 28rem; }
.class-index-layout:has(.program-overview) .class-index-table tbody th { width: auto; }
.class-index-layout:has(.program-overview) .class-index-table :is(th, td) { padding: 0.4rem 0.5rem; }
.class-index-layout:has(.program-overview) .class-index-table :is(thead th, td) { white-space: nowrap; }
.class-index-table tbody a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.class-index-table tbody tr:hover, .class-index-table tbody tr:focus-within { background: var(--gray-100); }
.class-index-table .class-index-count { text-align: center; font-variant-numeric: tabular-nums; }
.class-index-layout { align-items: start; display: grid; gap: var(--shell-spacing); min-width: 0; }
.class-index-layout:has(.class-index-support) { grid-template-columns: minmax(0, 1fr) minmax(19rem, 22rem); }
.class-index-layout:has(.program-overview) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.class-index-layout.inventory-landing:has(.class-index-support) { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
.class-index-main, .class-index-support { display: grid; gap: var(--shell-spacing); min-width: 0; }
.class-index-support .content-panel-header > a { font-size: 0.9rem; }
.program-enrollment { display: grid; gap: 0.75rem; grid-template-columns: 1.5fr repeat(3, 1fr); margin: 0 0 1.75rem; }
.program-enrollment dt, .program-enrollment dd { border: 0; margin: 0; padding: 0; }
.program-enrollment dt { color: var(--gray-600); font-size: 0.9rem; font-weight: 400; }
.program-enrollment dd { color: var(--maroon-800); font-size: 1.5rem; font-variant-numeric: tabular-nums; font-weight: 650; margin-top: 0.3rem; }
.program-enrollment-total dd { font-size: 2rem; }
.program-instrumentation-heading { color: var(--maroon-800); font-size: 1rem; margin: 0 0 0.5rem; }
.program-instrumentation-wrap { border: 0; border-radius: 0; }
.program-instrumentation-table { min-width: 23rem; }
.program-instrumentation-table th, .program-instrumentation-table td { padding: 0.6rem 0.65rem; }
.program-instrumentation-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; white-space: nowrap; }
.program-instrumentation-table th:not(:first-child), .program-instrumentation-table td { font-variant-numeric: tabular-nums; text-align: center; }
.program-instrumentation-table th:first-child { padding-left: 0; }
.program-instrumentation-table tbody th { font-weight: 500; }
.program-instrumentation-table td:last-child { font-weight: 650; }
.program-instrumentation-table .program-overview-empty { color: var(--gray-600); font-weight: 400; padding-left: 0; text-align: left; }
.class-support-list { list-style: none; margin: 0; padding: 0; }
.class-support-list > li + li { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }
.class-support-title { font-weight: 650; }
.class-support-list > li > p:not(.class-support-context) { margin-bottom: 0; }
.class-support-context { color: #6f7782; margin: 0.5rem 0 0; }
.class-support-list p:last-child { margin-bottom: 0; }
.card-add-pill { align-items: center; background: var(--gray-100); border: 1px solid var(--gray-300); border-radius: 999px; color: var(--gray-800); display: inline-flex; flex: 0 0 auto; font-size: 0.85rem; font-weight: 600; justify-content: center; min-height: 2.25rem; padding: 0.3rem 0.8rem; text-decoration: none; white-space: nowrap; }
.card-add-pill:hover { background: var(--gray-200); color: var(--gray-950); }
.catalog-header-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.catalog-header-actions > a:not(.card-add-pill) { font-size: 0.9rem; }
.catalog-filters { align-items: end; border-bottom: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0; padding: 0.75rem 1rem; }
.catalog-filters > div:not(.catalog-filter-actions) { flex: 1 1 10rem; min-width: 0; }
.catalog-filters > .catalog-search { flex: 2 1 15rem; }
.catalog-filters label { color: var(--gray-600); display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 0.25rem; }
.catalog-filters input, .catalog-filters select { margin: 0; min-height: 2.75rem; }
.catalog-more-filters { flex: 0 0 auto; }
.catalog-more-filters summary { align-content: center; border-radius: 0.45rem; cursor: pointer; min-height: 2.75rem; padding: 0.5rem; }
.catalog-more-filters summary:hover { background: var(--gray-100); }
.catalog-more-filters[open] { flex-basis: 100%; }
.catalog-extra-fields { align-items: end; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); padding-top: 0.5rem; }
.catalog-filter-actions { align-items: center; display: flex; gap: 0.75rem; }
.catalog-result-count { color: var(--gray-600); font-size: 0.9rem; margin: 0; padding: 0.45rem 1rem; }
.catalog-table-wrap { border: 0; border-radius: 0 0 0.65rem 0.65rem; scrollbar-gutter: auto; }
.content:has(> .locker-index) { max-width: none; padding: var(--shell-spacing); }
.locker-index { min-width: 0; }
.locker-table { min-width: 76rem; table-layout: fixed; }
.locker-table th, .locker-table td { overflow-wrap: anywhere; padding: 0.4rem 0.75rem; vertical-align: middle; }
.locker-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.locker-table tbody th { font-weight: 650; }
.locker-table thead th:first-child, .locker-table tbody th[scope="rowgroup"] { text-align: center; }
.locker-table tbody + tbody { border-top: 1px solid var(--gray-200); }
.locker-table tbody:hover, .locker-table tbody:focus-within { background: var(--gray-100); }
.locker-table tbody a, .locker-record table a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.locker-table thead th:first-child { width: 11%; }
.locker-table thead th:nth-child(2) { width: 20%; }
.locker-table thead th:nth-child(3) { width: 12%; }
.locker-table thead th:nth-child(4) { width: 18%; }
.locker-table thead th:nth-child(5) { width: 9%; }
.locker-table thead th:nth-child(6) { width: 19%; }
.locker-table thead th:last-child { width: 11%; }
.locker-record .inventory-item-facts { grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr); }
.locker-occupants-table { min-width: 54rem; }
.locker-history-table { min-width: 64rem; }
.content:has(> .inventory-item-page) { max-width: none; padding: var(--shell-spacing); }
.inventory-item-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.inventory-item-banner { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: space-between; padding: 1.1rem 1.4rem; position: relative; }
.inventory-item-banner::before { background: var(--maroon-700); border-radius: 4px; content: ""; inset: 14px auto 14px 0; position: absolute; width: 4px; }
.inventory-item-banner h1 { color: var(--maroon-800); font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin: 0; overflow-wrap: anywhere; }
.inventory-item-banner > a { font-size: 0.9rem; }
.inventory-item-summary { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 1.3fr) minmax(19rem, 1fr); }
.inventory-item-summary > .content-panel { min-width: 0; }
.inventory-item-summary .content-panel-header > a:not(.card-add-pill) { font-size: 0.9rem; }
.inventory-item-facts { grid-template-columns: minmax(7.5rem, 0.36fr) minmax(0, 1fr); margin: 0; }
.inventory-item-facts dt, .inventory-item-facts dd { padding: 0.55rem 0.3rem; }
.inventory-item-facts dt:last-of-type, .inventory-item-facts dd:last-of-type { border-bottom: 0; }
.inventory-checkout-action { margin: 0.9rem 0 0; }
.inventory-borrower-lockers { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 0.9rem; }
.inventory-borrower-lockers h3 { font-size: 1rem; margin: 0 0 0.3rem; }
.inventory-borrower-lockers p { color: var(--gray-600); font-size: 0.88rem; margin: 0 0 0.5rem; }
.inventory-borrower-lockers .compact-reference-list { margin-bottom: 0; }
.inventory-item-history .table-wrap { border: 0; border-radius: 0 0 0.65rem 0.65rem; scrollbar-gutter: auto; }
.inventory-item-history table th, .inventory-item-history table td { padding: 0.55rem 0.7rem; vertical-align: top; }
.inventory-item-history thead th { background: var(--white); font-size: 0.88rem; letter-spacing: normal; text-transform: none; }
.inventory-maintenance-history-table { min-width: 55rem; }
.inventory-checkout-history-table { min-width: 78rem; }
.inventory-history-note { color: var(--gray-600); font-size: 0.88rem; margin: 0; padding: 0.25rem 1rem 0.7rem; }
.inventory-audit { color: var(--gray-600); font-size: 0.9rem; }
.content:has(> .music-piece-page) { max-width: none; padding: var(--shell-spacing); }
.music-piece-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.music-piece-banner { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; justify-content: space-between; padding: 1.1rem 1.4rem; position: relative; }
.music-piece-banner::before { background: var(--maroon-700); border-radius: 4px; content: ""; inset: 14px auto 14px 0; position: absolute; width: 4px; }
.music-piece-banner h1 { color: var(--maroon-800); font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin: 0; overflow-wrap: anywhere; }
.music-piece-banner p { color: var(--gray-600); font-size: 1.05rem; font-weight: 600; margin: 0; }
.music-piece-summary { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 1.3fr) minmax(19rem, 1fr); }
.music-piece-summary > .content-panel { min-width: 0; }
.music-piece-summary .content-panel-header > a:not(.card-add-pill) { font-size: 0.9rem; }
.music-piece-facts { grid-template-columns: minmax(7.5rem, 0.36fr) minmax(0, 1fr); margin: 0; }
.music-piece-facts dt, .music-piece-facts dd { padding: 0.55rem 0.3rem; }
.music-piece-facts dt:last-of-type, .music-piece-facts dd:last-of-type { border-bottom: 0; }
.music-last-performance { border-bottom: 1px solid var(--gray-200); margin: 0; padding: 0.4rem 1rem 0.75rem; }
.music-last-performance strong { margin-right: 0.5rem; }
.music-piece-history .table-wrap { border: 0; border-radius: 0 0 0.65rem 0.65rem; scrollbar-gutter: auto; }
.music-piece-history table th, .music-piece-history table td { padding: 0.55rem 0.7rem; vertical-align: top; }
.music-piece-history thead th { background: var(--white); font-size: 0.88rem; letter-spacing: normal; text-transform: none; }
.music-performance-history-table { min-width: 57rem; }
.music-loan-history-table { min-width: 54rem; }
.music-history-audit { color: var(--gray-600); font-size: 0.9rem; }
.content:has(> .music-piece-edit-page) { max-width: none; padding: var(--shell-spacing); }
.music-piece-edit-page { display: grid; gap: var(--shell-spacing); max-width: 64rem; min-width: 0; }
.music-piece-edit-page .music-piece-banner p { min-width: 0; overflow-wrap: anywhere; }
.music-piece-edit-page form { display: grid; gap: 1rem; }
.music-piece-edit-page .error-summary { margin: 0; }
.music-piece-edit-fields { display: grid; gap: 1rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.music-piece-edit-fields > div { min-width: 0; }
.music-piece-edit-fields label { display: block; font-weight: 650; margin-bottom: 0.3rem; }
.music-piece-edit-fields .checkbox-row label { margin: 0; }
.music-piece-edit-notes, .music-piece-edit-status { grid-column: 1 / -1; }
.music-piece-edit-notes textarea { height: 8rem; min-height: 8rem; resize: vertical; scroll-margin-top: 6rem; }
.music-piece-edit-status { border-top: 1px solid var(--gray-200); padding-top: 0.8rem; }
.music-piece-edit-status .helptext { margin: 0.35rem 0 0; }
.music-piece-edit-actions { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }
@media (max-width: 650px) { .music-piece-edit-fields { grid-template-columns: 1fr; } }
.student-directory-filters, .inventory-filter-toolbar, .music-filter-toolbar, .locker-filter-toolbar { align-items: end; display: flex; flex-wrap: wrap; gap: 0.45rem 0.6rem; margin: 0; padding: 0.6rem 1rem; position: relative; }
.student-directory-filters .directory-search, .inventory-filter-toolbar .inventory-search, .music-filter-toolbar .music-search, .locker-filter-toolbar .locker-search { flex: 1 1 10rem; max-width: 21rem; min-width: 10rem; }
.student-directory-filters label, .inventory-filter-toolbar label, .music-filter-toolbar label, .locker-filter-toolbar label { display: block; color: var(--gray-600); font-size: 0.85rem; font-weight: 600; margin-bottom: 0.25rem; }
.student-directory-filters .directory-search input, .inventory-filter-toolbar .inventory-search input, .music-filter-toolbar .music-search input, .locker-filter-toolbar .locker-search input { font-size: 0.9rem; margin: 0; min-height: 2.25rem; padding: 0.35rem 0.6rem; width: 100%; }
.directory-search-submit, .inventory-search-submit, .music-search-submit, .locker-search-submit { background: var(--gray-100); border-color: var(--gray-300); border-radius: 999px; color: var(--gray-800); font-size: 0.85rem; min-height: 2.25rem; padding: 0.3rem 0.75rem; }
.directory-search-submit:hover, .inventory-search-submit:hover, .music-search-submit:hover, .locker-search-submit:hover { background: var(--gray-200); color: var(--gray-800); }
.student-directory-filters .directory-filter-disclosure, .inventory-filter-toolbar .inventory-filter-disclosure, .music-filter-toolbar .music-filter-disclosure, .locker-filter-toolbar .locker-filter-disclosure { margin-left: 0; position: relative; }
.directory-filter-disclosure > summary, .inventory-filter-disclosure > summary, .music-filter-disclosure > summary, .locker-filter-disclosure > summary { background: var(--maroon-100); border: 1px solid var(--maroon-700); color: var(--maroon-800); font-weight: 650; gap: 0.35rem; padding: 0.3rem 0.85rem; }
.directory-filter-disclosure > summary:hover, .directory-filter-disclosure[open] > summary, .inventory-filter-disclosure > summary:hover, .inventory-filter-disclosure[open] > summary, .music-filter-disclosure > summary:hover, .music-filter-disclosure[open] > summary, .locker-filter-disclosure > summary:hover, .locker-filter-disclosure[open] > summary { background: #ead6dc; color: var(--maroon-900); }
.directory-filter-disclosure .task-filter-count, .inventory-filter-disclosure .task-filter-count, .music-filter-disclosure .task-filter-count, .locker-filter-disclosure .task-filter-count { background: var(--white); color: var(--maroon-800); }
.directory-filter-panel, .inventory-filter-panel, .music-filter-panel, .locker-filter-panel { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.5rem; box-shadow: var(--shadow); display: grid; gap: 0.7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); left: 0; max-height: min(42rem, calc(100vh - 6rem)); overflow-y: auto; padding: 0.85rem; position: absolute; top: calc(100% + 0.3rem); width: min(30rem, calc(100vw - 2rem)); z-index: 4; }
.inventory-filter-panel { max-height: min(42rem, calc(100vh - 20rem)); }
.directory-filter-panel > div, .inventory-filter-panel > div, .music-filter-panel > div, .locker-filter-panel > div { min-width: 0; }
.directory-filter-panel input, .directory-filter-panel select, .inventory-filter-panel input, .inventory-filter-panel select, .music-filter-panel input, .music-filter-panel select, .locker-filter-panel input, .locker-filter-panel select { margin: 0; min-height: 2.75rem; width: 100%; }
.directory-filter-actions, .inventory-filter-actions, .music-filter-actions, .locker-filter-actions { align-items: center; display: flex; grid-column: 1 / -1; justify-content: space-between; }
.directory-filter-actions button, .inventory-filter-actions button, .music-filter-actions button, .locker-filter-actions button { background: var(--gray-100); border-color: var(--gray-300); color: var(--gray-800); }
.directory-filter-actions button:hover, .inventory-filter-actions button:hover, .music-filter-actions button:hover, .locker-filter-actions button:hover { background: var(--gray-200); color: var(--gray-800); }
.directory-filter-actions .directory-filter-close, .inventory-filter-actions .inventory-filter-close, .music-filter-actions .music-filter-close, .locker-filter-actions .locker-filter-close { background: transparent; border-color: transparent; color: var(--gray-600); font-weight: 500; }
.directory-active-filters, .inventory-active-filters, .music-active-filters, .locker-active-filters { border-top: 0; padding-top: 0; }
.directory-result-count { color: var(--gray-600); font-size: 0.9rem; margin: 0; padding: 0.25rem 1rem 0.6rem; }
.directory-error { margin: 0 1rem 1rem; }
.student-directory-table-wrap { border: 0; border-radius: 0 0 0.6rem 0.6rem; scrollbar-gutter: auto; }
.student-directory-table { min-width: 80rem; }
.student-directory-table th, .student-directory-table td { padding: 0.3rem 0.6rem; vertical-align: middle; }
.student-directory-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.student-directory-table tbody th { font-weight: 650; }
.student-directory-table tbody a { align-items: center; display: inline-flex; min-height: 2.5rem; }
.student-directory-table tbody tr:last-child > * { border-bottom: 0; }
.student-directory-table tbody tr:hover, .student-directory-table tbody tr:focus-within { background: var(--gray-100); }
.student-directory-table .directory-number, .student-directory-table .directory-grade { font-variant-numeric: tabular-nums; text-align: center; width: 1%; }
.student-directory-table .directory-grade .roster-sort-link { justify-content: center; }
.student-directory-table .directory-number { min-width: 6.5rem; }
.student-directory-table .directory-name { min-width: 12rem; width: 12rem; }
/* Allow Percussion and Intermediate Band - Woodwinds without percentage-sized gaps. */
.student-directory-table .directory-class { min-width: 17rem; width: 17rem; }
.student-directory-table .directory-instrument { min-width: 7.25rem; width: 7.25rem; overflow-wrap: anywhere; }
.student-directory-table .directory-next-line { min-width: 8rem; }
.student-directory-table :is(.directory-notes, .directory-progress) { white-space: nowrap; }
.student-directory-table .directory-school_instrument { min-width: 10rem; }
.student-directory-table tbody tr { scroll-margin-top: 9rem; }
.directory-zero, .directory-inactive { color: var(--gray-600); font-weight: 400; }
.content-panel-header:has(> .card-add-pill) h2, .dashboard-panel-header:has(> .card-add-pill) h2 { flex: 1 1 9rem; min-width: 0; overflow-wrap: anywhere; }
#context-notes, #context-links { scroll-margin-top: 8rem; }
.class-task-entry { align-items: flex-start; display: flex; gap: 0.35rem; }
.class-workspace-banner { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: var(--shell-spacing); padding: 1.15rem 1.4rem; position: relative; }
.class-workspace-banner::before { background: var(--maroon-700); border-radius: 4px; content: ""; position: absolute; inset: 14px auto 14px 0; width: 4px; }
.class-workspace-banner-identity { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; min-width: 0; }
.class-workspace-banner h1 { color: var(--maroon-800); font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin: 0; overflow-wrap: anywhere; }
.class-workspace-banner-identity > a { font-size: 0.9rem; white-space: nowrap; }
.class-workspace-banner-time { flex: 0 0 auto; font-size: 1.1rem; font-weight: 600; margin: 0; text-align: right; }
.class-workspace-layout { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem); }
.content:has(> .student-profile) { max-width: none; padding: var(--shell-spacing); }
.student-profile { min-width: 0; }
.student-profile .back-link { margin: 0 0 1rem; }
.student-profile-banner { margin-bottom: var(--shell-spacing); padding: 1.1rem 1.4rem; position: relative; scroll-margin-top: 6rem; }
.student-profile-banner::before { background: var(--maroon-700); border-radius: 4px; content: ""; inset: 14px auto 14px 0; position: absolute; width: 4px; }
.student-profile-identity { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.35rem 0.55rem; }
.student-profile-identity h1 { color: var(--maroon-800); font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin: 0; }
.student-profile-identity > span:not(.status-label), .student-profile-item-meta { color: var(--gray-600); }
.student-profile-identity > .student-profile-header-instrument { color: var(--gray-800); font-size: 1.25rem; }
.student-profile-facts { display: grid; font-size: 1.15rem; gap: 0.35rem; line-height: 1.4; margin-top: 0.55rem; }
.student-profile-actions { list-style: none; margin: 0; padding: 0; }
.student-profile-actions li + li { border-top: 1px solid var(--gray-200); }
.student-profile-actions a { display: block; padding: 0.55rem 0; }
.student-profile-exception { margin: 0.6rem 0 0; }
.student-profile-layout { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
.student-profile-main, .student-profile-support, .student-profile-operations { align-content: start; display: grid; gap: var(--shell-spacing); min-width: 0; }
.student-profile .content-panel[id] { scroll-margin-top: 6rem; }
.student-profile .content-panel-header > a:not(.card-add-pill) { font-size: 0.9rem; }
.student-profile-ownership { margin: 0 0 0.8rem; }
#equipment .student-profile-ownership { margin: 0.85rem 0 0.35rem; }
.student-profile-item-list, .student-profile-contact-list, .student-profile-note-list, .student-profile-progress-list, .student-profile-completed-lists { list-style: none; margin: 0; padding: 0; }
.student-profile-item-list > li { align-items: center; border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; justify-content: space-between; min-height: 2.75rem; padding: 0.5rem 0; }
.student-profile-item-list > li:first-child { border-top: 0; }
.student-profile-item-list > li > a:nth-child(2) { flex: 1 1 12rem; }
.student-profile-item-list > li > div { display: grid; gap: 0.15rem; }
.student-profile-item-label { font-weight: 650; }
.student-profile-item-meta { font-size: 0.88rem; }
.student-profile-disclosure { border-top: 1px solid var(--gray-200); margin-top: 0.85rem; padding-top: 0.6rem; }
.student-profile-disclosure > summary { cursor: pointer; font-weight: 650; min-height: 2.5rem; padding: 0.4rem 0; }
.student-profile-disclosure .table-wrap { margin-top: 0.55rem; }
.student-profile-passoff-summary { align-items: baseline; display: grid; gap: 0.65rem 0.8rem; grid-template-columns: 8.5rem minmax(0, 1fr); margin: 0; }
.student-profile-passoff-summary dt, .student-profile-passoff-summary dd { border: 0; padding: 0; }
.student-profile-passoff-summary dt { color: var(--gray-900); font-weight: 650; }
.student-profile-passoff-summary dd { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.25rem 0.7rem; min-width: 0; }
.student-profile-passoff-summary dd > strong { font-size: 1.05rem; }
.student-profile-passoff-summary dd:first-of-type > strong { color: var(--maroon-800); font-size: 1.2rem; }
.student-profile-passoff-summary dd > span { color: var(--gray-600); font-size: 0.9rem; }
.student-profile-subheading { font-size: 0.95rem; margin: 1.15rem 0 0.45rem; }
.student-profile-recent-passes time, .student-profile-item-list time { color: var(--gray-600); font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.student-profile-recent-passes > li { display: grid; gap: 0.8rem; grid-template-columns: 8.5rem minmax(0, 1fr); justify-content: start; }
.student-profile-completed-lists { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; }
.student-profile-summary-count { color: var(--gray-600); margin: 0; }
.student-profile-details { background: none; border: 0; box-shadow: none; margin: 0; padding: 0; }
.student-profile-finance-list, .student-profile-payment-list { list-style: none; margin: 0; padding: 0; }
#finance .student-profile-subheading:first-child { margin-top: 0; }
.student-profile-finance-list li, .student-profile-payment-list li { border-top: 1px solid var(--gray-200); padding: 0.55rem 0; }
.student-profile-finance-list li:first-child, .student-profile-payment-list li:first-child { border-top: 0; }
.student-profile-finance-list li { display: flex; flex-wrap: wrap; gap: 0.3rem 0.8rem; justify-content: space-between; }
.student-profile-finance-list strong, .student-profile-payment-list strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
.student-profile-payment-list li { display: grid; gap: 0.2rem 0.5rem; grid-template-columns: 7.2rem minmax(0, 1fr) auto; }
.student-profile-payment-list time { color: var(--gray-600); font-size: 0.88rem; white-space: nowrap; }
.student-profile-contact-list > li { border-top: 1px solid var(--gray-200); display: grid; gap: 0.25rem; padding: 0.75rem 0; }
.student-profile-contact-list > li:first-child { border-top: 0; padding-top: 0; }
.student-profile-contact-list strong { color: var(--gray-900); }
.student-profile-contact-actions { display: grid; gap: 0.55rem; padding: 0.35rem 0 0.5rem; }
.student-profile-note-list > li { border-top: 1px solid var(--gray-200); padding: 0.55rem 0; }
.student-profile-note-list > li:first-child { border-top: 0; padding-top: 0; }
.student-profile-note-list a { display: block; padding: 0.35rem 0; }
.student-profile-progress-list > li { border-top: 1px solid var(--gray-200); min-width: 0; }
.student-profile-progress-list > li:first-child { border-top: 0; }
.student-profile-progress-list a { display: grid; gap: 0.1rem; padding: 0.65rem 0; text-decoration: none; }
.student-profile-progress-list time { color: var(--maroon-800); font-size: 0.9rem; font-weight: 650; }
.student-profile-progress-list a span { color: var(--gray-700); display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.student-profile-progress-list a:hover span, .student-profile-progress-list a:focus-visible span { color: var(--gray-900); }
.student-profile-history { margin-top: var(--shell-spacing); }
.student-history-group + .student-history-group { border-top: 1px solid var(--gray-200); margin-top: 0.4rem; padding-top: 0.4rem; }
.student-history-group > summary { cursor: pointer; font-weight: 700; padding: 0.5rem 0; }
.student-history-group > summary:hover { color: var(--maroon-800); }
.student-history-list { margin: 0.2rem 0 0.7rem 1.5rem; padding: 0; }
.student-history-list li + li { margin-top: 0.4rem; }
.student-note-detail { max-width: 52rem; }
.student-note-original-title { color: var(--gray-600); }
.student-note-actions { border-top: 1px solid var(--gray-200); display: flex; gap: 1rem; margin-top: 1rem; padding-top: 0.9rem; }
.student-note-actions form { margin: 0; }
.class-workspace-main, .class-workspace-support { display: grid; gap: var(--shell-spacing); min-width: 0; }
.class-workspace-support .content-panel-header > a { font-size: 0.9rem; }
.class-workspace-card-heading { flex: 1 1 9rem; min-width: 0; }
.class-workspace-card-heading span { color: var(--gray-600); display: block; font-size: 0.95rem; font-weight: 400; line-height: 1.25; margin-top: 0.15rem; overflow-wrap: anywhere; }
.class-workspace-roster { border: 0; border-radius: 0 0 0.6rem 0.6rem; scrollbar-gutter: auto; }
.class-workspace-roster table { min-width: 43rem; }
.class-workspace-roster th, .class-workspace-roster td { padding: 0.4rem 0.65rem; vertical-align: middle; }
.class-workspace-roster thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.class-workspace-roster thead th:first-child, .class-workspace-roster thead th:nth-child(4) { text-align: center; }
.class-workspace-roster thead th:first-child .roster-sort-link { justify-content: center; }
.roster-sort-link { align-items: center; color: var(--gray-800); display: inline-flex; font-weight: 650; gap: 0.35rem; min-height: 2.75rem; text-decoration: none; }
.roster-sort-link:hover { color: var(--maroon-800); text-decoration: underline; }
.roster-sort-link span { color: var(--gray-600); font-size: 0.85rem; }
.roster-sort-link.is-active span { color: var(--maroon-700); }
.roster-sort-error { margin: 0 1rem 1rem; }
.class-workspace-roster tbody th { font-weight: 650; }
.class-workspace-roster tbody tr:hover, .class-workspace-roster tbody tr:focus-within { background: var(--gray-100); }
.class-workspace-roster tbody th a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.class-workspace-roster td:first-child, .class-workspace-roster td:nth-child(4) { font-variant-numeric: tabular-nums; text-align: center; }
.workspace-passoff-heading { text-align: center; white-space: nowrap; width: 1%; }
.workspace-passoff-cell { min-width: 13rem; text-align: right; }
.workspace-passoff-actions { align-items: center; display: flex; gap: 0.35rem; justify-content: flex-end; }
.workspace-passoff-form { align-items: center; display: flex; gap: 0.6rem; justify-content: flex-end; margin: 0; }
.workspace-passoff-form > span { flex: 0 0 auto; line-height: 1.3; max-width: 18rem; overflow-wrap: anywhere; text-align: right; width: max-content; }
.workspace-passoff-form button { flex: 0 0 auto; min-height: 2.75rem; }
.workspace-passoff-button { background: var(--white); border-color: var(--gray-300); color: var(--gray-800); font-size: 0.9rem; font-weight: 600; padding: 0.35rem 0.65rem; white-space: nowrap; }
.workspace-passoff-button:hover { background: var(--gray-100); color: var(--gray-950); }
.workspace-passoff-history-trigger, .workspace-passoff-history-close { align-items: center; background: transparent; border: 0; border-radius: 0.4rem; color: var(--gray-600); display: inline-flex; flex: 0 0 auto; height: 2.75rem; justify-content: center; padding: 0; width: 2.75rem; }
.workspace-passoff-history-trigger:hover, .workspace-passoff-history-close:hover { background: var(--gray-100); color: var(--gray-950); }
.workspace-passoff-history { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.6rem; box-shadow: var(--shadow); color: var(--gray-950); display: none; max-height: calc(100dvh - 2rem); max-width: calc(100vw - 2rem); overflow: auto; padding: 0.7rem 1rem 1rem; text-align: left; width: 27rem; }
.workspace-passoff-history:popover-open { display: block; }
.workspace-passoff-history.is-positioned { inset: auto; left: var(--history-left); margin: 0; top: var(--history-top); }
.workspace-passoff-history-heading { align-items: center; display: flex; justify-content: space-between; gap: 1rem; }
.workspace-passoff-history-heading h3 { font-size: 1rem; margin: 0; }
.workspace-passoff-history-list { list-style: none; margin: 0 0 0.65rem; padding: 0; }
.workspace-passoff-history-list li { align-items: center; border-bottom: 1px solid var(--gray-200); display: grid; gap: 0.35rem 0.6rem; grid-template-columns: minmax(0, 1fr) auto auto; padding: 0.4rem 0; }
.workspace-passoff-history-list li > span { overflow-wrap: anywhere; }
.workspace-passoff-history-list time { color: var(--gray-600); font-size: 0.85rem; white-space: nowrap; }
.workspace-passoff-history-list form { margin: 0; }
.workspace-passoff-history-list button { background: transparent; border-color: transparent; color: var(--maroon-700); font-size: 0.9rem; min-height: 2.75rem; padding: 0.35rem 0.5rem; }
.workspace-passoff-history-list button:hover { background: var(--gray-100); color: var(--maroon-900); }
.workspace-passoff-history-list .workspace-passoff-history-empty { color: var(--gray-600); display: block; padding: 0.7rem 0; }
.workspace-passoff-history > a { font-size: 0.9rem; }
.workspace-passoff-history > .row-feedback { margin: 0.35rem 0; }
.workspace-passoff-complete { color: #33704a; font-weight: 650; }
.workspace-passoff-cell > .row-feedback { margin: 0.35rem 0 0; }
.class-task-text { min-width: 0; overflow-wrap: anywhere; }
.class-task-text > p { margin-bottom: 0; }
.class-task-composer { border-top: 1px solid var(--gray-200); margin-top: 0.75rem; }
.class-task-composer > summary { align-items: center; border-radius: 0.4rem; color: var(--gray-600); cursor: pointer; display: inline-flex; font-size: 0.9rem; list-style: none; min-height: 2.75rem; padding: 0 0.5rem; }
.class-task-composer > summary::-webkit-details-marker { display: none; }
.class-task-composer > summary:hover, .class-task-composer[open] > summary { background: var(--gray-100); color: var(--maroon-800); }
.class-task-composer form { display: grid; gap: 0.6rem; margin: 0; padding: 0.4rem 0 0.5rem; }
.class-task-field { min-width: 0; }
.class-task-field label { color: var(--gray-800); display: block; font-size: 0.87rem; font-weight: 600; margin-bottom: 0.2rem; }
.class-task-field input, .class-task-field select, .class-task-field textarea { margin: 0; min-height: 2.75rem; width: 100%; }
.class-task-field .errorlist { margin: 0.25rem 0 0; }
.class-task-composer .task-editor-details > summary { color: var(--gray-600); font-size: 0.9rem; }
.class-task-composer .task-editor-details .class-task-field { padding-top: 0.35rem; }
.class-task-composer .helptext { font-size: 0.83rem; margin: 0.25rem 0; }
.class-task-editor-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.class-task-editor-actions button, .class-task-editor-actions a { min-height: 2.75rem; }
.class-task-editor-actions a { align-items: center; display: inline-flex; font-size: 0.9rem; }
.task-complete-form { flex: 0 0 2.75rem; margin: -0.5rem 0 0 -0.5rem; }
.task-complete-control { background: transparent; border: 0; border-radius: 50%; color: var(--gray-600); height: 2.75rem; min-height: 2.75rem; padding: 0; width: 2.75rem; }
.task-complete-control:hover { background: var(--gray-100); color: var(--gray-800); }
.task-complete-control svg { fill: none; height: 1.5rem; stroke: currentColor; stroke-width: 1.75; width: 1.5rem; }
.task-complete-control path { opacity: 0; stroke: var(--white); stroke-linecap: round; stroke-linejoin: round; }
.task-complete-control.is-complete circle { fill: var(--maroon-700); stroke: var(--maroon-700); }
.task-complete-control.is-complete path { opacity: 1; }
.task-complete-control:disabled { cursor: wait; }

.class-workspace-summaries { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); min-width: 0; }
.workspace-summary-body { padding-top: 0.25rem; }
.workspace-summary-group + .workspace-summary-group { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }
.workspace-summary-group h3 { font-size: 0.95rem; margin: 0 0 0.35rem; }
.workspace-summary-table { border-collapse: collapse; margin: 0; table-layout: auto; width: 100%; }
.workspace-summary-table th, .workspace-summary-table td { padding: 0.6rem 0.4rem; }
.workspace-summary-table th { background: transparent; color: var(--gray-600); font-size: 0.85rem; font-weight: 600; letter-spacing: normal; text-transform: none; }
.workspace-summary-table tbody tr:hover, .workspace-summary-table tbody tr:focus-within { background: var(--gray-100); }
.workspace-summary-table th:first-child, .workspace-summary-table td:first-child { padding-left: 0; }
.workspace-summary-table th:last-child, .workspace-summary-table td:last-child { padding-right: 0; }
.workspace-summary-table tbody tr:last-child td { border-bottom: 0; }
.workspace-summary-table .summary-number { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; width: 1%; }
.workspace-fees-table .summary-number { text-align: center; width: 6.5rem; }
.workspace-summary-table .summary-date { color: var(--gray-600); white-space: nowrap; width: 1%; }
.workspace-summary-table a { display: inline-block; padding-block: 0.2rem; }
.workspace-summary-empty { color: var(--gray-600); margin: 0.5rem 0; }
#class-workspace-assignments, #finance-student-balances { scroll-margin-top: 8rem; }

@media (max-width: 1380px) {
  .class-workspace-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1250px) {
  .class-index-layout:has(.class-index-support), .class-index-layout:has(.program-overview) { grid-template-columns: minmax(0, 1fr); }
  .class-index-layout.inventory-landing:has(.class-index-support) { grid-template-columns: minmax(0, 1fr); }
}
.dashboard-panel-body > :first-child { margin-top: 0; }
.dashboard-panel-body > :last-child { margin-bottom: 0; }
.dashboard-panel-body .empty-state { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.dashboard-panel-body .empty-state > :last-child { margin-bottom: 0; }
.dashboard-panel-body .agenda-list > .empty-state { display: block; }
.dashboard-panel-body .simple-resource-list { margin: 0; }
.dashboard-panel-body .simple-resource-list > li { border: 0; border-radius: 0; padding: 0.35rem 0; }
.dashboard-panel-body .simple-resource-list > li + li { border-top: 1px solid var(--gray-200); }
.dashboard-attention { margin-top: var(--shell-spacing); }
.dashboard-class-list { list-style: none; margin: 0; padding: 0.35rem 0.8rem; }
.dashboard-class-list > li { align-items: center; border-radius: 0.35rem; display: grid; gap: 0.65rem; grid-template-columns: 5.25rem minmax(0, 1fr); min-height: 3rem; padding-inline: 0.25rem; }
.dashboard-class-list > li:has(a):hover, .dashboard-class-list > li:focus-within { background: var(--gray-100); }
.dashboard-class-list > li > span, .dashboard-class-list a { overflow-wrap: anywhere; padding-block: 0.65rem; }
.dashboard-class-period { color: var(--gray-600); }
.dashboard-class-list a { align-items: center; display: flex; font-size: 1.05rem; font-weight: 650; min-height: 3rem; }
.dashboard-class-list > .dashboard-classes-empty { color: var(--gray-600); display: block; padding-block: 0.75rem; }
.dashboard-panel .inline-actions { flex-wrap: wrap; justify-content: flex-end; }
.dashboard-panel #dashboard-task-add { margin-bottom: 0.75rem; }
.dashboard-task-add { border: 1px solid var(--gray-200); border-radius: 0.45rem; margin-bottom: 0.75rem; padding: 0.7rem; }
.dashboard-task-add summary { color: var(--maroon-700); cursor: pointer; font-weight: 700; }
.task-dashboard-list { display: grid; gap: 0.55rem; }
.task-dashboard-item { align-items: start; background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.45rem; display: grid; gap: 0.6rem; grid-template-columns: minmax(0, 1fr) auto; padding: 0.7rem 0.8rem; }
.task-dashboard-item summary { cursor: pointer; }
.task-dashboard-item > div { align-items: center; display: flex; gap: 0.6rem; }
.agenda-list { display: grid; gap: 0.55rem; list-style: none; padding: 0; }
.agenda-list > li { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.45rem; display: grid; gap: 0.75rem; grid-template-columns: 5.5rem minmax(0, 1fr); padding: 0.7rem 0.8rem; }
.agenda-date { color: var(--gray-600); font-weight: 800; }
.agenda-sources { border-top: 1px solid var(--gray-200); font-size: 0.86rem; margin-top: 0.75rem; padding-top: 0.75rem; }
.agenda-status { margin: 0 0 0.75rem; }
.resource-list { display: grid; gap: 0.9rem; }
.resource-card, .student-note-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.55rem; padding: 1rem; }
.resource-card h2, .resource-card h3, .student-note-card h3 { margin-top: 0; }
.resource-card details { margin-top: 0.75rem; }
.compact-resource-list { gap: 0.65rem; }
.compact-resource-list .resource-card { padding: 0.8rem; }
.simple-resource-list { display: grid; gap: 0.55rem; list-style: none; padding: 0; }
.simple-resource-list > li { align-items: baseline; background: var(--white); border: 1px solid var(--gray-200); border-radius: 0.45rem; display: flex; flex-wrap: wrap; gap: 0.65rem; padding: 0.7rem 0.8rem; }
.quiet-action, .resource-meta { color: var(--gray-600); font-size: 0.86rem; }
.preserve-lines { overflow-wrap: anywhere; }
.resource-body { font-size: 1.05rem; line-height: 1.65; max-width: 52rem; }
.resource-reading details { margin-top: 1.5rem; max-width: 52rem; }
.attached-resources { border-top: 1px solid var(--gray-200); margin-top: 2rem; padding-top: 1.25rem; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 0.35rem 0.8rem; margin-bottom: 1rem; }
.filter-tabs a[aria-current="page"] { color: var(--gray-900); font-weight: 800; text-decoration-thickness: 0.16rem; }
.inline-form { display: inline; margin: 0; }
.link-button { background: transparent; border: 0; color: var(--maroon-700); min-height: 0; padding: 0; text-decoration: underline; }
.link-button:hover { background: transparent; color: var(--maroon-900); }
.danger-link { color: #8b1717; }
.student-note-list { display: grid; gap: 0.75rem; margin-bottom: 1.25rem; }
.student-note-card .section-heading { margin-top: 0; }
.student-note-card .inline-actions { justify-content: flex-end; }
.student-note-card .inline-actions form { margin: 0; }
.form-disclosure { border: 1px solid var(--gray-200); border-radius: 0.5rem; margin: 1rem 0; padding: 0.8rem; }
.form-disclosure fieldset { margin-top: 0.85rem; }
.form-disclosure ul { columns: 2; list-style: none; padding: 0; }
.placement-selections { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.65rem 0; }
.placement-chip { align-items: center; background: var(--gray-100); border: 1px solid var(--gray-300); border-radius: 999px; color: var(--gray-900); display: inline-flex; font-size: 0.9rem; gap: 0.4rem; min-height: 2.35rem; padding: 0.35rem 0.7rem; }
.placement-chip:hover { background: var(--gray-200); color: var(--gray-900); }
.placement-chip span[aria-hidden="true"] { font-size: 1.1rem; }

@media (max-width: 1300px) {
  .student-profile-layout { grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem); }
  .student-profile-main { grid-row: span 2; }
}

@media (max-width: 1150px) {
  .inventory-item-summary { grid-template-columns: minmax(0, 1fr); }
  .music-piece-summary { grid-template-columns: minmax(0, 1fr); }
  .filter-panel { grid-template-columns: repeat(3, minmax(9rem, 1fr)); }
  .dashboard-workboard { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .dashboard-panel .task-dashboard-item { grid-template-columns: minmax(0, 1fr); }
}

/* Fit routine desktop navigation without shrinking its text; short/zoomed
   windows retain real scrolling so every destination remains reachable. */
@media (max-height: 800px) {
  .sidebar { padding-block: 0.65rem; }
  .primary-nav { gap: 0.3rem; }
  .nav-group, .nav-list-utilities { padding-top: 0.3rem; }
  .primary-nav a, .nav-unavailable { min-height: 2.375rem; padding-block: 0.4rem; }
  .sidebar-version { padding-top: 0.4rem; }
}

@media (pointer: coarse) {
  .primary-nav a, .nav-unavailable { min-height: 2.75rem; }
  .sidebar-dismiss { flex-basis: 2.75rem; min-height: 2.75rem; }
}

@media (max-width: 1000px) {
  .app-shell { grid-template-columns: minmax(0, 1fr); }
  .sidebar { box-shadow: var(--shadow); height: 100vh; position: fixed; transform: translateX(-100%); transition: transform 160ms ease; width: 16rem; z-index: 10; }
  .workspace { grid-column: 1 / -1; }
  .navigation-open .sidebar { transform: translateX(0); }
  .navigation-open .sidebar-scrim { background: rgb(29 32 37 / 48%); border: 0; border-radius: 0; display: block; inset: 0; min-height: 0; padding: 0; position: fixed; z-index: 9; }
  .app-shell:not(.navigation-open) .sidebar-open { display: inline-flex; }
  .breadcrumbs { flex: 1; }
  .header-date, .account-disclosure summary span { display: none; }
  .account-disclosure summary { justify-content: center; min-height: 2.75rem; padding: 0; width: 2.75rem; }
  .dashboard-workboard { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
  .student-profile-layout { grid-template-columns: minmax(0, 1fr); }
  .student-profile-main { grid-row: auto; }
  .focused-scoring-layout { grid-template-columns: 1fr; }
  .score-roster { max-height: 16rem; position: static; }
  .score-roster-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .workspace-header { gap: 0.5rem; padding-inline: 1rem; }
  .header-identity { gap: 0.5rem; }
  .header-brand { font-size: 1.25rem; padding-right: 0.5rem; }
  .class-workspace-banner { align-items: flex-start; flex-direction: column; gap: 0.6rem; }
  .class-workspace-banner-time { text-align: left; }
  .page-heading { display: block; }
  .page-heading .button { margin-top: 0.75rem; }
  .filter-panel { grid-template-columns: 1fr; }
  dl { grid-template-columns: 1fr; }
  dt { border-bottom: 0; padding-bottom: 0; }
  .operation-list li { align-items: flex-start; display: grid; }
  .compact-form-grid { grid-template-columns: 1fr; }
  .score-entry-heading { display: block; }
  .score-save-state { display: inline-block; }
  .score-roster-list { grid-template-columns: 1fr; }
}

@media (max-width: 350px) {
  .header-identity { flex-wrap: wrap; }
  .breadcrumbs { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

@media print {
  @page { margin: 0.55in; size: landscape; }
  html, body { background: #fff; color: #000; font-size: 9pt; }
  .sidebar, .workspace-header, .report-screen-only, .messages { display: none !important; }
  .app-shell { display: block; min-height: 0; }
  .content { margin: 0; max-width: none; padding: 0; }
  .page-heading { margin-bottom: 0.4rem; }
  .page-heading h1 { font-size: 18pt; }
  .report-scope { border: 1px solid #777; box-shadow: none; grid-template-columns: 10rem 1fr; margin-bottom: 0.5rem; padding: 0.2rem; }
  .attention-panel, .warning-panel { border: 1px solid #777; box-shadow: none; margin: 0.4rem 0; max-width: none; padding: 0.4rem; }
  .table-wrap { border: 0; border-radius: 0; overflow: visible; }
  table { page-break-inside: auto; }
  thead { display: table-header-group; }
  tr { break-inside: avoid; page-break-inside: avoid; }
  th, td { border: 1px solid #888; padding: 0.28rem 0.35rem; }
  thead th { background: #eee !important; color: #000; }
  .print-footer { margin-top: 0.5rem; }
}

/* Tasks overview: the shared panels and completion controls, at working-list width. */
.content:has(> .tasks-overview) { max-width: none; padding: var(--shell-spacing); }
.tasks-overview { display: grid; gap: var(--shell-spacing); min-width: 0; }
.tasks-overview > [hidden] { display: none; }
.tasks-overview > p { margin: 0; }
.task-scope-tabs { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.task-scope-tabs a { align-items: center; border-radius: 999px; color: var(--gray-600); display: inline-flex; min-height: 2.25rem; padding: 0.25rem 0.8rem; text-decoration: none; }
.task-scope-tabs a:hover, .task-scope-tabs a[aria-current] { background: var(--gray-100); color: var(--maroon-800); }
.task-scope-tabs a[aria-current] { font-weight: 650; }
.task-overview-toolbar { align-items: center; border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.3rem 0.5rem; justify-content: flex-start; padding: 0.4rem 1rem; }
.task-context-picker, .task-filter-disclosure { position: relative; }
.task-context-picker > summary { cursor: pointer; list-style: none; }
.task-context-picker > summary::-webkit-details-marker { display: none; }
.task-context-picker > form, .task-overview-filters { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.5rem; box-shadow: var(--shadow); position: absolute; right: 0; top: calc(100% + 0.3rem); z-index: 4; }
.task-context-picker > form { display: grid; gap: 0.45rem; padding: 0.85rem; width: min(20rem, calc(100vw - 2rem)); }
.task-context-picker label { color: var(--gray-600); font-size: 0.85rem; font-weight: 600; }
.task-context-picker-heading { align-items: center; display: flex; justify-content: space-between; }
.task-context-picker .task-picker-close { align-items: center; background: transparent; border: 0; border-radius: 999px; color: var(--gray-600); display: inline-flex; justify-content: center; min-height: 2.25rem; padding: 0; width: 2.25rem; }
.task-context-picker .task-picker-close:hover { background: var(--gray-100); color: var(--gray-800); }
.task-picker-close svg { height: 1rem; width: 1rem; }
.task-context-picker select { min-height: 2.75rem; width: 100%; }
.task-context-picker button { justify-self: end; }
.task-overview-toolbar > .task-filter-disclosure > summary { background: var(--maroon-100); border: 1px solid var(--maroon-700); font-weight: 650; }
.task-filter-disclosure > summary { align-items: center; border-radius: 999px; color: var(--gray-600); cursor: pointer; display: flex; font-size: 0.9rem; list-style: none; min-height: 2.25rem; padding: 0.25rem 0.75rem; }
.task-filter-disclosure > summary::-webkit-details-marker { display: none; }
.task-filter-disclosure > summary:hover, .task-filter-disclosure[open] > summary { background: var(--gray-100); color: var(--gray-800); }
.task-filter-count { background: var(--gray-200); border-radius: 999px; color: var(--gray-800); display: inline-block; font-weight: 700; min-width: 1.35rem; text-align: center; }
.task-overview-filters { align-items: end; border-bottom: 1px solid var(--gray-300); display: grid; gap: 0.7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); left: 0; margin: 0; padding: 0.85rem; right: auto; width: min(30rem, calc(100vw - 21rem)); }
.task-overview-filters > div { min-width: 0; }
.task-overview-filters input, .task-overview-filters select { width: 100%; }
.task-overview-filters .catalog-filter-actions { grid-column: 1 / -1; justify-content: flex-end; }
.task-overview-filters .catalog-filter-actions button { background: var(--gray-100); border-color: var(--gray-300); color: var(--gray-800); }
.task-overview-filters .catalog-filter-actions button:hover { background: var(--gray-200); }
.task-active-filters { align-items: center; border-top: 1px solid var(--gray-200); color: var(--gray-600); display: flex; flex-wrap: wrap; font-size: 0.82rem; gap: 0.3rem 0.6rem; padding: 0.35rem 1rem; }
.task-active-filters span { background: var(--gray-100); border-radius: 999px; padding: 0.15rem 0.55rem; }
.task-active-filters a { margin-left: auto; }
.task-editor-details > summary { align-content: center; cursor: pointer; min-height: 2.75rem; }
.task-result-summary { color: var(--gray-600); font-size: 0.9rem; margin-bottom: calc(-1 * var(--shell-spacing) + 0.65rem); }
.task-groups-grid { display: grid; gap: var(--shell-spacing); grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.task-groups-grid > .content-panel:not(.task-group) { grid-column: 1 / -1; }
.task-group-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.3rem 0.8rem; min-width: 0; }
.task-group-heading > span { color: var(--gray-600); font-size: 0.9rem; }
.task-group { display: flex; flex-direction: column; scroll-margin-top: 6rem; }
.task-overview-columns, .task-overview-row { align-items: center; display: grid; gap: 0.4rem 0.55rem; grid-template-columns: 2.75rem minmax(0, 1fr) minmax(5.75rem, 8rem); padding: 0.45rem 1rem; }
.task-recent .task-overview-columns, .task-recent .task-overview-row { grid-template-columns: 2.75rem minmax(0, 1fr) minmax(8rem, 13rem); }
.task-overview-columns { border-bottom: 1px solid var(--gray-200); color: var(--gray-600); font-size: 0.85rem; font-weight: 600; }
.task-overview-list { list-style: none; margin: 0; padding: 0; }
.task-overview-row { border-bottom: 1px solid var(--gray-200); min-height: 3.5rem; scroll-margin-top: 6rem; }
.task-overview-row:last-child { border-bottom: 0; border-radius: 0 0 0.65rem 0.65rem; }
.task-overview-row:hover, .task-overview-row:focus-within { background: var(--gray-100); }
.task-row-created { background: var(--gray-100); }
.task-row-title { min-width: 0; overflow-wrap: anywhere; }
.task-row-title > a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.task-row-owner { color: var(--gray-600); overflow-wrap: anywhere; }
.tasks-overview .task-complete-form { margin: 0; }
.task-completed-icon { align-items: center; display: flex; justify-content: center; }
.task-group-add { border-top: 1px solid var(--gray-200); margin-top: auto; padding: 0.3rem 1rem; }
.task-group-add a { align-items: center; border-radius: 0.4rem; color: var(--gray-600); display: inline-flex; font-size: 0.9rem; min-height: 2.75rem; padding: 0 0.5rem; text-decoration: none; }
.task-group-add a:hover { background: var(--gray-100); color: var(--maroon-800); }
.task-composer { border-top: 1px solid var(--gray-200); padding: 0.55rem 1rem; }
.task-composer form { margin: 0; }
.task-composer label { display: block; font-size: 0.9rem; font-weight: 600; margin-bottom: 0.3rem; }
.task-composer input, .task-composer select, .task-composer textarea { margin: 0; min-height: 2.75rem; width: 100%; }
.task-editor-main { align-items: start; display: grid; gap: 0.55rem; grid-template-columns: minmax(0, 1fr); max-width: 30rem; }
.task-editor-title, .task-editor-owner, .task-editor-priority { min-width: 0; }
.task-editor-submit { justify-self: start; }
.task-editor-submit button { min-height: 2.75rem; padding: 0.45rem 0.6rem; }
.task-editor-due { margin-top: 0.5rem; max-width: 13rem; }
.task-editor-context { margin-bottom: 0.75rem; max-width: 30rem; }
.task-editor-secondary { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.task-editor-secondary > details { flex: 1 1 12rem; min-width: 0; }
.task-editor-secondary > a { align-items: center; display: inline-flex; min-height: 2.75rem; }
.task-editor-extra { padding: 0.5rem 0; width: 100%; }
.task-composer .helptext { color: var(--gray-600); font-size: 0.85rem; margin: 0.35rem 0; }
.task-notice { border-left: 3px solid var(--maroon-700); padding-left: 0.75rem; }
.content:has(> .task-record) { max-width: none; padding: var(--shell-spacing); }
.task-record { display: grid; gap: var(--shell-spacing); max-width: 72rem; min-width: 0; }
.task-record-header { align-items: flex-start; gap: 0.5rem 1.25rem; padding: 0.8rem 1rem; }
.task-record-heading { align-items: center; display: flex; flex: 1 1 20rem; gap: 0.6rem; min-width: 0; }
.task-record-heading form, .task-record-header-actions form { margin: 0; }
.task-record-heading .task-complete-control { align-items: center; display: flex; flex: 0 0 2.75rem; justify-content: center; }
.task-record-header h1 { font-size: 1.4rem; line-height: 1.3; overflow-wrap: anywhere; }
.task-record-header-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.4rem 0.65rem; justify-content: flex-end; }
.task-record-header-actions button.card-add-pill { cursor: pointer; }
.task-record-cancel { align-items: center; color: var(--gray-600); display: inline-flex; font-size: 0.88rem; min-height: 2.25rem; padding: 0.25rem 0.4rem; text-decoration: none; }
.task-record-cancel:hover { color: var(--maroon-800); text-decoration: underline; }
.task-record-body { padding-top: 0.8rem; }
.task-record-description { line-height: 1.55; max-width: 75ch; overflow-wrap: anywhere; }
.task-record-facts { display: grid; gap: 0.8rem 1.3rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); margin: 0; }
.task-record-description + .task-record-facts { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }
.task-record-facts dt, .task-record-facts dd, .task-record-audit dt, .task-record-audit dd { border: 0; padding: 0; }
.task-record-facts dt, .task-record-audit dt { color: var(--gray-600); font-size: 0.83rem; font-weight: 600; }
.task-record-facts dd { font-weight: 600; margin-top: 0.2rem; overflow-wrap: anywhere; }
.task-record-past-year { color: var(--gray-600); display: block; font-size: 0.86rem; font-weight: 400; }
.task-record-outcome { border-top: 1px solid var(--gray-200); color: var(--gray-600); font-size: 0.9rem; margin: 1rem 0 0; padding-top: 0.8rem; }
.task-record-history { border-color: var(--gray-300); box-shadow: 0 2px 4px rgb(58 31 39 / 8%); }
.task-record-history > summary { color: var(--maroon-800); }
.task-record-history > summary:hover { background: var(--gray-100); }
.task-record-history .history-disclosure-body { padding-top: 0.9rem; }
.task-record-audit { display: flex; flex-wrap: wrap; gap: 0.65rem 2rem; margin: 0 0 0.9rem; }
.task-record-audit dd { margin-top: 0.1rem; }
.task-record-history .table-wrap { border-radius: 0.5rem; }
@media (max-width: 1380px) {
  .task-groups-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .task-groups-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1200px) {
  .task-overview-filters { left: auto; right: 0; width: min(24rem, calc(100vw - 3rem)); }
}
@media (max-width: 1100px) {
  .directory-filter-panel, .inventory-filter-panel, .music-filter-panel, .locker-filter-panel { left: auto; right: 0; width: min(24rem, calc(100vw - 3rem)); }
  .assignment-filter-panel { width: min(26rem, calc(100vw - 3rem)); }
}
@media (max-width: 760px) {
  .task-filter-disclosure { margin-left: 0; }
  .task-overview-filters { width: min(20rem, calc(100vw - 3rem)); }
  .task-context-picker > form { right: 0; }
}

@media (max-width: 550px) {
  .task-overview-filters { left: 0; right: auto; width: min(20rem, calc(100vw - 4rem)); }
}

@media (max-width: 650px) {
  .directory-filter-panel, .inventory-filter-panel, .music-filter-panel, .locker-filter-panel { grid-template-columns: minmax(0, 1fr); width: min(20rem, calc(100vw - 3rem)); }
  .assignment-filter-panel { grid-template-columns: minmax(0, 1fr); width: min(20rem, calc(100vw - 3rem)); }
  .task-overview-columns, .task-overview-row,
  .task-recent .task-overview-columns, .task-recent .task-overview-row { grid-template-columns: 2.75rem minmax(0, 1fr) minmax(5.75rem, 8rem); }
  .task-overview-filters { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 400px) {
  .directory-filter-panel, .inventory-filter-panel, .music-filter-panel, .locker-filter-panel { left: 0; right: auto; width: min(19rem, calc(100vw - 4rem)); }
  .inventory-filter-panel { max-height: min(42rem, calc(100vh - 26rem)); }
}

/* Pass-offs class teaching workspace: roster stays wide; the queue stays compact. */
.content:has(> .passoff-track-page) { max-width: none; padding: var(--shell-spacing); }
.passoff-track-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.passoff-track-page .class-workspace-banner { margin: 0; }
.passoff-track-page .class-workspace-banner p { color: var(--gray-600); font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.passoff-track-progress { font-size: 1.05rem; margin: 0 0 0.3rem; }
.passoff-track-page .resource-meta { margin: 0; }
.passoff-track-completions .table-wrap { border: 0; border-radius: 0 0 0.65rem 0.65rem; }
.passoff-track-completions table { min-width: 72rem; }
.passoff-track-completions th, .passoff-track-completions td { padding: 0.5rem 0.65rem; vertical-align: top; }
.passoff-track-completions thead th { background: var(--white); font-size: 0.88rem; letter-spacing: normal; text-transform: none; }
.passoff-track-completions tbody tr:hover { background: var(--gray-100); }
.passoff-track-completions small, .passoff-track-list small { color: var(--gray-600); display: block; font-size: 0.85rem; }
.passoff-track-support { display: grid; gap: var(--shell-spacing); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.passoff-track-list { list-style: none; margin: 0; padding: 0; }
.passoff-track-list li + li { border-top: 1px solid var(--gray-200); margin-top: 0.65rem; padding-top: 0.65rem; }
.passoff-track-list li > strong, .passoff-track-list li > span { display: block; }
@media (max-width: 800px) { .passoff-track-support { grid-template-columns: 1fr; } }
/* Quiet, card-based editing surfaces use the same spacing and titles as record pages. */
.content:has(> .standard-form-page) { max-width: none; padding: var(--shell-spacing); }
.standard-form-page { display: grid; gap: var(--shell-spacing); max-width: 74rem; min-width: 0; }
.standard-form-page .content-panel-header h1 { overflow-wrap: anywhere; }
.standard-form-page .content-panel-body { min-width: 0; }
.standard-form-intro { color: var(--gray-600); margin: 0 0 1rem; }
.standard-form-page .error-summary { margin: 0 0 1rem; }
.standard-form-fields { display: grid; gap: 0.95rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.standard-form-field { min-width: 0; }
.standard-form-field > label { display: block; font-weight: 650; margin-bottom: 0.3rem; }
.standard-form-field > :is(input:not([type="checkbox"]), select, textarea) { max-width: 100%; width: 100%; }
.standard-form-field > textarea { min-height: 8rem; resize: vertical; }
.standard-form-check { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; grid-column: 1 / -1; }
.standard-form-check > label { margin: 0; }
.standard-form-check .helptext, .standard-form-check .errorlist { flex-basis: 100%; }
.standard-form-actions { border-top: 1px solid var(--gray-200); margin-top: 1.25rem; padding-top: 1rem; }
.standard-form-group { border: 0; border-top: 1px solid var(--gray-200); margin: 0; min-width: 0; padding: 0.9rem 0 1rem; }
.standard-form-group legend { color: var(--maroon-800); font-size: 1.05rem; font-weight: 700; padding-right: 0.65rem; }
.standard-form-group > .helptext { margin: 0 0 0.75rem; }
.standard-form-facts { display: grid; gap: 0.35rem 1rem; grid-template-columns: minmax(9rem, 12rem) minmax(0, 1fr); margin: 0; }
.standard-form-facts dt { color: var(--gray-600); font-weight: 650; }
.standard-form-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.membership-end-page .warning-panel { box-shadow: none; margin: 0 0 1.25rem; max-width: none; }
.student-note-editor-fields, .workspace-content-fields { display: grid; gap: 0.95rem; }
.student-note-editor-fields .student-note-field-body, .workspace-content-fields .standard-form-field:has(textarea) { max-width: 60rem; }
.student-note-editor-fields .student-note-field-observation_date { max-width: 18rem; }
.workspace-content-editor .form-disclosure { border-color: var(--gray-300); margin: 1.25rem 0 0; max-width: 60rem; }
.workspace-content-editor .form-disclosure > summary { color: var(--maroon-800); font-weight: 650; }
.workspace-content-editor .form-disclosure p { color: var(--gray-600); }
.workspace-content-editor .form-disclosure input[type="search"] { max-width: 24rem; width: 100%; }
.content:has(> .note-detail-page), .content:has(> .passoff-history-page) { max-width: none; padding: var(--shell-spacing); }
.note-detail-page { max-width: 72rem; }
.note-detail-page .content-panel-header h1 { overflow-wrap: anywhere; }
.note-detail-page .content-panel-header > a { font-size: 0.9rem; }
.note-detail-actions { border-top: 1px solid var(--gray-200); margin-top: 1.25rem; padding-top: 1rem; }
.note-detail-page .resource-reading details { border-top: 1px solid var(--gray-200); margin-top: 1.25rem; padding-top: 0.85rem; }
.note-detail-page .resource-reading details > summary { color: var(--maroon-800); cursor: pointer; font-weight: 650; }
.passoff-history-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.passoff-history-page .class-workspace-banner { margin: 0; }
.passoff-history-page .class-workspace-banner p { color: var(--gray-600); font-weight: 600; margin: 0; }
.passoff-history-filter { align-items: end; border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.7rem; padding: 0.65rem 1rem; }
.passoff-history-filter label { color: var(--gray-600); display: block; font-size: 0.85rem; font-weight: 650; margin-bottom: 0.25rem; }
.passoff-history-filter select { margin: 0; min-width: 11rem; }
.passoff-history-filter button { min-height: 2.35rem; padding: 0.35rem 0.75rem; }
.passoff-history-results .table-wrap { border: 0; border-radius: 0 0 0.65rem 0.65rem; }
.passoff-history-results table { min-width: 72rem; }
.passoff-history-results th, .passoff-history-results td { padding: 0.5rem 0.65rem; vertical-align: top; }
.passoff-history-results thead th { background: var(--white); font-size: 0.88rem; letter-spacing: normal; text-transform: none; }
.passoff-history-results tbody tr:hover { background: var(--gray-100); }
.passoff-history-results small { color: var(--gray-600); font-size: 0.85rem; }
.locker-assignment-page .warning-panel { box-shadow: none; margin: 0 0 1.25rem; max-width: none; }
.locker-assignment-page .standard-form-field:has(textarea) { grid-column: 1 / -1; }
@media (max-width: 650px) { .standard-form-facts { grid-template-columns: minmax(0, 1fr); } .standard-form-facts dd { margin-bottom: 0.45rem; } }
@media (max-width: 650px) { .standard-form-fields { grid-template-columns: minmax(0, 1fr); } }
.content:has(> .passoff-class-page) { max-width: none; padding: var(--shell-spacing); }
.passoff-class-page, #passoff-workflow { min-width: 0; }
.passoff-class-layout { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 1fr) 21rem; }
.passoff-roster-scroll { border: 0; border-radius: 0; position: relative; }
.passoff-main-column { display: grid; align-content: start; gap: var(--shell-spacing); min-width: 0; }
.passoff-roster-table { min-width: 68rem; table-layout: fixed; width: 100%; }
.passoff-identity-col { width: 14%; }
.passoff-action-col { width: 16%; }
.passoff-summary-col { width: 12%; }
.passoff-queue-col { width: 6%; }
.passoff-roster-table th, .passoff-roster-table td { padding: 0.25rem 0.5rem; vertical-align: middle; }
.passoff-roster-table thead th { background: var(--white); font-size: 0.88rem; letter-spacing: normal; text-transform: none; white-space: normal; }
.passoff-roster-table tbody th { font-weight: 650; }
.passoff-roster-table tbody tr:hover, .passoff-roster-table tbody tr:focus-within { background: var(--gray-100); }
.passoff-roster-table a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.passoff-roster-table .passoff-number { text-align: center; font-variant-numeric: tabular-nums; }
.passoff-date { white-space: nowrap; text-align: center; font-variant-numeric: tabular-nums; }
.passoff-roster-table th, .passoff-roster-table td { overflow-wrap: anywhere; }
.passoff-actions-heading, .passoff-actions-cell, .passoff-queue-cell { white-space: nowrap; }
.passoff-actions-cell .workspace-passoff-actions { justify-content: flex-start; }
.passoff-roster-table .passoff-queue-cell { text-align: center; }
.passoff-portrait-action-label { display: none; }
.passoff-main-column > section > .content-panel-header { padding: 0.6rem 0.75rem; }
.passoff-roster-table .workspace-passoff-history-list { font-weight: 400; white-space: normal; }
.passoff-roster-table .workspace-passoff-history-list li { grid-template-columns: minmax(0, 1fr) auto; }
.passoff-roster-table .workspace-passoff-history-list time { display: block; }
.passoff-class-page .workspace-passoff-history > a + a { margin-left: 0.65rem; }

.passoff-class-page form[data-workflow-form] { margin: 0; }
.passoff-class-page .workspace-passoff-button { align-items: center; border-radius: 999px; display: inline-flex; gap: 0.35rem; justify-content: center; white-space: nowrap; min-height: 2.75rem; }
.passoff-class-page .workspace-passoff-button.is-passoff-recorded { animation: passoff-recorded 1.6s ease-out; }
@keyframes passoff-recorded { 0%, 30% { background: #e1f2e7; border-color: #8ab89b; } 100% { background: var(--white); border-color: var(--gray-300); } }
@media (prefers-reduced-motion: reduce) { .passoff-class-page .workspace-passoff-button.is-passoff-recorded { animation: none; background: #e1f2e7; border-color: #8ab89b; } }
.passoff-add { min-width: 3.5rem; }
.passoff-queued { color: var(--gray-600); display: inline-block; }
.passoff-roster-foot { border-top: 1px solid var(--gray-200); color: var(--gray-600); font-size: 0.8rem; padding: 0.4rem 0.75rem; }
.passoff-recent-lines, .passoff-recent-opportunities ul, .passoff-opportunity-history, .passoff-ladder { list-style: none; padding: 0; margin: 0; }
.passoff-recent-lines li, .passoff-recent-opportunities li, .passoff-opportunity-history li { align-items: center; display: flex; gap: 0.5rem; justify-content: space-between; padding: 0.4rem 0; border-bottom: 1px solid var(--gray-200); }
.passoff-recent-lines time, .passoff-recent-opportunities time, .passoff-opportunity-history span, .passoff-opportunity-history small { color: var(--gray-600); display: block; font-size: 0.85rem; }
.passoff-text-button { background: transparent; border: 0; color: var(--maroon-800); min-height: 2.75rem; padding: 0.25rem 0.5rem; }
.passoff-queue { scroll-margin-top: 8rem; }
.passoff-queue .content-panel-header { gap: 0.35rem; padding: 0.65rem 0.75rem; }
.passoff-queue h2 { font-size: 1rem; }
.passoff-queue .content-panel-header > span { color: var(--gray-600); font-size: 0.85rem; }
.passoff-queue-list { list-style: none; padding: 0 0.65rem; margin: 0; }
.passoff-queue-list li { align-items: center; border-top: 1px solid var(--gray-200); display: grid; gap: 0.3rem; grid-template-columns: 1.25rem minmax(0, 1fr) auto auto; padding: 0.25rem 0; }
.passoff-queue-name { font-size: 0.88rem; overflow-wrap: anywhere; }
.passoff-queue-ordinal { color: var(--gray-600); font-size: 0.8rem; }
.passoff-queue-pill { background: var(--gray-100); border: 1px solid var(--gray-300); border-radius: 999px; font-size: 0.76rem; font-weight: 600; min-height: 2rem; padding: 0.2rem 0.4rem; }
.passoff-queue-pill:hover { background: var(--gray-200); }
.passoff-queue-pill.passoff-remove { color: #9a1d1d; }
.passoff-queue-pill.passoff-complete { color: #21603c; }
.passoff-queue-list .passoff-queue-empty { display: block; padding: 0.8rem 0.25rem; }
.passoff-recent-opportunities { border-top: 1px solid var(--gray-200); margin-top: 0.35rem; padding: 0.6rem 0.75rem; font-size: 0.88rem; }
.passoff-recent-opportunities > summary { min-height: 2.75rem; align-content: center; cursor: pointer; }
.passoff-recent-opportunities .helptext { margin-bottom: 0; }
.passoff-student-detail { scroll-margin-top: 8rem; min-width: 0; }
.passoff-record-actions { align-items: center; display: flex; gap: 0.75rem; }
.passoff-record-actions > a:first-child { font-size: 0.9rem; }
.passoff-record-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.passoff-record-summary .student-profile-passoff-summary { grid-template-columns: 8.5rem minmax(0, 1fr); align-content: start; }
.passoff-record-summary dd { margin: 0; overflow-wrap: anywhere; }
.passoff-record-section { border-top: 1px solid var(--gray-200); margin-top: 1rem; padding-top: 1rem; }
.passoff-record-section h3 { font-size: 1rem; margin: 0 0 0.5rem; }
.passoff-record-section h3 > span { color: var(--gray-600); font-size: 0.88rem; font-weight: 400; margin-left: 0.5rem; }
.passoff-ladder li { display: grid; grid-template-columns: 1rem minmax(0, 1fr); align-items: center; gap: 0.65rem; padding: 0.4rem 0; border-bottom: 1px solid var(--gray-200); }
.passoff-ladder input[type="checkbox"] { width: 1rem; height: 1rem; margin: 0; }
.passoff-student-detail .passoff-recent-lines li, .passoff-student-detail .passoff-opportunity-history li { display: grid; grid-template-columns: 8rem minmax(0, 1fr) 4.5rem; gap: 1rem; }
.passoff-student-detail .passoff-recent-lines time, .passoff-student-detail .passoff-opportunity-history time { color: var(--gray-800); font-size: 1rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.passoff-record-section .passoff-text-button { text-decoration: underline; }
.passoff-record-section > a { display: inline-flex; align-items: center; min-height: 2.75rem; margin-right: 1rem; }
.passoff-student-detail li.passoff-history-empty { display: block; }
@media (pointer: coarse) { .passoff-add { min-height: 2.75rem; } }
@media (max-width: 1400px) and (min-width: 1101px), (max-width: 700px) { .passoff-record-summary { grid-template-columns: minmax(0, 1fr); } }
.passoff-setting-class { margin: 1rem 0; }
.passoff-setting-class label { display: block; }
@media (max-width: 1100px) { .passoff-class-layout { grid-template-columns: minmax(0, 1fr); } }
@media (pointer: coarse) { .passoff-queue-pill { min-height: 2.75rem; } }

/* iPad Air portrait: keep the teaching actions and queue together. */
@media screen and (min-width: 800px) and (max-width: 1000px) and (orientation: portrait) {
  .passoff-class-layout { grid-template-columns: minmax(0, 1fr) 17.5rem; }
  .passoff-roster-table { min-width: 0; }
  .passoff-roster-table .passoff-portrait-hidden { display: none; }
  .passoff-portrait-action-label { display: inline; }
  .passoff-roster-table .passoff-identity-col:first-child { width: 27%; }
  .passoff-roster-table .passoff-identity-col:nth-child(3) { width: 27%; }
  .passoff-roster-table .passoff-action-col { width: 31%; }
  .passoff-roster-table .passoff-queue-col { width: 15%; }
  .passoff-roster-table th, .passoff-roster-table td { padding-inline: 0.35rem; }
  .passoff-roster-table .passoff-next-cell { white-space: normal; }
  .passoff-roster-table .passoff-queued { font-size: 0.8rem; }
  .passoff-actions-cell .workspace-passoff-actions { gap: 0.25rem; }
  .passoff-class-page .workspace-passoff-button { font-size: 0.84rem; padding-inline: 0.45rem; }
  .passoff-class-page .workspace-passoff-button .shell-icon { height: 1rem; width: 1rem; }
  .passoff-record-summary { grid-template-columns: minmax(0, 1fr); }
}

/* Pass-offs authoring and reviewed assignments use the shared panel/table language. */
.passoff-editor, .passoff-assignment, .passoff-library, .passoff-definition { min-width: 0; }
.passoff-editor h1, .passoff-assignment h1, .passoff-library h1, .passoff-definition h1 { font-size: 1.35rem; }
.passoff-editor-metadata { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; margin-bottom: 1.5rem; }
.passoff-editor-metadata > div:last-child { grid-column: 1 / -1; }
.passoff-editor-metadata label, .passoff-list-choice > label { display: block; font-weight: 600; margin-bottom: 0.35rem; }
.passoff-editor-metadata input:not([type="checkbox"]), .passoff-editor-metadata textarea { width: 100%; }
.passoff-editor [data-instrument-options] > div { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin-top: 0.65rem; }
.passoff-editor [data-instrument-options] label { font-weight: 400; }
.passoff-editor-table { min-width: 42rem; table-layout: fixed; }
.passoff-editor-table td, .passoff-editor-table th { padding: 0.4rem 0.5rem; vertical-align: top; }
.passoff-order-col { width: 5.5rem; }
.passoff-name-col { width: 33%; }
.passoff-remove-col { width: 6rem; }
.passoff-editor-table input:not([type="checkbox"]), .passoff-editor-table textarea { width: 100%; min-width: 0; }
.passoff-editor-table textarea { resize: vertical; }
.passoff-item-removed > td:not(:last-child) { opacity: 0.5; }
.passoff-item-removed input, .passoff-item-removed textarea { text-decoration: line-through; }
.passoff-editor [data-add-item] { margin-top: 0.65rem; }
.passoff-editor .button-row, .passoff-assignment .button-row { margin-top: 1rem; }
.passoff-class-picker, .passoff-selection-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 0.65rem; margin-bottom: 1.25rem; }
.passoff-list-choice { max-width: 34rem; margin: 1rem 0; }
.passoff-list-choice select { width: 100%; }
.passoff-assignment th, .passoff-assignment td, .passoff-library th, .passoff-library td, .passoff-definition th, .passoff-definition td { padding: 0.5rem 0.75rem; overflow-wrap: anywhere; }
.passoff-assignment tbody tr:hover, .passoff-library tbody tr:hover { background: var(--gray-100); }
.passoff-selection-table input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin: 0.4rem; }
.passoff-assignment-notice { display: block; color: var(--gray-600); font-size: 0.85rem; }
.passoff-assignment [data-selection-tools][hidden], .passoff-editor [data-instrument-options][hidden] { display: none; }
@media (max-width: 800px) { .passoff-editor-metadata { grid-template-columns: minmax(0, 1fr); } }

.passoff-editor thead th, .passoff-assignment thead th, .passoff-library thead th, .passoff-definition thead th { background: var(--white); text-transform: none; letter-spacing: normal; color: var(--gray-600); }
.passoff-editor-table th .helptext { display: inline; font-weight: 400; }
.passoff-assignment table { min-width: 48rem; }
.passoff-assignment thead th { overflow-wrap: normal; }

.passoff-assignment td.passoff-assignment-instrument { min-width: 7rem; overflow-wrap: normal; }
.passoff-assignment .checkbox-label { display: flex; align-items: flex-start; gap: 0.5rem; }
.passoff-assignment .checkbox-label label { margin: 0; }
.passoff-assignment .checkbox-label input { flex: none; margin-top: 0.3rem; }
.passoff-class-picker select, .passoff-selection-tools select { width: auto; min-width: 14rem; max-width: 100%; }
.passoff-assignment td.passoff-assignment-instrument { white-space: nowrap; }

.passoff-assignment .passoff-review-table { min-width: 64rem; table-layout: fixed; }
.passoff-review-table th:nth-child(1) { width: 25%; }
.passoff-review-table th:nth-child(2) { width: 14%; }
.passoff-review-table th:nth-child(3), .passoff-review-table th:nth-child(4) { width: 18%; }
.passoff-assignment-instrument .passoff-assignment-notice { white-space: normal; }

/* Remaining assessment workflows follow the accepted assignment card language. */
.assessment-spaced-panel { margin-bottom: var(--shell-spacing); }
.assessment-form-guidance { margin-top: 0; }
.assessment-reference > :first-child { margin-top: 0; }
.assessment-reference h3 { font-size: 1rem; }
.assessment-management-page .assignment-setup-fields textarea { min-height: 6rem; }
.assessment-management-page .assignment-setup-fields input[type="date"] { max-width: 16rem; }
.assessment-filter-fields { align-items: end; display: flex; flex-wrap: wrap; gap: 1rem; }
.assessment-filter-fields > div { flex: 1 1 14rem; min-width: 0; }
.assessment-filter-fields label, .assessment-history-filter label { display: block; font-weight: 650; margin-bottom: 0.3rem; }
.assessment-select-student { align-items: center; display: flex; justify-content: center; min-height: 2.75rem; min-width: 2.75rem; }
.assessment-status-tabs { border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.7rem 1rem; }
.assessment-status-tabs [aria-current] { background: var(--gray-200); border-color: var(--gray-600); color: var(--gray-950); }
.rubric-workspace .rubric-library-table th, .rubric-workspace .rubric-library-table td { vertical-align: middle; }
.rubric-workspace .rubric-library-table th:first-child { min-width: 15rem; }
.rubric-workspace .rubric-library-table td:last-child { text-align: right; }
.rubric-workspace .rubric-metadata .assignment-setup-fields { grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr); }
.rubric-workspace .rubric-metadata textarea { height: 5.5rem; min-height: 5.5rem; }
.rubric-grid-guidance, .rubric-workspace .rubric-grid-status { margin: 0; padding: 0.5rem 1rem; }
.rubric-workspace .rubric-grid-status { padding-top: 0; }
.rubric-workspace .rubric-grid { border: 0; border-radius: 0 0 0.65rem 0.65rem; margin: 0; }
.rubric-workspace .rubric-grid thead th, .assessment-rubric-grid thead th, .assessment-sheet-page .score-sheet thead th { background: var(--white); font-size: 0.95rem; letter-spacing: normal; text-transform: none; }
/* Authoring uses the page canvas; rows grow with the page, not a nested viewport. */
.rubric-builder-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem 1rem; justify-content: space-between; }
.rubric-builder-toolbar h2 { color: var(--maroon-800); font-size: 1.15rem; margin: 0; }
.rubric-builder-toolbar .form-actions { margin: 0; }
.rubric-builder .rubric-grid-guidance, .rubric-builder .rubric-grid-status { padding-inline: 0; }
.rubric-workspace .rubric-builder .rubric-grid-editor { border: 1px solid var(--gray-300); border-radius: 0; max-height: none; position: relative; scrollbar-gutter: auto; }
.rubric-workspace .rubric-grid-editor th:first-child { background: var(--gray-100); }
.rubric-workspace .rubric-grid-editor label { font-size: 0.9rem; font-weight: 650; }
.rubric-workspace .rubric-grid-editor table { min-width: calc(var(--rubric-columns) * 17rem); table-layout: fixed; }
.rubric-workspace .rubric-grid-editor th:first-child { width: 16rem; }
.rubric-workspace .rubric-grid-editor thead th { min-width: 15rem; }
.rubric-workspace .rubric-grid-editor textarea { line-height: 1.5; }
.rubric-workspace .rubric-remove-control { border-radius: 999px; font-size: 0.85rem; min-height: 2.25rem; padding: 0.3rem 0.65rem; }
.rubric-workspace .rubric-cell-incomplete { background: var(--white); }
.rubric-workspace .rubric-cell-incomplete textarea { border-color: var(--gray-300); }
.rubric-workspace .rubric-grid-editor td:focus-within { background: var(--gray-100); }
.assessment-rubric-grid { margin: 0; }
.assessment-rubric-grid td { line-height: 1.5; }
.assessment-rubric-grid thead small { font-size: 0.9rem; }
.assessment-rubric-grid tbody th { font-weight: 650; }
.assessment-rubric-grid .helptext { font-size: 0.95rem; font-weight: 400; margin: 0.4rem 0 0; }
.assessment-provenance { margin-top: 1rem; }
.assessment-provenance > summary { color: var(--gray-600); cursor: pointer; padding-block: 0.4rem; }
.assessment-history-filter { align-items: end; border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.65rem; padding: 0.75rem 1rem; }
.assessment-history-filter > div { min-width: 12rem; }
.assessment-history-table table { min-width: 64rem; }
.assessment-history-table td:nth-child(2), .assessment-history-table td:nth-child(3) { white-space: normal; }
.assessment-history-table th:first-child { min-width: 14rem; }
.assessment-sheet-page .score-sheet { border: 0; border-radius: 0; }
.assessment-sheet-page .score-sheet tbody th { font-weight: 500; }
.assessment-sheet-page > .history-disclosure { margin-top: var(--shell-spacing); }
@media (max-width: 850px) {
  .rubric-workspace .rubric-metadata .assignment-setup-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) {
  .rubric-workspace .rubric-remove-control { min-height: 2.75rem; }
}

/* Financial keeps the ledger tables wide and its contextual work alongside. */
.financial-page .content-panel-header { flex-wrap: wrap; }
.financial-section-heading { padding: 0.25rem 1rem 0.6rem; }
.financial-section-heading h2 { color: var(--maroon-800); font-size: 1.15rem; margin: 0 0 0.35rem; }
.financial-section-heading p, .financial-footnote, .financial-result-count { color: var(--gray-600); font-size: 0.9rem; margin: 0; }
.financial-footnote { padding: 0.65rem 1rem; }
.financial-page .catalog-table-wrap { position: relative; }
.financial-table { min-width: 51rem; }
.financial-students-table { min-width: 60rem; }
.financial-table th, .financial-table td { padding: 0.4rem 0.65rem; vertical-align: middle; }
.financial-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.financial-table tbody th { font-weight: 500; }
.financial-table tbody tr:hover, .financial-table tbody tr:focus-within { background: var(--gray-100); }
.financial-table .financial-number { text-align: center; font-variant-numeric: tabular-nums; }
.financial-table td.financial-number { white-space: nowrap; }
.financial-table tbody a:not(.card-add-pill) { align-items: center; display: inline-flex; min-height: 2.75rem; }
.financial-table td:last-child a { white-space: nowrap; }
.financial-filter-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem; margin: 0; padding: 0.6rem 1rem; }
.financial-filter-disclosure > summary { background: var(--maroon-100); border: 1px solid var(--maroon-700); color: var(--maroon-800); font-weight: 650; gap: 0.35rem; padding: 0.3rem 0.85rem; }
.financial-filter-disclosure > summary:hover, .financial-filter-disclosure[open] > summary { background: #ead6dc; color: var(--maroon-900); }
.financial-filter-disclosure .task-filter-count { background: var(--white); color: var(--maroon-800); }
.financial-filter-options { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.5rem; box-shadow: var(--shadow); display: grid; gap: 0.7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); left: 0; max-height: min(42rem, calc(100vh - 6rem)); overflow-y: auto; padding: 0.85rem; position: absolute; top: calc(100% + 0.3rem); width: min(30rem, calc(100vw - 4rem)); z-index: 4; }
.financial-filter-options > div { min-width: 0; }
.financial-filter-options label { display: block; color: var(--gray-600); font-size: 0.85rem; font-weight: 600; margin-bottom: 0.25rem; }
.financial-filter-options select { margin: 0; min-height: 2.75rem; width: 100%; }
.financial-filter-actions { align-items: center; display: flex; grid-column: 1 / -1; justify-content: space-between; }
.financial-filter-actions button { background: var(--gray-100); border-color: var(--gray-300); color: var(--gray-800); }
.financial-filter-actions button:hover { background: var(--gray-200); }
.financial-filter-actions [data-financial-filter-close] { background: transparent; border-color: transparent; color: var(--gray-600); font-weight: 500; }
.financial-filter-errors, .financial-filter-options .selector-ambiguity { grid-column: 1 / -1; }
.financial-active-filters { padding: 0 1rem 0.6rem; }
.financial-request-error { margin: 0.5rem 1rem; }
@media (max-width: 600px) {
  .financial-filter-options { grid-template-columns: minmax(0, 1fr); width: min(23rem, calc(100vw - 4rem)); }
}

/* M9.5 daily dashboard: working space first, compact supporting information. */
.dashboard-daily { grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr); }
.dashboard-welcome { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: var(--shell-spacing); padding: 1rem 1.4rem; position: relative; }
.dashboard-welcome::before { background: var(--maroon-700); border-radius: 4px; content: ""; inset: 14px auto 14px 0; position: absolute; width: 4px; }
.dashboard-welcome h1 { color: var(--maroon-800); font-size: 1.5rem; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.dashboard-daily .dashboard-panel-body { padding: 0.65rem 1rem 0.9rem; }
.dashboard-reminder + .dashboard-reminder { border-top: 1px solid var(--gray-200); margin-top: 0.85rem; padding-top: 0.85rem; }
.dashboard-reminder-heading { align-items: baseline; display: flex; gap: 0.75rem; justify-content: space-between; margin-bottom: 0.4rem; }
.dashboard-reminder-heading h3 { font-size: 1rem; margin: 0; min-width: 0; }
.dashboard-reminder-heading form { flex-shrink: 0; margin: 0; }
.dashboard-reminder .preserve-lines > :first-child { margin-top: 0; }
.dashboard-reminder .preserve-lines > :last-child { margin-bottom: 0.5rem; }
.dashboard-reminder .link-button, .dashboard-shortcuts .link-button { color: var(--gray-600); font-size: 0.85rem; }
.dashboard-shortcuts > li { align-items: center; display: flex; gap: 0.75rem; justify-content: space-between; }
.dashboard-shortcuts > li > a { font-weight: 600; min-width: 0; padding-block: 0.3rem; }
.dashboard-shortcuts form { flex-shrink: 0; }
.dashboard-clock { display: grid; gap: 0.15rem; justify-items: end; min-width: 0; text-align: right; }
.dashboard-clock time { color: var(--maroon-800); font-size: 2rem; font-variant-numeric: tabular-nums; font-weight: 650; line-height: 1.2; white-space: nowrap; }
.dashboard-clock span { color: var(--gray-600); font-size: 0.9rem; overflow-wrap: anywhere; }
.dashboard-daily .dashboard-class-list > li { grid-template-columns: minmax(4.5rem, 0.4fr) minmax(0, 1fr); min-height: 2.5rem; }
.dashboard-daily .dashboard-class-list a { font-size: 1rem; min-height: 0; }
.dashboard-class-identity { min-width: 0; padding-block: 0.3rem; }
.dashboard-class-time { color: var(--gray-600); display: block; font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.dashboard-daily .dashboard-class-list > li > span, .dashboard-daily .dashboard-class-list a { padding-block: 0.3rem; }
.dashboard-class-list .is-current-period { background: var(--gray-200); }
.dashboard-assignment-body h3 { color: var(--gray-600); font-size: 0.9rem; font-weight: 650; margin: 1rem 0 0.35rem; }
.dashboard-deadlines { list-style: none; margin: 0; padding: 0; }
.dashboard-deadlines li { align-items: baseline; display: grid; gap: 0.65rem; grid-template-columns: 3.6rem minmax(0, 1.35fr) minmax(0, 1fr); padding: 0.55rem 0; }
.dashboard-deadlines li.empty-state { display: block; }
.dashboard-deadlines li + li { border-top: 1px solid var(--gray-200); }
.dashboard-deadlines a { font-weight: 600; }
.dashboard-deadlines a, .dashboard-deadline-classes { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-deadline-classes { color: var(--gray-600); text-align: right; }
.dashboard-deadlines time { font-size: 0.95rem; white-space: nowrap; }
.dashboard-left .content-panel-header h2 { min-width: 0; overflow-wrap: anywhere; }
.dashboard-task-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 0.65rem; padding: 0.4rem 1rem; }
.dashboard-task-current-view { color: var(--gray-600); font-size: 0.9rem; margin: 0; overflow-wrap: anywhere; }
.dashboard-filter-disclosure > summary { background: var(--maroon-100); border: 1px solid var(--maroon-700); color: var(--maroon-800); font-weight: 650; gap: 0.35rem; padding: 0.3rem 0.85rem; }
.dashboard-filter-disclosure > summary:hover, .dashboard-filter-disclosure[open] > summary { background: #ead6dc; color: var(--maroon-900); }
.dashboard-filter-disclosure .task-filter-count { background: var(--white); color: var(--maroon-800); }
.dashboard-task-filters { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.5rem; box-shadow: var(--shadow); display: grid; gap: 0.7rem; left: 0; margin: 0; max-height: calc(100vh - 6rem); overflow-y: auto; padding: 0.85rem; position: absolute; top: calc(100% + 0.3rem); width: min(23rem, calc(100vw - 5rem)); z-index: 4; }
.dashboard-task-filters > div { min-width: 0; }
.dashboard-task-filters label { color: var(--gray-600); display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 0.25rem; }
.dashboard-task-filters select { margin: 0; min-height: 2.75rem; width: 100%; }
.dashboard-filter-actions { align-items: center; display: flex; justify-content: space-between; }
.dashboard-filter-actions button { background: var(--gray-100); border-color: var(--gray-300); color: var(--gray-800); }
.dashboard-filter-actions [data-dashboard-filter-close] { background: transparent; border-color: transparent; color: var(--gray-600); font-weight: 500; }
.dashboard-agenda-day + .dashboard-agenda-day { border-top: 1px solid var(--gray-200); margin-top: 0.5rem; padding-top: 0.5rem; }
.dashboard-agenda-day h3 { color: var(--gray-600); font-size: 0.9rem; font-weight: 600; margin: 0 0 0.2rem; }
.dashboard-agenda-day ul { list-style: none; margin: 0; padding: 0; }
.dashboard-agenda-day li { padding: 0.18rem 0; }
.dashboard-passoff-stats { display: block; margin: 0; }
.dashboard-passoff-stats > div { align-items: center; display: flex; gap: 1rem; justify-content: space-between; padding: 0.4rem 0; }
.dashboard-passoff-stats dt, .dashboard-passoff-stats dd { border: 0; padding: 0; text-decoration: none; }
.dashboard-passoff-stats dt { font-weight: 500; }
.dashboard-passoff-stats dt span { color: var(--gray-600); display: block; font-size: 0.85rem; }
.dashboard-passoff-stats dd { color: var(--maroon-800); font-size: 1.5rem; font-variant-numeric: tabular-nums; font-weight: 650; margin: 0; }
@media (pointer: coarse) {
  .dashboard-daily .dashboard-class-list a, .dashboard-shortcuts > li > a { align-items: center; display: flex; min-height: 44px; }
}
@media (max-width: 1199px) {
  .dashboard-daily { grid-template-columns: minmax(0, 3fr) minmax(0, 4fr); }
  .dashboard-right { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-right > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .dashboard-daily, .dashboard-right { grid-template-columns: minmax(0, 1fr); }
  .dashboard-right { grid-column: auto; }
  .dashboard-welcome { padding: 0.85rem 1rem; }
  .dashboard-welcome h1 { font-size: 1.25rem; }
  .dashboard-clock time { font-size: 1.65rem; }
}

/* Pass-offs landing: 50% class/library, 25% links/notes/tasks, 25% open space. */
.class-index-layout.passoffs-landing { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
.passoffs-landing .class-index-support .class-workspace-card-heading { flex-basis: 6rem; }
.passoffs-year-hint { color: var(--gray-600); font-size: 0.85rem; margin: 0.25rem 0 0; }
.passoffs-landing .class-index-table { min-width: 27rem; }
.passoffs-landing .class-index-table tbody th { width: auto; }
.passoffs-landing :is(.class-index-table, .passoffs-library-table) :is(th, td) { padding: 0.55rem 0.5rem; }
.passoffs-library-table thead th { background: var(--white); font-size: 0.9rem; letter-spacing: normal; text-transform: none; }
.passoffs-library-table tbody th { font-weight: 650; }
.passoffs-library-table tbody a { align-items: center; display: inline-flex; min-height: 2.25rem; }
.passoffs-landing .passoffs-number { font-variant-numeric: tabular-nums; text-align: center; }
.passoffs-library-footer { font-size: 0.9rem; margin: 0.75rem 0 0; }
.passoffs-copy-picker { position: relative; }
.passoffs-copy-picker > summary { cursor: pointer; list-style: none; }
.passoffs-copy-picker > summary::-webkit-details-marker { display: none; }
.passoffs-copy-options { background: var(--white); border: 1px solid var(--gray-300); border-radius: 0.65rem; box-shadow: 0 8px 20px rgb(58 31 39 / 13%); max-height: 20rem; overflow-y: auto; padding: 0.75rem; position: absolute; right: 0; top: calc(100% + 0.4rem); width: min(20rem, 70vw); z-index: 10; }
.passoffs-copy-options p { color: var(--gray-600); font-size: 0.9rem; margin: 0 0 0.5rem; }
.passoffs-copy-options ul { list-style: none; margin: 0; padding: 0; }
.passoffs-copy-options a { border-radius: 0.3rem; display: block; padding: 0.65rem 0.5rem; }
.passoffs-copy-options a:hover { background: var(--gray-100); }
@media (max-width: 1250px) {
  .class-index-layout.passoffs-landing { grid-template-columns: minmax(0, 1fr); }
}

/* Financial supporting screens follow the accepted form and ledger treatment. */
.content:has(> .financial-workflow-page) { max-width: none; padding: var(--shell-spacing); }
.financial-workflow-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.financial-form-page { max-width: 74rem; }
.financial-form-page .class-workspace-banner, .financial-workflow-page .class-workspace-banner { margin: 0; }
.financial-form-page .class-workspace-banner h2 { color: var(--maroon-800); font-size: 1.35rem; margin: 0; }
.financial-form-fields .standard-form-field:has(textarea) { grid-column: 1 / -1; }
.financial-form-fields .standard-form-field > textarea { height: 8rem; }
.financial-form-page .attention-panel { margin: 0 0 1rem; }
.financial-correction-layout { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); }
.financial-correction-layout .standard-form-facts { gap: 0.35rem 0.75rem; grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1fr); }
.financial-form-page .standard-form-facts dt, .financial-form-page .standard-form-facts dd { padding: 0.45rem 0; }
.financial-form-page .attention-panel, .financial-workflow-page .attention-panel { box-shadow: none; }
.financial-summary-grid { display: grid; gap: 1rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); margin: 0; }
.financial-summary-grid > div { min-width: 0; }
.financial-summary-grid dt, .financial-summary-grid dd { border: 0; padding: 0; }
.financial-summary-grid dt { color: var(--gray-600); font-size: 0.9rem; margin-bottom: 0.3rem; }
.financial-summary-grid dd { font-size: 1.1rem; font-variant-numeric: tabular-nums; font-weight: 650; margin: 0; overflow-wrap: anywhere; }
.financial-summary-grid dd .muted-text { display: block; font-size: 0.9rem; font-weight: 400; }
.financial-review-details { border-top: 1px solid var(--gray-200); margin-top: 1.25rem; padding-top: 1rem; }
.financial-year-toolbar { align-items: end; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.financial-year-toolbar > div:first-child { min-width: 0; }
.financial-year-toolbar label { display: block; font-weight: 650; margin-bottom: 0.3rem; }
.financial-year-toolbar select { margin: 0; max-width: 100%; min-height: 2.25rem; }
.financial-year-toolbar button, .financial-form-page .standard-form-actions button, .financial-form-page .standard-form-actions .button, .financial-review-actions button { border-radius: 999px; font-size: 0.9rem; min-height: 2.25rem; padding: 0.3rem 0.85rem; }
.financial-category-table { min-width: 36rem; }
.financial-ledger-table { min-width: 58rem; }
.financial-ledger-table td.preserve-lines { min-width: 12rem; }
.financial-ledger-page .class-workspace-banner { flex-wrap: wrap; }
.financial-group-editor { min-width: 0; }
.financial-group-grid { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.financial-selected-panel { grid-column: 1 / -1; }
.financial-scope-fields { display: grid; gap: 1rem; }
.financial-scope-fields .helptext { margin: 0; }
.financial-scope-fields h3 { color: var(--maroon-800); font-size: 1rem; margin: 0 0 0.75rem; }
.financial-scope-choice, .financial-student-choice { border: 0; margin: 0; min-width: 0; padding: 0; }
.financial-scope-choice legend, .financial-student-choice legend { font-weight: 650; margin-bottom: 0.5rem; }
.financial-scope-choice label, .financial-student-choice label { align-items: center; display: flex; gap: 0.5rem; min-height: 2.75rem; }
.financial-student-choice { margin-top: 1rem; }
.financial-student-choice .group-charge-student-list { border: 1px solid var(--gray-300); border-radius: 0.45rem; padding: 0.5rem 0.75rem; }
.financial-group-grid [hidden], .financial-scope-fields [hidden] { display: none; }
.financial-review-table { min-width: 34rem; }
.financial-review-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.65rem; }
.financial-review-actions form { margin: 0; }
.financial-page-filter-toolbar { position: relative; }
.financial-page-filter-toolbar .task-active-filters { flex-basis: 100%; }
.financial-page-filter-toolbar .financial-filter-options label { font-size: 0.9rem; }
.financial-page-filter-toolbar .financial-filter-options input { max-width: 100%; width: 100%; }
.financial-page-filter-toolbar .financial-filter-options .selector-ambiguity { grid-column: 1 / -1; }
.financial-report-page .financial-filter-options { left: auto; right: 0; }
.financial-report-table { min-width: 55rem; }
.financial-report-scope dd { font-size: 1rem; font-weight: 500; }
@media (max-width: 900px) {
  .financial-correction-layout, .financial-group-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .financial-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-page-filter-toolbar .financial-filter-options { left: 0; right: auto; }
  .financial-workflow-page .standard-form-facts { grid-template-columns: minmax(0, 1fr); }
  .financial-workflow-page .standard-form-facts dd { margin-bottom: 0.5rem; }
}

/* Remaining M9.5 editors, lookup pages, and reviewed workflows share the settled cards. */
.content:has(> .secondary-page) { max-width: none; padding: var(--shell-spacing); }
.secondary-page { display: grid; gap: var(--shell-spacing); min-width: 0; }
.secondary-reading-page { max-width: 74rem; }
.secondary-page .content-panel-header h1, .secondary-page .content-panel-header h2 { overflow-wrap: anywhere; }
.secondary-page .content-panel-header .button, .secondary-form-page .content-panel-header .button { font-size: 0.9rem; min-height: 2.4rem; padding: 0.35rem 0.75rem; }
.secondary-page .content-panel-body > p:first-child, .secondary-form-page .content-panel-body > p:first-child { margin-top: 0; }
.secondary-page .content-panel-body > h2, .secondary-page .content-panel-body > form > h2,
.secondary-form-page .content-panel-body > h2 { border-top: 1px solid var(--gray-200); color: var(--maroon-800); font-size: 1.05rem; margin: 1.25rem 0 0.65rem; padding-top: 0.85rem; }
.secondary-page .content-panel-body > section { border: 0; border-top: 1px solid var(--gray-200); border-radius: 0; box-shadow: none; margin: 1.25rem 0 0; max-width: none; padding: 1rem 0 0; }
.secondary-page .content-panel-body > section h2 { color: var(--maroon-800); font-size: 1.05rem; margin-bottom: 0.65rem; }
.secondary-page .content-panel-body > section h3 { color: var(--gray-800); font-size: 1rem; margin-top: 1rem; }
.secondary-page .action-context, .secondary-form-page .action-context, .secondary-form-page .confirmation-panel { border: 0; border-bottom: 1px solid var(--gray-200); border-radius: 0; box-shadow: none; margin: 0 0 1.25rem; max-width: none; padding: 0 0 1rem; }
.secondary-form-page .action-context h2, .secondary-form-page .confirmation-panel h2 { color: var(--maroon-800); font-size: 1.05rem; margin-bottom: 0.65rem; }
.secondary-page .warning-panel, .secondary-page .attention-panel, .secondary-form-page .warning-panel { box-shadow: none; margin: 1rem 0; max-width: none; }
.secondary-page .standard-form-facts, .secondary-form-page .standard-form-facts { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.secondary-page .table-wrap { border: 0; border-radius: 0; }
.secondary-page table { min-width: 42rem; }
.secondary-page th, .secondary-page td { padding: 0.5rem 0.65rem; vertical-align: top; }
.secondary-page thead th { background: var(--white); font-size: 0.88rem; letter-spacing: normal; text-transform: none; }
.secondary-page tbody tr:hover { background: var(--gray-100); }
.secondary-page table caption { color: var(--gray-600); font-size: 0.9rem; padding: 0 0 0.65rem; text-align: left; }
.secondary-page .filter-panel { background: transparent; border: 0; border-bottom: 1px solid var(--gray-200); border-radius: 0; box-shadow: none; margin: 0 0 1rem; max-width: none; padding: 0 0 1rem; }
.secondary-page nav[aria-label$="pages"] { align-items: center; color: var(--gray-600); display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.standard-form-field:has(textarea), .standard-form-options { grid-column: 1 / -1; }
.standard-form-options { border: 0; margin: 0; padding: 0; }
.standard-form-options legend { font-weight: 650; margin-bottom: 0.3rem; padding: 0; }
.standard-form-options > div { display: grid; gap: 0.3rem; }
.standard-form-options label { align-items: center; display: flex; gap: 0.5rem; min-height: 2.4rem; }
.standard-form-options input { flex: 0 0 auto; }
.secondary-page .resource-list { gap: 0; }
.secondary-page .resource-card { border: 0; border-bottom: 1px solid var(--gray-200); border-radius: 0; padding: 1rem 0; }
.secondary-page .resource-card:first-child { padding-top: 0; }
.secondary-page .resource-card:last-child { border-bottom: 0; padding-bottom: 0; }
.secondary-page .resource-card h2 { font-size: 1.05rem; margin-bottom: 0.5rem; }
.secondary-page .resource-card details { color: var(--gray-600); font-size: 0.9rem; }
.secondary-page .resource-card details summary { cursor: pointer; min-height: 2.4rem; }
.secondary-page .resource-card form { margin-top: 0.65rem; }
.secondary-page .empty-state { border: 0; box-shadow: none; padding: 0.5rem 0; }
.secondary-page .simple-resource-list li { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.6rem 0; }
.secondary-page .simple-resource-list li > a:first-child { flex: 1; min-width: 12rem; }
.secondary-page .filter-tabs { border-bottom: 1px solid var(--gray-200); margin: 0 0 1rem; padding-bottom: 0.6rem; }
.secondary-page .filter-tabs a { border: 0; border-radius: 999px; color: var(--gray-600); min-height: 2.4rem; padding: 0.35rem 0.75rem; }
.secondary-page .filter-tabs a[aria-current], .secondary-page .filter-tabs a:hover { background: var(--gray-100); color: var(--maroon-800); }
.secondary-columns { align-items: start; display: grid; gap: var(--shell-spacing); grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); }
.secondary-source-list, .secondary-workflow-links { list-style: none; margin: 0; padding: 0; }
.secondary-source-list li, .secondary-workflow-links li { align-items: center; border-top: 1px solid var(--gray-200); display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; justify-content: space-between; padding: 1rem 0; }
.secondary-source-list li:first-child, .secondary-workflow-links li:first-child { border-top: 0; padding-top: 0; }
.secondary-source-list li:last-child, .secondary-workflow-links li:last-child { padding-bottom: 0; }
.secondary-workflow-links li > div { flex: 1 1 24rem; }
.secondary-source-list h3, .secondary-workflow-links h2 { color: var(--maroon-800); font-size: 1.05rem; margin-bottom: 0.35rem; }
.secondary-source-list p, .secondary-workflow-links p { margin-bottom: 0; }
.secondary-page .import-summary-grid { border-bottom: 1px solid var(--gray-200); margin-bottom: 1rem; padding-bottom: 1rem; }
.secondary-page .import-summary-grid > div { border: 0; border-radius: 0; box-shadow: none; padding: 0.5rem; }
.secondary-page .import-preview-table table { min-width: 66rem; }
.secondary-page .import-confirmation { padding-bottom: 0; }
.secondary-page .import-report[role="alert"] { border-left: 0.3rem solid #9a1d1d; padding-left: 1rem; }
.secondary-page .import-report.warning-panel { border-left: 0.3rem solid #a85a00; padding-left: 1rem; }
.secondary-page .table-wrap label { display: block; margin-bottom: 0.35rem; }
.secondary-page .table-wrap :is(select, input:not([type="checkbox"]):not([type="radio"])) { max-width: 100%; }
.secondary-report-filters { align-items: end; display: grid; gap: 0.85rem 1rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.secondary-report-filters label { display: block; font-weight: 650; margin-bottom: 0.3rem; }
.secondary-report-filters :is(input, select) { width: 100%; }
.secondary-report-filters .error-summary { grid-column: 1 / -1; }
.secondary-report-page .report-scope { border: 0; border-radius: 0; box-shadow: none; margin: 0 0 1rem; padding: 0; }
.authentication-shell { background: #eef1f4; min-height: 100vh; }
.authentication-header { background: #582332; padding: 1rem 1.75rem; }
.authentication-header a, .authentication-header a:hover { color: var(--white); font-size: 1.375rem; font-weight: 600; text-decoration: none; }
.authentication-main { margin: 0 auto; max-width: 30rem; padding: 3.5rem 1.75rem; }
.authentication-main .standard-form-fields { grid-template-columns: minmax(0, 1fr); }
.authentication-main .standard-form-field input { min-width: 0; width: 100%; }
.authentication-main .content-panel-header h1 { line-height: 1.4; }
@media (max-width: 1000px) { .secondary-columns { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 650px) { .secondary-report-filters { grid-template-columns: minmax(0, 1fr); } .authentication-main { padding-top: 1.75rem; } }
/* Card decoration and contained screen scrolling must not alter report printing. */
@media print {
  .content:has(> .secondary-report-page) { padding: 0; }
  .secondary-report-page { display: block; }
  .secondary-report-page .content-panel { border: 0; border-radius: 0; box-shadow: none; }
  .secondary-report-page .content-panel-header, .secondary-report-page .content-panel-body { padding: 0; }
  .secondary-report-page .content-panel-header h1 { color: #000; font-size: 18pt; margin-bottom: 0.4rem; }
  .secondary-report-page .report-scope { border: 1px solid #777; padding: 0.2rem; }
  .secondary-report-page .table-wrap { overflow: visible; }
  .secondary-report-page table { min-width: 0; width: 100%; }
  .secondary-report-page th, .secondary-report-page td { padding: 0.28rem 0.35rem; }
}
.secondary-form-page .standard-form-field > textarea { height: 9rem; }
.secondary-form-page .standard-form-facts dt, .secondary-form-page .standard-form-facts dd { border: 0; padding: 0.25rem 0; }
.task-editor-page .standard-form-field:has(input[name="title"]), .period-editor-page .standard-form-field:has(input[name="name"]) { grid-column: 1 / -1; }
.secondary-report-filters { align-items: start; }
.secondary-report-filters .filter-actions { align-self: end; }
.secondary-report-page .report-scope dt, .secondary-report-page .report-scope dd { padding: 0.35rem; }
@media print {
  .app-shell:has(.secondary-report-page) { background: #fff; }
  .secondary-report-page .print-privacy-label, .secondary-report-page .print-footer { color: #000; }
}
