.access-page-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; }
.access-page-header h1 { font-size: 1.5rem; font-weight: 700; }
.access-panel { border: 1px solid var(--color-base-300); border-radius: 1rem; background: var(--color-base-100); padding: 1rem; margin-bottom: 1rem; }
.access-panel h2 { font-size: 1.125rem; font-weight: 600; margin-bottom: .75rem; }
.access-filters { display: grid; grid-template-columns: 2fr repeat(2, 1fr) auto; align-items: end; gap: .75rem; margin-bottom: 1rem; }
.access-filters label { display: block; margin-bottom: .25rem; }
.access-nav { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-bottom: 1.25rem; }
.access-management :is(h2, #institution-access, #authentication-settings, [id^="institution-row-"]) { scroll-margin-top: 5rem; }
.access-page-header > div { min-width: 0; overflow-wrap: anywhere; }
.access-editor-table { min-width: 460px; }
.access-editor-table td:last-child { min-width: 180px; }
.access-save { position: sticky; bottom: 0; background: var(--color-base-100); padding: .75rem 0; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .75rem; border-top: 1px solid var(--color-base-300); z-index: 1; }
.access-row-changed { background: color-mix(in srgb, var(--color-primary) 8%, var(--color-base-100)); }
.access-management [id^="institution-row-"]:target { outline: 2px solid var(--color-primary); outline-offset: -2px; }
@media (max-width: 900px) { .access-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .access-filters { grid-template-columns: 1fr; } .access-panel { padding: .75rem; } }
.access-grants { display: flex; flex-wrap: wrap; gap: .25rem .75rem; max-width: 28rem; }
.access-grants > span { white-space: nowrap; }
