/* Transfer comparison screen, grounded in the selected Transfer Lab design. */
.team-workspace #transferPlanner.transfer-lab { padding: 0 0 88px; border: 0; background: transparent; max-width: 100%; }
.transfer-lab-heading { margin: 18px 0 16px; max-width: 52rem; }
.transfer-lab-heading .workspace-heading { margin: 0 0 6px; font-size: clamp(32px,3.35vw,48px); }
.transfer-lab-heading .workspace-intro { margin: 0; font-size: 18px; color: var(--muted); }

.transfer-lab-controls {
  display: grid;
  grid-template-columns: minmax(140px,180px) minmax(160px,220px) minmax(160px,1fr);
  gap: 12px;
  align-items: stretch;
  margin: 0 0 18px;
}
.transfer-budget-card,
.transfer-limit-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 72px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #0d1521;
}
.transfer-budget-card p,
.transfer-limit-label {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}
.transfer-budget-value { font-size: 28px; line-height: 1.1; letter-spacing: -0.02em; }
.transfer-limit-label { color: var(--muted); }
.transfer-limit-label input {
  width: 72px;
  min-height: 44px;
  margin-top: 2px;
  font-size: 20px;
  font-weight: 700;
}
.transfer-find-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 72px;
  padding: 16px 22px;
  border: 0;
  border-radius: 12px;
  background: var(--accent);
  color: #111;
  font-size: 17px;
  font-weight: 750;
}
.transfer-find-button .workspace-icon { width: 22px; height: 22px; filter: brightness(0); }
.transfer-find-button:disabled { opacity: 0.55; }

.transfer-status { color: var(--muted); margin: 8px 0 14px; font-size: 15px; }
.transfer-availability-warning { color: var(--warn); margin: 0 0 14px; }
.transfer-complete-team { min-height: 44px; margin-bottom: 12px; }

.transfer-workspace {
  display: grid;
  grid-template-columns: minmax(210px,260px) minmax(0,1fr);
  gap: 18px;
  align-items: start;
}
.transfer-scenario-rail {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 12px;
  min-width: 0;
}
.transfer-scenario-toggle {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #0d1521;
}
.transfer-scenario-toggle > span {
  padding: 0 4px 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.transfer-scenario-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #111a28;
  color: var(--text);
  font-size: 14px;
  font-weight: 650;
  text-align: left;
}
.transfer-scenario-choice:disabled { opacity: 0.45; }
.transfer-scenario-choice[aria-pressed="true"] {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
  color: var(--accent);
}
.transfer-scenario-label { min-width: 0; overflow-wrap: anywhere; }
.transfer-scenario-gain { flex: 0 0 auto; font-size: 13px; font-weight: 700; }
.transfer-saved-disclosure {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #0d1521;
}
.transfer-saved-disclosure > summary {
  min-height: 44px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
}
.transfer-saved-scenarios {
  display: grid;
  gap: 10px;
  padding: 0 14px 14px;
}
.transfer-saved-scenarios label { display: grid; gap: 8px; }
.transfer-saved-scenarios select,
.transfer-save-form input { width: 100%; max-width: 100%; min-height: 44px; }
.transfer-saved-scenarios button { min-height: 44px; }

.transfer-plan-panel {
  min-width: 0;
  padding: 18px 20px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #0d1520;
}
.transfer-plan-heading h3 { margin: 0 0 4px; font-size: 24px; letter-spacing: -0.02em; }
.transfer-plan-heading p { margin: 0 0 14px; color: var(--muted); font-size: 15px; }

