/*
 * GestLigas Dashboard visual contract 1.2.0.
 * This additive, Dashboard-scoped layer is the canonical target for Phase 2.
 * It deliberately contains no literal colors and does not migrate legacy views.
 */
.gcm-admin-shell {
  /* Typography: the only permitted Dashboard type sizes. */
  --gcm-vc-font-workspace: 1.75rem;
  --gcm-vc-font-section: 1.375rem;
  --gcm-vc-font-card: 1.125rem;
  --gcm-vc-font-body: 1rem;
  --gcm-vc-font-help: 0.875rem;
  --gcm-vc-font-technical: 0.8125rem;
  --gcm-vc-font-badge: 0.75rem;
  --gcm-vc-font-table: 0.875rem;
  --gcm-vc-font-button: 0.875rem;
  --gcm-vc-line-tight: 1.2;
  --gcm-vc-line-body: 1.5;
  --gcm-vc-line-help: 1.45;

  /* Spacing: every component dimension derives from this scale. */
  --gcm-vc-space-0: 0;
  --gcm-vc-space-1: 0.25rem;
  --gcm-vc-space-2: 0.5rem;
  --gcm-vc-space-3: 0.75rem;
  --gcm-vc-space-4: 1rem;
  --gcm-vc-space-5: 1.25rem;
  --gcm-vc-space-6: 1.5rem;
  --gcm-vc-space-8: 2rem;
  --gcm-vc-space-10: 2.5rem;
  --gcm-vc-space-12: 3rem;

  /* Geometry and motion. Colors remain owned by the Theme Engine. */
  --gcm-vc-control-height: 2.625rem;
  --gcm-vc-control-height-sm: 2.25rem;
  --gcm-vc-radius-sm: 0.625rem;
  --gcm-vc-radius: var(--gcm-admin-radius);
  --gcm-vc-border: var(--gcm-admin-border);
  --gcm-vc-border-strong: var(--gcm-admin-border-strong);
  --gcm-vc-surface: var(--gcm-admin-surface);
  --gcm-vc-surface-soft: var(--gcm-admin-surface-soft);
  --gcm-vc-text: var(--gcm-admin-text);
  --gcm-vc-muted: var(--gcm-admin-muted);
  --gcm-vc-primary: var(--gcm-admin-primary);
  --gcm-vc-danger: var(--gcm-admin-danger);
  --gcm-vc-shadow: var(--gcm-admin-shadow);
  --gcm-vc-content-max: 90rem;
  --gcm-vc-help-max: 65ch;
  --gcm-vc-grid-min: 16rem;
}

/* Padding and intrinsic table widths must stay inside the Dashboard workspace. */
.gcm-admin-shell .gcm-vc-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gcm-vc-space-6); width: 100%; max-width: var(--gcm-vc-content-max); min-width: 0; margin-inline: auto; box-sizing: border-box; }
.gcm-admin-shell .gcm-vc-workspace-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--gcm-vc-space-6); }
.gcm-admin-shell .gcm-vc-workspace-heading { display: grid; gap: var(--gcm-vc-space-2); min-width: 0; }
.gcm-admin-shell .gcm-vc-workspace-title { margin: 0; color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-workspace); line-height: var(--gcm-vc-line-tight); }
.gcm-admin-shell .gcm-vc-workspace-description,
.gcm-admin-shell .gcm-vc-help { max-width: var(--gcm-vc-help-max); margin: 0; color: var(--gcm-vc-muted); font-size: var(--gcm-vc-font-help); line-height: var(--gcm-vc-line-help); }
.gcm-admin-shell .gcm-vc-workspace-context { display: flex; flex-wrap: wrap; gap: var(--gcm-vc-space-2); color: var(--gcm-vc-muted); font-size: var(--gcm-vc-font-technical); }

