.fp-shell { margin-top: 20px; }

.fp-rotation {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -2px 0 14px;
  padding: 10px 12px;
  border: 1px solid #cfe1f7;
  border-radius: 11px;
  background: #f1f7ff;
  color: #53657d;
  font-size: 9px;
}

.fp-rotation b {
  flex: none;
  color: #0758b7;
  font-size: 8px;
  letter-spacing: .08em;
}

.fp-player.is-used {
  cursor: not-allowed;
  filter: grayscale(.7);
  opacity: .48;
}

.fp-player.is-used:hover {
  border-color: var(--line);
  box-shadow: none;
}

.fp-player.is-used .fp-player__bottom b { color: #c2414f; }

.fp-simulate {
  padding: 9px 12px;
  border: 1px solid #b9d5f4;
  border-radius: 9px;
  background: #eef6ff;
  color: #0758b7;
  cursor: pointer;
  font-family: inherit;
  font-size: 9px;
  font-weight: 850;
}

.fp-simulate:disabled { cursor: wait; opacity: .55; }

.fp-season-row {
  display: grid;
  grid-template-columns: 45px 1.5fr repeat(4, .7fr);
  align-items: center;
  min-height: 50px;
  padding: 0 12px;
  border-bottom: 1px solid #e8edf3;
  font-size: 10px;
  width: 100%;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: #fff;
  color: inherit;
  font-family: inherit;
  text-align: left;
}

.fp-season-row:last-child { border-bottom: 0; }
.fp-season-row.is-head { min-height: 35px; background: var(--n); color: rgba(255,255,255,.55); font-size: 8px; font-weight: 900; }
.fp-season-row > b:last-of-type { color: var(--b); font-size: 15px; }
.fp-season-row.is-simulated[data-sim-user] { cursor: pointer; }
.fp-season-row.is-simulated[data-sim-user]:hover { background: #f2f7fd; }
.fp-sim-modal { width: min(760px,calc(100% - 30px)); }
.fp-sim-strategy { margin: -8px 0 15px; color: #68768c; font-size: 10px; line-height: 1.5; }
.fp-sim-history { max-height: 50vh; margin-top: 13px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.fp-rule-actions { display: flex; gap: 6px; }
.fp-help-modal { width: min(650px,calc(100% - 30px)); }
.fp-help-modal h2 { position: relative; margin: 10px 35px 15px 0; line-height: 1.15; }
.fp-help-intro { margin: -8px 0 17px; color: #68768c; font-size: 11px; }
.fp-help-steps { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.fp-help-steps article { display: flex; gap: 10px; padding: 13px; border: 1px solid #dfe7f1; border-radius: 12px; background: #f7f9fc; }
.fp-help-steps article > b { display: grid; width: 27px; height: 27px; flex: none; place-items: center; border-radius: 9px; background: #e3f0ff; color: #0758b7; font-size: 10px; }
.fp-help-steps article div { display: flex; flex-direction: column; }
.fp-help-steps strong { font-size: 11px; }
.fp-help-steps span { margin-top: 3px; color: #68768c; font-size: 9px; line-height: 1.45; }
.fp-help-faq { margin-top: 16px; }
.fp-help-faq h3 { margin: 0 0 6px; font-size: 13px; }
.fp-help-faq details { border-bottom: 1px solid #e8edf3; }
.fp-help-faq summary { padding: 9px 2px; cursor: pointer; font-size: 10px; font-weight: 800; }
.fp-help-faq details p { margin: -2px 0 10px; color: #68768c; font-size: 9px; }
.fp-modal > .fp-help-start { position: static; width: 100%; margin-top: 16px; padding: 12px; border: 0; border-radius: 10px; background: var(--b); color: #fff; cursor: pointer; font-family: inherit; font-size: 11px; font-weight: 900; }
.fp-rule-actions button,.fp-lockbar button { font-family: inherit; font-size: 10px; font-weight: 850; line-height: 1.2; }
.fp-potential-item img { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; object-fit: contain; background: #dce8f5; }

.fp-history {
  margin-top: 16px;
  padding: 23px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(11,23,48,.06);
}

.fp-history-toggle {
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #f8fafc;
  color: #526177;
  cursor: pointer;
  font-family: inherit;
  font-size: 9px;
  font-weight: 850;
}

.fp-history-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.fp-history-stats > div { padding: 14px; border: 1px solid #dfe7f1; border-radius: 12px; background: #f6f9fc; }
.fp-history-stats small { display: block; color: #718096; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.fp-history-stats strong { display: block; margin-top: 3px; color: var(--ink); font-size: 21px; }
.fp-history-list { margin-top: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.fp-history-item { display: grid; grid-template-columns: 150px 44px 1fr 70px; align-items: center; gap: 10px; min-height: 62px; padding: 7px 12px; border-bottom: 1px solid #e8edf3; }
.fp-history-item:last-child { border-bottom: 0; }
.fp-history-item time { color: #728198; font-size: 9px; text-transform: capitalize; }
.fp-history-item img { width: 42px; height: 42px; border-radius: 9px; background: #e9eef5; object-fit: contain; }
.fp-history-item div { display: flex; min-width: 0; flex-direction: column; }
.fp-history-item div strong { font-size: 11px; }
.fp-history-item div span { overflow: hidden; color: #728198; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.fp-history-item > b { color: var(--b); font-size: 17px; text-align: right; }
.fp-history-empty { padding: 20px; color: #728198; font-size: 10px; text-align: center; }

.bbd-dark .fp-week-player img,.bbd-dark .fp-potential-item img,.bbd-dark .fp-result-item img,.bbd-dark .fp-last-pick__body>img { background: transparent; }

/* Weekly planning, player availability and recent form (aligned with WNBA French Pick). */
.fp-week-planning,.fp-spotlight,.fp-last-pick{margin-top:16px;padding:23px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(11,23,48,.06)}
.fp-week-day{display:flex;gap:20px;padding:14px 0;border-top:1px solid #e8edf3}.fp-week-day:first-child{border-top:0}.fp-week-day>strong{min-width:155px;padding-top:8px;font-size:14px;line-height:1.3}.fp-week-day>div{display:flex;flex-wrap:wrap;gap:9px}.fp-week-player{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:#eef5ff;color:#145da8;font-size:13px;font-weight:900;line-height:1.25}.fp-week-player small{display:block;margin-top:4px;color:#526b8b;font-size:11px;font-weight:750}.fp-week-player.is-used{background:#f1f3f5;color:#8b96a5;text-decoration:line-through}.fp-week-player img{width:34px;height:34px;border-radius:50%;object-fit:contain;background:#dce8f5}.fp-week-player.has-injury{align-items:flex-start}.fp-week-empty{margin:0;padding:12px 0;color:var(--muted);font-size:11px}
.fp-player.has-injury{min-height:174px}.fp-player__top{position:relative;z-index:2}.fp-injury{display:flex;width:fit-content;max-width:58%;flex-direction:column;gap:2px;margin-top:8px;padding:5px 7px;border:1px solid #fecaca;border-radius:8px;background:rgba(255,241,242,.94);color:#b4233c;line-height:1.2}.fp-injury b{font-size:7px;font-weight:950;letter-spacing:.035em}.fp-injury small{color:#8f3445;font-size:7px;font-weight:750;line-height:1.3}.fp-injury--uncertain{border-color:#f4cf74;background:rgba(255,248,225,.96);color:#9a6700}.fp-injury--uncertain small{color:#7d6227}.fp-injury.is-compact{display:inline-flex;width:auto;max-width:100%;margin:4px 0 0;padding:3px 5px;vertical-align:middle}.fp-potential-item.has-injury{border-color:#efc3ca}.fp-picked .fp-injury{max-width:100%;margin-top:7px}
.fp-spotlight{background:linear-gradient(135deg,#fff,#f5f9ff)}.fp-spotlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fp-spotlight-column{padding:14px;border-radius:14px;background:#edf4fc}.fp-spotlight-column h3{margin:0 0 10px;color:#145da8;font-size:12px}.fp-result-item,.fp-potential-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(30,75,120,.12)}.fp-result-item:first-child,.fp-potential-item:first-child{border-top:0}.fp-result-item img{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#dce8f5}.fp-result-item>div,.fp-potential-item>div{display:flex;min-width:0;flex:1;flex-direction:column}.fp-result-item strong,.fp-potential-item strong{font-size:11px}.fp-result-item small,.fp-potential-item small{margin-top:2px;color:#68809b;font-size:9px}.fp-result-score{font-size:12px;font-weight:950;text-align:right}.fp-result-score.w{color:#159447}.fp-result-score.l{color:#d13b4d}.fp-result-score small{font-size:8px;font-weight:750}.fp-potential-item{padding:10px;border:1px solid rgba(30,75,120,.12);border-radius:10px;background:#fff}.fp-potential-item+.fp-potential-item{margin-top:7px}.fp-potential-item>b{padding:5px 7px;border-radius:7px;background:#1167d8;color:#fff;font-size:9px}.fp-spotlight-empty{color:#68809b;font-size:10px}
.fp-last-pick{border-color:#b7d5f5;background:linear-gradient(120deg,#eaf4ff,#fff)}.fp-last-pick__eyebrow{color:#1167d8;font-size:9px;font-weight:950;letter-spacing:.14em}.fp-last-pick__body{display:flex;align-items:center;gap:16px;margin-top:8px}.fp-last-pick__body>img{width:76px;height:76px;border-radius:16px;object-fit:contain;background:#dce8f5}.fp-last-pick__info{display:flex;min-width:0;flex:1;flex-direction:column}.fp-last-pick__info h2{margin:2px 0;font-size:23px;letter-spacing:-.04em}.fp-last-pick__info p{margin:0;color:#68809b;font-size:10px}.fp-last-pick__stats{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.fp-last-pick__stats span{padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.75);color:#334e6f;font-size:10px;font-weight:850}.fp-last-pick__score{min-width:120px;text-align:right}.fp-last-pick__score strong{display:block;color:#1167d8;font-size:38px;line-height:1}.fp-last-pick__score small{color:#68809b;font-size:8px;font-weight:900;letter-spacing:.1em}
.fp-row-manager,.fp-season-manager{display:flex;align-items:center;gap:8px;min-width:0}.fp-row-manager i{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.fp-member-avatar{display:grid;width:34px;height:34px;flex:none;place-items:center;overflow:hidden;border-radius:50%;background:#e7eef8;color:#1767c7;font-size:13px;font-style:normal;font-weight:900}.fp-member-avatar img{width:100%;height:100%;object-fit:cover}.fp-season-manager{font-size:10px;font-weight:850}.fp-season-manager .fp-member-avatar{width:30px;height:30px}
.bbd-dark .fp-week-planning{background:#102039;border-color:#263b56;color:#edf4ff}.bbd-dark .fp-week-day{border-color:#263b56}.bbd-dark .fp-week-player{background:#142f50;color:#9dcbff}.bbd-dark .fp-week-player small{color:#9eb0c8}.bbd-dark .fp-week-player.is-used{background:#1b293b;color:#8292a7}.bbd-dark .fp-spotlight{background:linear-gradient(135deg,#102039,#0d1c31);border-color:#263b56}.bbd-dark .fp-spotlight-column{background:#142740}.bbd-dark .fp-spotlight-column h3{color:#9dcbff}.bbd-dark .fp-result-item,.bbd-dark .fp-potential-item{border-color:#2b425e}.bbd-dark .fp-potential-item{background:#102039}.bbd-dark .fp-result-item small,.bbd-dark .fp-potential-item small,.bbd-dark .fp-spotlight-empty{color:#9eb0c8}.bbd-dark .fp-result-item strong,.bbd-dark .fp-potential-item strong{color:#f4f8ff}.bbd-dark .fp-last-pick{background:linear-gradient(120deg,#102d50,#102039);border-color:#315d89}.bbd-dark .fp-last-pick__eyebrow,.bbd-dark .fp-last-pick__score strong{color:#8dc9ff}.bbd-dark .fp-last-pick__info p,.bbd-dark .fp-last-pick__score small{color:#9eb0c8}.bbd-dark .fp-last-pick__stats span{background:#172b45;color:#edf4ff}.bbd-dark .fp-member-avatar{background:#1d3554;color:#9dcbff}
@media(max-width:700px){.fp-spotlight-grid{grid-template-columns:1fr}.fp-last-pick__body{align-items:flex-start;flex-wrap:wrap}.fp-last-pick__score{min-width:75px;margin-left:auto}.fp-last-pick__score strong{font-size:30px}}

/* Keep these overrides last: the shared component rules above set desktop layout. */
@media (max-width: 640px) {
  .fp-week-planning,.fp-spotlight,.fp-last-pick { padding: 15px; }
  .fp-week-day { display: block; }
  .fp-week-day > strong { display: block; min-width: 0; margin-bottom: 7px; padding-top: 0; }
  .fp-week-day > div { gap: 7px; }
  .fp-week-player { max-width: 100%; padding: 8px; font-size: 11px; }
  .fp-week-player small { font-size: 9px; }
  .fp-last-pick__body > img { width: 60px; height: 60px; flex: 0 0 60px; }
  .fp-last-pick__info h2 { font-size: 18px; }
  .fp-last-pick__score { min-width: 65px; }
}

@media (max-width: 640px) {
  .fp-shell { margin-top: 10px; }
  .fp-rotation { align-items: flex-start; flex-direction: column; gap: 4px; }
  .fp-season-row { min-width: 570px; }
  .fp-history { padding: 15px; }
  .fp-history-stats { grid-template-columns: repeat(2,1fr); }
  .fp-history-item { grid-template-columns: 44px 1fr 55px; }
  .fp-history-item time { display: none; }
  .fp-rule-actions { min-width: max-content; }
  .fp-help-steps { grid-template-columns: 1fr; }
}
