/* Shared primitives, loaded after the existing public and board layouts. */
body { min-height: 100vh; background: var(--surface-raised); font-size: var(--text-base); }
.public-ui { background: var(--surface-raised); }
.board-ui { background: var(--surface-subtle); }
a { color: var(--link); }
a:hover { color: var(--action-hover); text-decoration-thickness: 0.15em; }
a:active { color: var(--action-active); }
:focus-visible,
:is(a, summary, button, input, select, textarea):focus-visible,
.form-field :is(input, select, textarea):focus-visible,
button:focus-visible {
  outline: var(--focus-width) solid var(--focus);
  outline-offset: var(--focus-offset);
  box-shadow: var(--shadow-focus);
}
:target { scroll-margin-block: var(--space-8); }
:is(h1, h2, h3, h4, p, li, dd, dt, a, label, legend) { overflow-wrap: anywhere; }
h4 { font-size: var(--text-large); }
small, .meta, .field-help, .form-help { font-size: var(--text-small); color: var(--text-muted); }
.hero__lead, .lede, .invitation-layout__lead, .relationship-flow__summary { font-family: var(--font-body); }
.brand__name { font-weight: var(--weight-semibold); }
.section-shell, .site-header__inner, .site-footer__inner, .site-footer__prototype {
  width: min(100% - 2 * var(--gutter), var(--content-width));
}
.board-header__inner, .board-navigation__panel, .board-main {
  width: min(100% - 2 * var(--gutter), var(--workspace-width));
}
.board-main { padding-block: var(--space-8) var(--space-12); }
.board-ui h1 { max-width: 28ch; font-size: var(--heading-board); color: var(--text); }
.board-ui :where(h2, h3, h4, .dashboard-facts dd, .import-summary dd) {
  font-family: var(--font-body);
  line-height: var(--leading-ui);
  letter-spacing: normal;
}
.board-ui h2 { font-size: var(--heading-3); }
.board-ui h3 { font-size: var(--text-large); }
.board-ui .board-brand__name { font-family: var(--font-body); font-weight: var(--weight-semibold); }
.board-ui .eyebrow { color: var(--text-muted); letter-spacing: 0.04em; }
.board-page-header, .board-page-actions, .section-heading-row, .fee-history__heading { flex-wrap: wrap; }
.board-page-header > *, .board-page-actions > *, .form-actions > * { min-width: 0; }
.board-page-header { margin-bottom: var(--space-8); }
.board-ui .button-row { margin-top: var(--space-6); }

.button, button.button, .board-identity button, .import-row-list button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--control-height);
  max-width: 100%;
  padding: var(--space-2) var(--space-4);
  border: var(--border-strong) solid var(--action-primary);
  border-radius: var(--radius-small);
  background: var(--action-primary);
  color: var(--action-text);
  font: var(--weight-semibold) var(--text-base)/var(--leading-ui) var(--font-body);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.button:hover, .board-identity button:hover, .import-row-list button:hover {
  border-color: var(--action-hover); background: var(--action-hover); color: var(--action-text);
}
.button:active { border-color: var(--action-active); background: var(--action-active); }
.button.button--secondary, .board-identity button, .import-row-list button {
  background: var(--surface-raised); color: var(--action-secondary); border-color: var(--action-secondary);
}
.button.button--secondary:hover { background: var(--surface-page); color: var(--action-hover); }
.button.button--secondary:active { background: var(--border); color: var(--action-active); }
.button.button--danger { background: var(--error); border-color: var(--error); color: var(--action-text); }
.button.button--danger:hover, .button.button--danger:active { background: var(--error-surface); border-color: var(--error); color: var(--error); }
button:disabled, .button:disabled, input:disabled, select:disabled, textarea:disabled,
.form-field input:not([type=checkbox]):not([type=radio]):disabled, .form-field select:disabled, .form-field textarea:disabled {
  background: var(--surface-page); color: var(--text-muted); border-color: var(--border-control);
  cursor: not-allowed; border-style: dashed; opacity: 1;
}