.gcm-admin-shell .gcm-vc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--gcm-vc-grid-min)), 1fr)); gap: var(--gcm-vc-space-5); }
.gcm-admin-shell .gcm-vc-section { display: grid; gap: var(--gcm-vc-space-4); min-width: 0; }
.gcm-admin-shell .gcm-vc-section-header,
.gcm-admin-shell .gcm-vc-card-header,
.gcm-admin-shell .gcm-vc-card-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--gcm-vc-space-4); }
.gcm-admin-shell .gcm-vc-section-title { margin: 0; font-size: var(--gcm-vc-font-section); line-height: var(--gcm-vc-line-tight); }
.gcm-admin-shell .gcm-vc-card { overflow: hidden; border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface); box-shadow: var(--gcm-vc-shadow); }
.gcm-admin-shell .gcm-vc-card-header,
.gcm-admin-shell .gcm-vc-card-body,
.gcm-admin-shell .gcm-vc-card-footer { padding: var(--gcm-vc-space-5); }
.gcm-admin-shell .gcm-vc-card-body { min-width: 0; }
.gcm-admin-shell .gcm-vc-card-header { border-bottom: 0.0625rem solid var(--gcm-vc-border); }
.gcm-admin-shell .gcm-vc-card-footer { border-top: 0.0625rem solid var(--gcm-vc-border); }
.gcm-admin-shell .gcm-vc-card-title { margin: 0; font-size: var(--gcm-vc-font-card); line-height: var(--gcm-vc-line-tight); }

.gcm-admin-shell .gcm-vc-toolbar,
.gcm-admin-shell .gcm-vc-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gcm-vc-space-3); }
.gcm-admin-shell .gcm-vc-toolbar { justify-content: space-between; padding: var(--gcm-vc-space-4); border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface); }
.gcm-admin-shell .gcm-vc-subnav { display: flex; max-width: 100%; align-items: center; gap: var(--gcm-vc-space-5); overflow-x: auto; border-bottom: 0.0625rem solid var(--gcm-vc-border); }
.gcm-admin-shell .gcm-vc-subnav-link { flex: 0 0 auto; align-self: stretch; min-height: 0; padding: var(--gcm-vc-space-3) var(--gcm-vc-space-1); border: 0; border-bottom: 0.1875rem solid transparent; border-radius: 0; background: transparent; box-shadow: none; color: var(--gcm-vc-muted); font: inherit; font-weight: 700; cursor: pointer; }
.gcm-admin-shell .gcm-vc-subnav-link.active,
.gcm-admin-shell .gcm-vc-subnav-link[aria-selected="true"] { border-bottom-color: var(--gcm-vc-primary); color: var(--gcm-vc-text); }
.gcm-admin-shell .gcm-vc-button { display: inline-flex; min-height: var(--gcm-vc-control-height); align-items: center; justify-content: center; gap: var(--gcm-vc-space-2); padding: var(--gcm-vc-space-2) var(--gcm-vc-space-4); border: 0.0625rem solid var(--gcm-vc-border-strong); border-radius: var(--gcm-vc-radius-sm); background: var(--gcm-vc-surface); color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-button); font-weight: 700; line-height: 1; text-decoration: none; }
.gcm-admin-shell .gcm-vc-button--primary { border-color: var(--gcm-vc-primary); background: var(--gcm-vc-primary); color: var(--gcm-dashboard-primary-contrast, var(--gcm-vc-surface)); }
.gcm-admin-shell .gcm-vc-button--secondary { background: var(--gcm-vc-surface-soft); }
.gcm-admin-shell .gcm-vc-button--light,
.gcm-admin-shell .gcm-vc-button--toolbar { min-height: var(--gcm-vc-control-height-sm); box-shadow: none; }
.gcm-admin-shell .gcm-vc-button--danger { border-color: var(--gcm-vc-danger); background: var(--gcm-vc-danger); color: var(--gcm-dashboard-danger-contrast, var(--gcm-vc-surface)); }

