/* Class portfolios: one toolbar, compact provider context, and a dense roster. */
.classes-page { min-width: 0; }
.classes-page .page-header { position: relative; align-items: center; gap: var(--space-2); }
.classes-page .page-header-copy { flex: 1; min-width: 0; }
.classes-page .classes-tools { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--space-2); margin-block: 0 var(--space-1); }
.classes-page .classes-search { position: relative; flex: 1; width: auto; min-width: 0; }
.classes-page .classes-search .field-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.classes-page .classes-search > .icon { position: absolute; inset-inline-start: var(--space-3); top: 50%; transform: translateY(-50%); color: var(--color-muted); pointer-events: none; }
.classes-page .classes-search input { width: 100%; padding-inline-start: var(--space-10); }
.classes-page .classes-status-select { width: auto; max-width: 13rem; font-size: var(--text-sm); }
.classes-page .classes-filters { display: none; }
.classes-page .classes-summary { display: none; }
.classes-page .classes-provider { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-3); padding: 0; margin: 0 0 var(--space-2); border: 0; border-radius: var(--radius-none); background: transparent; font-size: var(--text-xs); }
.classes-page .classes-provider > .field { display: flex; flex-wrap: nowrap; align-items: center; width: auto; gap: var(--space-2); font-weight: 400; color: var(--color-muted); font-size: var(--text-xs); }
.classes-page .classes-provider > .field .field-label { display: inline-flex; flex: none; align-items: center; gap: 0; width: auto; font-weight: 400; white-space: nowrap; }
.classes-page .classes-provider > .field .field-label::after { content: ":"; }
.classes-page .classes-provider > .field select { flex: none; width: auto; min-width: 0; max-width: 17rem; border-color: transparent; background-color: transparent; padding-inline-start: var(--space-1); padding-inline-end: var(--space-8); color: var(--color-muted); font-size: var(--text-xs); }
.classes-page .classes-provider > div:not(.field):not([hidden]) { flex-basis: 100%; }
.classes-page .classes-provider > .provider-privacy { flex: 0 1 auto; width: auto; min-width: 0; }
.classes-page .classes-provider .disclosure-trigger { gap: var(--space-1); padding-inline: 0; color: var(--color-muted); font-weight: 400; text-decoration: none; white-space: nowrap; }
.classes-page .classes-provider .disclosure-trigger::before { content: "·"; }
.classes-page .classes-provider .disclosure-trigger > [data-icon="info"] { display: none; }
.classes-page .classes-provider:has(.disclosure[data-open="true"]) > .provider-privacy { flex-basis: 100%; }
.classes-page .classes-provider .provider-warning { margin: 0; font-size: var(--text-xs); }
.classes-page .classes-roster { border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface); overflow: clip; }
.classes-page .classes-table { width: 100%; border-collapse: collapse; table-layout: auto; margin: 0; font-size: var(--text-sm); }
.classes-page .classes-table th, .classes-page .classes-table td { padding: var(--density-table-space) var(--space-2); height: var(--density-table-height); text-align: start; vertical-align: middle; border: 0; border-bottom: 1px solid var(--color-line); overflow-wrap: normal; }
.classes-page .classes-table thead { background: var(--color-surface-soft); color: var(--color-muted); }
.classes-page .classes-table thead th { font-size: var(--text-xs); }
.classes-page .classes-table thead th:first-child { width: 18%; }
.classes-page .classes-table thead th:last-child { width: 7%; white-space: nowrap; }
.classes-page .classes-table tbody tr:last-child > * { border-bottom: 0; }
.classes-page .classes-table tbody tr:hover { background: var(--surface-table-hover); }
.classes-page .class-child-identity .avatar { display: inline-flex; vertical-align: middle; width: var(--space-10); height: var(--space-10); margin-inline-end: var(--space-2); }
.classes-page .class-child-identity .identity-text { font-weight: 600; }
.classes-page .class-child-identity .class-child-open { text-decoration: none; }
.classes-page .class-child-action { white-space: nowrap; }
.classes-page .class-child-action .child-pin { opacity: 0; pointer-events: none; }
.classes-page .class-child-row:hover .child-pin,
.classes-page .class-child-row:focus-within .child-pin { opacity: 1; pointer-events: auto; }
.classes-page .class-child-status .chip,
.classes-page .class-domain-cell .chip { display: inline-flex; align-items: center; gap: var(--space-1); font-size: var(--text-xs); line-height: var(--line-tight); margin: 0; padding: var(--space-1); white-space: nowrap; color: var(--color-ink); background: var(--color-surface-soft); }
.classes-page .class-child-status .chip-marker { flex: none; margin: 0; }
.classes-page .class-domain-cell { white-space: nowrap; }
.classes-page .class-domain-label, .classes-page .class-domain-readiness, .classes-page .class-domain-change { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.classes-page .class-domain-cell .compact-domain-label, .classes-page .class-domain-dot { display: none; }
.classes-page .class-rating-direction { display: inline-flex; align-items: center; gap: var(--space-1); margin-inline-start: var(--space-1); color: var(--color-muted); font-size: var(--text-xs); white-space: nowrap; }
.classes-page .class-rating-direction.redundant-comparison { display: none; }
.classes-page .class-child-progress .progress { display: flex; flex-direction: row-reverse; align-items: center; gap: var(--space-2); min-width: var(--space-16); }
.classes-page .class-child-progress .progress p { flex: none; margin: 0; font-size: var(--text-xs); white-space: nowrap; }
.classes-page .class-child-progress progress { flex: 1; width: var(--space-10); height: var(--space-1); }
.classes-page .class-child-action .class-child-open { display: inline-flex; position: static; opacity: 1; align-items: center; justify-content: start; gap: var(--space-2); min-height: var(--control-min-height); padding: 0; margin: 0; border: 0; background: none; color: var(--color-primary); white-space: nowrap; }
.classes-page .classes-count, .classes-page .classes-disclaimer { margin-block: var(--space-2); font-size: var(--text-xs); color: var(--color-muted); }
@media screen and (min-width: 1280px) and (max-width: 1359px) {
  .classes-page .classes-table th, .classes-page .classes-table td,
  .app-shell:not(.sidebar-collapsed) .classes-page .classes-table th,
  .app-shell:not(.sidebar-collapsed) .classes-page .classes-table td { padding-inline: calc(var(--space-1) / 2); }
  .classes-page .classes-table th:first-child { padding-inline-end: var(--space-2); }
  .classes-page .class-child-identity .avatar { display: flex; margin-block-end: var(--space-1); }
  .classes-page .class-child-identity .identity-text { white-space: nowrap; }
  .classes-page .class-rating-direction { display: flex; margin-inline-start: 0; margin-block-start: var(--space-1); }
}
@media screen and (max-width: 1279px) {
  .classes-page .page-intro { display: none; }
  .classes-page .classes-tools { flex-wrap: wrap; }
  .classes-page .classes-tools > .classes-search { flex-basis: 100%; }
  .classes-page .classes-status-select { display: none; }
  .classes-page .classes-filters { display: flex; flex: 1 1 100%; flex-wrap: nowrap; gap: var(--space-1); overflow-x: auto; width: 100%; padding-block: 0; margin: 0; }
  .classes-page .classes-filters button { flex: none; min-width: var(--control-min-height); padding-inline: var(--space-2); white-space: nowrap; font-size: var(--text-xs); }
  .classes-page .classes-tools > .primary { margin-inline-start: auto; }
  .classes-page .classes-summary { display: block; padding: 0; border: 0; margin-block: var(--space-2); background: transparent; }
  .classes-page .classes-summary .progress { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-xs); }
  .classes-page .classes-summary .progress p { margin: 0; white-space: nowrap; }
  .classes-page .classes-summary progress { flex: 1; width: 0; height: var(--space-1); }
  .classes-page .classes-table, .classes-page .classes-table tbody { display: block; }
  .classes-page .classes-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .classes-page .classes-table .class-child-row { position: relative; display: grid; grid-template-columns: var(--space-10) minmax(0, 1fr) repeat(4, var(--space-6)) var(--space-6); grid-template-rows: minmax(var(--control-min-height), auto) auto; gap: 0 var(--space-1); align-items: center; min-height: calc(var(--space-16) + var(--space-2)); margin: 0; padding: var(--space-2); border: 0; border-bottom: 1px solid var(--color-line); border-radius: var(--radius-none); }
  .classes-page .classes-table .class-child-row:last-child { border-bottom: 0; }
  .classes-page .classes-table .class-child-row > * { height: auto; min-height: 0; padding: 0; border: 0; }
  .classes-page .class-child-row .class-child-identity { grid-column: 1 / 3; grid-row: 1; display: flex; align-items: center; gap: var(--space-2); }
  .classes-page .class-child-row .class-child-identity .avatar { flex: none; width: var(--space-10); height: var(--space-10); min-width: var(--space-10); min-height: var(--space-10); margin: 0; }
  .classes-page .class-child-row .class-child-identity .identity-text { min-width: 0; font-size: var(--text-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .classes-page .class-child-row .class-child-status { grid-column: 2; grid-row: 2; display: flex; align-items: center; font-size: var(--text-xs); line-height: var(--line-tight); }
  .classes-page .class-child-status .chip { font-size: var(--text-xs); line-height: var(--line-tight); padding: 0 var(--space-1); background: var(--color-surface-soft); border: 0; box-shadow: none; }
  .classes-page .class-domain-cell { grid-row: 1 / 3; display: flex; flex-direction: column; align-items: center; gap: var(--space-1); }
  .classes-page .class-domain-cell[data-domain="english"] { grid-column: 3; }
  .classes-page .class-domain-cell[data-domain="chinese"] { grid-column: 4; }
  .classes-page .class-domain-cell[data-domain="mathematics"] { grid-column: 5; }
  .classes-page .class-domain-cell[data-domain="social-emotional"] { grid-column: 6; }
  .classes-page .class-domain-cell .compact-domain-label { display: block; color: var(--color-muted); font-size: var(--text-xs); }
  .classes-page .class-domain-cell .class-domain-dot { display: block; width: var(--space-2); height: var(--space-2); border-radius: var(--radius-pill); background: var(--rating-solid); }
  .classes-page .class-domain-dot[data-rating="none"] { background: transparent; box-shadow: var(--shadow-dot-neutral); }
  .classes-page .class-domain-cell .chip, .classes-page .class-rating-direction, .classes-page .classes-table .class-child-progress { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: 0; border: 0; overflow: hidden; clip-path: inset(50%); }
  .classes-page .class-rating-direction > .icon { display: none; }
  .classes-page .class-child-row .class-child-action { grid-column: 7; grid-row: 1 / 3; }
  .classes-page .class-child-row:focus-within { outline: 2px solid var(--color-focus); outline-offset: -2px; }
  .classes-page .class-child-row .class-domain-cell:has(.rejected-state) { grid-column: 1 / -1; grid-row: auto; display: block; padding-block: var(--space-2); white-space: normal; }
  .classes-page .class-domain-cell:has(.rejected-state) .class-domain-label { position: static; width: auto; height: auto; clip-path: none; }
  .classes-page .class-domain-cell .rejected-state { margin-block: var(--space-1); font-size: var(--text-xs); }
  .classes-page .class-child-row .class-child-identity { min-width: 0; }
  .classes-page .class-child-row .class-child-identity .class-child-open { min-width: var(--control-min-height); overflow-wrap: anywhere; }
  .classes-page .class-child-row .class-child-action { display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
  .classes-page .class-child-action .child-pin { display: none; }
}
@media screen and (max-width: 767px) {
  .classes-page { padding-bottom: calc(var(--shell-tabs-height) + var(--control-min-height) + var(--space-6)); }
  .classes-page .classes-controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-1) var(--space-2); }
  .classes-page .classes-controls > .page-header,
  .classes-page .classes-controls > .classes-tools { display: contents; }
  .classes-page .page-header h1 { font-size: var(--text-xl); margin: 0; }
  .classes-page .page-header-copy { grid-column: 1 / 3; grid-row: 1; min-width: 0; }
  .classes-page .class-actions-menu { grid-column: 3; grid-row: 1; justify-self: end; }
  .classes-page .semester-selector { grid-column: 1; grid-row: 2; width: auto; justify-self: start; }
  .classes-page .semester-caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .classes-page .semester-selector select { width: auto; min-width: 0; max-width: 6.5rem; padding-inline-start: var(--space-1); padding-inline-end: var(--space-8); font-size: var(--text-xs); }
  .classes-page .classes-tools > .classes-search { grid-column: 2 / -1; grid-row: 2; width: 100%; }
  .classes-page .classes-tools > .classes-filters { grid-column: 1 / -1; grid-row: 3; }
  .classes-page .classes-provider { display: flex; flex-wrap: wrap; padding: 0; gap: 0 var(--space-1); margin-block: 0; }
  .classes-page .classes-provider > .field { display: flex; width: auto; gap: var(--space-1); }
  .classes-page .classes-summary { padding: 0; margin-block: 0 var(--space-2); }
}
@media screen and (max-width: 359px) {
  .classes-page .page-header h1 { font-size: var(--text-lg); }
  .classes-page .classes-table .class-child-row { grid-template-columns: var(--space-10) minmax(0, 1fr) repeat(4, var(--space-5)) var(--space-6); column-gap: 0; }
  .classes-page .class-child-row .class-child-identity .identity-text { font-size: var(--text-xs); }
}

/* V3 lists: neutral data surfaces, compact rows, one forest action accent. */
.students-page .directory-toolbar,
.evidence-page .evidence-toolbar {
  padding: 0;
  border: 0;
  border-radius: var(--radius-none);
  background: transparent;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.students-page .directory-toolbar { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.evidence-page .evidence-toolbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); align-items: end; gap: var(--space-2); }
.evidence-filter-fields { display: contents; }
.evidence-page .evidence-toolbar .field-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.evidence-filter-dialog .field-label { font-size: var(--text-sm); font-weight: 400; color: var(--color-muted); }
.evidence-page .evidence-toolbar .field { gap: 0; }
.evidence-page .evidence-filter-trigger { display: none; }
.evidence-filter-dialog .semester-selector { display: flex; justify-content: space-between; align-items: center; margin-block: var(--space-3); }
.students-page .student-listing,
.evidence-page .evidence-listing,
.drafts-page .draft-queue { padding: var(--space-4); }
.students-page .student-listing > h2,
.evidence-page .evidence-listing > h2,
.drafts-page .draft-queue > h2 {
  margin: 0 0 var(--space-3);
  font-size: var(--text-md);
}
.students-page .domain-key { display: block; margin: var(--space-2) 0; color: var(--color-muted); font-size: var(--text-xs); }
.students-page .student-roster { border: 0; margin: 0; }
.students-page .student-roster th,
.students-page .student-roster td { padding: var(--space-2); }
.students-page .student-roster thead { color: var(--color-muted); background: var(--color-surface-soft); }
.students-page .student-name .avatar { width: var(--space-8); height: var(--space-8); }
.students-page .rating-line > span:first-child {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
.students-page .student-ratings .rating-line { gap: var(--space-1); }
.students-page .rating-line .chip { align-self: flex-start; border-radius: var(--radius-pill); }
.students-page .rating-line .compact-domain-label { display: block; order: -1; color: var(--color-muted); font-size: var(--text-xs); }
.students-page .listing-count { margin: var(--space-3) 0 0; }
@media screen and (min-width: 1280px) and (max-width: 1359px) {
  .students-page .student-ratings .rating-line { width: calc(50% - var(--space-2)); margin-block: var(--space-1); }
  .students-page .rating-line .chip { white-space: nowrap; }
}
.students-page .list-empty-state,
.evidence-page .list-empty-state,
.drafts-page .list-empty-state {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding: var(--space-4) 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: var(--radius-none);
  color: var(--color-muted);
  box-shadow: none;
}
.students-page .list-empty-state > strong,
.evidence-page .list-empty-state > strong,
.drafts-page .list-empty-state > strong { display: none; }
.students-page .list-empty-state > .icon,
.evidence-page .list-empty-state > .icon,
.drafts-page .list-empty-state > .icon { flex: none; }
.students-page .list-empty-state > p,
.evidence-page .list-empty-state > p,
.drafts-page .list-empty-state > p { flex: 1 1 auto; min-width: 0; margin: 0; font-size: var(--text-sm); }
.evidence-page > .chips { margin-block: 0 var(--space-3); }
.evidence-page .evidence-grid { gap: var(--space-3); }
.evidence-page .library-evidence-card { gap: var(--space-2); padding: var(--space-3); background: var(--color-surface); border-color: var(--color-line); }
.evidence-page .evidence-identity { gap: var(--space-2); }
.evidence-page .evidence-identity h3 { margin: 0; font-size: var(--text-sm); }
.evidence-page .evidence-identity .avatar { width: var(--space-8); height: var(--space-8); }
.evidence-page .evidence-metadata { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); color: var(--color-muted); font-size: var(--text-xs); }
.evidence-page .evidence-type { display: inline-flex; align-items: center; gap: var(--space-1); float: none; margin: 0; padding: 0; border: 0; border-radius: var(--radius-none); }
.evidence-page .evidence-metadata .evidence-domain-label { margin: 0; }
.evidence-page .library-evidence-card .evidence-text { margin: 0 0 var(--space-2); padding: 0; background: transparent; border-radius: var(--radius-none); line-height: var(--line-normal); }
.evidence-page .library-evidence-card .photo { margin: 0 0 var(--space-2); }
.evidence-page .library-evidence-card:hover { border-color: var(--color-primary); background: var(--color-surface-soft); }
.evidence-page .library-evidence-card > .evidence-card-action { position: absolute; inset: 0; z-index: var(--z-raised); display: block; width: 100%; height: 100%; min-height: var(--control-min-height); margin: 0; padding: 0; border: 0; border-radius: inherit; background: transparent; box-shadow: none; cursor: pointer; }
.evidence-page .library-evidence-card > .evidence-card-action::after { content: none; }
.evidence-page .evidence-card-action:focus-visible { outline: none; }
.evidence-page .evidence-lightbox { width: min(56rem, calc(100vw - var(--space-6))); max-width: calc(100vw - var(--space-6)); }
.evidence-page .evidence-lightbox-content > p { color: var(--color-muted); font-size: var(--text-sm); }
.evidence-page .evidence-lightbox .photo { width: 100%; margin: 0 0 var(--space-4); }
.evidence-page .evidence-lightbox .photo img { display: block; width: 100%; height: auto; max-height: 65dvh; object-fit: contain; }
.evidence-page .evidence-lightbox .photo-provenance { display: block; }
.drafts-page .drafts-provider { background: var(--color-surface); gap: var(--space-2) var(--space-4); }
.drafts-page .drafts-provider h2,
.drafts-page .draft-batch h2 { font-size: var(--text-md); }
.drafts-page .drafts-provider .privacy-disclosure { padding-top: var(--space-2); border-top: 1px solid var(--color-line); font-size: var(--text-sm); }
.drafts-page .draft-batch { padding: var(--space-4); gap: var(--space-2) var(--space-4); }
.drafts-page .draft-queue > .hint { margin: 0 0 var(--space-3); }
.drafts-page .work-row,
.drafts-page .rejected-draft-row {
  margin: 0;
  padding: var(--space-3) 0;
  border: 0;
  border-top: 1px solid var(--color-line);
  border-radius: var(--radius-none);
  background: transparent;
  color: var(--color-ink);
  gap: var(--space-3);
}
.drafts-page .work-row { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; }
.drafts-page .draft-identity h3 { overflow-wrap: anywhere; font-size: var(--text-sm); }
.drafts-page .draft-identity .avatar { width: var(--space-8); height: var(--space-8); }
.drafts-page .draft-source-entry .chip { background: var(--color-surface-soft); color: var(--color-ink); border-color: var(--color-line); white-space: normal; }
.drafts-page .rejected-draft-row > p { margin: 0; }
.drafts-page .request-failure-row { display: block; }
.drafts-page .request-failure-row p { margin: 0; overflow-wrap: anywhere; }
.drafts-page > .notice { background: transparent; border: 0; padding: 0; color: var(--color-muted); font-size: var(--text-sm); }
@media (max-width: 1279px) {
  .students-page .student-roster tbody { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .students-page .student-row { min-height: var(--density-list-height); border: 0; border-top: 1px solid var(--color-line); border-radius: var(--radius-none); padding: var(--density-row-space) 0; }
  .students-page .student-roster .student-ratings { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); padding: 0; }
  .students-page .student-roster .student-name { display: flex; align-items: center; gap: var(--space-2); }
  .students-page .student-name .avatar { margin: 0; flex: none; }
  .students-page .student-name .identity-text { flex: 1; }
  .drafts-page .draft-identity { grid-column: auto; }
}
@media (max-width: 1023px) {
  .students-page .directory-toolbar,
  .evidence-page .evidence-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-1) var(--space-2); }
  .students-page .directory-toolbar .directory-search,
  .students-page .directory-toolbar .chips { grid-column: 1 / -1; }
  .evidence-page .evidence-toolbar .evidence-search { grid-column: 1 / -1; }
  .evidence-page .evidence-toolbar .field { gap: 0; }
  .evidence-page > .chips { margin-block: var(--space-2); }
  .students-page .student-listing,
  .evidence-page .evidence-listing,
  .drafts-page .draft-queue { padding: var(--space-3); }
  .students-page .student-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding-block: var(--space-1);
    row-gap: 0;
  }
  .students-page .student-roster .student-name { grid-column: 1 / 3; }
  .students-page .student-roster .student-status { grid-column: 3; }
  .students-page .student-roster .student-row .student-action {
    display: flex;
    grid-column: 2 / -1;
    align-items: center;
    gap: var(--space-1);
  }
  .students-page .student-action a { width: auto; }
  .students-page .student-roster .student-ratings { gap: var(--space-1); }
  .evidence-page .evidence-grid { gap: var(--space-2); }
  .evidence-page .page-header { gap: var(--space-2); margin-bottom: var(--space-3); }
  .evidence-page .page-header h1 { font-size: var(--text-2xl); margin-bottom: 0; }
  .evidence-page .page-header-copy p { display: none; }
  .drafts-page .work-row { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); }
  .drafts-page .work-row .draft-identity { grid-column: 1; }
  .drafts-page .work-row .draft-sources { grid-column: 1 / -1; grid-row: 2; }
  .drafts-page .work-row > a { grid-column: 2; grid-row: 1; width: auto; }
  .drafts-page .draft-source-entry { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .drafts-page .draft-batch { padding: var(--space-3); }
}
@media (max-width: 600px) {
  .evidence-page .evidence-toolbar { grid-template-columns: minmax(0, 1fr) var(--control-min-height); align-items: center; margin-bottom: var(--space-2); }
  .evidence-page .evidence-toolbar .evidence-search { grid-column: 1; }
  .evidence-page .evidence-search .field-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .evidence-page .evidence-filter-trigger { display: inline-flex; padding: 0; justify-content: center; }
  .evidence-filter-dialog { margin: auto 0 0; width: 100%; max-width: none; border-end-start-radius: 0; border-end-end-radius: 0; }
  .evidence-filter-dialog .evidence-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .evidence-filter-dialog .field, .evidence-filter-dialog select { min-width: 0; width: 100%; }
}
@media (max-width: 360px) {
  .students-page .student-roster .student-ratings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drafts-page .work-row { grid-template-columns: minmax(0, 1fr); }
  .drafts-page .work-row > a { grid-column: 1; grid-row: 3; justify-self: start; }
  .drafts-page .draft-source-entry { grid-template-columns: minmax(0, 1fr); }
}

