@charset "UTF-8";

@import url("dialogs.css");

/* DS-04 canonical foundations; legacy classes retain variants and behaviour. */
.ds-panel {
  background: var(--appadel-surface-elevated);
  border: 1px solid var(--appadel-border-subtle);
  border-radius: var(--appadel-radius-panel);
  box-shadow: var(--appadel-elevation-panel);
  display: grid;
  gap: var(--appadel-spacing-panel-gap);
  min-width: 0;
}

/* Canonical Product content panel shared by primary data pages. */
body:not(.management-page) .product-content-panel.ds-panel {
  gap: var(--appadel-spacing-panel-gap);
  margin-block-end: var(--appadel-spacing-panel-gap);
  padding: var(--appadel-spacing-panel-gap);
}

.ds-section-header {
  align-items: flex-start;
  display: flex;
  gap: var(--appadel-spacing-panel-gap);
  justify-content: space-between;
  min-width: 0;
}

.ds-section-header__title {
  color: var(--appadel-brand-primary);
  font-family: var(--appadel-typography-font-family);
  font-size: var(--appadel-typography-size-title);
  font-weight: var(--appadel-typography-weight-heading);
  letter-spacing: 0;
  line-height: var(--appadel-typography-line-height-tight);
  min-width: 0;
  text-transform: none;
}

.ds-section-header__title:is(.is-acronym, .is-competition-identifier, [data-title-case="uppercase"]) {
  text-transform: uppercase;
}

/* Runtime compatibility alias for the retained GamePlan league-trajectory heading. */
.scouting-mini-title {
  color: var(--appadel-text-primary);
  font-family: var(--appadel-typography-font-family);
  font-size: var(--appadel-typography-size-supporting);
  font-weight: var(--appadel-typography-weight-heading);
  letter-spacing: 0;
  line-height: var(--appadel-typography-line-height-tight);
  text-transform: none;
}
.ds-section-header__actions { align-items: center; display: flex; gap: var(--appadel-spacing-control-gap); margin-inline-start: auto; }

.ds-section-controls {
  display: grid;
  gap: var(--appadel-spacing-control-gap);
  min-width: 0;
}

.ds-section-controls__toolbar {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: var(--appadel-spacing-control-gap);
  min-width: 0;
}

.ds-section-controls__search {
  flex: 0 1 20rem;
  max-width: 20rem;
  min-width: 0;
  width: 100%;
}

.ds-section-controls__secondary { flex: 0 0 auto; margin: 0; }

.product-factual-text,
.product-content-text { color: var(--appadel-text-primary); opacity: 1; }
.product-metadata-text { color: var(--appadel-text-secondary); opacity: 1; }

.ds-search-field { color: var(--appadel-text-primary); display: grid; gap: var(--appadel-spacing-control-gap); min-width: 0; position: relative; }
.ds-search-field__control { display: block; min-width: 0; position: relative; width: 100%; }
.ds-search-field__input {
  background: var(--appadel-surface-interactive);
  border: 1px solid var(--appadel-brand-primary);
  border-radius: var(--appadel-radius-control);
  color: var(--appadel-text-primary);
  min-height: var(--appadel-interaction-control-height);
  padding-inline: calc(var(--appadel-spacing-content-gap) * 2 + 1rem) var(--appadel-spacing-content-gap);
  width: 100%;
}
.ds-search-field__input::placeholder { color: var(--appadel-text-secondary); }
.ds-search-field__icon,
.ds-search-field__clear { align-items: center; display: inline-flex; justify-content: center; }
.ds-search-field__icon {
  background: var(--appadel-text-secondary);
  block-size: 1rem;
  inline-size: 1rem;
  inset-block-start: 50%;
  inset-inline-start: var(--appadel-spacing-content-gap);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 5 5' fill='none' stroke='black' stroke-linecap='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
  pointer-events: none;
  position: absolute;
  transform: translateY(-50%);
}
.ds-filter-bar__controls > .ds-search-field { flex: 1 1 220px; max-width: 100%; }

.ds-filter-bar { align-items: stretch; display: grid; gap: var(--appadel-spacing-inline-tight); min-width: 0; padding-block: 2px var(--appadel-spacing-inline-tight); }
.ds-filter-bar__controls,
.ds-filter-bar__actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--appadel-spacing-control-gap); min-width: 0; }
.ds-filter-bar__actions { justify-content: flex-end; }

.ds-button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--appadel-radius-control);
  color: var(--appadel-text-primary);
  cursor: pointer;
  font-family: var(--appadel-typography-font-family);
  font-size: var(--appadel-typography-size-body);
  font-weight: var(--appadel-typography-weight-emphasis);
  letter-spacing: 0;
  line-height: var(--appadel-typography-line-height-tight);
  display: inline-flex;
  gap: var(--appadel-spacing-control-gap);
  justify-content: center;
  min-height: var(--appadel-interaction-control-height);
  padding: 0 var(--appadel-spacing-panel-gap);
  text-decoration: none;
  transition: background-color var(--appadel-motion-fast) ease, border-color var(--appadel-motion-fast) ease, color var(--appadel-motion-fast) ease, box-shadow var(--appadel-motion-fast) ease, transform var(--appadel-motion-fast) ease;
  white-space: nowrap;
}

.ds-button.ds-button--primary {
  background: var(--appadel-brand-primary);
  border-color: var(--appadel-brand-primary);
  color: var(--appadel-surface-background);
}

.ds-button.ds-button--secondary {
  background: var(--appadel-surface-secondary);
  border-color: var(--appadel-brand-primary);
  color: var(--appadel-brand-primary);
}

.ds-button.ds-button--tertiary {
  background: transparent;
  border-color: var(--appadel-border-subtle);
  color: var(--appadel-text-secondary);
}

.ds-button.ds-button--danger {
  background: transparent;
  border-color: var(--appadel-feedback-danger);
  color: var(--appadel-feedback-danger);
}

.ds-button.ds-button--compact {
  min-height: var(--appadel-interaction-control-height-compact);
  padding-inline: var(--appadel-spacing-content-gap);
}

.ds-button.ds-button--default { min-height: var(--appadel-interaction-control-height); }

.ds-button.ds-button--primary:hover { background: var(--appadel-brand-primary-hover); border-color: var(--appadel-brand-primary-hover); }
.ds-button.ds-button--secondary:hover { background: var(--appadel-interaction-hover); border-color: var(--appadel-brand-primary-hover); color: var(--appadel-brand-primary-hover); }
.ds-button.ds-button--tertiary:hover { background: var(--appadel-interaction-hover); color: var(--appadel-text-primary); }
.ds-button.ds-button--danger:hover { background: var(--appadel-interaction-hover); border-color: var(--appadel-feedback-danger-hover); color: var(--appadel-feedback-danger-hover); }