.gcm-admin-shell .gcm-vc-form { display: grid; gap: var(--gcm-vc-space-4); }
.gcm-admin-shell .gcm-vc-form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gcm-vc-space-4); }
.gcm-admin-shell .gcm-vc-field { display: grid; grid-column: span 6; align-content: start; gap: var(--gcm-vc-space-2); min-width: 0; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.col-md-2, .gcm-vc-field--short, .gcm-ui-field--compact) { grid-column: span 3; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.col-md-3) { grid-column: span 3; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.col-md-4, .gcm-vc-field--medium) { grid-column: span 4; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.col-md-6) { grid-column: span 6; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.col-md-8, .gcm-vc-field--long, .gcm-ui-field--wide) { grid-column: span 8; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.col-md-12, .col-12, .gcm-vc-field--full, .gcm-ui-field--full, .gcm-ui-file-field) { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-vc-form-grid > :where(.gcm-vc-form-heading, .gcm-vc-form-section, .gcm-ui-form-section, .gcm-ui-form-actions) { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-vc-field--full { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-vc-form-heading { display: flex; align-items: flex-start; gap: var(--gcm-vc-space-3); padding-bottom: var(--gcm-vc-space-3); border-bottom: 0.0625rem solid var(--gcm-vc-border); }
.gcm-admin-shell .gcm-vc-form-heading :where(h2, h3, p) { margin: 0; }
.gcm-admin-shell .gcm-vc-form-section-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gcm-vc-space-4); min-width: 0; }
.gcm-admin-shell .gcm-vc-form-section-grid > * { min-width: 0; }
.gcm-admin-shell :where(.gcm-vc-form-grid, .gcm-vc-form-section-grid) > .gcm-vc-span-3 { grid-column: span 3; }
.gcm-admin-shell :where(.gcm-vc-form-grid, .gcm-vc-form-section-grid) > .gcm-vc-span-4 { grid-column: span 4; }
.gcm-admin-shell :where(.gcm-vc-form-grid, .gcm-vc-form-section-grid) > .gcm-vc-span-8 { grid-column: span 8; }
.gcm-admin-shell :where(.gcm-vc-form-grid, .gcm-vc-form-section-grid) > .gcm-vc-span-12 { grid-column: 1 / -1; }
.gcm-admin-shell .gcm-vc-unit-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; }
.gcm-admin-shell .gcm-vc-unit-control > .gcm-vc-control { border-start-end-radius: 0; border-end-end-radius: 0; }
.gcm-admin-shell .gcm-vc-unit { display: inline-flex; align-items: center; padding-inline: var(--gcm-vc-space-3); border: 0.0625rem solid var(--gcm-vc-border-strong); border-inline-start: 0; border-start-end-radius: var(--gcm-vc-radius-sm); border-end-end-radius: var(--gcm-vc-radius-sm); background: var(--gcm-vc-surface-soft); color: var(--gcm-vc-muted); }
.gcm-admin-shell .gcm-vc-choice-stack { display: grid; align-content: start; gap: var(--gcm-vc-space-1); }
.gcm-admin-shell .gcm-vc-media-field { display: grid; align-content: start; gap: var(--gcm-vc-space-3); min-width: 0; }
.gcm-admin-shell .gcm-vc-preview { display: grid; min-height: 8rem; place-items: center; overflow: hidden; padding: var(--gcm-vc-space-4); border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface-soft); }
.gcm-admin-shell .gcm-vc-preview--wide { width: 100%; min-height: 14rem; }
.gcm-admin-shell .gcm-vc-site-header-preview { width: 100%; min-width: 0; overflow: hidden; border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface-soft); }
.gcm-admin-shell .gcm-vc-site-header-preview > .gcm-site-header { width: 100%; margin: 0; }
.gcm-admin-shell .gcm-vc-media-layout { display: grid; grid-template-columns: minmax(16rem, 1fr) minmax(0, 2fr); gap: var(--gcm-vc-space-4); align-items: stretch; }
.gcm-admin-shell .gcm-vc-media-layout > * { min-width: 0; }
.gcm-admin-shell .gcm-vc-inline-preview { display: flex; min-width: 0; align-items: stretch; gap: var(--gcm-vc-space-1); }
.gcm-admin-shell .gcm-vc-inline-preview > * { flex: 1 1 0; min-width: 0; padding: var(--gcm-vc-space-2); }
.gcm-admin-shell .gcm-vc-label { color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-body); font-weight: 700; line-height: var(--gcm-vc-line-body); }
.gcm-admin-shell .gcm-vc-required { color: var(--gcm-vc-danger); }
.gcm-admin-shell .gcm-vc-control,
.gcm-admin-shell .gcm-vc-field > :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; max-width: none; min-width: 0; min-height: var(--gcm-vc-control-height); padding: var(--gcm-vc-space-2) var(--gcm-vc-space-3); border: 0.0625rem solid var(--gcm-vc-border-strong); border-radius: var(--gcm-vc-radius-sm); background: var(--gcm-vc-surface); color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-body); }
.gcm-admin-shell textarea.gcm-vc-control { min-height: calc(var(--gcm-vc-control-height) * 3); resize: vertical; }
.gcm-admin-shell .gcm-vc-check { display: inline-flex; align-items: center; gap: var(--gcm-vc-space-2); min-height: var(--gcm-vc-control-height); }
.gcm-admin-shell .gcm-vc-error { margin: 0; color: var(--gcm-vc-danger); font-size: var(--gcm-vc-font-help); line-height: var(--gcm-vc-line-help); }