/* Labels and errors retain their existing Django form associations. */
.form-field { margin-bottom: var(--space-6); }
.form-field label, .poll-setup label, .field-label {
  display: block; margin-bottom: var(--space-2); font-weight: var(--weight-semibold);
}
:where(input, select, textarea, button) { font-family: var(--font-body); }
:where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea),
.form-field input:not([type=checkbox]):not([type=radio]), .form-field select, .form-field textarea {
  width: 100%; min-width: 0; max-width: 100%; min-height: var(--control-height);
  padding: var(--space-2) var(--space-3);
  border: var(--border-width) solid var(--border-control);
  border-radius: var(--radius-small); background: var(--surface-raised); color: var(--text);
  font: var(--weight-normal) var(--text-base)/var(--leading-ui) var(--font-body);
}
textarea, .form-field textarea { min-height: 8rem; resize: vertical; }
::placeholder { color: var(--text-muted); opacity: 1; }
input[type=checkbox], input[type=radio], .form-field input[type=checkbox], .form-field input[type=radio] {
  width: 1.25rem; height: 1.25rem; min-height: 0; flex: 0 0 auto;
  accent-color: var(--action-primary); margin: 0 var(--space-2) 0 0;
}
label:has(input[type=checkbox]), label:has(input[type=radio]), .choice-label {
  display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-height);
}
fieldset { min-width: 0; border: var(--border-width) solid var(--border); border-radius: var(--radius-panel); }
legend { font-weight: var(--weight-semibold); }
.form-field.form-field--error :is(input, select, textarea):not([type=checkbox]):not([type=radio]),
.form-field input[aria-invalid=true]:not([type=checkbox]):not([type=radio]),
.form-field select[aria-invalid=true], .form-field textarea[aria-invalid=true], [aria-invalid=true] {
  border: var(--border-strong) solid var(--error);
}
.field-errors, .form-errors, .form-error, .errorlist { color: var(--error); font-weight: var(--weight-semibold); }
.field-errors, .form-errors, .form-error { margin-top: var(--space-2); }

.panel { padding: var(--space-6); border: var(--border-width) solid var(--border); border-radius: var(--radius-panel); background: var(--surface-raised); }
.panel > :last-child, .notice > :last-child { margin-bottom: 0; }
.panel--secondary, .prototype-notice, .checksum-block { color: var(--text-muted); background: var(--surface-subtle); }
.list-row { padding-block: var(--space-4); border-bottom: var(--border-width) solid var(--border); }
.empty-state { padding-block: var(--space-6); color: var(--text-muted); }
.notice, .module-state, .prototype-note { border-color: var(--info); background: var(--info-surface); color: var(--text); }
.notice--success { border-color: var(--success); background: var(--success-surface); }
.notice--warning, .duplicate-warning, .correction-warning { border-color: var(--warning); background: var(--warning-surface); }
.notice--error, .module-state--error { border-color: var(--error); background: var(--error-surface); }
.notice--info { border-color: var(--info); background: var(--info-surface); }
.access-danger { border-color: var(--error); }
.badge { display: inline-block; padding: var(--space-1) var(--space-2); border: var(--border-width) solid currentColor; border-radius: var(--radius-small); color: var(--text-muted); background: var(--surface-subtle); font: var(--weight-semibold) var(--text-small)/var(--leading-ui) var(--font-body); }
.badge--success { color: var(--success); background: var(--success-surface); }
.badge--warning { color: var(--warning); background: var(--warning-surface); }
.badge--error { color: var(--error); background: var(--error-surface); }
.badge--info { color: var(--info); background: var(--info-surface); }
.deadline--overdue { color: var(--error); font-weight: var(--weight-bold); }
.task-meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); color: var(--text-muted); }