/* Shared Product workflow secondary action. */
.ds-button.ds-button--secondary.workflow-action-secondary {
  background: var(--appadel-surface-secondary);
  border-color: var(--appadel-brand-primary);
  color: var(--appadel-brand-primary);
}

.ds-button.ds-button--secondary.workflow-action-secondary:is(:hover, :focus-visible) {
  background: var(--appadel-interaction-hover);
  border-color: var(--appadel-brand-primary-hover);
  color: var(--appadel-brand-primary-hover);
}

.ds-button:active { transform: translateY(1px); }

.ds-button:disabled,
.ds-button[aria-disabled="true"],
.ds-button[aria-busy="true"],
.ds-button.is-loading {
  background: var(--appadel-surface-interactive);
  border-color: var(--appadel-border-subtle);
  color: var(--appadel-text-secondary);
  cursor: not-allowed;
  transform: none;
}

.ds-button:disabled:hover,
.ds-button[aria-disabled="true"]:hover,
.ds-button[aria-busy="true"]:hover,
.ds-button.is-loading:hover { background: var(--appadel-surface-interactive); border-color: var(--appadel-border-subtle); color: var(--appadel-text-secondary); }

.ds-button.ds-button--secondary.workflow-action-secondary:is(:disabled, [aria-disabled="true"], [aria-busy="true"], .is-loading) {
  background:var(--appadel-surface-interactive);
  border-color:var(--appadel-border-subtle);
  box-shadow:none;
  color:var(--appadel-text-secondary);
  cursor:not-allowed;
  opacity:1;
  pointer-events:none;
}

.ds-action-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--appadel-spacing-control-gap);
  min-width: 0;
}

.ds-action-group--end { justify-content: flex-end; }
.ds-action-group--compact { gap: var(--appadel-spacing-inline-tight); }

.ds-action-group > .ds-button { flex: 0 0 auto; }

.ds-form-field {
  color: var(--appadel-text-primary);
  display: grid;
  gap: var(--appadel-spacing-inline-tight);
  min-width: 0;
}

.ds-form-field--compact { gap: var(--appadel-spacing-inline-tight); }

.ds-form-field__label {
  color: var(--appadel-text-primary);
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--appadel-spacing-inline-tight);
  font-size: var(--appadel-typography-size-label);
  font-weight: var(--appadel-typography-weight-supporting);
}

.ds-form-field__label--centered {
  justify-content:center;
  text-align:center;
  width:100%;
}

.ds-action-group[hidden] { display:none; }

.ds-form-field__required { color: var(--appadel-feedback-danger); }
.ds-form-field__help { color: var(--appadel-text-secondary); }
.ds-form-field__error { color: var(--appadel-feedback-danger); }
.ds-form-field__help,
.ds-form-field__error { font-size: var(--appadel-typography-size-caption); }

.ds-form-field__prefix,
.ds-form-field__suffix {
  align-items: center;
  color: var(--appadel-text-secondary);
  display: inline-flex;
}

.ds-input,
.ds-select,
.ds-textarea {
  background-color: var(--appadel-surface-interactive);
  border: 1px solid var(--appadel-brand-primary);
  border-radius: var(--appadel-radius-control);
  color: var(--appadel-text-primary);
  min-width: 0;
  width: 100%;
}

.ds-input,
.ds-select { min-height: var(--appadel-interaction-control-height); }

.ds-input[type="date"] { color-scheme:dark; }

.ds-input,
.ds-textarea { padding-inline: var(--appadel-spacing-content-gap); }
.ds-select {
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffd400' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 6 5 5 5-5'/%3E%3C/svg%3E");
  background-position:right var(--appadel-spacing-content-gap) center;
  background-repeat:no-repeat;
  background-size:16px 12px;
  padding-inline:var(--appadel-spacing-content-gap) calc(var(--appadel-spacing-content-gap) * 2 + 16px);
}
.ds-textarea { min-height: calc(var(--appadel-interaction-control-height) * 2); padding-block: var(--appadel-spacing-control-gap); resize: vertical; }
.ds-input::placeholder,
.ds-textarea::placeholder { color: var(--appadel-text-secondary); }

.ds-input:focus-visible,
.ds-select:focus-visible,
.ds-textarea:focus-visible,
.ds-checkbox:focus-visible,
.ds-radio:focus-visible {
  border-color: var(--appadel-brand-primary);
  box-shadow: var(--appadel-interaction-focus-ring);
  outline: none;
}

.ds-form-field:focus-within .ds-form-field__label { color: var(--appadel-brand-primary); }

.ds-input:disabled,
.ds-select:disabled,
.ds-textarea:disabled,
.ds-checkbox:disabled,
.ds-radio:disabled {
  background-color: var(--appadel-interaction-disabled);
  border-color: var(--appadel-border-subtle);
  color: var(--appadel-text-secondary);
  cursor: not-allowed;
}

.ds-input[readonly],
.ds-textarea[readonly] {
  background: var(--appadel-surface-secondary);
  border-color: var(--appadel-border-subtle);
  color: var(--appadel-text-secondary);
}

.ds-form-field.is-error :is(.ds-input, .ds-select, .ds-textarea),
:is(.ds-input, .ds-select, .ds-textarea)[aria-invalid="true"] { border-color: var(--appadel-feedback-danger); }
.ds-form-field.is-success :is(.ds-input, .ds-select, .ds-textarea) { border-color: var(--appadel-feedback-success); }

.ds-checkbox,
.ds-radio {
  accent-color: var(--appadel-brand-primary);
  flex: 0 0 auto;
  min-height: var(--appadel-spacing-panel-gap);
  min-width: var(--appadel-spacing-panel-gap);
}

.ds-radio-group {
  border: 0;
  display: grid;
  gap: var(--appadel-spacing-control-gap);
  margin: 0;
  min-width: 0;
  padding: 0;
}

.ds-radio-group > legend { color: var(--appadel-text-primary); }
.ds-form-field:has(> .ds-checkbox),
.ds-form-field:has(> .ds-radio) { align-items: center; display: flex; }

.ds-loading {
  align-items: center;
  color: var(--appadel-text-primary);
  display: flex;
  gap: var(--appadel-spacing-content-gap);
  min-width: 0;
}

.ds-loading--page,
.ds-loading--panel { justify-content: center; }
.ds-loading--inline { display: inline-flex; }