.gcm-admin-shell .gcm-vc-table-wrap { width: 100%; overflow-x: auto; border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface); box-sizing: border-box; }
.gcm-admin-shell .gcm-vc-table { width: 100%; border-collapse: collapse; table-layout: auto; color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-table); }
.gcm-admin-shell .gcm-vc-table th,
.gcm-admin-shell .gcm-vc-table td { padding: var(--gcm-vc-space-3) var(--gcm-vc-space-4); border-bottom: 0.0625rem solid var(--gcm-vc-border); text-align: start; vertical-align: middle; }
.gcm-admin-shell .gcm-vc-table th { background: var(--gcm-vc-surface-soft); font-weight: 700; }
.gcm-admin-shell .gcm-vc-table tbody tr:hover { background: var(--gcm-vc-surface-soft); }
.gcm-admin-shell .gcm-vc-table tbody tr:last-child td { border-bottom: 0; }
/* Column geometry is semantic and is applied to both header and data cells.
 * Unannotated columns retain the browser's natural auto-layout behaviour. */
.gcm-admin-shell .gcm-vc-table-col--compact {
  width: 1%;
  min-width: 0;
  max-width: none;
  white-space: nowrap;
}
.gcm-admin-shell .gcm-vc-table th.gcm-vc-table-col--compact {
  white-space: normal;
}
.gcm-admin-shell .gcm-vc-table-col--content {
  width: auto;
  min-width: 0;
  max-width: none;
}
.gcm-admin-shell .gcm-vc-table-col--flex {
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
/* Administrative table actions follow the actions that are actually rendered.
 * The narrow percentage is the standard auto-layout hint for a content-sized
 * table column; the flex wrapper supplies a shared practical wrapping boundary. */
.gcm-admin-shell .gcm-admin-table-actions-cell--horizontal {
  width: 1%;
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.gcm-admin-shell .gcm-entity-module[data-entity="matches"] .gcm-vc-table { min-width: 78rem; }
.gcm-admin-shell .gcm-admin-table-actions--horizontal {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--gcm-vc-space-2);
  width: max-content;
  max-width: 24rem;
}
.gcm-admin-shell .gcm-vc-table .gcm-admin-table-actions--horizontal > * {
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  white-space: nowrap;
}
.gcm-admin-shell .gcm-vc-badge { display: inline-flex; align-items: center; min-height: var(--gcm-vc-control-height-sm); padding: var(--gcm-vc-space-1) var(--gcm-vc-space-2); border-radius: var(--gcm-vc-radius-sm); background: var(--gcm-vc-surface-soft); color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-badge); font-weight: 700; }
.gcm-admin-shell .gcm-menu-badge { min-width: var(--gcm-vc-control-height-sm); min-height: var(--gcm-vc-control-height-sm); margin-inline-start: auto; justify-content: center; flex: 0 0 auto; }

.gcm-admin-shell .gcm-vc-empty,
.gcm-admin-shell .gcm-vc-notice,
.gcm-admin-shell .gcm-vc-loading { display: grid; justify-items: start; gap: var(--gcm-vc-space-2); padding: var(--gcm-vc-space-6); border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface-soft); color: var(--gcm-vc-text); }
.gcm-admin-shell .gcm-vc-divider { height: 0.0625rem; margin-block: var(--gcm-vc-space-4); border: 0; background: var(--gcm-vc-border); }
.gcm-admin-shell .gcm-vc-pagination { display: flex; flex-wrap: wrap; gap: var(--gcm-vc-space-2); justify-content: center; }