.table-region { max-width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font: inherit; font-variant-numeric: tabular-nums; }
.data-table caption { text-align: left; padding-block: var(--space-3); font-weight: var(--weight-semibold); }
.data-table th, .data-table td { text-align: left; vertical-align: top; padding: var(--space-3); border-bottom: var(--border-width) solid var(--border); }
.data-table th { font-weight: var(--weight-semibold); }
.data-table thead { background: var(--surface-page); }
.data-table .numeric { text-align: right; }
.pagination { flex-wrap: wrap; gap: var(--space-3); }
.pagination a, .pagination [aria-current] { display: inline-flex; align-items: center; min-height: var(--control-height); padding: var(--space-2) var(--space-3); }
.pagination [aria-current] { font-weight: var(--weight-bold); text-decoration: underline; }
.campaign-actions a:not(.button), .board-page-actions a:not(.button) { display: inline-flex; align-items: center; min-height: var(--control-height); }
.site-navigation a { min-height: var(--control-height); align-content: center; }
.site-footer a { min-height: var(--control-height); padding-block: var(--space-2); }
.site-footer a:hover { color: var(--text-on-dark); }
.site-footer :focus-visible { outline-color: var(--link-on-dark); box-shadow: 0 0 0 3px var(--surface-dark); }

/* Reference specimens only; no production content or media is introduced. */
.design-reference > section { border-top: var(--border-width) solid var(--border); padding-block: var(--space-8); }
.specimen-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.specimen-grid > * { min-width: 0; }
.palette { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: var(--space-4); list-style: none; padding: 0; }
.swatch { display: block; height: 4rem; margin-bottom: var(--space-2); border: var(--border-width) solid var(--border-control); }
.swatch--green { background: var(--brand-green); }
.swatch--red { background: var(--brand-red); }
.swatch--limestone { background: var(--brand-limestone); }
.swatch--charcoal { background: var(--brand-charcoal); }
.swatch--gold { background: var(--brand-gold); }
.swatch--sky { background: var(--brand-sky); }
.swatch--brown { background: var(--brand-brown); }
.public-specimen { max-width: var(--prose-width); padding: var(--space-8); background: var(--surface-page); }
.public-specimen h2, .public-specimen h3 { font-family: var(--font-heading); }
.public-specimen h2 { font-size: var(--heading-2); }
.public-specimen .lede { font-size: var(--text-large); }
.dark-specimen { background: var(--surface-dark); color: var(--text-on-dark); padding: var(--space-6); }
.dark-specimen a { color: var(--link-on-dark); }
.dark-specimen :focus-visible { outline-color: var(--link-on-dark); box-shadow: 0 0 0 3px var(--surface-dark); }

/* Existing breakpoints stay literal: CSS variables cannot drive media queries. */
@media (max-width: 64rem) {
  .member-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-card { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
}
@media (max-width: 48rem) {
  .specimen-grid, .member-filters, .access-card { grid-template-columns: minmax(0, 1fr); }
  .review-facts div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .board-page-actions { width: 100%; }
  .board-ui .button { width: auto; }
  .board-page-actions .button { width: 100%; }
  .public-specimen { padding: var(--space-6); }
}
@media (forced-colors: active) {
  :focus-visible { outline: var(--focus-width) solid Highlight !important; box-shadow: none !important; }
  .button, .badge { border-color: ButtonText; }
  [aria-pressed=true] { outline: var(--border-strong) solid Highlight; outline-offset: -4px; }
}
@media print {
  body, .board-ui, .public-ui, .site-footer { background: white; color: black; }
}

.form-field:has(> input[type=checkbox]) > label, .form-field:has(> input[type=radio]) > label {
  display: flex; align-items: center; min-height: var(--control-height);
}
.field-requirement { color: var(--text-muted); font-size: var(--text-small); font-weight: var(--weight-normal); }
.form-error p { margin-bottom: var(--space-2); }
@media (max-width: 48rem) {
  .paired-sections h2, .relationship-flow h2 { font-size: var(--heading-2); hyphens: auto; }
}
.teaser h3 a { text-decoration-color: currentColor; }

/* Board UX: shared wayfinding, work summaries and secondary disclosure. */
.section-navigation { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); padding-bottom: var(--space-3); margin-bottom: var(--space-6); border-bottom: var(--border-width) solid var(--border); }
.section-navigation a { display: inline-flex; align-items: center; min-height: var(--control-height); padding: var(--space-2); text-decoration: none; }
.section-navigation a[aria-current] { color: var(--text); font-weight: var(--weight-bold); border-bottom: var(--border-strong) solid var(--action-primary); }
.section-navigation a:hover { text-decoration: underline; }
.board-navigation__admin { margin-left: auto; padding-left: var(--space-6); border-left: var(--border-width) solid var(--border); }
.board-account summary, .disclosure > summary { cursor: pointer; min-height: var(--control-height); padding-block: var(--space-3); font-weight: var(--weight-semibold); }
.board-account .board-identity { padding-block: var(--space-3); }
.board-main { padding-block: var(--space-8); }
.board-menu-location { font-weight: var(--weight-normal); }
.work-overview { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-12); }
.work-overview > section { min-width: 0; margin-top: 0; }
.work-overview h3 { margin-top: var(--space-6); }
.work-list { list-style: none; padding: 0; }
.work-list li { display: grid; gap: var(--space-1); padding-block: var(--space-3); border-bottom: var(--border-width) solid var(--border); }
.work-list span { color: var(--text-muted); font-size: var(--text-small); }
.work-list .deadline--overdue { color: var(--error); }
.work-list a { min-height: var(--control-height); align-content: center; }
.disclosure { margin-block: var(--space-6); padding: var(--space-3) var(--space-4); border-block: var(--border-width) solid var(--border); background: var(--surface-subtle); }
.disclosure > summary { color: var(--text); }
.disclosure > .workspace-section { margin-top: 0; }
.section-jumps { margin-block: var(--space-4); }
.section-jumps a { font-size: var(--text-small); }