.ds-loading__indicator {
  animation: ds-loading-spin 0.85s linear infinite;
  border: 3px solid var(--appadel-border-strong);
  border-radius: 50%;
  border-top-color: var(--appadel-brand-primary);
  flex: 0 0 auto;
  height: var(--appadel-interaction-control-height);
  width: var(--appadel-interaction-control-height);
}

/* DS-022 host variant for existing page/panel markup that cannot add a loader node. */
.ds-loading-overlay {
  min-height: var(--appadel-interaction-control-height);
  position: relative;
}

.ds-loading-overlay::before {
  background: color-mix(in srgb, var(--appadel-surface-background) 72%, transparent);
  border-radius: inherit;
  content: "";
  cursor: progress;
  inset: 0;
  position: absolute;
  z-index: 5;
}

.ds-loading-overlay::after,
.ds-loading.ds-loading--inline::before {
  animation: ds-loading-spin 0.85s linear infinite;
  border: 3px solid var(--appadel-border-strong);
  border-radius: 50%;
  border-top-color: var(--appadel-brand-primary);
  content: "";
  height: var(--appadel-interaction-control-height);
  width: var(--appadel-interaction-control-height);
}

.ds-loading-overlay::after {
  inset: 0;
  margin: auto;
  position: absolute;
  z-index: 6;
}

.ds-loading.ds-loading--inline::before {
  flex: 0 0 auto;
}

@keyframes ds-loading-spin {
  to { transform: rotate(360deg); }
}

/* DS-022 canonical Product skeleton family. Skeleton hosts describe geometry
   only; the adjacent loading status owns the single accessible announcement. */
.ds-skeleton {
  display: grid;
  gap: var(--appadel-spacing-content-gap);
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow: hidden;
}

.ds-skeleton__block,
.ds-skeleton__line,
.ds-skeleton__avatar {
  background: var(--appadel-skeleton-surface);
  border: 1px solid var(--appadel-skeleton-surface-strong);
  overflow: hidden;
  position: relative;
}

.ds-skeleton__block::after,
.ds-skeleton__line::after,
.ds-skeleton__avatar::after {
  animation: ds-skeleton-shimmer 1.4s ease-in-out infinite;
  background: linear-gradient(90deg, transparent, var(--appadel-skeleton-highlight), transparent);
  content: "";
  inset: 0;
  position: absolute;
  transform: translateX(-100%);
}

