/* Front-office cards share the league's charcoal / cream / red palette. */
.teamcard.your-team,.card.your-team { border:2px solid var(--good); background:linear-gradient(135deg,rgba(78,201,138,.1),var(--panel) 65%); box-shadow:0 0 0 3px rgba(78,201,138,.08); }
.your-team-badge { display:inline-flex; align-items:center; padding:4px 10px; border:1px solid var(--good); border-radius:999px; background:rgba(78,201,138,.12); color:var(--good); font:600 .875rem/1.4 var(--sans); vertical-align:middle; }
.trade-heading,.trade-cardhead,.trade-cardfoot,.trade-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.trade-heading { margin:12px 0 24px; }
.trade-heading h2 { font-size:2.15rem; letter-spacing:-.04em; margin:0; }
.trade-heading p,.trade-cardhead h3 { margin:3px 0; }
.trade-eyebrow { color:var(--red-2); font-size:.68rem; font-weight:800; letter-spacing:.16em; }
.trade-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.trade-banner { padding:12px 16px; border:1px solid var(--line-2); border-left:3px solid var(--gold); border-radius:8px; background:var(--bg-2); font-size:.86rem; }
.trade-stats { display:grid; grid-template-columns:repeat(4,1fr); margin:18px 0; gap:12px; }
.trade-stats>div { padding:18px 20px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,var(--panel-2),var(--panel)); }
.trade-stats span { display:block; color:var(--ink-2); font-size:.76rem; }
.trade-stats strong { display:block; font-size:2rem; letter-spacing:-.05em; }
.trade-stats small { color:var(--ink-3); font-size:1rem; }
.trade-toolbar { margin:24px 0 18px; }
.trade-market { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.trade-market .card { margin:0; display:flex; flex-direction:column; }
.trade-team .trade-cardfoot { margin-top:auto; padding-top:18px; }
.trade-team h4,.trade-exchange h4 { margin:14px 0 8px; color:var(--ink-2); font-size:.78rem; }
.trade-mons { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0 16px; }
.trade-mon { display:inline-flex; align-items:center; gap:6px; min-height:42px; padding:4px 10px 4px 4px; background:var(--bg-2); border:1px solid var(--line); border-radius:8px; color:var(--ink); font:500 .8rem var(--sans); }
.trade-mon img { width:38px; height:34px; object-fit:contain; image-rendering:pixelated; }
.trade-status { display:inline-block; border:1px solid var(--line-2); border-radius:99px; padding:4px 10px; font-size:.7rem; white-space:nowrap; background:var(--bg-2); }
.trade-status.pending { color:var(--gold); border-color:#66592d; }
.trade-status.accepted { color:var(--good); border-color:#2a6044; }
.trade-status.declined,.trade-status.stale { color:var(--red-2); }
.trade-exchange { display:grid; grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr); align-items:start; gap:12px; }
.trade-arrow { align-self:center; justify-self:center; font-size:1.8rem; color:var(--ink-3); }
.trade-cardfoot { border-top:1px solid var(--line); padding-top:12px; margin-top:10px; font-size:.8rem; }
.trade-offer blockquote { margin:8px 0 16px; padding:10px 14px; border-left:2px solid var(--line-2); color:var(--ink-2); overflow-wrap:anywhere; }
.trade-composer { border-color:var(--red); scroll-margin-top:170px; }
.trade-picks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:10px 0; }
.trade-composer .trade-picks { grid-template-columns:1fr; }
.trade-pick { display:flex; align-items:center; gap:8px; padding:7px 9px; min-height:48px; border:1px solid var(--line); border-radius:8px; cursor:pointer; background:var(--bg-2); }
.trade-pick.selected { border-color:var(--red); background:#302127; }
.trade-pick img { width:40px; height:34px; object-fit:contain; image-rendering:pixelated; }
.trade-pick span { flex:1; font-size:.82rem; }
.trade-pick small { color:var(--ink-2); white-space:nowrap; font-size:.7rem; }
.trade-note { display:flex; flex-direction:column; gap:6px; margin:16px 0; font-size:.82rem; }
.trade-note textarea { resize:vertical; min-height:75px; font:inherit; color:var(--ink); background:var(--bg-2); border:1px solid var(--line-2); padding:10px; border-radius:8px; }
.trade-notice { display:flex; justify-content:space-between; gap:20px; padding:12px 8px; border-bottom:1px solid var(--line); font-size:.84rem; }
.trade-notice.unread { border-left:3px solid var(--red); background:var(--bg-2); }
.trade-notice small { flex-shrink:0; }
.trade-history-teams { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.trade-history-teams section:only-child { grid-column:1/-1; }
.trade-history { border-left:3px solid var(--good); }
.trade-history h4 { margin:15px 0 10px; }
.trade-filters { margin:0 0 18px; }
.trade-filters label,.trade-settings label { display:flex; flex-direction:column; gap:5px; font-size:.76rem; color:var(--ink-2); }
.trade-settings input { color:var(--ink); background:var(--bg-2); border:1px solid var(--line-2); border-radius:7px; padding:8px; font:inherit; }
.trade-settings summary,.trade-listing summary { cursor:pointer; font-weight:650; }
.trade-empty { text-align:center; padding:36px 22px; color:var(--ink-2); }
.trade-empty h3 { color:var(--ink); }
.trade-message { padding:12px 16px; border:1px solid var(--gold); border-radius:8px; overflow-wrap:anywhere; }
.trade-builder-mode { border-top:3px solid var(--red); scroll-margin-top:170px; }
.trade-save-preview { margin-top:18px; border-top:1px solid var(--line); padding-top:12px; }
button:disabled { cursor:not-allowed; opacity:.45; }
.trade-team p,.trade-notice span { overflow-wrap:anywhere; }
@media(max-width:700px) {
 .trade-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .trade-market,.trade-history-teams { grid-template-columns:1fr; }
 .trade-exchange { grid-template-columns:1fr; }
 .trade-arrow { transform:rotate(90deg); }
 .trade-heading h2 { font-size:1.8rem; }
 .trade-notice { flex-direction:column; gap:4px; }
 .trade-picks { grid-template-columns:1fr; }
 .trade-stats>div { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .trade-composer,.trade-builder-mode { scroll-behavior:auto; } }

/* trade packages: one column per coach in the proposal builder */
.trade-parties { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); margin: 10px 0; }
.trade-party { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: var(--bg-2); min-width: 0; }
.trade-party h5 { margin: .7rem 0 .3rem; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.trade-dest { margin-left: auto; font-size: .75rem; max-width: 9rem; }
.trade-problems { margin: .5rem 0; padding-left: 18px; font-size: .85rem; }

/* folded offers: counteroffer history and past offers stay out of the way until opened */
.trade-fold { border: 1px solid var(--line); border-radius: 10px; margin: 8px 0; background: var(--bg-2); }
.trade-fold > summary { cursor: pointer; padding: 9px 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; list-style: none; }
.trade-fold > summary::-webkit-details-marker { display: none; }
.trade-fold > summary::before { content: "▸"; color: var(--ink-3); }
.trade-fold[open] > summary::before { content: "▾"; }
.trade-fold > summary .dim { min-width: 0; overflow-wrap: anywhere; }
.trade-fold > .trade-offer, .trade-fold > .trade-fold { margin: 0 10px 10px; }
.trade-earlier { background: transparent; }
.trade-past > summary { cursor: pointer; font-weight: 600; }
.trade-past[open] > summary { margin-bottom: 8px; }

.trade-status.edited, .trade-status.countered, .trade-status.withdrawn { color: var(--ink-3); }