/* Board subpages: relevant work areas adapt without becoming dashboard widgets. */
.adaptive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-6);
  margin-block: var(--space-8);
}
.adaptive-grid > * { min-width: 0; }
.adaptive-grid__area {
  padding: var(--space-6);
  border: var(--border-width) solid var(--border);
  border-radius: var(--radius-panel);
  background: var(--surface-raised);
}
.adaptive-grid__area--wide { grid-column: 1 / -1; }
.adaptive-grid__area > :first-child { margin-top: 0; }
.adaptive-grid__area > :last-child { margin-bottom: 0; }
.adaptive-grid__area h2 { margin-bottom: var(--space-4); }
.board-page-header--compact { margin-bottom: var(--space-4); }
.summary-facts { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); padding: 0; margin-block: var(--space-3) 0; color: var(--text-muted); list-style: none; }
.compact-facts { display: grid; gap: var(--space-3); margin: 0; }
.compact-facts div { display: grid; gap: var(--space-1); }
.compact-facts dt { color: var(--text-muted); font-size: var(--text-small); }
.compact-facts dd { margin: 0; font-weight: var(--weight-semibold); }
.compact-facts--inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-link-list, .compact-fact-list, .meeting-agenda-list { padding: 0; margin: 0; list-style: none; }
.compact-link-list li, .compact-fact-list li { display: flex; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-3); border-bottom: var(--border-width) solid var(--border); }
.compact-link-list li:last-child, .compact-fact-list li:last-child { border-bottom: 0; }
.compact-link-list li > span, .compact-link-list li > .meta { color: var(--text-muted); font-size: var(--text-small); text-align: right; }
.area-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin-top: var(--space-4); }
.area-actions form { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.area-action { display: inline-flex; align-items: center; min-height: var(--control-height); font-weight: var(--weight-semibold); }
.link-button { min-height: var(--control-height); padding: var(--space-2); border: 0; background: transparent; color: var(--link); font: inherit; text-decoration: underline; cursor: pointer; }
.link-button:hover { color: var(--action-hover); text-decoration-thickness: .15em; }
.subtle-disclosure { margin-top: var(--space-4); border-top: var(--border-width) solid var(--border); }
.subtle-disclosure summary { min-height: var(--control-height); padding-block: var(--space-3); cursor: pointer; font-weight: var(--weight-semibold); }
.meeting-agenda-list > li { position: relative; padding-block: var(--space-2); border-bottom: var(--border-width) solid var(--border); }
.meeting-agenda-list > li:last-child { border-bottom: 0; }
.meeting-agenda-list h3, .meeting-agenda-list p { margin-block: var(--space-1); }
.project-summary { max-width: var(--prose-width); }
.project-phase { padding-block: var(--space-6); border-top: var(--border-width) solid var(--border); }
.project-phase:first-of-type { border-top: 0; }
.project-structure .task-row { padding-left: var(--space-3); }
.current-state { margin-block: var(--space-2); font-size: var(--text-large); font-weight: var(--weight-semibold); }
.adaptive-grid.person-sections > section { padding: var(--space-6); border: var(--border-width) solid var(--border); }
.adaptive-grid.person-sections > section:last-child { grid-column: auto; }
.person-history section + section { margin-top: var(--space-8); }
.member-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-3); margin-block: var(--space-6); }
.member-search > .form-field { margin: 0; }
.member-filter-details, .member-search > .clear-filters { grid-column: 1 / -1; }
.member-filter-details { margin-block: var(--space-2); }
.member-filter-details .member-filters { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; padding-block: var(--space-4) 0; border: 0; }
.editorial-destinations > ul.adaptive-grid { border-top: 0; }
.editorial-destinations > ul.adaptive-grid > li { display: flex; align-items: flex-start; padding: var(--space-6); border: var(--border-width) solid var(--border); }
.editorial-destinations > ul.adaptive-grid > li > div { min-width: 0; }
.campaign-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.campaign-summary > div { min-width: 0; }
.board-ui :is(.board-shell, .board-brand, .board-account) { min-width: 0; overflow-wrap: anywhere; }
.board-ui :is(.board-page-header, .board-page-actions, .section-heading-row) { flex-wrap: wrap; }

