/* Administrative and personal records: let content set its height and keep
   controls beside the content they belong to. No academic or status colours
   are replaced here; the active campus theme remains in charge. */
@media screen {
  [data-ag-ui="campus"] :is(.people-page,.enrollment-page,.access-requests-page,.roadmap-page,.work-overview-page,.learning-profile,.scrum-page,.meeting-page,.schedule-page) :is(h1,h2,h3,h4) {
    overflow-wrap:anywhere;
    text-wrap:pretty;
  }
  [data-ag-ui="campus"] :is(.admin-workspace,.accounts-panel,.create-panel,.account,.account-heading>div,.people-group-content,.person-entry,.student-editor,.student-editor-form,.request-module,.request-controls,.meeting-content,.roadmap-content,.work-content,.profile-labs) {
    min-width:0;
    max-width:100%;
  }

  /* Long names and translated labels must never squeeze badges out of a row. */
  [data-ag-ui="campus"] :is(.people-group,.people-directory-group,.person-entry,.student-editor,.fc-roster-group)>summary {
    min-width:0;
    gap:12px;
    line-height:1.5;
  }
  [data-ag-ui="campus"] :is(.people-group,.people-directory-group,.person-entry,.student-editor)>summary>:is(span,div):first-child {
    min-width:0;
    overflow-wrap:anywhere;
  }
  [data-ag-ui="campus"] :is(.people-group,.people-directory-group,.person-entry,.student-editor)>summary>:is(b,i,.people-count,.people-directory-count,.first-access-badge),
  [data-ag-ui="campus"] .student-editor>summary::after {
    flex-shrink:0;
  }
  [data-ag-ui="campus"] .account-heading {
    align-items:flex-start;
    flex-wrap:wrap;
    gap:12px 18px;
  }
  [data-ag-ui="campus"] .account-heading>div {
    flex:1 1 180px;
  }
  [data-ag-ui="campus"] .student-editor .student-name {overflow-wrap:anywhere}
  [data-ag-ui="campus"] :is(.account-meta,.student-meta,.people-directory-person strong,.people-directory-meta,.people-directory-limited,.request-resolved) {
    overflow-wrap:anywhere;
    line-height:1.65;
  }
  [data-ag-ui="campus"] .people-directory-meta {min-width:0}
  [data-ag-ui="campus"] .people-directory-limited {white-space:normal;max-width:150px}
  [data-ag-ui="campus"] .module-choice {min-width:0;align-items:flex-start}
  [data-ag-ui="campus"] .module-choice input {margin-top:2px}
  [data-ag-ui="campus"] .module-choice>span:not(.choice-index) {overflow-wrap:anywhere;line-height:1.5}
  [data-ag-ui="campus"] .module-choice .choice-index {flex-shrink:0}
  [data-ag-ui="campus"] .accounts-panel .table-heading {flex-wrap:wrap;gap:10px 18px}
  [data-ag-ui="campus"] .person-entry .account-modules {grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}

  /* Filter bars use a common baseline; each field can wrap independently. */
  [data-ag-ui="campus"] :is(.requests-toolbar,.people-directory-toolbar,.calendar-toolbar,.enrollment-row,.work-overview-filters,.work-filters,.roadmap-toolbar,.meeting-booking-filters,.scrum-toolbar) {
    min-width:0;
    flex-wrap:wrap;
    gap:12px;
  }
  [data-ag-ui="campus"] :is(.requests-toolbar,.people-directory-toolbar,.work-overview-filters,.work-filters,.roadmap-toolbar,.scrum-toolbar) :is(label,.field,.scrum-field) {
    min-width:0;
    flex:1 1 160px;
    max-width:100%;
  }
  [data-ag-ui="campus"] :is(.calendar-toolbar,.enrollment-row)>.field {min-width:0;flex:1 1 170px}
  [data-ag-ui="campus"] :is(.requests-toolbar,.people-directory-toolbar,.calendar-toolbar,.enrollment-row,.work-overview-filters,.work-filters,.roadmap-toolbar,.meeting-booking-filters,.scrum-toolbar) :is(input,select,button,a) {
    max-width:100%;
    box-sizing:border-box;
  }
  [data-ag-ui="campus"] :is(.requests-toolbar,.people-directory-toolbar,.work-overview-filters,.work-filters,.roadmap-toolbar,.scrum-toolbar)>button {
    flex-shrink:0;
    overflow-wrap:anywhere;
    white-space:normal;
    align-self:flex-end;
  }
  [data-ag-ui="campus"] :is(.request-controls,.meeting-review-actions,.enrollment-actions,.roadmap-editor-actions,.campus-actions,.fc-actions) {
    align-items:center;
    gap:10px;
  }
  [data-ag-ui="campus"] :is(.request-controls,.meeting-review-actions,.enrollment-actions,.roadmap-editor-actions,.fc-actions)>:is(a,button) {
    min-height:42px;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.5;
    text-align:center;
  }

  /* These rows used fixed 210/350px floors even inside the campus sidebar. */
  [data-ag-ui="campus"] .work-overview-page .work-student-row {
    grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.65fr) auto;
    gap:18px;
    align-items:start;
  }
  [data-ag-ui="campus"] .work-student-row>:is(.work-student-name,.work-student-hours,.work-status,.work-details) {min-width:0}
  [data-ag-ui="campus"] .work-overview-page .work-student-hours {
    grid-column:auto;
    grid-row:auto;
    padding-right:0;
  }
  [data-ag-ui="campus"] .work-overview-page .work-details {
    grid-column:auto;
    grid-row:auto;
    align-self:center;
  }
  [data-ag-ui="campus"] .work-overview-page .work-student-hours .work-stat {padding:10px}
  [data-ag-ui="campus"] .work-student-row .work-status {justify-self:start}
  [data-ag-ui="campus"] .work-student-name>:is(small,span) {overflow-wrap:anywhere}
  [data-ag-ui="campus"] .work-pagination {flex-wrap:wrap;gap:10px 16px}
  [data-ag-ui="campus"] .work-overview-page .work-count {min-width:0;line-height:1.5;overflow-wrap:anywhere}

  /* Keep roadmap names and the action separate without hiding either. */
  [data-ag-ui="campus"] .roadmap-directory :is(.roadmap-directory-head,.roadmap-directory-tools) {
    flex-wrap:wrap;
    align-items:flex-start;
    gap:12px 18px;
  }
  [data-ag-ui="campus"] .roadmap-directory .roadmap-person {grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
  [data-ag-ui="campus"] .roadmap-directory .roadmap-person :is(.roadmap-person-name,.roadmap-person-courses,.roadmap-course-row,.roadmap-course-row>span) {min-width:0}
  [data-ag-ui="campus"] .roadmap-directory .roadmap-course-row>span {overflow-wrap:anywhere}
  [data-ag-ui="campus"] .roadmap-directory .roadmap-course-row .roadmap-link {flex-shrink:0}
  [data-ag-ui="campus"] .roadmap-directory-results {white-space:normal;line-height:1.6}
  [data-ag-ui="campus"] .roadmap-directory .roadmap-expand-groups {white-space:normal;max-width:100%;line-height:1.5}
  [data-ag-ui="campus"] .roadmap-task-meter {min-width:0}
  [data-ag-ui="campus"] .roadmap-task-track {min-width:32px}
  [data-ag-ui="campus"] .roadmap-week-card {overflow-wrap:anywhere}

  /* Personal profiles and request reviews use natural heights. */
  [data-ag-ui="campus"] :is(.profile-stat,.attendance-stat,.training-profile-summary,.profile-lab,.meeting-booking,.access-request) {min-width:0}
  [data-ag-ui="campus"] .profile-stat strong {font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
  [data-ag-ui="campus"] .profile-stat span {display:block;line-height:1.65}
  [data-ag-ui="campus"] .profile-lab-heading {align-items:flex-start}
  [data-ag-ui="campus"] .profile-lab-heading h2 {min-width:0;flex:1 1 220px;line-height:1.2}
  [data-ag-ui="campus"] .profile-topic-list li>span:first-child {min-width:0;overflow-wrap:anywhere;line-height:1.6}
  [data-ag-ui="campus"] .request-module h3 {overflow-wrap:anywhere}
  [data-ag-ui="campus"] .meeting-calendar-nav h3 {min-width:0;line-height:1.3;text-align:center}
  [data-ag-ui="campus"] .meeting-calendar-nav>button {flex-shrink:0}
  [data-ag-ui="campus"] .meeting-host strong {overflow-wrap:anywhere;line-height:1.4}
  [data-ag-ui="campus"] .meeting-review textarea {box-sizing:border-box}
  [data-ag-ui="campus"] :is(.requests-welcome,.scrum-welcome) {flex-wrap:wrap;gap:20px 30px}
  [data-ag-ui="campus"] .requests-welcome>a {white-space:normal}
  [data-ag-ui="campus"] .schedule-person {grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto}
  [data-ag-ui="campus"] :is(.schedule-zone,.work-zone,.meeting-zone,.roadmap-chip) {max-width:100%;white-space:normal;line-height:1.6}

  /* Horizontal records retain their identity column while the page itself
     scrolls vertically. The existing Scrum comparison matrix is untouched. */
  [data-ag-ui="campus"] :is(.attendance-scroll,.links-scroll,.fc-table-wrap) {
    max-width:100%;
    scrollbar-width:thin;
    scrollbar-color:var(--theme-accent) var(--theme-panel);
    overscroll-behavior-x:contain;
  }
  [data-ag-ui="campus"] .attendance-table :is(th,td):first-child {
    position:sticky;
    left:0;
    z-index:1;
    background:var(--theme-panel);
    color:var(--theme-text);
  }
  [data-ag-ui="campus"] .attendance-table thead th:first-child {z-index:2}
  [data-ag-ui="campus"] :is(.attendance-table,.profile-attempts) time {font-variant-numeric:tabular-nums}

  /* Feedback never covers a control or depends on motion alone. */
  [data-ag-ui="campus"] :is(.enrollment-inline-status,.roadmap-save-state,.roadmap-feedback,.meeting-feedback,.request-row-feedback,.work-feedback,.schedule-feedback,.profile-status,#requests-feedback,#enrollment-status,#scrum-status) {
    overflow-wrap:anywhere;
    line-height:1.7;
    scroll-margin-block:100px 24px;
  }
  [data-ag-ui="campus"] :is(.people-group,.people-directory-group,.person-entry,.student-editor)>summary:focus-visible {
    outline:2px solid var(--theme-accent);
    outline-offset:-3px;
    border-radius:4px;
  }
  [data-ag-ui="campus"] :is(.people-group,.people-directory-group,.person-entry,.student-editor)>summary:hover {
    background-color:color-mix(in srgb,var(--theme-accent) 6%,transparent);
  }
  [data-ag-ui="campus"] :is(.request-controls,.meeting-review-actions,.enrollment-actions,.roadmap-editor-actions)>button:not(:disabled):active {
    transform:translateY(1px);
  }

  @media(max-width:1100px) {
    [data-ag-ui="campus"] .work-overview-page .work-student-row {grid-template-columns:minmax(0,1fr) auto}
    [data-ag-ui="campus"] .work-overview-page .work-student-hours {grid-column:1/-1;padding-right:0}
    [data-ag-ui="campus"] .work-overview-page .work-details {grid-row:auto;grid-column:1/-1;justify-self:start}
  }
  @media(max-width:1100px) {
    [data-ag-ui="campus"] .admin-workspace {grid-template-columns:minmax(0,1fr);gap:32px}
    [data-ag-ui="campus"] .create-panel .new-module-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
    [data-ag-ui="campus"] .roadmap-directory .roadmap-person {grid-template-columns:minmax(0,1fr)}
    [data-ag-ui="campus"] .roadmap-directory .roadmap-person-courses {padding-top:10px;border-top:1px solid var(--theme-line)}
    [data-ag-ui="campus"] .schedule-person {grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
    [data-ag-ui="campus"] .schedule-person>button {grid-column:1/-1;justify-self:start}
  }
  @media(max-width:850px) {
    [data-ag-ui="campus"] .access-request {grid-template-columns:minmax(0,1fr)}
    [data-ag-ui="campus"] .request-module {border-left:0;border-top:1px solid var(--theme-line);padding:20px 0 0}
    [data-ag-ui="campus"] .roadmap-directory .roadmap-course-row {flex-wrap:wrap}
    [data-ag-ui="campus"] .roadmap-directory .roadmap-course-row .roadmap-link {white-space:normal}
  }
  @media(max-width:600px) {
    [data-ag-ui="campus"] .student-editor>summary {align-items:flex-start;gap:10px}
    [data-ag-ui="campus"] .person-entry>summary {flex-wrap:wrap;gap:6px 10px}
    [data-ag-ui="campus"] .person-entry>summary>span:first-child {flex:1 1 calc(100% - 35px)}
    [data-ag-ui="campus"] .person-entry>summary>.first-access-badge {order:2;margin:0}
    [data-ag-ui="campus"] .person-entry>summary>b {margin-left:auto}
    [data-ag-ui="campus"] .account .student-progress-link {margin-left:0!important;margin-right:15px;line-height:1.7}
    [data-ag-ui="campus"] .people-directory-meta {margin-left:0;flex:1 1 100%;padding-left:46px;box-sizing:border-box}
    [data-ag-ui="campus"] .people-profile-link {margin-left:46px;padding-left:0;white-space:normal}
    [data-ag-ui="campus"] .people-directory-limited {margin-left:46px;max-width:none}
    [data-ag-ui="campus"] .requests-toolbar>:is(label,.requests-search) {flex:1 1 100%}
    [data-ag-ui="campus"] .requests-toolbar>button {width:100%}
    [data-ag-ui="campus"] .meeting-booking-filters>:is(input,select) {width:100%}
    [data-ag-ui="campus"] .schedule-person {grid-template-columns:minmax(0,1fr)}
    [data-ag-ui="campus"] .schedule-person>button {grid-column:auto}
    [data-ag-ui="campus"] .profile-stat {align-items:flex-start}
    [data-ag-ui="campus"] .profile-stat strong {flex-shrink:0}
    [data-ag-ui="campus"] .profile-attempts {table-layout:fixed}
    [data-ag-ui="campus"] .profile-attempts :is(th,td) {overflow-wrap:anywhere;line-height:1.6}
    [data-ag-ui="campus"] .calendar-heading {flex-wrap:wrap}
    [data-ag-ui="campus"] .calendar-heading>div {margin-left:auto}
    [data-ag-ui="campus"] .attendance-table :is(th,td):first-child {min-width:150px;max-width:190px;white-space:normal;overflow-wrap:anywhere}
  }
  @media(prefers-reduced-motion:reduce) {
    [data-ag-ui="campus"] :is(.request-controls,.meeting-review-actions,.enrollment-actions,.roadmap-editor-actions)>button:not(:disabled):active {transform:none}
  }
  html[data-ag-motion="reduced"] [data-ag-ui="campus"] :is(.request-controls,.meeting-review-actions,.enrollment-actions,.roadmap-editor-actions)>button:not(:disabled):active,
  html[data-ag-ui="campus"][data-ag-motion="reduced"] :is(.request-controls,.meeting-review-actions,.enrollment-actions,.roadmap-editor-actions)>button:not(:disabled):active {transform:none}
}
