/* Portal workspace controls, shared by light and dark themes. */
.admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) {
  display:flex; flex-wrap:wrap; align-items:end; gap:10px; padding:12px;
}
.admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) > label {
  flex:1 1 140px; min-width:0; margin:0;
}
.admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) > label:first-child {
  flex:3 1 260px;
}
.admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) :is(input,select) {
  width:100%; min-height:38px; font-size:.82rem;
}
.admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) > button { min-height:38px; flex:0 0 auto; }
html .admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) :is(.admin-national-reset-button,.admin-access-filter-reset) {
  width:auto; justify-self:start; background:transparent !important; border-color:transparent !important;
  color:var(--portal-color-muted) !important; box-shadow:none; font-size:.8rem; text-decoration:underline; text-underline-offset:3px;
}
html .admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) :is(.admin-national-reset-button,.admin-access-filter-reset):hover { color:var(--portal-color-accent) !important; }
.admin-portal-page #adminEngagementsNationalClubsCreate { order:2; margin-left:auto; border-radius:7px; padding:8px 12px; background:#0b7285 !important; color:white !important; }
.admin-portal-page .admin-national-page-status[data-tone="info"] { background:transparent !important; color:var(--portal-color-muted) !important; font-size:.8rem; padding:5px 0; }
.admin-portal-page .admin-national-club-card :is(span,small) { font-size:.8rem; line-height:1.4; }
.admin-portal-page #adminDtnView .admin-dtn-time {
  background:transparent !important; border-color:transparent !important; box-shadow:none;
  color:var(--portal-color-accent-strong) !important; font-variant-numeric:tabular-nums; font-size:.85rem;
  text-decoration:underline; text-decoration-color:var(--portal-color-border); text-underline-offset:4px;
}
.admin-portal-page #adminDtnView .admin-dtn-time:is(:hover,:focus-visible,.active) {
  background:var(--portal-color-field-background) !important; border-color:var(--portal-color-accent) !important; text-decoration:none;
}
.admin-portal-page #adminDtnView .admin-dtn-time:focus-visible { outline:2px solid var(--portal-color-accent); outline-offset:2px; }
.admin-portal-page #adminDtnView .admin-dtn-time.active { box-shadow:inset 0 0 0 1px var(--portal-color-accent); }
html[data-portal-theme="dark"] .admin-portal-page :is(.admin-dtn-competition-scope,.admin-dtn-summary-list,.admin-dtn-summary-group-head) {
  background:var(--portal-color-surface-raised) !important; color:var(--portal-color-muted) !important; border-color:var(--portal-color-border-soft) !important;
}
html[data-portal-theme="dark"] .admin-portal-page :is(.admin-national-club-card-main > span,.admin-national-club-card-reference > span,.admin-national-club-card-administrators > span,.admin-dtn-grid-head > div > span) { color:var(--portal-color-muted) !important; }
html[data-portal-theme="dark"] .admin-portal-page .admin-national-club-status { background:var(--portal-color-surface-raised) !important; color:var(--portal-color-muted) !important; }
html[data-portal-theme="dark"] .admin-portal-page .admin-national-club-status[data-active="true"] { background:#203e33 !important; color:#98dfbb !important; }
html[data-portal-theme="dark"] .admin-portal-page #adminDtnView :is(.admin-dtn-grid-head,.admin-dtn-grid-header) { border-color:var(--portal-color-border) !important; }
@media(max-width:760px) {
  .admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) { gap:8px; padding:8px; }
  .admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) > label:first-child { flex-basis:100%; }
  .admin-portal-page :is(.admin-national-directory-toolbar,.admin-access-filters) :is(input,select,button) { min-height:40px; }
}
@media print {
  html[data-portal-theme="dark"] .admin-portal-page :is(.admin-dtn-competition-scope,.admin-dtn-summary-list,.admin-dtn-summary-group-head,.admin-national-club-status) { background:white !important; color:black !important; }
}