@media (max-width: 64rem) {
  .gcm-admin-shell .gcm-vc-field { grid-column: span 6; }
  .gcm-admin-shell :where(.gcm-vc-form-grid, .gcm-vc-form-section-grid) > :where(.gcm-vc-span-3, .gcm-vc-span-4, .gcm-vc-span-8) { grid-column: span 6; }
  .gcm-admin-shell :where(.gcm-vc-form-grid, .gcm-vc-form-section-grid) > .gcm-vc-span-12 { grid-column: 1 / -1; }
  .gcm-admin-shell .gcm-vc-form-grid > :where(.gcm-vc-field--full, .gcm-ui-field--full, .gcm-ui-file-field, .col-md-12, .col-12) { grid-column: 1 / -1; }
}
@media (max-width: 48rem) {
  .gcm-admin-shell .gcm-vc-workspace-header,
  .gcm-admin-shell .gcm-vc-section-header,
  .gcm-admin-shell .gcm-vc-card-header,
  .gcm-admin-shell .gcm-vc-card-footer { align-items: stretch; flex-direction: column; }
  .gcm-admin-shell .gcm-vc-toolbar { display: grid; }
  .gcm-admin-shell .gcm-vc-actions > * { width: 100%; }
  .gcm-admin-shell .gcm-vc-field,
  .gcm-admin-shell .gcm-vc-form-grid > * { grid-column: 1 / -1; }
  .gcm-admin-shell .gcm-vc-table { min-width: 40rem; }
  .gcm-admin-shell .gcm-vc-form-section-grid > * { grid-column: 1 / -1; }
  .gcm-admin-shell .gcm-vc-media-layout { grid-template-columns: 1fr; }
}

/* Canonical media preview used by existing pickers after Phase 2 migration. */
.gcm-admin-shell .gcm-vc-preview-image { display: block; width: auto; max-width: 100%; max-height: 12rem; object-fit: contain; }

/* Canonical form width and progress helpers used by migrated administrative views. */
.gcm-admin-shell .gcm-vc-control--short { max-width: 12rem; }
.gcm-admin-shell .gcm-vc-progress { display: block; width: 100%; height: var(--gcm-vc-space-4); margin-block: var(--gcm-vc-space-2); accent-color: var(--gcm-vc-primary); }

/* Lightweight internal form grouping: hierarchy without nested surfaces. */
.gcm-admin-shell .gcm-vc-form-section { padding-block: var(--gcm-vc-space-4); border: 0; border-top: 0.0625rem solid var(--gcm-vc-border); border-radius: 0; background: transparent; box-shadow: none; }
.gcm-admin-shell .gcm-vc-form-section > :where(.gcm-admin-card-header, .gcm-ui-section-header) { padding: 0 0 var(--gcm-vc-space-3); margin: 0; }

/* Theme token editor: one self-contained field per token, never label/help grid cells. */
.gcm-admin-shell .gcm-vc-token-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gcm-vc-space-4); margin-top: var(--gcm-vc-space-3); }
.gcm-admin-shell .gcm-vc-token-field { display: grid; align-content: start; gap: var(--gcm-vc-space-2); min-width: 0; padding: var(--gcm-vc-space-3); border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius-sm); background: var(--gcm-vc-surface-soft); }
.gcm-admin-shell .gcm-vc-token-field > .gcm-vc-label { overflow-wrap: normal; word-break: normal; }
.gcm-admin-shell .gcm-vc-token-control { display: flex; align-items: center; gap: var(--gcm-vc-space-2); min-width: 0; }
.gcm-admin-shell .gcm-vc-token-control input[type="color"] { flex: 0 0 var(--gcm-vc-space-10); inline-size: var(--gcm-vc-space-10); block-size: var(--gcm-vc-control-height); padding: var(--gcm-vc-space-1); }
.gcm-admin-shell .gcm-vc-token-control input:not([type="color"]) { flex: 1 1 auto; width: auto; min-width: 0; }
.gcm-admin-shell .gcm-vc-token-control code { flex: 0 0 auto; }
.gcm-admin-shell .gcm-vc-token-field > .gcm-vc-help { width: 100%; margin: 0; }
@media (max-width: 64rem) { .gcm-admin-shell .gcm-vc-token-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 48rem) { .gcm-admin-shell .gcm-vc-token-grid { grid-template-columns: 1fr; } }

