/* Shared disclosure geometry is independent of the user's chosen font. */
:is(.section-menu,.department-disclosure,.action-menu,.session-disclosure,.disclosure-panel,.dossier-download-panel,.profile-extra-fields,.achievement-extra-fields) > summary {
  position:relative; list-style:none; cursor:pointer; padding-right:46px; min-height:46px;
}
:is(.section-menu,.department-disclosure,.action-menu,.session-disclosure,.disclosure-panel,.dossier-download-panel,.profile-extra-fields,.achievement-extra-fields) > summary::-webkit-details-marker {display:none;}
:is(.section-menu,.department-disclosure,.action-menu,.session-disclosure,.disclosure-panel,.dossier-download-panel,.profile-extra-fields,.achievement-extra-fields) > summary::marker {content:'';}
:is(.section-menu,.department-disclosure,.action-menu,.session-disclosure,.disclosure-panel,.dossier-download-panel,.profile-extra-fields,.achievement-extra-fields) > summary::after {
  content:''; position:absolute; right:20px; top:50%; width:8px; height:8px; border:solid currentColor; border-width:0 2px 2px 0;
  transform:translateY(-70%) rotate(45deg); color:var(--primary-strong); flex:none; transition:transform .16s ease; pointer-events:none;
}
:is(.section-menu,.department-disclosure,.action-menu,.session-disclosure,.disclosure-panel,.dossier-download-panel,.profile-extra-fields,.achievement-extra-fields)[open] > summary::after {content:'';transform:translateY(-20%) rotate(225deg);}
.navigation-group-toggle > .navigation-chevron {margin-left:auto;flex:0 0 17px;transform-origin:center;}
.navigation-group-toggle > span {flex:1;min-width:0;}
.disclosure-panel > summary > .disclosure-action {display:none;}
.department-disclosure > summary {justify-content:center;align-items:flex-start;padding:16px 46px 16px 16px;min-height:82px;}
.section-menu > summary {justify-content:flex-start;}
.section-menu[open] > summary,.department-disclosure[open] > summary {border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent);}
.portal-page > .page-heading {padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px;}
.page-heading h1 {letter-spacing:-.025em;}
.panel,.student-dossier-card {box-shadow:0 3px 16px color-mix(in srgb,var(--text) 4%,transparent);}
.panel-heading h2 {line-height:1.3;}
.panel-heading p {max-width:68ch;line-height:1.55;}
.button-primary {box-shadow:0 4px 14px color-mix(in srgb,var(--primary-action) 18%,transparent);}
.student-dossier-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.student-dossier-card {display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);}
.student-dossier-card > button {grid-column:2;justify-self:start;}
.student-dossier-card p {font-size:calc(13px * var(--font-scale));margin:6px 0;}
.student-dossier-name {font-size:calc(17px * var(--font-scale));font-weight:700;color:var(--primary-strong);text-underline-offset:4px;}
.dossier-portrait {display:grid;place-items:center;overflow:hidden;width:64px;min-width:64px;aspect-ratio:3/4;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;text-align:center;color:var(--muted);}
.dossier-portrait img {display:block;width:100%;height:100%;object-fit:cover;}
.student-dossier-identity {display:flex;align-items:center;gap:22px;padding:4px 0 22px;}
.student-dossier-identity .dossier-portrait {width:100px;min-width:100px;}
.student-dossier-identity h3 {font-size:calc(23px * var(--font-scale));margin:0 0 8px;}
.student-dossier-header {margin-bottom:22px;}
.dossier-download-panel {background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);}
.dossier-download-panel > summary,.profile-extra-fields > summary,.achievement-extra-fields > summary {display:flex;align-items:center;padding:14px 46px 14px 16px;font-weight:700;}
.dossier-export-form {padding:18px 0;}
.dossier-download-panel .dossier-export-form {padding:4px 18px 18px;}
.dossier-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;margin-bottom:16px;}
.dossier-filters [hidden] {display:none;}
.dossier-export-options {display:grid;gap:12px;margin:16px 0;}
.dossier-export-options label,.checkbox-label {display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;}
.dossier-export-options input[type="checkbox"],.checkbox-label input[type="checkbox"] {width:19px;min-width:19px;height:19px;min-height:19px;margin:2px 0 0;padding:0;accent-color:var(--primary-action);}
.dossier-export-status {font-size:calc(14px * var(--font-scale));color:var(--primary-strong);line-height:1.5;margin:12px 0 0;}
.dossier-export-status:empty {display:none;}
.dossier-directory-search {display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:end;padding:20px;margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);}
.profile-extra-fields,.achievement-extra-fields {border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);}
.profile-extra-fields > .form-stack,.achievement-extra-fields > .form-stack {padding:4px 16px 16px;}
#portfolio-reminder-preference {margin-top:18px;padding-top:16px;border-top:1px solid var(--border);}
#portfolio-reminder-settings {margin:18px 0;}
.portfolio-export-card {max-width:900px;}
.portfolio-photo-card {align-self:start;}
.dossier-export-form .muted {font-size:calc(13px * var(--font-scale));line-height:1.55;}
.student-dossier-header + .inline-links {padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:18px;}
@media(max-width:1000px) {.student-dossier-grid {grid-template-columns:minmax(0,1fr);}}
@media(max-width:600px) {
  .dossier-directory-search,.dossier-filters {grid-template-columns:minmax(0,1fr);}
  .student-dossier-card {padding:16px;gap:12px;}
  .student-dossier-identity {gap:14px;align-items:flex-start;}
  .student-dossier-identity h3 {font-size:calc(19px * var(--font-scale));}
  .student-dossier-identity .dossier-portrait {width:76px;min-width:76px;}
  .dossier-download-panel .dossier-export-form {padding:4px 12px 14px;}
  .dossier-export-form .form-actions > * {width:100%;text-align:center;}
  .portal-page > .page-heading {padding-bottom:16px;margin-bottom:18px;}
}
@media(prefers-reduced-motion:reduce) {summary::after {transition:none!important;}}

.dossier-filling {margin:12px 0 20px;min-width:0;}
.dossier-filling-bars {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.dossier-filling-bar > div {display:flex;justify-content:space-between;gap:12px;font-size:calc(14px * var(--font-scale));margin-bottom:8px;}
.dossier-filling-bar progress {appearance:none;width:100%;height:7px;border:0;border-radius:4px;overflow:hidden;accent-color:var(--teal);background:var(--surface-strong);}
.dossier-filling-bar progress::-webkit-progress-bar {background:var(--surface-strong);}
.dossier-filling-bar progress::-webkit-progress-value {background:var(--teal);border-radius:4px;}
.dossier-filling-bar progress::-moz-progress-bar {background:var(--teal);border-radius:4px;}
.dossier-filling > .muted {font-size:calc(12px * var(--font-scale));line-height:1.5;margin:10px 0 14px;}
.dossier-missing-fields {margin:0;padding:4px 22px 18px 38px;line-height:1.8;}
.portfolio-completeness-row > .dossier-filling,.connected-roster .dossier-filling {min-width:160px;}
.connected-roster .dossier-filling-bars,.portfolio-completeness-row .dossier-filling-bars {grid-template-columns:minmax(0,1fr);gap:8px;}
.connected-roster .dossier-filling-bar > div {font-size:12px;}
.portfolio-overview-hero > .dossier-filling {width:min(100%,480px);}
@media(max-width:480px) {.dossier-filling-bars {gap:12px;}.dossier-filling-bar > div {font-size:13px;}}