/* Competition landing header uses the same hierarchy as other module homes. */
.admin-portal-page #adminEngagementsView > .admin-competition-workspace-head {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 20px;
  padding:10px 14px; border:1px solid #cfe3e6; background:linear-gradient(135deg,#f0f8f9 0%,#f7fbfb 100%); box-shadow:inset 4px 0 0 #0b7285;
}
.admin-competition-workspace-head > :is(span,h2,p) { grid-column:1; }
.admin-competition-workspace-head > :is(#adminEngagementsCalendarActions,#adminEngagementsDetailClose) {
  grid-column:2; grid-row:1 / 4; align-self:center; justify-self:end;
}
.admin-engagements-detail-deadline,.admin-dtn-freshness { color:var(--portal-color-muted); font-size:.82rem; line-height:1.5; }
.admin-engagements-detail-deadline { flex-basis:100%; }
@media(max-width:760px) {
  .admin-portal-page #adminEngagementsView > .admin-competition-workspace-head { grid-template-columns:minmax(0,1fr); gap:6px; }
  .admin-competition-workspace-head > :is(#adminEngagementsCalendarActions,#adminEngagementsDetailClose) { grid-column:1; grid-row:auto; justify-self:start; margin-top:6px; }
}

.admin-portal-page #adminEngagementsView > .admin-competition-workspace-head h2 { font-size:clamp(1.15rem,2vw,1.45rem); }

.admin-portal-page .admin-engagements-entry-status:is([data-entry-status="deadline-passed"],[data-entry-status="closing-soon"]) { background:#fff4df; color:#7a4800; border-color:#d9bb88; }
html[data-portal-theme="dark"] .admin-portal-page .admin-engagements-entry-status:is([data-entry-status="deadline-passed"],[data-entry-status="closing-soon"]) { background:#3d321f !important; color:#f6d08b !important; border-color:#6a5835 !important; }

/* Shared card rhythm: icon and title together, description below. */
.admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card:not([hidden]) {
  grid-template-columns:40px minmax(0,1fr) 18px; grid-template-rows:auto auto;
  align-content:start; align-items:center; gap:12px; min-height:128px; padding:18px; border-radius:10px;
}
.admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card > .admin-overview-card-icon { grid-column:1; grid-row:1; width:40px; height:40px; }
.admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card > .admin-overview-card-label { display:none; }
.admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card > strong { grid-column:2; grid-row:1; margin:0; font-size:1rem; line-height:1.35; }
.admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card > p { grid-column:1 / -1; grid-row:2; font-size:.85rem; line-height:1.5; }
.admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card > .admin-overview-card-arrow { grid-column:3; grid-row:1; align-self:center; }
.admin-portal-page .admin-national-home .admin-overview-card > .admin-national-overview-counts { grid-column:1 / -1; grid-row:3; justify-items:start; min-width:0; margin:0; }
.admin-portal-page #adminOverviewView .admin-overview-space-main { min-height:132px; gap:12px; padding:18px; }
.admin-portal-page #adminOverviewView :is(.admin-overview-space-toggle,.admin-overview-direct-link) { min-height:42px; padding:10px 18px; }

/* Account: profile, persistent preferences, then connection settings. */
.admin-portal-page #adminAccountView .admin-account-grid { align-items:start; gap:16px; }
.admin-portal-page #adminAccountView .admin-account-card { border-radius:10px; }
.admin-portal-page #adminAccountView :is(.admin-appearance-card,.admin-account-preferences-card) { padding:18px; gap:16px; align-content:start; }
.admin-portal-page #adminAccountView .admin-simple-card-head { align-items:center; }
.admin-portal-page #adminAccountView .admin-simple-card-head h3 { margin:2px 0; font-size:1rem; }
.admin-portal-page #adminAccountView :is(.admin-appearance-card,.admin-account-preferences-card) p { margin:0; font-size:.82rem; line-height:1.5; }
.admin-portal-page #adminAccountView .admin-account-form { gap:12px; }
.admin-portal-page #adminAccountView .admin-account-notification-setting { padding:12px; }
.admin-portal-page #adminAccountView .admin-portal-message:empty { display:none; }
.admin-portal-page #adminAccountView .admin-appearance-options { gap:8px; flex-wrap:wrap; }

/* Primary workspace actions share dimensions; compact row controls stay compact. */
.admin-portal-page :is(#adminEngagementsCreateOpen,#adminEngagementsClubPeopleAddButton,#competitionImportOpenButton,#adminDtnRefresh,#publishButton,#adminDraftsPublishButton,[data-dtn-listing-export],.admin-table-actions > button,.admin-tool-workspace-head > button) {
  min-height:38px; border-radius:8px; padding:8px 14px; font-family:inherit; font-size:.82rem; font-weight:600; line-height:1.3;
}
.admin-portal-page :is(#adminEngagementsCreateOpen,#adminEngagementsClubPeopleAddButton,#competitionImportOpenButton):not(:disabled) { background:#0b7285 !important; border-color:#0b7285 !important; color:#fff !important; }
html[data-portal-theme="dark"] .admin-portal-page :is(#adminEngagementsCreateOpen,#adminEngagementsClubPeopleAddButton,#competitionImportOpenButton):not(:disabled) { background:var(--portal-color-accent) !important; border-color:var(--portal-color-accent) !important; color:#10222a !important; }

/* Table headings and separators use the same neutral treatment. */
.admin-portal-page :is(#adminRecordsView .admin-record-table thead th,#adminDtnView .admin-dtn-listing-table thead th,.admin-engagements-club-person-head) {
  background:var(--portal-color-surface-raised,#f3f7f8) !important; color:var(--portal-color-muted) !important;
  border-color:var(--portal-color-border) !important; font-size:.72rem; font-weight:600; letter-spacing:.025em;
}
.admin-portal-page .admin-engagements-club-person-head > span { background:transparent !important; color:inherit !important; }
.admin-portal-page :is(#adminRecordsView .admin-record-table,#adminDtnView .admin-dtn-listing-table) :is(th,td) { border-color:var(--portal-color-border) !important; }

/* Lazy-loaded import and DTN styles must not reintroduce light surfaces. */
html[data-portal-theme="dark"] .admin-portal-page :is(
  #adminImportView .competition-import-history-filters,
  #adminImportView .competition-import-row,
  #adminImportView .competition-import-row > summary,
  #adminImportView .competition-import-details,
  #adminImportView .competition-import-actions,
  #adminRecordsView .admin-table-card > .table-head,
  #adminDtnView .admin-dtn-listing-filters
) { background:var(--portal-color-surface) !important; color:var(--portal-color-text) !important; border-color:var(--portal-color-border) !important; }
html[data-portal-theme="dark"] .admin-portal-page #adminImportView .competition-import-row > summary:is(:hover,:focus-visible) { background:var(--portal-color-surface-raised) !important; }
html[data-portal-theme="dark"] .admin-portal-page :is(
  #adminImportView .competition-import-history-filters label,
  #adminImportView .competition-import-row summary > span,
  #adminImportView .competition-import-details span,
  #adminImportView .competition-import-actions span,
  #adminDtnView .admin-dtn-listing-filters label
) { color:var(--portal-color-muted) !important; }
html[data-portal-theme="dark"] .admin-portal-page #adminImportView .import-card-head > span { color:var(--portal-color-accent) !important; }
html[data-portal-theme="dark"] .admin-portal-page :is(#adminRecordsView .admin-records-section-head,#adminRecordsView .segmented button) { border-color:var(--portal-color-border) !important; }
@media(max-width:760px) {
  .admin-portal-page #adminAccountView .admin-account-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .admin-portal-page :is(.admin-portal-space-home,.admin-national-home) .admin-overview-card:not([hidden]) { min-height:0; padding:14px; }
  .admin-portal-page #adminOverviewView .admin-overview-space-main { min-height:0; padding:14px; }
}

/* Final connected review: aligned preferences and legible secondary details. */
.admin-portal-page #adminAccountView :is(.admin-appearance-card,.admin-account-preferences-card) { align-self:stretch; }
.admin-portal-page #adminImportView .competition-import-row > summary { grid-template-columns:minmax(0,1fr) auto 24px; }
.admin-portal-page #adminImportView .import-card-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.admin-portal-page #adminImportView .import-card-actions > button { width:auto; min-height:38px; border-radius:8px; padding:8px 14px; font-size:.82rem; }
html[data-portal-theme="dark"] .admin-portal-page #adminAccountView .admin-account-notification-setting > div > span { color:var(--portal-color-muted) !important; }
html[data-portal-theme="dark"] .admin-portal-page :is(.admin-overview-card-arrow,#adminImportView .import-card-head > div > span,#adminRecordsView .table-head .admin-label) { color:var(--portal-color-accent) !important; }
html[data-portal-theme="dark"] .admin-portal-page :is(#adminRecordsView .segmented,#adminDtnView .admin-dtn-segment) { border-color:var(--portal-color-border) !important; }
html[data-portal-theme="dark"] .admin-portal-page #adminRecordsView .admin-records-section-icon,
html[data-portal-theme="dark"] .admin-portal-page #adminImportView :is(.competition-import-row > summary,.advanced-tools-summary)::after { background:var(--portal-color-surface-raised) !important; color:var(--portal-color-accent) !important; }
@media(min-width:701px) {
  .admin-portal-page #adminEngagementsClubPeoplePanel .admin-engagements-club-person-row { grid-template-columns:minmax(210px,1.25fr) minmax(125px,.65fr) minmax(150px,.85fr) 78px 164px; }
  .admin-portal-page #adminEngagementsClubPeoplePanel .admin-engagements-club-person-head > span:last-child { text-align:right; }
}
@media(max-width:760px) {
  .admin-portal-page #adminImportView .competition-import-row > summary { grid-template-columns:minmax(0,1fr) 24px; }
  .admin-portal-page #adminImportView .competition-import-row > summary > span { grid-column:1; grid-row:2; }
  .admin-portal-page #adminImportView .competition-import-row > summary::after { grid-column:2; grid-row:1 / 3; }
  .admin-portal-page #adminImportView .import-card-actions { justify-content:flex-start; }
}
html[data-portal-theme="dark"] .admin-portal-page .admin-overview-space-toggle-icon { color:var(--portal-color-accent) !important; }
html[data-portal-theme="dark"] .admin-portal-page .admin-overview-direct-link { border-color:var(--portal-color-border) !important; }

/* One weight for all portal controls, including module/dialog overrides.
   Important is intentional: legacy ID selectors and lazy-loaded module styles
   must not reintroduce heavy button labels. Titles and form labels stay intact. */
.admin-portal-page :is(button,[role="button"],[role="tab"],input[type="submit"],input[type="button"],input[type="reset"],a.ghost-button,a.primary-button,a.admin-primary-button,a.file-button,.admin-overview-direct-link) {
  font-weight:var(--portal-font-weight-medium,500) !important;
}
.admin-portal-page :is(button,[role="button"],[role="tab"],a.ghost-button,a.primary-button,a.admin-primary-button,a.file-button,.admin-overview-direct-link) :is(span,strong,b,small,em) {
  font-weight:inherit !important;
}