/* Reusable segmented choice group for canonical forms. */
.gcm-admin-shell .gcm-vc-segmented { display: flex; align-items: flex-end; align-content: end; flex-wrap: wrap; gap: var(--gcm-vc-space-2); min-width: 0; margin: 0; padding: 0; border: 0; }
.gcm-admin-shell .gcm-vc-segmented > legend { flex: 0 0 100%; margin: 0; }
.gcm-admin-shell .gcm-vc-segmented-option { display: inline-flex; align-items: center; gap: var(--gcm-vc-space-2); min-width: 0; margin: 0; padding: var(--gcm-vc-space-2) var(--gcm-vc-space-3); border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius-sm); background: var(--gcm-vc-surface-soft); cursor: pointer; }
.gcm-admin-shell .gcm-vc-segmented-option > input { position: static; flex: 0 0 auto; margin: 0; opacity: 1; }

/* Canonical statistic: value and label are separate content rows, not badges. */
.gcm-admin-shell .gcm-vc-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--gcm-vc-space-3); }
.gcm-admin-shell .gcm-vc-stat { display: grid; align-content: center; gap: var(--gcm-vc-space-1); min-width: 0; padding: var(--gcm-vc-space-4); border: 0.0625rem solid var(--gcm-vc-border); border-radius: var(--gcm-vc-radius); background: var(--gcm-vc-surface); box-shadow: var(--gcm-vc-shadow); }
.gcm-admin-shell .gcm-vc-stat-value { color: var(--gcm-vc-text); font-size: var(--gcm-vc-font-section); line-height: var(--gcm-vc-line-tight); }
.gcm-admin-shell .gcm-vc-stat-label { color: var(--gcm-vc-muted); font-size: var(--gcm-vc-font-help); line-height: var(--gcm-vc-line-help); }
@media (max-width: 64rem) { .gcm-admin-shell .gcm-vc-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 48rem) { .gcm-admin-shell .gcm-vc-stat-grid { grid-template-columns: 1fr; } }

/* Settings only: vertical time windows never resize existing sections. */
.gcm-admin-shell .gcm-settings-module .gcm-time-windows :where(label, small) { overflow-wrap: anywhere; }
.gcm-admin-shell .gcm-settings-module .gcm-time-windows input[type="number"] { width: 8rem; max-width: 100%; }
.gcm-admin-shell .gcm-settings-module .gcm-time-windows > .gcm-vc-form-section-grid { grid-template-columns: minmax(0, 1fr); }
.gcm-admin-shell .gcm-settings-module .gcm-time-windows { contain: inline-size; }

/* Settings sections share one explicit track; field spans belong to their own grids. */
.gcm-admin-shell .gcm-settings-module #gcm-settings-form { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.gcm-admin-shell .gcm-settings-module #gcm-settings-form > * { grid-column: 1 / -1; min-width: 0; }
.gcm-admin-shell .gcm-settings-module,
.gcm-admin-shell .gcm-settings-module * { box-sizing: border-box; }
.gcm-admin-shell .gcm-settings-module #gcm-settings-form { container: gcm-settings / inline-size; }
.gcm-admin-shell .gcm-settings-module :where(label, h3, h4, p, small, button) { overflow-wrap: anywhere; }
.gcm-admin-shell .gcm-settings-module :where(input, select, button) { max-width: 100%; }
/* A theme may constrain the Dashboard even on desktop: respond to available form width. */
@container gcm-settings (max-width: 48rem) {
  .gcm-admin-shell .gcm-settings-module .gcm-vc-form-section-grid > * { grid-column: 1 / -1; }
  .gcm-admin-shell .gcm-settings-module .gcm-vc-token-grid { grid-template-columns: minmax(0, 1fr); }
  .gcm-admin-shell .gcm-settings-module .gcm-vc-media-layout { grid-template-columns: minmax(0, 1fr); }
  .gcm-admin-shell .gcm-settings-module .gcm-vc-token-control { flex-wrap: wrap; }
  .gcm-admin-shell .gcm-settings-module .gcm-vc-actions > * { width: 100%; }
}
