/* Shared administration and account workspaces. Existing brand tokens stay authoritative. */
/* Access control: compact task navigation with separate reading and editing areas. */
.access-page .access-section-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin: 0 0 1.2rem; }
.access-page .access-section-heading h2 { font-size: 1.3rem; letter-spacing: -.02em; margin: 0 0 .4rem; }
.access-page .access-section-heading p:not(.eyebrow) { max-width: 750px; font-size: .85rem; color: var(--color-text-muted); margin: 0; }
.access-page h3 { font-size: 1rem; }
.access-action-grid, .access-role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.access-action-card { padding: 1.35rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 12px; text-decoration: none; color: var(--color-text); display: flex; flex-direction: column; }
.access-action-card > .bi, .access-role-icon { color: var(--theme-primary); font-size: 1.35rem; margin-bottom: 1rem; }
.access-action-card h3 { margin-bottom: .6rem; }
.access-action-card p, .access-role-card p { font-size: .82rem; color: var(--color-text-muted); line-height: 1.6; }
.access-action-card > span { font-size: .8rem; font-weight: 700; color: var(--theme-primary); margin-top: auto; }
.access-action-card:hover { border-color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 3%, var(--color-surface)); }
.access-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.access-panel-body { padding: 1.25rem; }
.access-facts { margin: 0; }
.access-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--color-border); font-size: .83rem; }
.access-facts dt { font-weight: 500; }
.access-facts dd { margin: 0; font-weight: 700; color: var(--theme-primary); }
.access-page .access-help { font-size: .78rem; line-height: 1.6; color: var(--color-text-muted); margin: .85rem 0; }
.access-steps { list-style: decimal; padding: .5rem 1.4rem 1rem 2.5rem; margin: 0; }
.access-steps li { padding: .65rem 0; font-size: .83rem; }
.access-steps strong, .access-steps span { display: block; }
.access-steps span { color: var(--color-text-muted); margin-top: .3rem; }
.access-list-tools, .access-review-picker, .access-preset-picker { display: flex; align-items: end; flex-wrap: wrap; gap: .8rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--color-border); }
.access-list-tools label:first-child { flex: 1; min-width: 180px; }
.access-list-tools label, .access-review-picker label, .access-preset-picker label { font-size: .76rem; font-weight: 650; }
.access-list-tools .form-control, .access-list-tools .form-select { margin-top: .35rem; }
.access-list-tools p { font-size: .73rem; color: var(--color-text-muted); margin: 0 0 .6rem; }
.access-page .admin-table td { font-size: .81rem; }
.access-small-badge { display: inline-block; font-size: .65rem; padding: .1rem .4rem; border-radius: 4px; margin-top: .3rem; color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 8%, transparent); }
.access-empty { text-align: center; padding: 2.5rem 1rem; color: var(--color-text-muted); font-size: .85rem; }
.access-empty > .bi { display: block; font-size: 1.7rem; color: var(--theme-primary); margin-bottom: .8rem; }
.access-empty p { margin: .4rem 0 0; }
.access-invitation-list > article { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--color-border); font-size: .85rem; }
.access-invitation-list p { margin: .25rem 0; }
.access-invitation-list small { display: block; color: var(--color-text-muted); font-size: .75rem; }
.access-page .access-compose { border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); padding: 0; }
.access-compose > summary { padding: 1.2rem; font-size: .9rem; }
.access-compose[open] > summary { border-bottom: 1px solid var(--color-border); }
.access-page .access-compose form { margin: 0; }
.access-role-card { padding: 1.25rem; display: flex; flex-direction: column; }
.access-role-heading, .access-role-card footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
.access-role-heading { margin-bottom: 1rem; }
.access-role-icon { display: grid; place-items: center; height: 38px; width: 38px; border-radius: .65rem; background: color-mix(in srgb, var(--theme-primary) 7%, transparent); margin: 0; }
.access-role-card h3 a { color: inherit; text-decoration: none; }
.access-role-stats { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .75rem; margin: auto 0 1rem; }
.access-role-card footer { padding-top: 1rem; border-top: 1px solid var(--color-border); font-size: .75rem; }
.access-preset-picker { background: var(--color-surface-alt, var(--color-neutral-50)); border-radius: .7rem; border: 1px solid var(--color-border); margin-bottom: 1.25rem; }
.access-preset-picker label { flex: 1; }
.access-preset-picker p { width: 100%; margin: 0; font-size: .75rem; color: var(--color-text-muted); }
.access-check { display: flex; gap: .65rem; align-items: flex-start; padding: 1rem 0; margin: 0; font-size: .84rem; }
.access-check input { margin-top: .3rem; }
.access-check small { display: block; font-weight: 400; color: var(--color-text-muted); }
.access-permission-intro { border-top: 1px solid var(--color-border); margin: .5rem 0 1rem; padding-top: 1rem; }
.access-permission-intro p { font-size: .78rem; color: var(--color-text-muted); }
.access-page .permission-matrix-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .8rem; }
.access-page .permission-group { border-radius: .7rem; box-shadow: none; padding: 0; overflow: hidden; }
.access-page .permission-group-header { padding: .9rem 1rem; cursor: pointer; font-size: .84rem; }
.access-page .permission-group[open] .permission-group-header { border-bottom: 1px solid var(--color-border); }
.access-page .access-permission-toggle { display: flex; gap: .5rem; font-size: .72rem; padding: .8rem 1rem 0; }
.access-page .permission-action-list { padding: .5rem 1rem 1rem; }
.access-page .permission-action-list code { display: block; color: var(--color-text-muted); font-size: .65rem; margin-top: .15rem; }
.access-form-footer, .access-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); font-size: .8rem; }
.access-change-list { padding: 1.25rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.access-change-card { border: 1px solid var(--color-border); border-radius: .8rem; padding: 1rem; }
.access-change-card header, .access-review-item header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; flex-wrap: wrap; }
.access-kicker { font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; color: var(--color-text-muted); }
.access-change-card h3 { margin: .35rem 0; }
.access-transition { display: flex; align-items: center; gap: 1rem; background: var(--color-surface-alt, var(--color-neutral-50)); border-radius: .5rem; padding: .85rem; margin: 1rem 0; font-size: .8rem; }
.access-transition small { display: block; font-size: .68rem; color: var(--color-text-muted); margin-bottom: .2rem; }
.access-reason { font-size: .8rem; overflow-wrap: anywhere; }
.access-reason p { margin: .3rem 0; }
.access-change-card footer { border-top: 1px solid var(--color-border); padding-top: .75rem; font-size: .75rem; color: var(--color-text-muted); }
.access-change-card footer p { margin: 0 0 .7rem; }
.access-review-picker { padding: 0 0 1.2rem; border: 0; }
.access-review-picker label { flex: 1; }
.access-review-progress { padding: 1.25rem; display: flex; justify-content: space-between; gap: 1.5rem; border-bottom: 1px solid var(--color-border); }
.access-review-progress > div { flex: 1; font-size: .85rem; }
.access-review-progress progress { display: block; width: 100%; height: .55rem; accent-color: var(--theme-primary); margin-top: .8rem; }
.access-review-progress small { display: block; font-size: .7rem; color: var(--color-text-muted); margin-top: .4rem; }
.access-review-item { padding: 1.25rem; border-bottom: 1px solid var(--color-border); }
.access-review-item header p, .access-review-item small { font-size: .76rem; color: var(--color-text-muted); margin: .3rem 0; }
.access-review-toggle { font-size: .8rem; color: var(--theme-primary); font-weight: 600; margin-top: .75rem; }
.access-review-item form { padding-top: 1rem; }
.access-pagination { padding: 1rem 1.25rem; border: 0; }
@media (max-width: 1199px) { .access-action-grid, .access-role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .access-action-grid, .access-role-grid, .access-two-column, .access-change-list, .access-page .permission-matrix-grid { grid-template-columns: minmax(0, 1fr); }
  .access-review-progress { flex-direction: column; }
  .access-page .permission-matrix-toolbar { flex-wrap: wrap; }
  .access-page .permission-matrix-toolbar input { flex-basis: 100%; }
  .access-page .nested-form-grid { grid-template-columns: minmax(0, 1fr); }
  .access-page .grid-full { grid-column: auto; }
  .access-section-heading .btn { width: 100%; }
  .access-list-tools > label { flex: 1 1 100%; }
}
.admin-shell { grid-template-columns: 236px minmax(0, 1fr); }
.admin-sidebar { width: 236px !important; height: 100dvh; background: var(--theme-primary) !important; box-shadow: none; }
.admin-brand { display: flex; align-items: center; justify-content: space-between; padding: 1rem; gap: .5rem; }
.admin-brand a { min-height: 0; width: 153px; padding: .4rem .65rem; box-shadow: none; }
.admin-brand img { height: 40px; }
.admin-brand span { margin: 0; }
.admin-nav-search { position: relative; margin: .8rem .8rem 0; }
.admin-nav-search i { position: absolute; top: .65rem; left: .7rem; color: var(--color-sidebar-text); }
.admin-nav-search input { width: 100%; padding: .6rem .6rem .6rem 2rem; border: 1px solid var(--color-sidebar-border); border-radius: 8px; background: transparent; color: var(--color-sidebar-text); font-size: .8rem; }
.admin-nav-search input::placeholder { color: var(--color-sidebar-text); opacity: .8; }
.admin-navigation { padding: .6rem .7rem 1rem; min-height: 0; }
.admin-nav-label { margin: 1rem .65rem .35rem; font-size: .62rem; letter-spacing: .12em; }
.admin-navigation a { min-height: 38px; padding: .45rem .65rem; margin: 1px 0; font-size: .82rem; font-weight: 500; gap: .6rem; border-radius: 7px; }
.admin-navigation a.active { box-shadow: none; font-weight: 700; }
.admin-navigation a.active::after { width: 4px; height: 4px; }
.admin-navigation [hidden], .admin-nav-search[hidden] { display: none !important; }
.admin-nav-empty { padding: .6rem; font-size: .8rem; }
.admin-sidebar-footer { padding: .65rem .7rem; }
.admin-sidebar-footer a { min-height: 36px; font-size: .77rem; font-weight: 500; padding: .4rem .65rem; gap: .5rem; }
.admin-sidebar-footer i { margin: 0; }
.admin-topbar { min-height: 64px; padding: .7rem clamp(1rem, 2.5vw, 2rem); }
.admin-content { padding: clamp(1rem, 2.5vw, 2rem); }
.admin-user { max-width: 100%; }
.admin-user strong { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-page { --workspace-border: var(--color-border); display: block; min-width: 0; max-width: 1440px; margin-inline: auto; color: var(--color-text); }
.workspace-page [hidden] { display: none !important; }
.workspace-page .admin-page-header { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 1rem; margin: 0 0 1.5rem; }
.workspace-page .admin-page-header h1 { font-size: clamp(1.5rem, 2.3vw, 1.9rem); margin: .15rem 0 .45rem; letter-spacing: -.025em; }
.workspace-page .admin-page-header p:not(.eyebrow) { color: var(--color-text-muted); font-size: .9rem; max-width: 650px; margin: 0; }
.workspace-page .eyebrow { font-size: .67rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; margin-bottom: .4rem; color: var(--theme-primary); }
.workspace-page .btn { border-radius: 7px; font-weight: 600; }
.workspace-page .admin-panel { background: var(--color-surface); border: 1px solid var(--workspace-border); border-radius: 12px; box-shadow: none; overflow: visible; min-width: 0; }
.workspace-page .admin-panel-header { padding: 1.1rem 1.25rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; border-bottom: 1px solid var(--workspace-border); }
.workspace-page .admin-panel-header h2 { font-size: 1rem; margin-bottom: .2rem; }
.workspace-page .admin-panel-header p { font-size: .82rem; }
.workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin-bottom: 1.4rem; }
.workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) > :is(article, a) { display: flex; flex-direction: column; min-height: 105px; padding: 1rem 1.1rem; border: 1px solid var(--workspace-border); border-radius: 10px; background: var(--color-surface); box-shadow: none; text-decoration: none; }
.workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) strong { font-size: 1.7rem; line-height: 1.3; margin: .25rem 0; color: var(--theme-primary); }
.workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) span { font-size: .77rem; font-weight: 650; }
.workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) small { font-size: .72rem; font-weight: 400; color: var(--color-text-muted); }
.workspace-nav { display: flex; gap: .3rem; padding: .25rem 0; margin: 0 0 1.3rem; border-bottom: 1px solid var(--workspace-border); overflow-x: auto; scrollbar-width: thin; scroll-margin-top: 80px; }
.workspace-nav a { display: inline-flex; align-items: center; gap: .5rem; flex-shrink: 0; padding: .75rem .95rem; border-bottom: 2px solid transparent; color: var(--color-text-muted); text-decoration: none; font-size: .83rem; font-weight: 650; }
.workspace-nav a:hover, .workspace-nav a[aria-current] { color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 6%, white); border-bottom-color: var(--theme-primary); }
.workspace-page [data-workspace-panel] { scroll-margin-top: 90px; }
.workspace-page :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 3px; }
.workspace-page .drive-workspace { padding: 0; border: 0; background: transparent; }
.workspace-page .drive-files-panel { border: 1px solid var(--workspace-border); }
.workspace-page .admin-toolbar { display: flex; flex-wrap: wrap; gap: .65rem; align-items: end; padding: 1rem 1.25rem; border-bottom: 1px solid var(--workspace-border); background: var(--color-surface); }
.workspace-page .admin-toolbar > .website-filter-search { flex: 2 1 230px; min-width: 0; }
.workspace-page .admin-toolbar > select { flex: 1 1 140px; width: auto; max-width: 210px; }
.workspace-page .admin-toolbar > .admin-filter { flex: 2 1 240px; }
.workspace-page .workspace-filter-field { display: grid; gap: .3rem; flex: 1 1 130px; font-size: .73rem; color: var(--color-text-muted); font-weight: 650; }
.workspace-page .workspace-filter-field input, .workspace-page .workspace-filter-field select { min-width: 0; width: 100%; }
.workspace-page .table-responsive { border-radius: 0 0 12px 12px; }
.workspace-page .admin-table { font-size: .84rem; }
.workspace-page .admin-table th { background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: .69rem; font-weight: 750; letter-spacing: .025em; padding: .8rem 1rem; white-space: nowrap; }
.workspace-page .admin-table td { padding: 1rem; vertical-align: top; min-width: 115px; overflow-wrap: anywhere; }
.workspace-page .admin-table small { font-size: .74rem; line-height: 1.5; }
.workspace-page .admin-table .result-actions { gap: .45rem; }
.workspace-page .admin-table .result-actions > details { min-width: 150px; }
.workspace-page .admin-table details[open] { min-width: 245px; }
.workspace-page .admin-table :is(.btn-sm, summary) { font-size: .75rem; }
.workspace-page .workflow-badge { display: inline-flex; padding: .3rem .55rem; border-radius: 6px; font-size: .7rem; font-weight: 650; background: var(--color-surface-subtle); }
.workspace-page .basic-entry-form, .workspace-page .content-form-fields { padding: 1.25rem; }
.workspace-page .nested-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.workspace-page .nested-form-grid label { font-size: .82rem; font-weight: 600; }
.workspace-page .grid-full { grid-column: 1 / -1; }
.workspace-page :is(.form-control, .form-select) { font-size: .84rem; margin-top: .2rem; }
.workspace-page .drive-create-panel > summary { border-bottom: 1px solid var(--workspace-border); margin-bottom: 1rem; }
.workspace-page .drive-folder-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .75rem; }
.workspace-page .drive-folder-card { min-height: 110px; background: var(--color-surface); border: 1px solid var(--workspace-border); border-radius: 10px; padding: .85rem 1rem; box-shadow: none; }
.workspace-page .drive-folder-card-top { margin: 0; height: 1.3rem; }
.workspace-page .drive-folder-mark { display: none; }
.workspace-page .drive-folder-menu { margin-left: auto; }
.workspace-page .drive-folder-card-body { margin-top: 0; padding-right: 1rem; }
.workspace-page .drive-folder-card-body h3 { font-size: .88rem; overflow-wrap: anywhere; }
.workspace-page .drive-folder-icon { width: 30px; height: 30px; background: transparent; color: var(--theme-primary) !important; }
.workspace-page .drive-folder-meta { margin: .6rem 0 0; font-size: .71rem; }
.workspace-page .drive-breadcrumb { font-size: .79rem; margin-bottom: 1rem; }
.workspace-page .admin-empty-state { padding: 2.5rem 1rem; text-align: center; }
.workspace-page .admin-empty-state > span { font-size: 1.6rem; display: block; margin-bottom: .7rem; color: var(--theme-primary); }
.workspace-page .admin-empty-state p { font-size: .83rem; color: var(--color-text-muted); }
.workspace-note { display: flex; align-items: flex-start; gap: .65rem; border: 1px solid var(--workspace-border); border-radius: 9px; background: var(--color-surface-subtle); padding: .9rem 1rem; margin-bottom: 1.2rem; font-size: .8rem; color: var(--color-text-muted); }
.workspace-note p { margin: 0; }
.workspace-results { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; justify-content: space-between; padding: .8rem 1.25rem; font-size: .78rem; color: var(--color-text-muted); }
.workspace-page .website-pagination { padding: 1rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; flex-wrap: wrap; }
.workspace-page .governance-area-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.workspace-page .governance-area-card { padding: 1.2rem; }
.workspace-page .governance-area-card h3 { margin-top: .8rem; }
.workspace-page .dash-tasks { display: flex; flex-wrap: wrap; gap: .6rem; }
.workspace-page .dash-tasks a { min-height: 0; padding: .8rem 1rem; display: inline-flex; align-items: center; gap: .6rem; font-size: .8rem; }
.workspace-page .dash-workspace-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.workspace-page .dash-workspace { min-height: 125px; border-radius: 10px; }
.workspace-page.dash-home { display: grid; gap: 1.3rem; }
.workspace-page .dash-header { margin: 0; padding: 1.5rem; border: 1px solid var(--workspace-border); border-radius: 12px; background: linear-gradient(115deg, color-mix(in srgb, var(--theme-primary) 7%, white), white); }
.workspace-page .dash-attention { border-radius: 10px; }
.workspace-page .dash-metric-grid { margin-bottom: 0; }
.program-portfolio { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1rem; padding: 1.25rem; }
.program-portfolio-card { display: flex; flex-direction: column; padding: 1.2rem; border: 1px solid var(--workspace-border); border-radius: 10px; }
.program-card-top, .program-card-footer { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; }
.program-card-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: var(--theme-primary); background: color-mix(in srgb, var(--theme-primary) 8%, white); }
.program-reference { font-size: .69rem; color: var(--color-text-muted); margin: 1rem 0 .35rem; }
.program-portfolio h3 { font-size: 1.04rem; line-height: 1.45; }
.program-portfolio h3 a { color: inherit; text-decoration: none; }
.program-summary { color: var(--color-text-muted); font-size: .82rem; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.program-card-meta { display: flex; flex-wrap: wrap; gap: .65rem; font-size: .74rem; text-transform: capitalize; margin: auto 0 1rem; }
.program-card-footer { border-top: 1px solid var(--workspace-border); padding-top: 1rem; }
.program-card-footer .small { font-size: .72rem; }
.workspace-row-actions { padding: .35rem 0; }
.workspace-row-actions > summary, .workspace-inline-edit > summary { color: var(--theme-primary); cursor: pointer; font-weight: 600; }
.workspace-inline-edit form { margin-top: .75rem; }
.account-shell { width: min(1100px, 100%); }
.account-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; font-size: .85rem; }
.account-topline img { width: 125px; height: 50px; object-fit: contain; }
.account-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.account-summary { padding: 1.5rem; }
.account-avatar { width: 64px; height: 64px; display: grid; place-items: center; background: color-mix(in srgb, var(--theme-primary) 10%, white); color: var(--theme-primary); border-radius: 18px; font-size: 1.35rem; font-weight: 750; margin-bottom: 1rem; }
.account-summary h2 { font-size: 1.1rem; overflow-wrap: anywhere; }
.account-summary dl { margin: 1rem 0 0; }
.account-summary dt { font-size: .7rem; color: var(--color-text-muted); font-weight: 500; }
.account-summary dd { font-size: .84rem; text-transform: capitalize; margin-bottom: .75rem; }
.account-content { min-width: 0; }
.account-page #profile-details form > label { display: block; width: min(100%, 500px); font-size: .85rem; font-weight: 600; }
.account-page .admin-panel + .admin-panel { margin-top: 1rem; }
.account-page .grant-commitment-list { display: grid; gap: 0; }
.account-page .grant-commitment-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--workspace-border); }
.account-page .grant-commitment-list small { display: block; font-size: .76rem; color: var(--color-text-muted); }
.account-page .grant-commitment-list strong { font-size: .85rem; }
.account-page .security-recovery { background: var(--color-warning-soft); border: 1px solid var(--color-warning-border); border-radius: 12px; padding: 1.25rem; margin-bottom: 1.5rem; }
.account-page .security-recovery code { overflow-wrap: anywhere; }
.account-page .mfa-qr { max-width: 100%; }
.account-page .workflow-badge { align-self: flex-start; }
.account-page h2.h4 { font-size: 1.15rem; }
.profile-page .account-form-body { padding: 1.25rem; }
.profile-page .account-security-panel + .account-security-panel { margin-top: 1rem; }
.profile-page.workspace-enhanced [data-workspace-panel] { margin-top: 0; }
.profile-page .account-security-panel .form-control { max-width: 540px; }
.profile-page .recovery-code-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.profile-page .recovery-code-grid code, .profile-page .mfa-setup-key { display: block; padding: .65rem; color: var(--theme-primary); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 7px; text-align: center; overflow-wrap: anywhere; }
.profile-page .mfa-qr { display: block; padding: .4rem; background: var(--color-surface); border-radius: 8px; }
.profile-page .account-section-anchor { display: block; scroll-margin-top: 90px; }
.profile-page .account-summary dd { overflow-wrap: anywhere; }
.profile-page .account-summary { min-width: 0; }
.profile-page .account-security-panel .d-flex { flex-wrap: wrap; }
@media (max-width: 1199px) { .workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) { .admin-shell { display: block; } .admin-sidebar { width: min(285px, 90vw) !important; } .admin-topbar { gap: .5rem; } .account-grid { grid-template-columns: 1fr; } .account-summary { padding: 1rem; } .account-summary dl { display: flex; flex-wrap: wrap; gap: .3rem .75rem; } }
@media (max-width: 991px) { .profile-page .account-summary { order: 2; } .profile-page .account-summary dl { display: block; } }
@media (max-width: 575px) {
  .admin-content { padding: 1.2rem .85rem; }
  .admin-topbar .admin-user > .dropdown, .admin-user .dropdown form { display: block; }
  .admin-user .dropdown-menu { min-width: 210px; }
  .admin-user .dropdown-toggle { font-size: .8rem; }
  .workspace-page .admin-page-header { gap: .85rem; }
  .workspace-page .admin-page-header .drive-header-actions { justify-content: flex-start; }
  .workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) { gap: .5rem; }
  .workspace-page :is(.basic-metric-grid, .drive-stat-grid, .dash-metric-grid) > :is(article, a) { padding: .8rem; min-height: 100px; }
  .workspace-page .nested-form-grid { grid-template-columns: 1fr; }
  .program-portfolio { grid-template-columns: minmax(0, 1fr); padding: .75rem; }
  .workspace-page .admin-toolbar { padding: .8rem; }
  .workspace-page .admin-toolbar > select { max-width: none; }
  .workspace-page .admin-panel-header { padding: 1rem; }
  .workspace-page .table { min-width: 580px; }
  .workspace-page .workspace-nav a { padding: .7rem; font-size: .78rem; }
  .workspace-page .dash-header { padding: 1rem; }
  .workspace-page .dash-tasks { display: grid; grid-template-columns: 1fr; }
  .account-page .grant-commitment-list > div { flex-wrap: wrap; }
  .account-page .recovery-code-grid { grid-template-columns: 1fr; }
  .profile-page .account-form-body { padding: 1rem; }
}
@media print { .workspace-page [data-workspace-panel][hidden] { display: none !important; } .workspace-nav { display: none; } }

