/* Grid gaps provide spacing inside grids; block cards keep their stack margins. */
:is(.resource-summary, .admin-main-grid, .committee-manage-grid, .extra-play-grid, .content-list, .feedback-list, .module-grid, .schedule-grid, .admin-grid, .guess-side) > .card {
  margin-top: 0;
  min-width: 0;
}
:is(.form-grid, .form-grid-3, .backup-filters, .committee-visual-grid) > .field {
  margin-top: 0;
  align-self: start;
}
.backup-filters { align-items: start; gap: 16px; }
.field-label { min-height: 1.5em; line-height: 1.5; }
.field > :is(.input, .select, .textarea), .account-search { width: 100%; min-width: 0; max-width: 100%; }
:is(.card-header, .resource-heading, .permission-toolbar, .group-head, .race-panel-heading) > * { min-width: 0; }
:is(.card-header, .resource-heading, .permission-toolbar, .group-head) { gap: 12px; flex-wrap: wrap; }
:is(.card-header, .resource-heading, .page-header, .group-head) :is(h1, h2, h3, p),
:is(.permission-user-identity, .committee-manage-head, .account-game-card) :is(strong, small) { overflow-wrap: anywhere; }
.permission-user-identity { flex-wrap: nowrap; min-width: 0; }
.permission-user-identity > .account-avatar {
  flex: 0 0 42px; width: 42px; height: 42px; min-width: 42px; aspect-ratio: 1;
}
.permission-user-identity > .status-chip { flex: none; }
.account-avatar { aspect-ratio: 1; flex-shrink: 0; }
.account-avatar img { object-fit: cover; }
.permission-committee-list { display: grid; justify-items: end; gap: 8px; min-width: 0; }
.permission-grant-controls { display: grid; grid-template-columns: minmax(0, 340px) auto; align-items: center; justify-content: end; gap: 8px; width: min(100%, 450px); min-width: 0; }
.permission-grant-controls :is(.select, .input) { width: 100%; min-width: 0; }
.permission-granted-list { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }
.permission-granted-item { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 7px 10px; background: rgba(39, 65, 78, .4); border: 1px solid var(--line); border-radius: 4px; font-size: 12px; }
.permission-granted-item .btn { min-height: 28px; padding: 4px 8px; font-size: 11px; }
.permission-empty { color: var(--muted-2); font-size: 12px; }
.permission-user-list {
  max-height: min(var(--permission-visible-height, 941px), 70vh);
  overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable;
  padding-right: 4px; align-content: start;
}
.owned-committee-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 370px), 1fr)); gap: 16px; }
.owned-committee-card { overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: rgba(7, 19, 27, .4); }
.owned-committee-preview { height: clamp(110px, 12vw, 170px); overflow: hidden; }
.owned-committee-preview img { width: 100%; height: 100%; object-fit: cover; }
.owned-committee-details { padding: 18px; min-width: 0; }
.owned-committee-heading { display: flex; gap: 12px; align-items: center; }
.owned-committee-heading > div { min-width: 0; }
.owned-committee-heading h3 { margin: 0 0 8px; font-size: 18px; overflow-wrap: anywhere; }
.owned-committee-details > p { color: var(--muted); line-height: 1.65; overflow-wrap: anywhere; }
.owned-committee-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.owned-committee-readonly { display: block; margin-top: 12px; color: var(--muted-2); }
.race-home-primary, .race-home-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.race-home-editorial { align-items: start; }
.race-home-primary > *, .race-home-side > * { margin-top: 0; }
.race-home-news-grid { align-items: stretch; }
.race-home-news-card[data-home-notice] { height: 100%; }
.race-home-news-card .race-notice-excerpt { width: 100%; min-height: 3.3em; }
.race-panel-heading { flex-wrap: wrap; }
.race-panel-heading h2 { line-height: 1.4; }
.race-panel-heading :is(a, p) { white-space: normal; }
:is(.form-grid, .form-grid-3, .resource-summary, .account-stat-grid, .committee-manage-grid, .extra-play-grid) > * { min-width: 0; }
:is(.table-wrap, .resource-table-wrap, .entrant-table-wrap) { max-width: 100%; overscroll-behavior-inline: contain; }
.modal-body { overflow-wrap: anywhere; }
.modal-body .form-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
@media (max-width: 900px) {
  .permission-committee-list { justify-items: start; }
  .permission-grant-controls, .permission-granted-list { justify-content: start; }
  .resource-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .resource-metric { padding: 18px; }
  .resource-metric strong { font-size: clamp(19px, 2.6vw, 26px); }
}
@media (max-width: 700px) {
  .resource-summary { grid-template-columns: minmax(0, 1fr); }
  .resource-metric { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .race-home-primary, .race-home-side { gap: 14px; }
  .permission-user-identity { flex-wrap: wrap; }
  .permission-user-identity > .status-chip { margin-left: 54px; }
  .permission-grant-controls :is(.select, .input) { max-width: none; }
  :is(.resource-heading, .card-header) .button-group { flex-wrap: wrap; }
}
@media (max-width: 460px) {
  .permission-user-row { padding: 14px; }
  .backup-filters { gap: 14px; }
  .resource-runtime-grid { gap: 8px; }
  .resource-runtime-metric { padding: 12px 10px; }
  .resource-runtime-metric strong { font-size: clamp(17px, 5vw, 21px); }
  .race-home-editorial { margin-inline: 14px; }
  .race-home-primary > :is(.race-home-news, .race-home-focus), .race-home-side > .race-home-data { padding: 16px; }
  .race-home-news-card .race-notice-excerpt { min-height: 0; }
  .modal-body .form-grid-3 { grid-template-columns: minmax(0, 1fr); }
}
