/* Loaded globally; staff rules stay inside the workspace boundary. */
.dashboard-page {
  --workspace-surface: #f4f9f8;
  --workspace-ink: #1d3e40;
  --workspace-border: #c4d8d7;
  background: #e6f0ef;
  padding-block: 2rem 3rem;
  letter-spacing: 0;
}

.dashboard-page > .container-xl { max-width: 95rem; }
.dashboard-page .dashboard-layout { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 2rem; }
.dashboard-page .dashboard-sidebar { align-self: stretch; min-width: 0; }
.dashboard-page .dashboard-sidebar__inner {
  position: sticky;
  top: 6.5rem;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--workspace-border);
  border-radius: 0;
  box-shadow: none;
  padding: .5rem 1rem .75rem 0;
}
.dashboard-page .dashboard-sidebar__nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; }
.dashboard-page .dashboard-sidebar__link {
  min-height: 2.75rem;
  display: flex;
  align-items: center;
  padding: .6rem .75rem;
  border-radius: 4px;
  font-size: .875rem;
  color: var(--workspace-ink);
}
.dashboard-page .dashboard-sidebar__link span { font-weight: 600; }
.dashboard-page .dashboard-sidebar__link.is-active {
  background: #1d3e40;
  color: #fff;
  box-shadow: inset 3px 0 0 #8fdcdf;
  border-color: #1d3e40;
}
.dashboard-page .dashboard-layout__main { min-width: 0; }
.dashboard-page :is(h1, h2, h3, h4, p, a, label, th, td, .badge, .btn, summary) { overflow-wrap: anywhere; letter-spacing: 0; }
.dashboard-page h1 { font-size: 1.75rem; line-height: 1.2; margin-bottom: .5rem; }
.dashboard-page :is(h2, .h3, .h4) { font-size: 1.125rem; line-height: 1.4; }
.dashboard-page :is(h3, .h5) { font-size: 1rem; line-height: 1.4; }
.dashboard-page .lead { font-size: 1rem; line-height: 1.55; max-width: 65ch; }
.dashboard-page .eyebrow { font-size: .75rem; margin-bottom: .5rem; }
.dashboard-page :is(.btn, .badge, .type-pill, .status-pill) { white-space: normal; }
.dashboard-page .btn { min-height: 2.75rem; display: inline-flex; justify-content: center; align-items: center; gap: .375rem; }
.dashboard-page :is(a, button, summary, input, select, textarea, [tabindex="0"]):focus-visible { outline: 3px solid #226a9b; outline-offset: 3px; }
.dashboard-page .dashboard-chip { background: transparent; border: 0; padding-inline: 0; align-self: start; font-size: .875rem; }
.dashboard-page .dashboard-stat {
  min-height: 7.5rem;
  height: 100%;
  padding: 1rem;
  background: var(--workspace-surface);
  border: 1px solid var(--workspace-border);
  border-left: 3px solid #317f81;
  border-radius: 4px;
  box-shadow: none;
}
.dashboard-page .dashboard-stat::after { content: none; }
.dashboard-page .dashboard-stat--info { border-left-color: #286797; }
.dashboard-page .dashboard-stat--warning { border-left-color: #9d4b32; }
.dashboard-page .dashboard-stat--success { border-left-color: #267850; }
.dashboard-page .dashboard-stat--danger { border-left-color: #b02a37; }
.dashboard-page .dashboard-stat p { font-size: .8125rem; text-transform: none; letter-spacing: 0; }
.dashboard-page .dashboard-stat strong { font-size: 1.875rem; line-height: 1.2; margin: .375rem 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dashboard-page .dashboard-stat span { font-size: .8125rem; line-height: 1.4; }
/* Content sections are unframed. Only repeated metrics, images and controls have frames. */
.dashboard-page .dashboard-panel { border: 0; border-top: 1px solid var(--workspace-border); border-radius: 0; background: transparent; box-shadow: none; padding: 1.25rem 0 0; }
.dashboard-page .dashboard-panel.h-100 { height: auto !important; }
.dashboard-page .dashboard-table { --bs-table-bg: transparent; --bs-table-hover-bg: #d7e8e7; font-size: .875rem; }
.dashboard-page .dashboard-table :is(th, td) { padding: .875rem .75rem; border-color: var(--workspace-border); }
.dashboard-page .dashboard-table thead { background: #d4e5e4; color: #1d3e40; }
.dashboard-page .dashboard-table th { font-weight: 600; white-space: nowrap; }
.dashboard-page .dashboard-table td { min-width: 7rem; }
.dashboard-page .dashboard-table .text-end { font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-page .table-responsive { border-radius: 4px; }
.dashboard-page .dashboard-bars__row { grid-template-columns: 3rem minmax(2rem, 1fr) 2rem minmax(2rem, 1fr) 4rem; gap: .5rem; }
.dashboard-page .dashboard-bars__value { font-variant-numeric: tabular-nums; }
.dashboard-page .dashboard-bars__row { grid-template-columns: 3rem minmax(2rem, 1fr) 2rem minmax(8rem, 1fr); }
.dashboard-page .workspace-revenue-values { display: grid; gap: .2rem; font-size: .8125rem; font-variant-numeric: tabular-nums; }
.dashboard-page .dashboard-stat--success strong { font-size: 1.25rem; }
.dashboard-page .workspace-history-item { padding: 1rem 0; border-bottom: 1px solid var(--workspace-border); }
.dashboard-page .workspace-history-item summary { cursor: pointer; min-height: 2.75rem; }
.dashboard-page :is(.content-admin-card, .dashboard-event-card) {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) minmax(5.5rem, auto);
  gap: 1rem;
  padding: 1rem 0;
  border: 0;
  border-bottom: 1px solid var(--workspace-border);
  border-radius: 0;
  background: transparent;
  align-items: start;
  box-shadow: none;
}
.dashboard-page :is(.content-admin-card.is-hidden, .dashboard-calendar__event.is-hidden) { opacity: 1; }
.dashboard-page :is(.content-admin-list, .dashboard-event-group .vstack) { gap: 0 !important; }
.dashboard-page :is(.content-admin-card__media, .dashboard-event-card__media) { min-height: 0; height: auto; aspect-ratio: 1; background: #d7e8e7; border-radius: 4px; }
.dashboard-page :is(.content-admin-card__media, .dashboard-event-card__media) img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.dashboard-page .dashboard-event-card__placeholder { height: 100%; min-height: 0; font-size: .75rem; }
.dashboard-page :is(.content-admin-card__actions, .dashboard-event-card__actions) { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; min-width: 0; }
.dashboard-page :is(.content-admin-card__actions, .dashboard-event-card__actions) form { margin: 0; }
.dashboard-page .workspace-confirm summary { color: #8e3829; cursor: pointer; padding: .65rem .5rem; font-size: .8125rem; min-height: 2.75rem; }
.dashboard-page .workspace-confirm[open] { max-width: 13rem; }
.dashboard-page .workspace-confirm p { font-size: .8125rem; margin: .25rem 0 .75rem; }
.dashboard-page .workspace-confirm button { width: 100%; }
.dashboard-page .dashboard-poster { min-height: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; }
.dashboard-page .dashboard-poster img { width: auto; max-width: 100%; height: auto; max-height: 34rem; border-radius: 6px; }
.dashboard-page .dashboard-poster__edit { flex: 0 0 auto; min-width: 3.5rem; }
.dashboard-page .dashboard-calendar-panel { overflow: visible; }
.dashboard-page .dashboard-calendar-toolbar { gap: .75rem; }
.dashboard-page .dashboard-calendar-toolbar .btn-group { display: inline-flex; flex-wrap: nowrap; width: auto; }
.dashboard-page .dashboard-calendar-toolbar .btn-group .btn { min-width: 2.75rem; }
/* Contain absolutely positioned screen-reader labels inside the scroll region. */
.dashboard-page .workspace-calendar-scroll { position: relative; overflow-x: auto; padding: 3px; border: 1px solid var(--workspace-border); border-radius: 6px; }
/* Keep weekday context on phones: only the calendar scrolls, never the page. */
.dashboard-page .dashboard-calendar { min-width: 49rem; margin: 0; border: 0; border-radius: 3px; }
.dashboard-page :is(.dashboard-calendar__weekdays, .dashboard-calendar__week) { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.dashboard-page .dashboard-calendar__weekday { background: #1d3e40; font-size: .75rem; text-transform: none; padding: .625rem .5rem; }
.dashboard-page .dashboard-calendar__day { min-height: 7.5rem; padding: .5rem; gap: .375rem; }
.dashboard-page .dashboard-calendar__day.is-muted.is-empty { display: flex; }
.dashboard-page .dashboard-calendar__date { flex-wrap: wrap; justify-content: space-between; font-size: .875rem; }
.dashboard-page .dashboard-calendar__date time { font-weight: 700; }
.dashboard-page .dashboard-calendar__date small { text-transform: none; border-radius: 4px; color: #843b27; }
.dashboard-page .dashboard-calendar__event { min-height: 2.75rem; font-size: .8125rem; line-height: 1.35; }
.dashboard-page .dashboard-calendar__event-title { white-space: normal; overflow: visible; text-overflow: clip; font-weight: 600; }
.dashboard-page .dashboard-calendar__event small { font-size: .6875rem; }
.dashboard-page .dashboard-calendar__empty { font-size: .6875rem; }
.dashboard-page .workspace-calendar-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; padding: 0; margin: .875rem 0 0; font-size: .75rem; }
.dashboard-page .workspace-calendar-legend li { border-left: 3px solid #317f81; padding-left: .5rem; }
.dashboard-page .workspace-calendar-legend .calendar-kind-board_meeting { border-color: #002f5e; }
.dashboard-page .workspace-calendar-legend .calendar-kind-race_prep { border-color: #9d4b32; }
.dashboard-page .workspace-calendar-legend .calendar-kind-volunteer { border-color: #267850; }
.dashboard-page .launch-check { background: transparent; border: 0; border-bottom: 1px solid var(--workspace-border); border-radius: 0; padding: .875rem 0; grid-template-columns: 5.5rem minmax(0, 1fr); }
.dashboard-page .workspace-form { max-width: 62rem; }
.dashboard-page .workspace-form :is(input, select, textarea) { max-width: 100%; min-width: 0; }
.dashboard-page .workspace-form .form-control { background: #f8fcfb; }
.dashboard-page .workspace-form :is(.form-label, .form-check-label) { font-size: .875rem; font-weight: 600; }
.dashboard-page .workspace-form .form-text { font-size: .8125rem; overflow-wrap: anywhere; }
.dashboard-page .workspace-required { font-size: .75rem; color: #52676c; font-weight: 400; }
.dashboard-page .workspace-errors a { color: inherit; }
.dashboard-page .workspace-form-section { border-bottom: 1px solid var(--workspace-border); padding-bottom: .5rem; margin: .5rem 0 0; }
.dashboard-page .workspace-form-actions { border-top: 1px solid var(--workspace-border); padding-top: 1rem; }
.dashboard-page .workspace-content-jump { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; border-bottom: 1px solid var(--workspace-border); padding-block: 1rem; font-size: .875rem; }
.dashboard-page [id^="content-"] { scroll-margin-top: 7rem; }

@media (max-width: 1199.98px) {
  .dashboard-page .dashboard-layout { grid-template-columns: 11rem minmax(0, 1fr); gap: 1.25rem; }
}
@media (max-width: 991.98px) {
  .dashboard-page .dashboard-layout { grid-template-columns: minmax(0, 1fr); }
  .dashboard-page .dashboard-sidebar__inner { position: static; border: 0; border-bottom: 1px solid var(--workspace-border); padding: 0 0 1rem; }
  .dashboard-page .dashboard-sidebar__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
}
@media (max-width: 575.98px) {
  .dashboard-page { padding-block: 1.25rem 2rem; }
  .dashboard-page .dashboard-sidebar__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-page .dashboard-sidebar__link { font-size: .8125rem; padding: .5rem; }
  .dashboard-page :is(.content-admin-card, .dashboard-event-card) { grid-template-columns: 3.5rem minmax(0, 1fr); gap: .75rem; }
  .dashboard-page :is(.content-admin-card__actions, .dashboard-event-card__actions) { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
  .dashboard-page .dashboard-bars__row { grid-template-columns: 2.5rem minmax(0, 1fr) 4.5rem; gap: .5rem; }
  .dashboard-page .dashboard-bars__label { grid-row: span 2; }
  .dashboard-page .dashboard-bars__row .dashboard-bars__track:nth-child(4) { grid-column: 2; display: block; }
  .dashboard-page .dashboard-bars__row .dashboard-bars__value:nth-child(5) { display: block; }
  .dashboard-page .workspace-revenue-values { grid-column: 2 / -1; }
}