/* Inline quick actions: compact, server-rendered and progressively enhanced. */
.task-group { padding-block: var(--space-4); margin-top: 0; border-top: 0; }
.task-group + .task-group { border-top: var(--border-width) solid var(--border); }
.task-group-grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-4); }
.task-group-grid > .task-group { min-width: 0; padding: var(--space-4); border: var(--border-width) solid var(--border); border-radius: var(--radius-small); background: var(--surface-raised); }
.task-group-grid > .task-group + .task-group { border-top: var(--border-width) solid var(--border); }
.task-group-grid > .empty-state { grid-column: 1 / -1; }
.task-group-grid .task-group__heading h2 { font-size: 1.125rem; }
.task-group-grid .inline-editor { grid-template-columns: minmax(0, 1fr); }
.task-group-grid .inline-editor__actions { flex-wrap: wrap; }
.task-group > .section-heading-row { align-items: center; gap: var(--space-2); }
.task-group > .section-heading-row h2 { margin-block: 0; }
.task-group > .section-heading-row span { color: var(--text-muted); font-size: var(--text-small); }
.task-group__heading .context-link { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; margin-left: auto; border-radius: var(--radius-small); color: var(--text-muted); text-decoration: none; }
.task-group__heading .context-link:hover { color: var(--action-hover); }
.task-group__empty { margin-block: var(--space-2) 0; color: var(--text-muted); font-size: var(--text-small); }
.task-group__rows { min-width: 0; }
.task-group .task-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-2); padding-block: var(--space-2); border-top: 0; border-bottom: var(--border-width) solid color-mix(in srgb, var(--border) 65%, transparent); }
.task-row__primary { display: flex; align-items: flex-start; gap: var(--space-1); min-width: 0; }
.task-row__content { flex: 1; min-width: 0; }
.task-completion { flex: 0 0 auto; margin: 0; }
.task-checkbox {
  display: inline-grid;
  position: relative;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: transparent;
  cursor: pointer;
  font: inherit;
  font-weight: var(--weight-bold);
}
.task-checkbox::before { position: absolute; width: 1.25rem; height: 1.25rem; border: 1.5px solid var(--border-control); border-radius: 50%; content: ""; }
.task-checkbox > span { position: relative; font-size: .75rem; line-height: 1; }
.home-list__task-row .task-checkbox > span { color: inherit; }
.task-checkbox:hover::before { border-color: var(--action-hover); background: var(--surface-page); }
.task-checkbox--checked { color: var(--success); }
.task-checkbox--checked::before { border-color: color-mix(in srgb, var(--success) 65%, var(--border)); background: var(--success-surface); }
.task-checkbox--inactive { cursor: default; }
.task-checkbox--inactive::before { border-style: dashed; }
.task-group .task-row h3, .task-group .task-row p { margin-block: 0; }
.task-group .task-row h3 { padding-top: .32rem; font-size: var(--text-base); line-height: 1.35; }
.task-group .task-row h3 a { color: var(--text); text-decoration: none; }
.task-group .task-row h3 a:hover { color: var(--action-hover); }
.task-group .task-row h3 a:focus-visible { border-radius: var(--radius-small); outline: var(--focus-width) solid var(--focus); outline-offset: var(--focus-offset); }
.task-group .task-row__context { margin-top: var(--space-1) !important; line-height: 1.35; }
.task-group .task-row--completed { opacity: .72; }
.task-group .task-row--completed h3 a { color: var(--text-muted); text-decoration-line: line-through; text-decoration-thickness: 1px; }
.inline-launcher { margin: 0; }
.quick-add { display: flex; width: 100%; min-height: var(--control-height); align-items: center; justify-content: flex-start; padding-inline: var(--space-2); font-weight: var(--weight-semibold); text-decoration: none; }
.quick-add:hover { background: var(--surface-subtle); text-decoration: none; }
.inline-editor-host[hidden] { display: none; }
.inline-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--space-2);
  margin-block: var(--space-2);
}
.inline-editor__field { min-width: 0; }
.inline-editor__field input, .inline-editor__field select {
  width: 100%;
  min-height: var(--control-height);
  padding: var(--space-2) var(--space-3);
  border: var(--border-width) solid var(--border-control);
  border-radius: var(--radius-small);
  background: var(--surface-raised);
  color: var(--text);
  font: inherit;
}
.inline-editor__actions { display: flex; align-items: center; gap: var(--space-2); }
.inline-editor__actions .button { min-height: var(--control-height); padding: var(--space-2) var(--space-3); }
.inline-editor__status { color: var(--text-muted); font-size: var(--text-small); }
.inline-editor__error { grid-column: 1 / -1; color: var(--error); font-size: var(--text-small); }
.inline-editor__error .errorlist { margin: 0; padding-left: var(--space-4); }
.inline-editor--agenda { grid-template-columns: auto minmax(0, 1fr) auto; }
.inline-editor--meeting-task { grid-template-columns: minmax(12rem, .72fr) minmax(0, 1.28fr); }
.inline-editor--meeting-task .inline-editor__field label { display: block; margin-bottom: var(--space-1); font-size: var(--text-small); font-weight: var(--weight-semibold); }
.inline-editor--meeting-task .inline-editor__field--project { grid-column: 1; }
.inline-editor--meeting-task .inline-editor__field--task,
.inline-editor--meeting-task .inline-editor__actions { grid-column: 1 / -1; }
.inline-editor__position { min-width: 1.5rem; padding-top: var(--space-2); font-weight: var(--weight-semibold); }
.agenda-item__row { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: start; gap: var(--space-1); min-width: 0; }
.agenda-item__number { min-width: 1.5rem; padding-block: .45rem; color: var(--text-muted); font-weight: var(--weight-semibold); line-height: 1.35; }
.agenda-item__content { min-width: 0; }
.agenda-item__content h3 { padding-block: .45rem; margin: 0; font-size: var(--text-base); line-height: 1.35; }
.agenda-item__content h3 a { color: var(--text); text-decoration: none; }
.agenda-item__content h3 a:hover { color: var(--action-hover); }
.agenda-item__content h3 a:focus-visible { border-radius: var(--radius-small); outline: var(--focus-width) solid var(--focus); outline-offset: var(--focus-offset); }
.agenda-item .inline-editor { margin: 0; }
.agenda-item__content .inline-editor--agenda { grid-template-columns: minmax(0, 1fr) auto; }
.agenda-item__details { padding-left: calc(2.5rem + 1.5rem + (2 * var(--space-1))); color: var(--text-muted); }
.agenda-drag-handle { display: inline-grid; width: 2.5rem; height: 2.5rem; place-items: center; padding: 0; border: 0; background: transparent; color: var(--text-muted); cursor: grab; font: inherit; font-size: 1.25rem; touch-action: manipulation; }
.agenda-drag-handle:hover { color: var(--action-hover); background: var(--surface-subtle); }
.agenda-drag-handle:active { cursor: grabbing; }
.agenda-item--dragging { opacity: .52; background: var(--surface-subtle); }
.agenda-item--drop-target { box-shadow: inset 0 2px 0 var(--action-primary); }
.meeting-agenda-list--dragging { cursor: grabbing; }

