/* Labels and icons have explicit cells: no positional span or SVG selectors. */
.workspace-directory { display:grid; gap:24px; }
.workspace-group { min-width:0; display:grid; gap:12px; }
.workspace-group > h3 { margin:0; font-size:calc(17px * var(--font-scale)); }
.nav-card-grid,.quick-actions,.portfolio-section-cards,.management-links {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:12px;
}
.nav-card-grid > .nav-card,.quick-actions > .nav-card,.portfolio-section-cards > .nav-card,.management-links > .nav-card {
  display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center;
  gap:12px; min-width:0; max-width:100%; min-height:76px; height:auto;
  padding:16px; border:1px solid var(--border); border-radius:var(--radius-md);
  background:var(--card-background,var(--surface));color:var(--card-text,var(--text));
  text-align:start;text-decoration:none;white-space:normal;box-sizing:border-box;
}
.nav-card > .ui-icon { grid-column:1;grid-row:1;width:32px;height:32px;flex:none;padding:5px;box-sizing:border-box; }
.nav-card-label { grid-column:2;grid-row:1;display:block!important;min-width:0;line-height:1.5;overflow-wrap:anywhere;word-break:normal; }
.nav-card-label > strong { display:block;font-size:inherit;line-height:inherit; }
.nav-card-label .nav-card-description { display:none; }
.nav-card:hover { border-color:var(--primary); }
.nav-card:focus-visible,.workspace-layout-choice:focus-visible { outline:3px solid var(--primary);outline-offset:3px; }
.portal-page > .page-heading { display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px; }
.page-heading > :first-child { min-width:0;flex:1 1 20rem; }
[data-page-panel="self-government"] > .page-heading > :first-child { flex:0 1 auto; }
.workspace-layout-switch { display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-self:start;max-width:100%; }
.workspace-layout-choice { display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:calc(13px * var(--font-scale)); }
.workspace-layout-choice > .ui-icon { width:19px;height:19px;flex:none; }
.workspace-layout-choice[aria-pressed="true"] { color:var(--text);background:var(--primary-soft);font-weight:700; }
.workspace-layout-choice:disabled { cursor:wait;opacity:.65; }
.organization-menu-group { display:grid;gap:4px; }
.organization-menu-title { display:block;padding:12px 10px 4px;font-size:calc(12px * var(--font-scale));font-weight:700;color:var(--muted); }
.section-menu > .section-navigation { display:grid;max-height:70dvh;overflow:auto;overscroll-behavior:contain; }
.section-menu .organization-menu-group > a { display:flex;gap:9px;align-items:start;min-width:0;white-space:normal;padding:10px; }
.section-menu .organization-menu-group > a > .ui-icon { flex:0 0 20px; }
.section-menu .organization-menu-group > a > span { min-width:0;line-height:1.5; }
.organization-area-nav { display:flex;flex-wrap:wrap;gap:8px; }
.organization-area-nav > a { display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;background:var(--surface);color:var(--text);line-height:1.5; }
.organization-area-nav > a > .ui-icon { width:20px;height:20px;flex:none; }
.organization-area-nav > a[aria-current="page"] { border-color:var(--primary);background:var(--primary-soft);font-weight:700; }
.organization-area-grid { grid-template-columns:minmax(0,1fr)!important; }
.organization-area-hidden { display:none!important; }
[data-workspace-layout="list"] :is(.nav-card-grid,.quick-actions,.portfolio-section-cards,.management-links) { grid-template-columns:minmax(0,1fr);gap:8px; }
[data-workspace-layout="list"] .nav-card { min-height:54px;padding:10px 16px; }
[data-workspace-layout="cards"] :is(.nav-card-grid,.quick-actions,.portfolio-section-cards,.management-links) { grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); }
[data-workspace-layout="cards"] .nav-card { min-height:112px;padding:22px;grid-template-columns:48px minmax(0,1fr); }
[data-workspace-layout="cards"] .nav-card > .ui-icon { width:44px;height:44px;padding:7px;background:var(--primary-soft);border-radius:var(--radius-sm); }
[data-workspace-layout="cards"] .nav-card-label .nav-card-description { display:block;margin-top:6px;color:var(--card-muted,var(--muted));font-size:calc(13px * var(--font-scale));line-height:1.5; }
/* Old resource tabs used inline anchors whose icon could occupy a neighbouring label. */
.portal-page > .section-navigation > a { display:flex;align-items:start;gap:8px;min-width:0;white-space:normal; }
.portal-page > .section-navigation > a > .ui-icon { flex:0 0 20px;width:20px;height:20px; }
.portal-page > .section-navigation > a > span { min-width:0;line-height:1.5; }
@media(max-width:700px) {
  .workspace-layout-switch { margin-inline-start:auto; }
  .workspace-layout-choice > span { display:none; }
  .workspace-layout-choice { padding:9px; }
  .nav-card-grid,.quick-actions,.portfolio-section-cards,.management-links { grid-template-columns:minmax(0,1fr); }
  .portal-page > .section-navigation { grid-template-columns:minmax(0,1fr); }
  .organization-area-nav { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .organization-area-nav > a { align-items:start;padding:10px; }
}
[hidden].workspace-group,[hidden].organization-menu-group,[hidden].workspace-directory,.nav-card[hidden] { display:none!important; }

/* Collection views are local to an opted-in data list. They never select forms,
   navigation cards, graphs, the review workbench or the full page shell. */
.collection-view-tools { display:flex; justify-content:flex-end; margin:0 0 12px; min-height:44px; }
.collection-view-trigger { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; padding:10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); color:var(--text); cursor:pointer; }
.collection-view-trigger > .ui-icon,.collection-view-choice > .ui-icon { width:22px; height:22px; flex:none; }
.collection-view-menu { position:fixed; z-index:9990; box-sizing:border-box; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); overflow:auto; display:grid; gap:4px; padding:6px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface); color:var(--text); box-shadow:0 8px 28px #0003; }
.collection-view-menu[hidden],.collection-view-tools[hidden] { display:none!important; }
.collection-view-choice { display:flex; align-items:center; gap:12px; min-height:44px; width:100%; padding:10px 12px; border:1px solid transparent; border-radius:var(--radius-sm); color:var(--text); background:transparent; font:inherit; text-align:start; cursor:pointer; }
.collection-view-choice[aria-checked="true"] { border-color:var(--primary); background:var(--primary-soft); font-weight:700; }
.collection-view-choice:hover { background:var(--primary-soft); }
.collection-view-trigger:focus-visible,.collection-view-choice:focus-visible,.collection-detail-toggle:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
[data-collection-view-id] { min-width:0; }
[data-collection-kind]:not([data-collection-kind="groups"]):not([data-collection-kind="roster"]) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); align-items:start; gap:var(--surface-gap,16px); }
[data-collection-view-id] > :is(.achievement-period-heading,.account-directory-divider,.empty-card,.resource-empty) { grid-column:1/-1; }
[data-collection-view-id] .collection-item { box-sizing:border-box; min-width:0; max-width:100%; overflow-wrap:anywhere; }
[data-collection-view-id] > .collection-item { margin-block:0; }
[data-collection-view-id] .collection-item-symbol { display:none; width:32px; height:32px; flex:none; color:var(--primary); }
[data-collection-view-id] .collection-detail-toggle { display:none; min-height:40px; padding:6px 10px; font:inherit; font-size:13px; color:var(--primary); border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); cursor:pointer; }
[data-collection-kind="groups"] .group-department-contents { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); gap:var(--surface-gap,16px); }
[data-collection-kind="groups"] .group-department-contents > :not(.group-directory-row) { grid-column:1/-1; }
[data-collection-kind="groups"] .group-directory-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-sm); }
[data-collection-kind="groups"] .group-directory-row > .check-row { flex:1; }
[data-collection-kind="curator"] .compact-person-row { display:grid; gap:12px; padding:16px; border:1px solid var(--border); border-radius:var(--radius-sm); }
[data-collection-kind="account"] .account-directory-card { padding:16px; }
/* The list keeps all fields and actions. Only spacing and columns change. */
[data-collection-layout="list"]:not([data-collection-kind="groups"]):not([data-collection-kind="roster"]) { grid-template-columns:minmax(0,1fr); }
[data-collection-layout="list"] > .collection-item { padding:12px 16px; gap:8px; }
[data-collection-layout="list"] .resource-card-heading h2,[data-collection-layout="list"] .achievement-heading h3 { font-size:calc(17px * var(--font-scale)); }
[data-collection-layout="list"] .resource-card-body { font-size:calc(13px * var(--font-scale)); }
[data-collection-layout="list"] .resource-card-body p { margin-block:4px; }
[data-collection-layout="list"] .student-dossier-card { grid-template-columns:54px minmax(0,1fr) auto; padding:12px; }
[data-collection-layout="list"] .student-dossier-card .dossier-portrait { width:54px; height:66px; }
[data-collection-layout="list"] .student-dossier-card .dossier-filling-bars { display:flex; gap:16px; }
[data-collection-layout="list"] .student-dossier-card .dossier-filling-bar { flex:1; }
[data-collection-layout="list"] .group-department-contents { grid-template-columns:minmax(0,1fr); }
[data-collection-layout="list"] .group-directory-row { padding:8px 12px; }
[data-collection-layout="list"] .compact-person-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:10px 16px; }
/* Icon view has a name, meaningful icon or portrait, existing actions, and an
   explicit accessible disclosure for secondary information (never truncated). */