.transfer-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0;
  margin: 0 0 16px;
  padding: 4px 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #101a29;
}
.transfer-metrics > div { padding: 12px 18px; border-right: 1px solid #35435c; min-width: 0; }
.transfer-metrics > div:last-child { border: 0; }
.transfer-metrics p { margin: 0 0 6px; font-size: 13px; color: var(--muted); font-weight: 650; }
.transfer-metric-figure { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.transfer-metric-figure strong { font-size: 28px; line-height: 1.15; overflow-wrap: anywhere; }

.transfer-player-list { display: grid; gap: 12px; }
.transfer-pair {
  display: grid;
  grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #0a111b;
}
.transfer-pair-label {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.transfer-pair-bridge {
  display: grid;
  place-items: center;
  color: var(--muted);
}
.transfer-pair-bridge .workspace-icon { width: 28px; height: 28px; }
.transfer-player-card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  grid-template-areas:
    "badge identity"
    "badge stats"
    "details details";
  gap: 8px 12px;
  min-width: 0;
  align-content: start;
}
.transfer-direction-badge {
  grid-area: badge;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 28px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.transfer-player-card[data-direction="OUT"] .transfer-direction-badge { background: #3a2430; color: #ffb4a2; }
.transfer-player-card[data-direction="IN"] .transfer-direction-badge { background: #17352f; color: #82f5d0; }
.transfer-player-identity { grid-area: identity; min-width: 0; }
.transfer-player-identity > strong { display: block; font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.transfer-player-identity p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.transfer-player-identity .transfer-player-availability { margin-top: 6px; font-size: 12px; color: #b6c7e1; }
.transfer-player-identity .transfer-player-source { font-size: 11px; line-height: 1.4; }
.transfer-player-stats {
  grid-area: stats;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.transfer-player-number { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.transfer-player-number strong { font-size: 18px; }
.transfer-player-number span { font-size: 12px; color: var(--muted); }
.transfer-player-details {
  grid-area: details;
  justify-self: start;
  min-height: 44px;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  color: #9ec5ff;
  font-size: 14px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.transfer-lab .is-positive { color: #82f5d0; }
.transfer-lab .is-negative { color: #ffab91; }

.transfer-round-comparison { margin-top: 16px; padding: 12px 18px; border: 1px solid var(--line); border-radius: 10px; }
.transfer-round-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.transfer-round-heading h3 { margin: 0; font-size: 16px; }
.transfer-round-heading p { margin: 0; color: var(--muted); font-size: 13px; max-width: 36rem; }
.transfer-round-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 10px 0; border: 1px solid var(--line); border-radius: 10px; background: #101a29; }
.transfer-round-values > div { display: grid; gap: 4px; text-align: center; border-right: 1px solid var(--line); padding: 0 8px; }
.transfer-round-values > div:last-child { border: 0; }
.transfer-round-values span { color: var(--muted); font-size: 13px; font-weight: 600; }
.transfer-round-values strong { font-size: 22px; overflow-wrap: anywhere; }

.transfer-assumptions { margin-top: 14px; border: 1px solid var(--line); border-radius: 10px; }
.transfer-assumptions > summary { min-height: 44px; padding: 12px 18px; font-size: 14px; font-weight: 650; cursor: pointer; }
.transfer-assumptions > :not(summary) { margin: 14px 18px; }
.transfer-assumptions p { color: var(--muted); font-size: 14px; line-height: 1.5; }
.transfer-assumptions label { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.transfer-assumptions select { max-width: 180px; min-height: 44px; }

.transfer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 18px;
  margin: 16px 0 0;
}
.transfer-save-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 16px;
  white-space: normal;
  font-size: 14px;
  font-weight: 650;
}
.transfer-save-button .workspace-icon { width: 20px; height: 20px; }
.transfer-preview-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  order: 2;
  background: var(--accent);
  color: #111;
  min-height: 50px;
  min-width: min(100%, 280px);
  padding: 12px 18px;
  font-size: 16px;
  font-weight: 750;
}
.transfer-preview-button .workspace-icon { filter: brightness(0); }
.transfer-preview-note {
  order: 3;
  flex: 1 0 100%;
  margin: 0;
  text-align: right;
  color: var(--muted);
  font-size: 13px;
}
.transfer-save-button { order: 1; }

.transfer-lineup-preview, .transfer-save-form { margin: 18px 0; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.transfer-lineup-preview h3, .transfer-save-form h3 { margin-top: 0; }
.transfer-lineup-preview p { color: var(--muted); font-size: 14px; }
.transfer-role-row { display: grid; grid-template-columns: 48px minmax(0,1fr) minmax(0,1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.transfer-role-row > div { display: flex; flex-wrap: wrap; gap: 6px 12px; min-width: 0; }
.transfer-role-row strong { flex: 1 1 100%; overflow-wrap: anywhere; font-size: 14px; }
.transfer-role-row span { font-size: 12px; color: var(--muted); }
.transfer-role-row[data-changed="true"] > div:last-child { padding-left: 10px; border-left: 2px solid var(--accent); }
.transfer-role-header { font-weight: 750; }
.transfer-lineup-preview button { margin-top: 18px; margin-right: 12px; min-height: 44px; }
.transfer-apply-button { background: var(--accent); color: #111; font-weight: 750; }
.transfer-save-form label { display: grid; gap: 8px; margin-bottom: 12px; }
.transfer-save-form button { min-height: 44px; margin-right: 12px; }

@media (max-width: 1100px) {
  .transfer-workspace { grid-template-columns: minmax(190px,220px) minmax(0,1fr); }
  .transfer-lab-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .transfer-find-button { grid-column: 1 / -1; min-height: 56px; }
  .transfer-metric-figure strong { font-size: 24px; }
}

@media (max-width: 900px) {
  .transfer-workspace { grid-template-columns: minmax(0,1fr); }
  .transfer-scenario-rail { position: static; }
  .transfer-scenario-toggle {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .transfer-scenario-toggle > span { display: none; }
  .transfer-scenario-choice {
    flex: 0 0 auto;
    min-width: 132px;
    scroll-snap-align: start;
  }
  .transfer-pair { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .transfer-pair-bridge {
    justify-self: center;
    width: 44px;
    height: 44px;
    transform: rotate(90deg);
  }
  .transfer-player-card {
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-areas:
      "badge identity details"
      "badge stats details";
    align-items: center;
  }
  .transfer-player-details { justify-self: end; align-self: center; white-space: nowrap; }
  .transfer-round-heading { flex-wrap: wrap; gap: 6px; }
}

@media (max-width: 600px) {
  .team-workspace #transferPlanner.transfer-lab { padding-bottom: 112px; }
  .transfer-lab-heading { margin-top: 12px; }
  .transfer-lab-heading .workspace-heading { font-size: 30px; }
  .transfer-lab-heading .workspace-intro { font-size: 15px; }
  .transfer-lab-controls { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .transfer-budget-card,
  .transfer-limit-label { min-height: 64px; padding: 10px 12px; }
  .transfer-budget-value { font-size: 22px; }
  .transfer-find-button { min-height: 48px; font-size: 15px; }
  .transfer-plan-panel { padding: 14px; }
  .transfer-plan-heading h3 { font-size: 21px; }
  .transfer-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .transfer-metrics > div { padding: 10px 8px; }
  .transfer-metric-figure strong { font-size: 18px; }
  .transfer-round-comparison { padding: 12px; }
  .transfer-round-values strong { font-size: 18px; }
  .transfer-sticky-actions {
    position: sticky;
    bottom: 0;
    z-index: 5;
    margin: 16px -14px -14px;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--line);
    background: rgba(13, 21, 32, 0.96);
    backdrop-filter: blur(8px);
    justify-content: stretch;
  }
  .transfer-sticky-actions .transfer-preview-button {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }
  .transfer-sticky-actions .transfer-save-button {
    order: 2;
    flex: 0 1 auto;
    min-height: 48px;
    background: transparent;
    border-color: transparent;
    color: var(--accent);
  }
  .transfer-sticky-actions .transfer-preview-note {
    order: 3;
    text-align: left;
  }
  .transfer-lineup-preview, .transfer-save-form { padding: 14px; }
  .transfer-role-row { grid-template-columns: 30px minmax(0,1fr) minmax(0,1fr); gap: 8px; }
}

/* Shared help wraps actions; size the wrapper as the layout item. */
.transfer-lab-controls > .context-help-action { display:flex; align-items:center; min-width:0; }
.transfer-lab-controls > .context-help-action .transfer-find-button { flex:1; width:100%; }
.transfer-warning-disclosure { margin:0 0 16px; color:var(--warn); }
.transfer-warning-disclosure summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:14px; }
.transfer-warning-disclosure .transfer-availability-warning { font-size:14px; line-height:1.5; }
.transfer-actions > .context-help-action { display:flex; gap:6px; align-items:center; min-width:0; }
.transfer-budget-value { color:var(--text); }
.transfer-pair { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:14px 0; }
@media(max-width:1100px) {
 .transfer-lab-controls > .context-help-action { grid-column:1 / -1; }
}
@media(max-width:900px) {
 .transfer-scenario-choice { width:auto; }
}
@media(max-width:600px) {
 .transfer-sticky-actions { bottom:74px; gap:6px; }
 .transfer-sticky-actions > .context-help-action:first-child { flex:1 1 100%; }
 .transfer-sticky-actions > .context-help-action:first-child .transfer-preview-button { width:100%; }
 .transfer-sticky-actions > .context-help-action:nth-child(2) { flex:1 1 100%; }
 .transfer-sticky-actions .transfer-save-button { padding:6px 0; min-height:44px; font-size:14px; }
 .transfer-sticky-actions .transfer-preview-note { margin:0; font-size:12px; }
 .transfer-preview-button { gap:8px; font-size:14px; }
}

.transfer-lab:has(.transfer-lineup-preview:not([hidden])) .transfer-sticky-actions { position:static; }
.transfer-scenario-toggle { scrollbar-width:thin; }
.transfer-keep-note { color:var(--muted); padding:12px 0; }

.transfer-direction-badge { align-self:start; border-radius:6px; }
@media(min-width:1101px) {
 .transfer-lab-controls > .context-help-action { justify-self:end; width:250px; max-width:100%; }
}

@media(max-width:400px) {
 .transfer-player-card { grid-template-areas:"badge identity identity" "badge stats stats" "details details details"; }
 .transfer-player-details { justify-self:start; }
}
@media(max-width:600px) {
 .transfer-sticky-actions .transfer-preview-note { display:none; }
}

@media(min-width:901px) {
 .transfer-pair-label { display:none; }
 .transfer-player-card { grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"badge identity details" "badge stats details"; }
 .transfer-player-details { align-self:center; }
}