/* Shared native overflow menu; links and forms remain usable without JavaScript. */
.overflow-menu { position: relative; flex: 0 0 auto; }
.overflow-menu > summary { list-style: none; }
.overflow-menu > summary::-webkit-details-marker { display: none; }
.overflow-menu__trigger { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: var(--radius-small); color: var(--text-muted); cursor: pointer; font-size: 1.25rem; line-height: 1; }
.overflow-menu__trigger:hover, .overflow-menu[open] > .overflow-menu__trigger { background: var(--surface-subtle); color: var(--text); }
.overflow-menu__panel { position: absolute; z-index: 20; top: calc(100% + var(--space-1)); right: 0; min-width: 10.5rem; padding: var(--space-1); border: var(--border-width) solid var(--border-control); border-radius: var(--radius-small); background: var(--surface-raised); box-shadow: 0 .35rem 1rem color-mix(in srgb, var(--brand-charcoal) 14%, transparent); }
.overflow-menu__panel a, .overflow-menu__panel button { display: flex; width: 100%; min-height: 2.5rem; align-items: center; padding: var(--space-2) var(--space-3); border: 0; border-radius: var(--radius-small); background: transparent; color: var(--text); cursor: pointer; font: inherit; text-align: left; text-decoration: none; white-space: nowrap; }
.overflow-menu__panel a:hover, .overflow-menu__panel button:hover { background: var(--surface-subtle); color: var(--action-hover); }
.overflow-menu__panel form { margin: 0; }
.planning-tools { margin-top: var(--space-4); border-top: var(--border-width) solid var(--border); }
.planning-tools > summary { min-height: var(--control-height); padding-block: var(--space-3); color: var(--text-muted); cursor: pointer; font-size: var(--text-small); }
.planning-tools p { margin-block: var(--space-2); font-size: var(--text-small); }