.ds-skeleton__line { block-size: .75rem; border-radius: var(--appadel-radius-control); }
.ds-skeleton__line--short { inline-size: 38%; }
.ds-skeleton__line--medium { inline-size: 64%; }
.ds-skeleton__avatar { block-size: 2.75rem; border-radius: 50%; inline-size: 2.75rem; }
.ds-skeleton__row { align-items: center; display: flex; gap: var(--appadel-spacing-content-gap); min-inline-size: 0; }
.ds-skeleton__stack { display: grid; flex: 1 1 auto; gap: var(--appadel-spacing-control-gap); min-inline-size: 0; }
.ds-skeleton__card { border: 1px solid var(--appadel-border-subtle); border-radius: var(--appadel-radius-panel); padding: var(--appadel-spacing-panel-gap); }
.ds-skeleton__list { display: grid; gap: var(--appadel-spacing-control-gap); min-inline-size: 0; }
.ds-skeleton__metric-grid { display: grid; gap: var(--appadel-spacing-content-gap); grid-template-columns: repeat(auto-fit, minmax(min(8rem, 100%), 1fr)); }
.ds-skeleton__metric { block-size: 4.5rem; border-radius: var(--appadel-radius-control); }
.ds-skeleton__form-control { block-size: var(--appadel-interaction-control-height); border-radius: var(--appadel-radius-control); }
.ds-skeleton__match { min-block-size: 8.5rem; }
.ds-skeleton__result { min-block-size: 7.5rem; }
.ds-skeleton__classification { min-block-size: 12rem; }
.ds-skeleton__statistics { min-block-size: 10rem; }
.ds-skeleton__players { min-block-size: 12rem; }
.ds-skeleton__workflow { min-block-size: 14rem; }
.ds-skeleton__workflow-summary { display: grid; gap: var(--appadel-spacing-content-gap); padding-block-end: var(--appadel-spacing-content-gap); }
.ds-skeleton__workflow-actions,
.ds-skeleton__result-entry-bottom { display: grid; gap: var(--appadel-spacing-content-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ds-skeleton--result-entry { display: grid; gap: var(--appadel-spacing-panel-gap); }
.ds-skeleton__result-entry-pairs { display: grid; gap: var(--appadel-spacing-content-gap); }
.ds-skeleton__result-entry-pair { display: grid; gap: var(--appadel-spacing-content-gap); }
.ds-skeleton__result-entry-sets { display: grid; gap: .5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ds-skeleton__result-entry-sets > .ds-skeleton__block { block-size: var(--appadel-interaction-control-height); border-radius: var(--appadel-radius-control); }
.ds-skeleton__result-entry-pair-actions { display: grid; gap: .5rem; grid-template-columns: repeat(3, 2.75rem); }
.ds-skeleton__result-entry-pair-actions > .ds-skeleton__block { aspect-ratio: 1; border-radius: var(--appadel-radius-control); }
.ds-skeleton__result-entry-summary { min-block-size: 6rem; }
.home-loading-results { display: grid; gap: var(--appadel-spacing-content-gap); min-inline-size: 0; }
.ds-skeleton--convocation { gap: var(--appadel-spacing-panel-gap); }
.ds-skeleton__convocation-layout { display: grid; gap: var(--appadel-spacing-panel-gap); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); min-inline-size: 0; }
.ds-skeleton__convocation-availability { align-content: start; min-block-size: 22rem; }
.ds-skeleton__convocation-pair { display: grid; gap: var(--appadel-spacing-content-gap); min-block-size: 7rem; }
.ds-skeleton__convocation-actions { display: grid; gap: var(--appadel-spacing-content-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); min-inline-size: 0; }

@media (max-width: 47.99rem) {
  .ds-skeleton__convocation-layout { grid-template-columns: minmax(0, 1fr); }
  .ds-skeleton__convocation-availability { min-block-size: 18rem; }
}

@keyframes ds-skeleton-shimmer {
  to { transform: translateX(100%); }
}

.ds-empty-state {
  background: var(--appadel-surface-secondary);
  border: 1px dashed var(--appadel-border-strong);
  border-radius: var(--appadel-radius-control);
  color: var(--appadel-text-secondary);
  display: grid;
  gap: var(--appadel-spacing-control-gap);
  min-width: 0;
  padding: var(--appadel-spacing-panel-gap);
}

.ds-empty-state__icon { color: var(--appadel-text-secondary); }
.ds-empty-state__title { color: var(--appadel-text-primary); }
.ds-empty-state__description { color: var(--appadel-text-secondary); }

.ds-alert {
  background: var(--appadel-surface-secondary);
  border: 1px solid var(--appadel-border-strong);
  border-radius: var(--appadel-radius-control);
  color: var(--appadel-text-primary);
  display: grid;
  font-family: var(--appadel-typography-font-family);
  font-size: var(--appadel-typography-size-body);
  line-height: var(--appadel-typography-line-height-supporting);
  gap: var(--appadel-spacing-inline-tight);
  min-width: 0;
  padding: var(--appadel-spacing-content-gap);
}

.ds-alert__title { color: var(--appadel-text-primary); }
.ds-alert__message { color: inherit; }
.ds-alert--info { border-color: var(--appadel-border-strong); }
.ds-alert--success {
  border-color: var(--appadel-border-strong);
  border-inline-start: 3px solid var(--appadel-feedback-success);
}
.ds-alert--warning { border-color: var(--appadel-brand-primary); }
.ds-alert--error { border-color: var(--appadel-feedback-danger); }

/* Shared Product operational feedback used by long-running Product actions. */
.product-operational-feedback {
  color: var(--appadel-text-primary);
  font-weight: var(--appadel-typography-weight-supporting);
  line-height: var(--appadel-typography-line-height-supporting);
}

.product-operational-feedback:is(
  .product-operational-feedback--processing,
  .product-operational-feedback--success,
  .product-operational-feedback--info
) {
  color: var(--appadel-text-primary);
}

.product-operational-feedback--error { color: var(--appadel-feedback-danger); }
.product-operational-feedback:empty { display:none; }

.ds-status {
  align-items: center;
  background: var(--appadel-surface-interactive);
  border: 1px solid var(--appadel-border-strong);
  border-radius: var(--appadel-radius-panel);
  color: var(--appadel-text-primary);
  display: inline-flex;
  gap: var(--appadel-spacing-inline-tight);
  min-height: var(--appadel-interaction-control-height-compact);
  padding-inline: var(--appadel-spacing-content-gap);
  white-space: nowrap;
}

.ds-status--active,
.ds-status--completed { border-color: var(--appadel-feedback-success); }
.ds-status--inactive { color: var(--appadel-text-secondary); }
.ds-status--pending { border-color: var(--appadel-brand-primary); }

.ds-progress {
  background: var(--appadel-surface-secondary);
  border: 1px solid var(--appadel-border-subtle);
  border-radius: var(--appadel-radius-control);
  color: var(--appadel-text-primary);
  display: grid;
  gap: var(--appadel-spacing-control-gap);
  min-width: 0;
  padding: var(--appadel-spacing-content-gap);
}

.ds-progress__track {
  background: var(--appadel-surface-background);
  border-radius: var(--appadel-radius-control);
  min-height: var(--appadel-spacing-control-gap);
  overflow: hidden;
}

.ds-progress__value {
  background: var(--appadel-brand-primary);
  display: block;
  height: 100%;
  min-height: inherit;
}

/* DS-09 structured-data foundation. Consumer-specific responsive ownership remains explicit. */
.ds-data-table {
  background: var(--appadel-surface-elevated);
  color: var(--appadel-text-primary);
  font-family: var(--appadel-typography-font-family);
  font-size: var(--appadel-typography-size-supporting);
  line-height: var(--appadel-typography-line-height-supporting);
  max-width: 100%;
  min-width: 0;
}

.ds-data-table__container,
.ds-data-table__scroll {
  max-width: 100%;
  min-width: 0;
}

.ds-data-table__scroll {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.ds-data-table__table {
  background: transparent;
  border-collapse: collapse;
  color: inherit;
  margin: 0;
  width: 100%;
}

.ds-data-table__caption {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.ds-data-table__cell {
  border-bottom: 1px solid var(--appadel-border-subtle);
  color: inherit;
  padding: var(--appadel-spacing-content-gap);
  text-align: start;
  vertical-align: middle;
}

.ds-data-table__head .ds-data-table__cell {
  background: var(--appadel-surface-secondary);
  color: var(--appadel-text-primary);
  font-size: var(--appadel-typography-size-caption);
  font-weight: var(--appadel-typography-weight-emphasis);
}

.ds-data-table__body .ds-data-table__row {
  background: var(--appadel-surface-elevated);
}

.ds-data-table__body .ds-data-table__row:nth-child(even) {
  background: var(--appadel-surface-interactive);
}

.ds-data-table__body .ds-data-table__row:hover {
  background: var(--appadel-interaction-hover);
}

.ds-data-table__cell--numeric { font-variant-numeric: tabular-nums; text-align: end; }
.ds-data-table__cell--status { white-space: nowrap; }
.ds-data-table__cell--actions { text-align: end; }
.ds-data-table__actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--appadel-spacing-control-gap); justify-content: flex-end; }

.ds-data-table__sort {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: var(--appadel-spacing-inline-tight);
  justify-content: inherit;
  padding: 0;
  text-align: inherit;
  white-space: nowrap;
  width: 100%;
}

.ds-data-table__sort:focus-visible { box-shadow: var(--appadel-interaction-focus-ring); outline: none; }

/* DS-11 information-card foundations. Low specificity preserves opted-in legacy pilots. */
:where(.ds-kpi-card),
:where(.ds-summary-card),
:where(.ds-chart-card),
:where(.ds-insight-card),
:where(.ds-alert-card) {
  color: var(--appadel-text-primary);
  min-width: 0;
}

:where(.ds-kpi-card),
:where(.ds-summary-card),
:where(.ds-chart-card),
:where(.ds-insight-card) {
  padding: var(--appadel-spacing-panel-gap);
}

:where(.ds-alert-card) {
  background: var(--appadel-surface-elevated);
  border: 1px solid var(--appadel-border-subtle);
  border-radius: var(--appadel-radius-control);
  padding: var(--appadel-spacing-panel-gap);
}

:where(.ds-kpi-card) {
  align-content: start;
  display: grid;
  gap: var(--appadel-spacing-control-gap);
}

:where(.ds-kpi-card__title),
:where(.ds-kpi-card__subtitle),
:where(.ds-kpi-card__trend),
:where(.ds-kpi-card__status) { color: var(--appadel-text-secondary); }

:where(.ds-kpi-card__value-row) { align-items: baseline; display: flex; flex-wrap: wrap; gap: var(--appadel-spacing-inline-tight); }
:where(.ds-kpi-card__value) { color: var(--appadel-text-primary); font-variant-numeric: tabular-nums; font-weight: var(--appadel-typography-weight-emphasis); overflow-wrap: anywhere; }
:where(.ds-kpi-card__value--positive) { color: var(--appadel-feedback-success); }
:where(.ds-kpi-card__value--negative) { color: var(--appadel-feedback-danger); }
:where(.ds-kpi-card__unit) { color: var(--appadel-text-secondary); }

/* DS-010A/B canonical KPI hierarchy. Consumers own layout only. */
:where(.ds-kpi-card--hero, .ds-kpi-card--standard) {
  align-content: center;
  border-radius: var(--appadel-radius-panel);
  box-shadow: var(--appadel-elevation-panel);
  box-sizing: border-box;
  justify-items: center;
  text-align: center;
}

:where(.ds-kpi-card--hero) {
  background: var(--ds-kpi-hero-background);
  border: 1px solid var(--ds-kpi-hero-background);
  color: var(--ds-kpi-hero-text);
  gap: var(--appadel-spacing-content-gap);
  padding: var(--appadel-spacing-panel-gap);
}

:where(.ds-kpi-card--standard) {
  background: var(--ds-kpi-standard-background);
  border: 1px solid var(--ds-kpi-standard-border);
  color: var(--ds-kpi-standard-text);
  gap: var(--appadel-spacing-inline-tight);
  padding: var(--appadel-spacing-content-gap);
}

:where(.ds-kpi-card--hero .ds-kpi-card__value) {
  color: var(--ds-kpi-hero-text);
  font-size: var(--appadel-typography-size-display);
  font-weight: var(--appadel-typography-weight-display);
  line-height: var(--appadel-typography-line-height-metric);
}

:where(.ds-kpi-card--standard .ds-kpi-card__value) {
  color: var(--ds-kpi-standard-text);
  font-size: var(--appadel-typography-size-metric);
  font-weight: var(--appadel-typography-weight-heading);
  line-height: var(--appadel-typography-line-height-metric);
}

:where(.ds-kpi-card--hero .ds-kpi-card__title) {
  color: var(--ds-kpi-hero-text);
  font-size: var(--appadel-typography-size-body);
  font-weight: var(--appadel-typography-weight-emphasis);
  line-height: var(--appadel-typography-line-height-tight);
}

:where(.ds-kpi-card--standard .ds-kpi-card__title) {
  color: var(--ds-kpi-standard-text);
  font-size: var(--appadel-typography-size-caption);
  font-weight: var(--appadel-typography-weight-emphasis);
  line-height: var(--appadel-typography-line-height-tight);
}

:where(.ds-kpi-card--hero .ds-kpi-card__subtitle) {
  color: var(--ds-kpi-hero-supporting-text);
  font-size: var(--appadel-typography-size-caption);
  line-height: var(--appadel-typography-line-height-supporting);
  opacity: 0.78;
}

:where(.ds-kpi-card--standard .ds-kpi-card__subtitle, .ds-kpi-card--standard .ds-kpi-card__status) {
  color: var(--ds-kpi-standard-supporting-text);
  font-size: var(--appadel-typography-size-label);
  line-height: var(--appadel-typography-line-height-supporting);
}

/* Canonical KPI group composition: one principal metric over equal secondary metrics. */
:where(.ds-kpi-group-list) {
  display: grid;
  gap: var(--appadel-spacing-content-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--appadel-spacing-control-gap);
  min-width: 0;
}

:where(.ds-kpi-group) {
  background: var(--appadel-surface-elevated);
  border: 1px solid var(--appadel-border-subtle);
  border-radius: var(--appadel-radius-panel);
  box-shadow: var(--appadel-elevation-panel);
  display: grid;
  gap: var(--appadel-spacing-content-gap);
  min-width: 0;
  padding: var(--appadel-spacing-content-gap);
}

:where(.ds-kpi-group > .ds-kpi-card, .ds-kpi-group__secondary > .ds-kpi-card) {
  align-self: stretch;
  box-shadow: none;
  min-width: 0;
}

:where(.ds-kpi-group__secondary) {
  display: grid;
  gap: var(--appadel-spacing-control-gap);
  grid-template-columns: repeat(var(--ds-kpi-group-secondary-columns), minmax(0, 1fr));
  min-width: 0;
}

:where(.ds-kpi-group__secondary--columns-2) { --ds-kpi-group-secondary-columns: 2; }
:where(.ds-kpi-group__secondary--columns-3) { --ds-kpi-group-secondary-columns: 3; }

@media (max-width: 900px) {
  :where(.ds-kpi-group-list) { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 576px) {
  :where(.ds-kpi-group-list, .ds-kpi-group) { gap: var(--appadel-spacing-control-gap); }
  :where(.ds-kpi-group) { padding: var(--appadel-spacing-control-gap); }
  :where(.ds-kpi-group__secondary .ds-kpi-card--standard) { padding: var(--appadel-spacing-control-gap); }
}

:where(.ds-summary-card),
:where(.ds-insight-card),
:where(.ds-alert-card),
:where(.ds-chart-card) { display: grid; gap: var(--appadel-spacing-content-gap); }

:where(.ds-summary-card__header),
:where(.ds-chart-card__header),
:where(.ds-alert-card__header) { align-items: flex-start; display: flex; gap: var(--appadel-spacing-content-gap); justify-content: space-between; min-width: 0; }

:where(.ds-summary-card__title),
:where(.ds-chart-card__title),
:where(.ds-insight-card__title),
:where(.ds-alert-card__title) {
  color: var(--appadel-brand-primary);
  font-size: var(--appadel-typography-size-card-title);
  line-height: var(--appadel-typography-line-height-tight);
  margin: 0;
}

:where(.ds-summary-card__body),
:where(.ds-summary-card__icon),
:where(.ds-chart-card__subtitle),
:where(.ds-chart-card__footer),
:where(.ds-chart-card__state),
:where(.ds-insight-card__supporting-data),
:where(.ds-insight-card__recommendation),
:where(.ds-alert-card__description) { color: var(--appadel-text-secondary); }

:where(.ds-summary-card__actions),
:where(.ds-chart-card__filters),
:where(.ds-alert-card__action) { align-items: center; display: flex; flex-wrap: wrap; gap: var(--appadel-spacing-control-gap); }

:where(.ds-chart-card__chart) { max-width: 100%; min-width: 0; }

:where(.ds-chart-card__data-row) { display: grid; gap: var(--appadel-spacing-inline-tight); min-width: 0; }
:where(.ds-chart-card__data-header) { align-items: center; display: grid; gap: var(--appadel-spacing-inline-tight); grid-template-columns: minmax(0, 1fr) auto; }
:where(.ds-chart-card__data-label) { color: var(--appadel-text-primary); font-size: var(--appadel-typography-size-supporting); font-weight: var(--appadel-typography-weight-emphasis); line-height: var(--appadel-typography-line-height-tight); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:where(.ds-chart-card__data-value) { color: var(--appadel-text-primary); font-size: var(--appadel-typography-size-supporting); font-variant-numeric: tabular-nums; font-weight: var(--appadel-typography-weight-emphasis); white-space: nowrap; }
:where(.ds-chart-card__data-meta) { color: var(--appadel-text-secondary); font-size: var(--appadel-typography-size-caption); font-weight: var(--appadel-typography-weight-supporting); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:where(.ds-chart-card__track) { background: var(--appadel-surface-interactive); border-radius: var(--appadel-radius-control); overflow: hidden; }
:where(.ds-chart-card__bar) { background: var(--appadel-brand-primary); border-radius: inherit; display: block; height: 100%; }

:where(.ds-insight-card__insight) { color: var(--appadel-text-primary); font-weight: var(--appadel-typography-weight-supporting); }
:where(.ds-insight-card__supporting-data) { border-top: 1px solid var(--appadel-border-subtle); padding-top: var(--appadel-spacing-content-gap); }
:where(.ds-insight-card__recommendation) { border-left: 3px solid var(--appadel-brand-primary); padding-left: var(--appadel-spacing-content-gap); }

/* Product domain typography roles shared by GamePlan factual compositions. */
:where(.pd-match-result-summary, .pd-gameplan-pair-result-card, .pd-gameplan-team-comparison, .pd-gameplan-tactical-insight) {
  font-family: var(--appadel-typography-font-family);
  font-size: var(--appadel-typography-size-supporting);
  line-height: var(--appadel-typography-line-height-supporting);
}

:where(.pd-match-result-summary__meta, .pd-gameplan-pair-result-card__header, .pd-gameplan-team-comparison__note) {
  font-size: var(--appadel-typography-size-caption);
  font-weight: var(--appadel-typography-weight-supporting);
}

:where(.pd-match-result-summary__journey) {
  font-size: var(--appadel-typography-size-card-title);
  font-weight: var(--appadel-typography-weight-heading);
}

:where(.pd-gameplan-pair-result-card__journey) {
  color: var(--appadel-text-primary);
  font-weight: var(--appadel-typography-weight-heading);
}

:where(.pd-match-result-summary__meta, .pd-gameplan-team-comparison__header, .pd-gameplan-team-comparison__note) {
  color: var(--appadel-text-primary);
}

:where(.pd-gameplan-pair-results__group > .ds-section-header__title, .pd-gameplan-pair-result-card__teams, .pd-gameplan-pair-result-card__teams > span) {
  color: var(--appadel-text-primary);
}

:where(.pd-gameplan-pair-result-card__teams > .is-analyzed-team) {
  color: var(--appadel-brand-primary);
}

:where(.pd-gameplan-pair-result-card__header) {
  color: var(--appadel-text-primary);
}

:where(.pd-match-result-summary__teams, .pd-gameplan-pair-result-card__teams, .pd-gameplan-pair-result-card__players, .pd-gameplan-team-comparison__value) {
  font-weight: var(--appadel-typography-weight-emphasis);
}

:where(.pd-match-result-summary__score, .pd-match-result-summary__outcome, .pd-gameplan-pair-result-card__outcome, .pd-gameplan-pair-result-card__set-scores) {
  font-variant-numeric: tabular-nums;
  font-weight: var(--appadel-typography-weight-display);
  line-height: var(--appadel-typography-line-height-metric);
}

:where(.pd-gameplan-team-comparison__header, .pd-gameplan-team-comparison__status) {
  font-size: var(--appadel-typography-size-caption);
  font-weight: var(--appadel-typography-weight-emphasis);
}

:where(.pd-gameplan-team-comparison, .pd-gameplan-team-comparison__header, .pd-gameplan-team-comparison__row, .pd-gameplan-team-comparison__note) {
  font-size: var(--appadel-typography-size-caption);
}

.pd-gameplan-tactical-insight {
  display: grid;
  gap: 6px;
  margin: 0;
  min-width: 0;
}

.pd-gameplan-tactical-insight:not(:last-child) {
  margin-block-end: var(--appadel-spacing-panel-gap);
}

.pd-gameplan-tactical-insight__title {
  color: var(--appadel-text-primary);
  font-size: var(--appadel-typography-size-supporting);
  font-weight: var(--appadel-typography-weight-heading);
  line-height: var(--appadel-typography-line-height-tight);
  margin: 0;
}

.pd-gameplan-tactical-insight__evidence,
.pd-gameplan-tactical-insight__interpretation {
  color: var(--appadel-text-primary);
  font-weight: var(--appadel-typography-weight-regular);
  margin: 0;
}

:where(.ds-alert-card--info) { border-color: var(--appadel-border-strong); }
:where(.ds-alert-card--success) { border-color: var(--appadel-feedback-success); }
:where(.ds-alert-card--warning) { border-color: var(--appadel-brand-primary); }
:where(.ds-alert-card--error) { border-color: var(--appadel-feedback-danger); }
:where(.ds-alert-card__status) { color: var(--appadel-text-primary); font-variant-numeric: tabular-nums; }

/*
 * Legacy default-border contract for non-Product surfaces and feedback states.
 * Explicit semantic state exclusions both preserve their meaning and let this
 * opted-in contract supersede retained legacy card decoration without !important.
 */
body:not(.management-page) :is(
  .ds-panel,
  .ds-alert-card,
  .ds-empty-state,
  .ds-alert
):not(.product-content-panel):not(.ds-alert--success):not(.ds-alert--warning):not(.ds-alert--error):not(.ds-alert-card--success):not(.ds-alert-card--warning):not(.ds-alert-card--error) {
  background-image: none;
  border: 1px solid var(--appadel-card-border);
  box-sizing: border-box;
}

/* Admin Management retains its independent legacy border contract. */
body.management-page:not(.club-admin-body) :is(
  .ds-summary-card,
  .ds-chart-card,
  .ds-insight-card,
  .ds-data-table
) {
  background-image: none;
  border: 1px solid var(--appadel-card-border);
  box-sizing: border-box;
}

/* Club Management structural surfaces share Product's canonical panel border. */
body.management-page.club-admin-body :is(
  .ds-panel,
  .ds-summary-card,
  .ds-chart-card,
  .ds-insight-card,
  .ds-data-table
) {
  background-image: none;
  border: 1px solid var(--appadel-panel-border);
  box-sizing: border-box;
}

/* Club structural cards use the DS border only; the legacy top-edge is not a second border. */
body.management-page.club-admin-body .card-soft::before {
  content: none;
}

/* Appadel Management outer panels share the canonical structural edge. */
body.management-page:not(.club-admin-body) .ds-panel {
  background-image: none;
  border: 1px solid var(--appadel-panel-border);
  box-sizing: border-box;
}

body.management-page:not(.club-admin-body) .card-soft.ds-panel::before {
  content: none;
}

/* Canonical Product Surface Contract: DS-003/004/009/010/019/023/024. */
body:not(.management-page) :is(
  .ds-data-table,
  .ds-summary-card,
  .ds-chart-card,
  .ds-insight-card
)[class],
.product-workflow-shell .ds-panel.ds-panel[class] {
  background:var(--appadel-product-surface);
  border-color:var(--appadel-product-border);
  border-style:solid;
  border-width:1px;
  border-radius:var(--appadel-product-radius);
  box-shadow:var(--appadel-product-shadow);
}

/* Principal Product surfaces use the stronger member of the soft-yellow family. */
body:not(.management-page) .product-content-panel.ds-panel[class],
.product-workflow-shell .workflow-main-card.ds-panel[class] {
  background:var(--appadel-product-surface);
  border-color:var(--appadel-panel-border);
  border-style:solid;
  border-width:1px;
  border-radius:var(--appadel-product-radius);
  box-shadow:var(--appadel-product-shadow);
}

.product-workflow-shell :is(#olCaptainPairsCard, #olCaptainResultsCard, #cfEditorCard).ds-panel {
  background:var(--appadel-product-surface);
  border-color:var(--appadel-product-border);
  border-style:solid;
  border-width:1px;
  border-radius:var(--appadel-product-radius);
  box-shadow:var(--appadel-product-shadow);
}

@media (prefers-reduced-motion: reduce) {
  .ds-loading__indicator,
  .ds-loading-overlay::after,
  .ds-loading.ds-loading--inline::before,
  body.management-page .ds-loading__indicator,
  .ds-skeleton__block::after,
  .ds-skeleton__line::after,
  .ds-skeleton__avatar::after { animation: none; }
}

.ds-button:focus-visible,
.ds-search-field__input:focus-visible,
.ds-search-field__clear:focus-visible { box-shadow: var(--appadel-interaction-focus-ring); outline: none; }

/* Canonical variants override retained Management families only on opted-in buttons. */
.management-page .ds-button.ds-button--primary { background: var(--appadel-brand-primary); border-color: var(--appadel-brand-primary); color: var(--appadel-surface-background); }
.management-page .ds-button.ds-button--secondary { background: var(--appadel-surface-secondary); border-color: var(--appadel-brand-primary); color: var(--appadel-brand-primary); }
.management-page .ds-button.ds-button--tertiary { background: transparent; border-color: var(--appadel-border-subtle); color: var(--appadel-text-secondary); }
.management-page .ds-button.ds-button--danger { background: transparent; border-color: var(--appadel-feedback-danger); color: var(--appadel-feedback-danger); }
.management-page .ds-button.ds-button--primary:hover { background: var(--appadel-brand-primary-hover); border-color: var(--appadel-brand-primary-hover); color: var(--appadel-surface-background); }
.management-page .ds-button.ds-button--secondary:hover { background: var(--appadel-interaction-hover); border-color: var(--appadel-brand-primary-hover); color: var(--appadel-brand-primary-hover); }
.management-page .ds-button.ds-button--tertiary:hover { background: var(--appadel-interaction-hover); border-color: var(--appadel-border-subtle); color: var(--appadel-text-primary); }
.management-page .ds-button.ds-button--danger:hover { background: var(--appadel-interaction-hover); border-color: var(--appadel-feedback-danger-hover); color: var(--appadel-feedback-danger-hover); }

@media (min-width: 901px) {
  .ds-filter-bar { align-items: center; display: flex; flex-wrap: nowrap; gap: var(--appadel-spacing-control-gap); padding: 0; }
  .ds-filter-bar__controls { flex: 1 1 auto; flex-wrap: nowrap; }
}

@media (max-width: 767.98px) {
  .ds-section-header { align-items: stretch; flex-direction: column; }
  .ds-section-header.ds-section-header--inline { align-items: flex-start; flex-direction: row; }
  .ds-section-header__actions,
  .ds-filter-bar__actions { justify-content: stretch; margin-inline-start: 0; }
  .ds-section-header__actions > *,
  .ds-filter-bar__actions > * { width: 100%; }

  .ds-action-group--stack-mobile { align-items: stretch; flex-direction: column; }
  .ds-action-group--stack-mobile > .ds-button { width: 100%; }
}

/* Product Page Header Actions: title remains flexible; actions remain intrinsic. */
.ds-section-header.product-page-header {
  align-items: center;
  display: grid;
  gap: var(--appadel-spacing-control-gap);
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}

.product-page-header > .product-page-title {
  color: var(--appadel-brand-primary);
  min-width: 0;
}

.product-page-header > .product-page-header__actions,
.product-page-header > .product-page-context-slot > .product-page-header__actions {
  align-items: center;
  display: inline-flex;
  flex-wrap: nowrap;
  gap: var(--appadel-spacing-control-gap);
  justify-self: end;
  margin-inline-start: 0;
  min-width: max-content;
  width: auto;
}

/* Stable Product PageHeader context geometry (PX-001C). */
.product-page-context-slot {
  align-items: center;
  display: grid;
  grid-template-areas: "context";
  justify-self: end;
  min-block-size: var(--appadel-interaction-control-height);
  min-inline-size: 0;
}

.product-page-context-slot--year { min-inline-size: 8.5rem; }
.product-page-context-slot--count { min-block-size: 28px; min-inline-size: 7rem; }
.product-page-context-slot > * { grid-area: context; }

.product-page-context-slot > .product-page-header__actions[hidden] {
  display: inline-flex !important;
  visibility: hidden;
}

.product-page-context-slot__placeholder {
  align-items: center;
  display: inline-flex;
  inline-size: 100%;
  justify-self: stretch;
  visibility: hidden;
}

[data-page-state="loading"] .product-page-context-slot__placeholder,
[data-stats-page-state="loading"] .product-page-context-slot__placeholder { visibility: visible; }

.product-page-context-slot__placeholder > .ds-skeleton__line {
  inline-size: 100%;
  margin: 0;
}

.product-page-header__actions > .ds-form-field__label {
  white-space: nowrap;
}

.product-page-header__actions > .product-year-select {
  background-position: right 1.8rem center, right .3rem center;
  background-size: 1px calc(100% - 16px), 18px 18px;
  inline-size: 5.5rem;
  max-inline-size: 5.5rem;
  min-inline-size: 5.5rem;
  padding-inline: var(--appadel-spacing-control-gap) 2.15rem;
}

@media (max-width: 389px) {
  .ds-section-header.product-page-header {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }
  .product-page-context-slot { justify-self: start; }
}

/* DS editable-field affordance: verified adapters retain native state semantics. */
:where(
  .product-workflow-shell,
  .login-body,
  body[data-page="jugadores"],
  body.management-page,
  body[data-page="club-admin"]
) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  select,
  textarea
):not(:disabled):not([readonly]):not([aria-readonly="true"]):not([aria-invalid="true"]) {
  background-color:var(--appadel-surface-interactive);
  border-color:var(--appadel-brand-primary);
  color:var(--appadel-text-primary);
}

:where(
  .product-workflow-shell,
  .login-body,
  body[data-page="jugadores"],
  body.management-page,
  body[data-page="club-admin"]
) :is(input, select, textarea):is(:disabled, [readonly], [aria-readonly="true"]) {
  border-color:var(--appadel-border-subtle);
}

/* Product workflow composition: shared hierarchy for editable and read-only flows. */
.product-workflow-shell .workflow-main-card {
  display:grid;
  gap:var(--appadel-spacing-panel-gap);
}

.product-workflow-shell .workflow-section {
  background:transparent;
  border:0;
  box-shadow:none;
  display:grid;
  gap:var(--appadel-spacing-content-gap);
  min-width:0;
  padding:0;
}

.product-workflow-shell .workflow-section-title,
.product-workflow-shell .workflow-subcard-title {
  color:var(--appadel-text-primary);
  font-weight:700;
  margin:0;
}

.product-workflow-shell .workflow-section-title { font-size:1rem; }
.product-workflow-shell .workflow-subcard-title { font-size:.95rem; }

.product-workflow-shell .workflow-subcard.ds-panel {
  background:var(--appadel-surface-interactive);
  box-shadow:none;
}

.product-workflow-shell .ds-form-field__label { color:var(--appadel-text-primary); }

.product-workflow-shell .ds-form-field:focus-within .ds-form-field__label {
  color:var(--appadel-text-primary);
  opacity:1;
}

.product-workflow-shell :is(.ds-select, .ds-input).ol-cap-input {
  background-color:var(--appadel-surface-interactive);
  border-color:var(--appadel-brand-primary);
  color:var(--appadel-text-primary);
}

.product-workflow-shell :is(.ds-select, .ds-input).ol-cap-input:is(.tier-top, .tier-mid, .tier-low) {
  background-color:var(--appadel-surface-interactive);
  border-color:var(--appadel-brand-primary);
  color:var(--appadel-text-primary);
}

.product-workflow-shell :is(.ds-select, .ds-input).ol-cap-input.is-invalid-pick {
  border-color:var(--appadel-feedback-danger);
  color:var(--appadel-text-primary);
}

.product-workflow-shell .workflow-readonly-control {
  background:var(--appadel-surface-interactive);
  border-color:var(--appadel-border-subtle);
  color:var(--appadel-text-primary);
}

.product-workflow-shell .workflow-action-footer {
  align-items:center;
  border-top:1px solid var(--appadel-border-subtle);
  display:flex;
  flex-wrap:wrap;
  gap:var(--appadel-spacing-control-gap);
  justify-content:flex-end;
  padding-block:var(--appadel-spacing-panel-gap) max(var(--appadel-spacing-panel-gap), env(safe-area-inset-bottom));
}

.product-workflow-shell .workflow-action-footer > *,
.product-workflow-shell .workflow-action-footer .ds-action-group { min-width:0; }

@media (max-width: 767.98px) {
  .product-workflow-shell .workflow-action-footer,
  .product-workflow-shell .workflow-action-footer .ds-action-group {
    align-items:stretch;
    flex-direction:column;
    width:100%;
  }

  .product-workflow-shell .workflow-action-footer .ds-button { width:100%; }
}

/* Results uses one static pair contract; this adapter does not own score behaviour. */
.product-workflow-shell .results-pair-card.ds-panel {
  background:var(--appadel-surface-interactive);
  box-shadow:none;
  color:var(--appadel-text-primary);
}

.product-workflow-shell .results-pair-heading {
  background:transparent;
  color:var(--appadel-text-primary);
  font-size:.95rem;
  font-weight:700;
  margin:0;
  padding:0;
}

.product-workflow-shell .results-pair-heading :is(.ol-cap-pill-p, .ol-cap-pill-text) {
  color:var(--appadel-text-primary);
}

.product-workflow-shell .results-pair-heading .ol-cap-pill-text {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Deliberate external-brand exception: green belongs only to the WhatsApp glyph. */
.product-workflow-shell .results-whatsapp-brand {
  background:transparent;
  color:var(--color-whatsapp);
  line-height:0;
  overflow:visible;
}

.product-workflow-shell .results-whatsapp-brand svg {
  height:24px;
  width:24px;
}

.product-workflow-shell .results-set-control-group .ol-set-chip {
  background:var(--appadel-surface-secondary);
  border-color:var(--appadel-border-strong);
  color:var(--appadel-text-primary);
}

.product-workflow-shell .results-set-control-group .ol-set-chip.active {
  background:var(--appadel-surface-secondary);
  border-color:var(--appadel-brand-primary);
  box-shadow:none;
}

.product-workflow-shell .results-set-control-group .ol-set-chip:is(.won, .lost, .inprog) {
  background:var(--appadel-surface-secondary);
  border-color:var(--appadel-border-strong);
}

.product-workflow-shell .results-set-control-group .ol-set-chip.active .ol-chip-num,
.product-workflow-shell .results-set-control-group .ol-set-input {
  background:var(--appadel-surface-elevated);
  border-color:var(--appadel-border-strong);
  color:var(--appadel-text-primary);
}

.product-workflow-shell .results-set-control-group .ol-set-input:focus-visible,
.product-workflow-shell .results-pair-action:focus-visible,
.product-workflow-shell .results-whatsapp-brand:focus-visible {
  box-shadow:var(--appadel-interaction-focus-ring);
  outline:none;
}

.product-workflow-shell .results-pair-action {
  background:var(--appadel-surface-secondary);
  border:1px solid var(--appadel-border-strong);
  color:var(--appadel-text-primary);
}

.product-workflow-shell .results-pair-action.ol-act-reset {
  color:var(--appadel-brand-primary);
}