[data-collection-layout="icons"]:not([data-collection-kind="groups"]):not([data-collection-kind="roster"]) { grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr)); }
[data-collection-layout="icons"] .collection-item { padding:14px; display:flex; flex-direction:column; align-items:stretch; gap:10px; }
[data-collection-layout="icons"] .collection-item-symbol { display:block; align-self:center; width:38px; height:38px; }
[data-collection-layout="icons"] .resource-card-heading,[data-collection-layout="icons"] .achievement-heading,[data-collection-layout="icons"] .queue-item-heading { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
[data-collection-layout="icons"] .resource-card-heading h2,[data-collection-layout="icons"] .achievement-heading h3 { font-size:calc(15px * var(--font-scale)); }
[data-collection-layout="icons"] .resource-card-heading .eyebrow { font-size:11px; }
[data-collection-layout="icons"] .collection-item-detail { display:none; }
[data-collection-layout="icons"] .collection-item-expanded .collection-item-detail { display:block; }
[data-collection-layout="icons"] .collection-detail-toggle { display:block; }
[data-collection-layout="icons"] :is(.resource-card-actions,.achievement-actions) { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
[data-collection-layout="icons"] :is(.resource-card-actions,.achievement-actions) > :is(a,button) { min-height:40px; padding:7px 9px; font-size:12px; }
[data-collection-layout="icons"] .student-dossier-card .dossier-portrait { align-self:center; width:60px; height:72px; }
[data-collection-layout="icons"] .student-dossier-card > button { min-height:40px; padding:8px; font-size:12px; }
[data-collection-layout="icons"] .group-department-contents { grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr)); }
[data-collection-layout="icons"] .group-directory-row > .check-row { flex:none; }
[data-collection-layout="icons"] .account-directory-card .account-heading-identity { display:flex; flex-direction:column; gap:6px; }
/* HTML table, row groups, rows and cells retain explicit accessibility roles.
   List is the normal table; tiles/icons lay the same rows out as cards. */