/* Reusable board drawer: server-rendered content with same-origin enhancement only. */
.task-drawer[hidden] { display: none; }
.task-drawer { position: fixed; inset: 0; z-index: 100; }
.task-drawer__backdrop {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  background: color-mix(in srgb, var(--brand-charcoal) 42%, transparent);
}
.task-drawer__panel {
  width: min(32rem, 100%);
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--space-6);
  border-left: var(--border-width) solid var(--border-control);
  background: var(--surface-raised);
  box-shadow: -0.5rem 0 1.5rem color-mix(in srgb, var(--brand-charcoal) 18%, transparent);
}
.task-drawer-open { overflow: hidden; }
.task-drawer__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: var(--border-width) solid var(--border);
}
.task-drawer__header h2, .task-drawer__header p { margin-block: 0; }
.task-drawer__header h2 { margin-top: var(--space-1); font-size: var(--heading-3); }
.task-drawer__close {
  min-width: var(--control-height);
  min-height: var(--control-height);
  padding: var(--space-2);
  border: var(--border-width) solid var(--action-secondary);
  border-radius: var(--radius-small);
  background: var(--surface-raised);
  color: var(--action-secondary);
  cursor: pointer;
  font: inherit;
  font-weight: var(--weight-semibold);
  white-space: nowrap;
}
.task-drawer__close:hover { background: var(--surface-page); color: var(--action-hover); }
.task-drawer__status { min-height: var(--space-6); color: var(--text-muted); font-size: var(--text-small); }
.task-drawer__loading { padding-block: var(--space-12); color: var(--text-muted); text-align: center; }
.task-drawer__form { margin-top: var(--space-6); }
.task-drawer__form textarea { min-height: 7rem; }
.task-drawer__form fieldset { padding: var(--space-2) var(--space-4); }
.task-drawer__form fieldset label { margin: 0; }
.task-drawer__actions {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-top: var(--border-width) solid var(--border);
  background: var(--surface-raised);
}
.task-drawer__save-feedback { color: var(--text-muted); font-size: var(--text-small); }
.task-drawer__facts, .task-drawer__description, .task-drawer__context { margin-top: var(--space-6); }
.task-drawer__context { padding-top: var(--space-6); border-top: var(--border-width) solid var(--border); color: var(--text-muted); }
.task-drawer__context h3 { margin-top: 0; color: var(--text); }
.task-drawer__history-link { padding-top: var(--space-4); border-top: var(--border-width) solid var(--border); }
.task-actions a[data-task-drawer-link] { display: inline-block; min-height: var(--control-height); align-content: center; }
@media (min-width: 48.01rem) {
  .task-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 80rem) {
  .task-group-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 48rem) {
  .work-overview { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .work-overview .workspace-section { padding-block: var(--space-6); }
  .board-navigation__admin { margin-left: 0; padding-left: 0; border-left: 0; }
  .board-navigation__panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-4); }
  .board-navigation a { height: 100%; align-content: center; }
  .board-header__inner { padding-block: var(--space-3); }
  .board-account { margin-top: var(--space-2); }
  .board-account .board-identity { display: flex; flex-wrap: wrap; margin-top: 0; }
  .board-main { padding-block: var(--space-6); }
  .board-navigation--mobile summary { display: list-item; width: fit-content; margin-left: var(--space-6); }
  .campaign-summary { grid-template-columns: minmax(0, 1fr); }
  .section-navigation { gap: var(--space-2); }
  .adaptive-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .adaptive-grid__area--wide { grid-column: auto; }
  .compact-facts--inline, .member-filter-details .member-filters { grid-template-columns: minmax(0, 1fr); }
  .compact-link-list li, .compact-fact-list li { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
  .compact-link-list li > span, .compact-link-list li > .meta { text-align: left; }
  .member-search { grid-template-columns: minmax(0, 1fr); }
  .member-search > * { grid-column: 1; }
  .member-search > .button { width: 100%; }
  .task-drawer__panel { width: 100%; padding: var(--space-4); border-left: 0; }
  .task-group-grid .task-group__heading { align-items: center; flex-direction: row; }
  .inline-editor, .inline-editor--agenda, .inline-editor--meeting-task { grid-template-columns: minmax(0, 1fr); }
  .inline-editor__position { display: none; }
  .inline-editor__actions { flex-wrap: wrap; }
  .inline-editor__status { flex-basis: 100%; }
  .agenda-item__row { grid-template-columns: auto auto minmax(0, 1fr) auto; }
  .agenda-item__details { padding-left: 0; }
  .task-group .task-row { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-1); }