/* Record detail workspaces: compact identity, readable facts and deliberate editing. */
.detail-page { max-width: 1280px; }
.detail-page .detail-page-header { align-items: center; flex-direction: row; }
.detail-page .admin-toolbar { flex-direction: row; }
.detail-page .admin-table th { position: relative; }
.detail-page .detail-disclosure[id], .detail-page #edit-access { scroll-margin-top: 90px; }
.detail-heading { flex: 1 1 380px; min-width: 0; }
.detail-page .admin-back-link { display: inline-flex; gap: .4rem; font-size: .8rem; margin-bottom: 1.15rem; }
.detail-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.detail-identity > div { min-width: 0; }
.detail-identity h1, .detail-identity p { overflow-wrap: anywhere; }
.detail-avatar { flex: 0 0 54px; height: 54px; display: grid; place-items: center; border-radius: 13px; background: color-mix(in srgb, var(--theme-primary) 9%, white); color: var(--theme-primary); font-size: 1.3rem; font-weight: 700; }
.detail-header-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .48fr); align-items: start; gap: 1rem; }
.detail-panel-body, .detail-summary { padding: 1.25rem; min-width: 0; }
.detail-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; margin: 0; }
.detail-facts > div { min-width: 0; }
.detail-facts dt { font-size: .73rem; font-weight: 500; color: var(--color-text-muted); margin-bottom: .3rem; }
.detail-facts dd { margin: 0; font-size: .86rem; font-weight: 550; overflow-wrap: anywhere; }
.detail-facts-stacked { grid-template-columns: 1fr; margin-top: 1.2rem; gap: 1rem; }
.detail-summary h2 { font-size: .97rem; }
.detail-text-link { display: inline-flex; gap: .5rem; align-items: center; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--workspace-border); font-size: .8rem; font-weight: 600; text-decoration: none; }
.detail-description { font-size: .88rem; line-height: 1.7; color: var(--color-text-muted); white-space: pre-line; overflow-wrap: anywhere; padding-bottom: 1rem; border-bottom: 1px solid var(--workspace-border); margin-bottom: 1.2rem; }
.detail-resource { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--workspace-border); color: var(--color-text); text-decoration: none; font-size: .83rem; }
.detail-resource i { color: var(--theme-primary); margin-right: .35rem; }
.detail-resource strong { font-size: 1.4rem; color: var(--theme-primary); }
.detail-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; cursor: pointer; color: var(--theme-primary); }
.detail-disclosure > summary::after { content: '+'; font-size: 1.1rem; }
.detail-disclosure[open] > summary::after { content: '−'; }
.detail-disclosure > summary > span { flex: 1; min-width: 0; }
.detail-disclosure > summary strong { font-size: .88rem; }
.detail-disclosure > summary small { display: block; margin-top: .2rem; font-weight: 400; font-size: .77rem; color: var(--color-text-muted); }
.detail-disclosure[open] > summary { border-bottom: 1px solid var(--workspace-border); }
.detail-inline-disclosure > summary { padding-inline: 0; }
.detail-linked-list { list-style: none; margin: 0; padding: 0; }
.detail-linked-list li { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--workspace-border); font-size: .84rem; overflow-wrap: anywhere; }
.detail-linked-list li:first-child { padding-top: 0; }
.detail-linked-list li:last-child { border-bottom: 0; }
.detail-linked-list a { text-decoration: none; }
.detail-checkbox-group { padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.detail-checkbox-group legend { float: none; grid-column: 1 / -1; }
.detail-checkbox-group label { display: flex; align-items: start; gap: .6rem; border: 1px solid var(--workspace-border); border-radius: 8px; padding: .8rem; font-size: .83rem; }
.detail-checkbox-group input { flex-shrink: 0; margin-top: .2rem; }
.detail-field { display: block; width: min(100%, 520px); font-size: .83rem; font-weight: 600; }
.detail-field small { display: block; font-size: .75rem; font-weight: 400; margin-top: .3rem; }
.detail-document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detail-document-grid > section { padding: 1.25rem; min-width: 0; border-bottom: 1px solid var(--workspace-border); }
.detail-document-grid > section h3 { font-size: .85rem; margin-bottom: 1rem; }
.detail-page .grant-commitment-list > div { display: flex; justify-content: space-between; gap: 1rem; align-items: start; padding: .85rem 0; overflow-wrap: anywhere; }
.detail-page .grant-commitment-list > div > span:first-child { min-width: 0; }
.detail-page .grant-commitment-list strong { font-size: .84rem; }
.detail-page .grant-commitment-list small { display: block; font-size: .75rem; margin-top: .2rem; }
.detail-page .grant-commitment-list .workflow-badge { flex-shrink: 0; }
.document-detail-page .document-file-card { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.1rem; background: var(--color-surface-subtle); border: 1px solid var(--workspace-border); border-radius: 9px; }
.document-detail-page .document-file-card > div:not(.document-file-actions) { flex: 1 1 230px; min-width: 0; overflow-wrap: anywhere; }
.document-detail-page .document-file-card strong, .document-detail-page .document-version-list strong { font-size: .88rem; }
.document-detail-page .document-file-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.document-detail-page .document-file-actions .btn { font-size: .77rem; }
.document-detail-page .document-preview-frame { width: 100%; height: 560px; border: 1px solid var(--workspace-border); border-radius: 9px; }
.document-detail-page .document-preview-image { max-width: 100%; max-height: 560px; object-fit: contain; }
.document-detail-page .document-access-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.document-detail-page .document-access-list > li { display: block; padding: 1rem; border: 1px solid var(--workspace-border); border-radius: 8px; min-width: 0; overflow-wrap: anywhere; }
.document-detail-page .document-access-list > li > strong { display: block; margin-bottom: .5rem; font-size: .83rem; }
.document-detail-page .document-access-list > li > span { font-size: .83rem; }
.document-detail-page .document-version-list { padding: 0; margin: 0; }
.document-detail-page .document-version-list li { display: flex; align-items: start; flex-wrap: wrap; gap: 1rem; padding: 1.25rem; }
.document-detail-page .document-version-list li > div:not(.document-file-actions) { flex: 1 1 250px; min-width: 0; overflow-wrap: anywhere; }
.document-detail-page .document-form-section { padding-top: 1.1rem; margin-top: 1.1rem; border-top: 1px solid var(--workspace-border); }
.document-detail-page .document-form-section:first-of-type { padding-top: 0; margin-top: 0; border-top: 0; }
@media (max-width: 767px) {
  .detail-grid { grid-template-columns: 1fr; }
  .detail-identity { align-items: start; gap: .75rem; }
  .detail-avatar { flex-basis: 44px; height: 44px; font-size: 1.1rem; }
  .detail-page .detail-header-actions { width: 100%; }
  .detail-page .grant-commitment-list > div { flex-wrap: wrap; }
}
@media (max-width: 575px) {
  .detail-panel-body, .detail-summary { padding: 1rem; }
  .detail-facts, .detail-checkbox-group, .detail-document-grid, .document-detail-page .document-access-list { grid-template-columns: 1fr; }
  .detail-disclosure > summary { padding: 1rem; }
  .detail-identity .eyebrow { font-size: .6rem; }
  .document-detail-page .document-file-card { padding: .8rem; }
  .document-detail-page .document-preview-frame { height: 400px; }
}
.staff-place-fields { display: contents; }
.place-presence { display: grid; gap: .35rem; min-width: 0; margin-top: .45rem; }
.place-clock { display: flex; align-items: flex-start; gap: .65rem; min-width: 0; }
.place-clock-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; flex: none; font-size: .95rem; }
.place-clock-morning { background: #fff4d6; color: #8a5a00; }
.place-clock-afternoon { background: #fff1c9; color: #9a6700; }
.place-clock-evening { background: #ffe4d4; color: #9a3412; }
.place-clock-night { background: #e7eefc; color: #1e3a8a; }
.place-clock-copy { display: grid; min-width: 0; }
.place-clock-copy strong { font-size: .92rem; font-variant-numeric: tabular-nums; line-height: 1.3; }
.place-clock-copy small, .place-where { color: var(--color-text-muted, var(--color-neutral-500)); font-size: .75rem; line-height: 1.45; }
.place-where { display: flex; align-items: flex-start; gap: .35rem; margin: 0; }
.place-where .bi { flex: none; margin-top: .1rem; }
.place-presence-compact { margin-top: .35rem; }
.place-presence-compact .place-clock-mark { width: 1.7rem; height: 1.7rem; font-size: .8rem; }
.place-presence-compact .place-clock-copy strong { font-size: .8rem; }
.staff-person-card .place-presence { margin: .15rem 0 .9rem; }