[data-collection-kind="roster"] table { min-width:0; width:100%; }
[data-collection-kind="roster"]:not([data-collection-layout="list"]) table { display:block; }
[data-collection-kind="roster"]:not([data-collection-layout="list"]) thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
[data-collection-kind="roster"]:not([data-collection-layout="list"]) tbody { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr)); gap:var(--surface-gap,16px); }
[data-collection-kind="roster"][data-collection-layout="icons"] tbody { grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr)); }
[data-collection-kind="roster"]:not([data-collection-layout="list"]) tr { display:grid; align-items:start; padding:14px; border:1px solid var(--border); border-radius:var(--radius-sm); }
[data-collection-kind="roster"]:not([data-collection-layout="list"]) td { display:block; border:0; padding:5px; }
[data-collection-kind="roster"]:not([data-collection-layout="list"]) td::before { content:attr(data-collection-cell-label) ': '; font-weight:700; }
@media(max-width:700px) {
  [data-collection-layout="list"] .student-dossier-card { grid-template-columns:44px minmax(0,1fr); }
  [data-collection-layout="list"] .student-dossier-card > button { grid-column:1/-1; }
  [data-collection-layout="list"] .compact-person-row { grid-template-columns:minmax(0,1fr); }
  [data-collection-kind="roster"][data-collection-layout="list"] { overflow-x:auto; }
  .collection-view-menu { max-width:calc(100dvw - 16px); }
}
/* The old resource header reserved a 12rem flex basis for its copy. In the
   vertical icon header that basis would become an empty 12rem-high column. */
[data-collection-layout="icons"] .resource-card-heading > div:first-child { flex:0 1 auto; }
[data-collection-layout="icons"] .collection-item { min-height:0; height:auto; }