.task-group__heading .context-link span { font-size: var(--text-base); }
}

@media (max-width: 48rem) {
  .membership-status dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .membership-status dl > div:last-child:nth-child(3) { grid-column: 1 / -1; }
  .person-sections > section { padding-block: var(--space-6); }
}

/* Segmented response: text, pressed state and a stable two-pixel selected border. */
.segmented-response { display: flex; gap: var(--space-1); justify-content: center; }
.segmented-response button { white-space: nowrap; flex-shrink: 0; min-width: var(--control-height); min-height: var(--control-height); padding: var(--space-2); border: 2px solid var(--border-control); background: var(--surface-raised); color: var(--text); font: inherit; border-radius: var(--radius-small); cursor: pointer; }
.segmented-response button[aria-pressed=true] { background: var(--action-primary); color: var(--action-text); border-color: var(--action-primary); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.segmented-response button:hover { text-decoration: underline; border-color: var(--action-primary); }
.segmented-response button:disabled { cursor: wait; border-style: dashed; }
.candidate-summary { display: grid; grid-template-columns: repeat(2, max-content); justify-content: center; gap: var(--space-1) var(--space-2); margin-top: var(--space-3); font-size: var(--text-small); font-weight: 400; }
@media (forced-colors: active) {
  .segmented-response button[aria-pressed=true] { outline: 2px solid Highlight; outline-offset: -5px; }
}