/* Native links provide one primary tab stop; their hit area fills the row. */
.linked-row { position: relative; isolation: isolate; }
.linked-row .row-primary-link { position: static; }
.linked-row .row-primary-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-raised);
  cursor: pointer;
}
.linked-row:has(.row-primary-link:focus-visible) {
  outline: 2px solid var(--color-focus);
  outline-offset: -2px;
}
.linked-row button {
  position: relative;
  z-index: var(--z-sticky);
}
.students-page .student-row .student-action .row-primary-link {
  position: static;
  opacity: 1;
}
.classes-page .class-child-identity .class-child-open {
  position: static;
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin: 0;
  min-height: var(--control-min-height);
  min-width: var(--control-min-height);
  color: inherit;
  background: transparent;
  border: 0;
}
.classes-page .class-child-identity .class-child-open > span {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip-path: none;
}
.classes-page .class-child-action > .icon { display: inline-block; vertical-align: middle; color: var(--color-muted); }
.classes-page .class-child-identity .avatar,
.students-page .student-name .avatar,
.home-page .home-work-row.linked-row .avatar,
.evidence-page .library-evidence-card .evidence-identity .avatar,
.drafts-page .linked-row .draft-identity .avatar {
  width: calc(var(--space-8) + var(--space-1));
  height: calc(var(--space-8) + var(--space-1));
  min-width: calc(var(--space-8) + var(--space-1));
  min-height: calc(var(--space-8) + var(--space-1));
  flex: none;
  border: 1px solid var(--color-line);
  outline: none;
  box-shadow: none;
}
