:root {
  --bg: #08100d;
  --bg-raised: #0c1713;
  --panel: #101d18;
  --panel-2: #14231d;
  --panel-3: #182a23;
  --line: rgba(234, 245, 237, .105);
  --line-strong: rgba(234, 245, 237, .2);
  --text: #f1f6f2;
  --muted: #8f9e96;
  --muted-2: #637169;
  --lime: #d9ff43;
  --lime-soft: rgba(217, 255, 67, .12);
  --orange: #ff7448;
  --orange-soft: rgba(255, 116, 72, .12);
  --cyan: #58d9ff;
  --red: #ff5f68;
  --green: #5df0a5;
  --danger: var(--red);
  --good: var(--green);
  --shadow: 0 22px 70px rgba(0, 0, 0, .28);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --sidebar: 232px;
}

/* Completed snapshots and a lightweight return-window working surface. */
.radar-intro { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.radar-intro > div { max-width:780px; }
.radar-model-badge { display:flex; align-items:center; gap:14px; flex-shrink:0; border-left:1px solid var(--line-strong); padding-left:25px; }
.radar-model-badge > b { font-size:54px; color:var(--lime); letter-spacing:-3px; }
.radar-model-badge > span { font-size:12px; font-weight:650; }
.radar-model-badge small { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.radar-upcoming { padding:26px; margin-bottom:22px; }
.radar-upcoming-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.radar-upcoming-head h2 { margin:6px 0 0; font-size:25px; letter-spacing:-.6px; }
#radarUpcomingStatus { margin:14px 0 20px; color:var(--muted); font-size:11px; line-height:1.7; }
.radar-next-row { display:grid; grid-template-columns:32px 48px minmax(140px,1fr) 160px 86px 14px; gap:16px; align-items:center; width:100%; text-align:left; padding:20px 12px; background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; transition:background .2s; animation:radar-reveal .35s ease both; animation-delay:calc(var(--row-index) * 45ms); }
.radar-next-row:hover { background:var(--lime-soft); }
.radar-next-rank { color:var(--muted-2); font-size:16px; font-variant-numeric:tabular-nums; }
.radar-next-row:first-child .radar-next-rank { color:var(--lime); }
.radar-next-player { min-width:0; }
.radar-next-player > strong { font-size:15px; }
.radar-next-player > small { display:flex; align-items:center; gap:6px; color:var(--muted); margin-top:7px; font-size:10px; }
.radar-next-player .club-badge { width:20px; height:20px; }
.radar-next-window > strong { display:block; font-size:19px; font-variant-numeric:tabular-nums; }
.radar-next-window small { font-size:10px; font-weight:500; color:var(--muted); }
.radar-next-window > small { display:block; margin-top:7px; }
.radar-next-count { justify-self:start; padding:8px 10px; background:var(--lime-soft); border-radius:8px; font-size:11px; color:var(--lime); white-space:nowrap; }
.radar-next-empty { padding:24px 0; border-top:1px solid var(--line); }
.radar-next-empty strong { font-size:16px; }
.radar-next-empty p { font-size:13px; color:var(--muted); max-width:650px; line-height:1.7; }
.radar-controls .radar-season { display:flex; align-items:center; gap:10px; }
.radar-controls .radar-season p { margin:0; }
@media(max-width:900px) {
  .radar-model-badge { display:none; }
  .radar-next-row { grid-template-columns:26px 42px minmax(0,1fr) 125px; gap:12px; }
  .radar-next-count, .radar-next-row > span:last-child { display:none; }
  .radar-next-player > small { flex-wrap:wrap; }
}
@media(max-width:550px) {
  .radar-upcoming { padding:18px; }
  .radar-next-row { grid-template-columns:38px minmax(0,1fr) 96px; gap:10px; padding:16px 0; }
  .radar-next-rank { display:none; }
  .radar-next-player > strong { font-size:13px; }
  .radar-next-window > strong { font-size:17px; }
  .radar-next-window > strong > small { display:none; }
}
@media(prefers-reduced-motion:reduce) { .radar-next-row { animation:none; transition:none; } }
.hub-cache-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; color:var(--muted); font-size:12px; }
.hub-cache-toolbar button, .radar-analysis button { padding:11px 17px; background:var(--panel-2); border:1px solid var(--line-strong); border-radius:12px; }
.hub-progress { display:flex; align-items:center; gap:24px; padding:26px; margin-bottom:20px; border-color:rgba(217,255,67,.26); }
.hub-progress > div { flex:1; min-width:0; }
.hub-progress h2 { font-size:22px; margin:8px 0 16px; }
.hub-progress p:last-child { color:var(--muted); font-size:13px; line-height:1.6; margin-bottom:0; }
.hub-progress-icon { font-size:40px; color:var(--lime); }
.hub-progress progress { width:100%; height:7px; border:0; border-radius:20px; background:var(--panel-3); accent-color:var(--lime); }
.hub-progress progress::-webkit-progress-bar { background:var(--panel-3); border-radius:20px; }
.hub-progress progress::-webkit-progress-value { background:var(--lime); border-radius:20px; transition:width .3s ease; }
.hub-progress.is-background { padding:14px 20px; gap:16px; }
.hub-progress.is-background .hub-progress-icon { font-size:24px; }
.hub-progress.is-background .eyebrow { display:none; }
.hub-progress.is-background h2 { font-size:15px; margin:0 0 8px; }
.hub-progress.is-background p:last-child { font-size:11px; margin-top:6px; }
.player-hub-categories button:disabled, .player-hub-positions button:disabled { opacity:.4; cursor:not-allowed; }
.radar-controls { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px; align-items:center; padding:24px; }
.radar-season { border-left:1px solid var(--line); padding-left:24px; }
.radar-season label { display:flex; align-items:center; gap:12px; font-size:11px; color:var(--muted); }
.radar-season input { min-width:0; width:145px; color:var(--text); border:1px solid var(--line-strong); border-radius:9px; padding:9px; background:var(--bg-raised); color-scheme:dark; }
.radar-season p { font-size:11px; line-height:1.6; color:var(--muted); margin:9px 0 0; }
.radar-search-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:10px; margin:18px 0 26px; }
.radar-player-chip { display:flex; align-items:center; text-align:left; gap:12px; border:1px solid var(--line); border-radius:15px; padding:13px; background:var(--panel); transition:border-color .18s, transform .18s; }
.radar-player-chip:hover { transform:translateY(-2px); border-color:var(--lime); }
.radar-player-chip.is-selected { border-color:var(--lime); background:var(--lime-soft); }
.radar-player-chip > span { min-width:0; flex:1; }
.radar-player-chip strong { font-size:13px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.radar-player-chip small { color:var(--muted); display:flex; align-items:center; gap:5px; margin-top:5px; font-size:10px; }
.radar-player-chip > b { color:var(--lime); }
.radar-analysis { padding:30px; overflow:hidden; }
.radar-empty { text-align:center; padding:48px 20px; }
.radar-empty > span { display:block; color:var(--lime); font-size:56px; }
.radar-empty h2 { font-size:25px; }
.radar-empty p, .radar-result > p, .radar-scanning p { color:var(--muted); line-height:1.7; max-width:680px; }
.radar-empty p { margin:12px auto 24px; }
.radar-profile { display:flex; align-items:center; gap:18px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.radar-profile h2 { margin:6px 0 8px; font-size:27px; }
.radar-profile > div > span { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; }
.radar-result { padding-top:26px; animation:radar-reveal .45s ease both; }
.radar-result h3 { font-size:24px; margin:10px 0; }
.radar-forecast { display:grid; grid-template-columns:minmax(220px,.8fr) 1.4fr; gap:32px; margin:28px 0; padding:28px; background:linear-gradient(115deg,var(--lime-soft),transparent); border:1px solid rgba(217,255,67,.18); border-radius:20px; }
.radar-target { display:flex; flex-direction:column; gap:9px; }
.radar-target small { color:var(--muted); }
.radar-target strong { color:var(--lime); font-size:clamp(26px,3vw,42px); letter-spacing:-1.5px; font-variant-numeric:tabular-nums; }
.radar-target span { color:var(--text); font-size:13px; }
.radar-range { align-self:center; min-width:0; }
.radar-range-labels { display:flex; justify-content:space-between; gap:10px; }
.radar-range-labels span { display:flex; flex-direction:column; gap:6px; }
.radar-range-labels span:last-child { text-align:right; }
.radar-range-labels small, .radar-range-labels em { font-size:11px; font-style:normal; color:var(--muted); }
.radar-range-labels b { font-size:17px; }
.radar-timeline-track { position:relative; height:8px; border-radius:10px; background:var(--panel-3); margin:24px 0 18px; }
.radar-timeline-track > span { position:absolute; left:0; right:0; top:0; bottom:0; background:var(--lime-soft); border:1px solid var(--lime); border-radius:10px; }
.radar-timeline-track > i { position:absolute; height:100%; background:var(--lime); border-radius:10px; transform-origin:left; animation:radar-fill .75s ease both; }
.radar-timeline-track > b { position:absolute; top:-4px; width:16px; height:16px; background:var(--lime); border:3px solid var(--panel); border-radius:50%; transform:translateX(-50%); z-index:1; }
.radar-range > p { font-size:11px; color:var(--muted); line-height:1.8; }
.radar-range > p strong { white-space:nowrap; color:var(--lime); margin-left:8px; }
.radar-evidence { display:flex; align-items:center; gap:16px; padding:20px 0; }
.radar-evidence > span { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--lime-soft); color:var(--lime); }
.radar-evidence small { display:block; color:var(--muted); font-size:10px; margin-bottom:7px; text-transform:uppercase; letter-spacing:1px; }
.radar-evidence strong { font-size:14px; }
.radar-evidence p { font-size:11px; color:var(--muted); margin:7px 0 0; }
.radar-result-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:18px; margin-top:10px; }
.radar-result-footer > span, .radar-disclaimer { font-size:11px; color:var(--muted); line-height:1.8; }
.radar-disclaimer { margin:18px 4px; max-width:980px; }
.radar-events { margin:12px 0 22px; font-size:12px; }
.radar-events summary { cursor:pointer; color:var(--muted); padding:10px 0; }
.radar-events p { display:flex; gap:25px; border-top:1px solid var(--line); padding:12px 0; margin:0; }
.radar-events time { color:var(--muted); }
.radar-scanning { padding:40px 0 25px; }
.radar-scanning .loading-spinner { width:24px; height:24px; }
.radar-scan-line { position:relative; height:4px; border-radius:10px; background:var(--panel-3); overflow:hidden; margin-top:25px; }
.radar-scan-line::after { content:''; display:block; height:100%; width:30%; background:var(--lime); animation:radar-scan 1.8s ease-in-out infinite; }
.is-overdue .radar-target strong { color:var(--orange); }
@keyframes radar-reveal { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes radar-fill { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes radar-scan { from { transform:translateX(-110%); } to { transform:translateX(440%); } }
@media (max-width:800px) {
  .radar-controls, .radar-forecast { grid-template-columns:1fr; }
  .radar-season { border-left:0; padding:15px 0 0; border-top:1px solid var(--line); }
  .radar-analysis { padding:20px; }
  .radar-result-footer { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  .radar-result, .radar-timeline-track > i, .radar-scan-line::after { animation:none; }
  .radar-player-chip, .hub-progress progress::-webkit-progress-value { transition:none; }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 78% -10%, rgba(57, 110, 79, .18), transparent 34%),
    radial-gradient(circle at 8% 78%, rgba(217, 255, 67, .045), transparent 28%),
    var(--bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}

button, input, select { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }

::selection { color: #0a120f; background: var(--lime); }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: #31423a; border: 2px solid var(--bg); border-radius: 10px; }
::-webkit-scrollbar-track { background: transparent; }

.app-shell { min-height: 100vh; }

.sidebar {
  position: fixed;
  z-index: 40;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  padding: 30px 18px 22px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  background: rgba(8, 16, 13, .88);
  backdrop-filter: blur(24px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 10px 32px;
  color: var(--text);
  text-decoration: none;
}

.brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: end;
  gap: 3px;
  transform: skew(-9deg);
}

.brand-mark i { display: block; background: var(--lime); border-radius: 2px 2px 0 0; }
.brand-mark i:nth-child(1) { height: 52%; opacity: .58; }
.brand-mark i:nth-child(2) { height: 100%; }
.brand-mark i:nth-child(3) { height: 75%; opacity: .78; }
.brand-word { font-weight: 900; font-size: 19px; letter-spacing: -.8px; }
.brand-word span { color: var(--lime); }

.main-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; flex-shrink: 1; scrollbar-width: thin; }

.nav-item {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 0 12px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--muted);
  background: transparent;
  text-align: left;
  transition: .2s ease;
}

.nav-item:hover { color: var(--text); background: rgba(255,255,255,.035); }
.nav-item.is-active { color: var(--text); border-color: var(--line); background: var(--panel); box-shadow: inset 3px 0 var(--lime); }
.nav-glyph { color: var(--muted-2); font-size: 10px; letter-spacing: 1px; font-weight: 800; }
.nav-item.is-active .nav-glyph { color: var(--lime); }
.nav-badge { min-width: 22px; padding: 3px 6px; color: #111812; background: var(--lime); border-radius: 99px; font-size: 10px; text-align: center; }

.sidebar-note {
  margin-top: auto;
  padding: 14px;
  display: flex;
  gap: 11px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
}

.sidebar-note small, .profile-chip small { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .8px; }
.sidebar-note strong { display: block; margin-top: 2px; font-size: 12px; }
.signal-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(93,240,165,.08), 0 0 18px rgba(93,240,165,.48); }

.profile-chip {
  margin-top: 12px;
  padding: 10px;
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 14px;
  color: var(--text);
  background: transparent;
  text-align: left;
}
.profile-chip:hover { background: rgba(255,255,255,.035); }
.profile-avatar, .manager-avatar {
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #101610;
  background: linear-gradient(145deg, var(--lime), #82ee66);
  font-weight: 900;
  font-size: 12px;
}
.profile-avatar { width: 36px; height: 36px; }
.profile-avatar, .manager-avatar, .club-crest.mini, .league-option-image { position: relative; overflow: hidden; }
.profile-avatar img, .manager-avatar img, .club-crest.mini img, .league-option-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: var(--panel-2); }
.profile-chip strong { font-size: 13px; }
.profile-more { color: var(--muted); letter-spacing: 1px; }

.content-shell { min-height: 100vh; margin-left: var(--sidebar); }

.topbar {
  position: sticky;
  z-index: 30;
  top: 0;
  min-height: 78px;
  padding: 0 clamp(22px, 3vw, 48px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(8, 16, 13, .78);
  backdrop-filter: blur(22px);
}

.mobile-menu { display: none; }

.league-switcher {
  padding: 8px 11px 8px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  text-align: left;
}
.league-switcher:hover { border-color: var(--line); background: rgba(255,255,255,.025); }
.league-switcher small, .sync-status small { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: 1px; }
.league-switcher strong, .sync-status strong { display: block; margin-top: 2px; font-size: 12px; }
.club-crest { display: grid; place-items: center; color: #0d160f; background: var(--lime); font-weight: 950; }
.club-crest.mini { width: 36px; height: 36px; border-radius: 10px 4px 10px 4px; font-size: 10px; }
.chevron { margin-left: 8px; color: var(--muted); }

.topbar-actions { display: flex; align-items: center; gap: 10px; }
.sync-status { position: relative; padding: 0 16px 0 17px; }
.sync-status > span { position: absolute; left: 0; top: 50%; width: 7px; height: 7px; margin-top: -3px; border-radius: 50%; background: var(--green); }

.icon-button, .connect-button, .primary-button, .secondary-button, .reset-button, .text-button {
  border: 0;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.icon-button:active, .connect-button:active, .primary-button:active, .secondary-button:active { transform: translateY(1px); }
.icon-button { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); font-size: 20px; }
.icon-button:hover { border-color: var(--line-strong); background: rgba(255,255,255,.055); }
.icon-button.is-loading { animation: spin .8s linear infinite; }
.connect-button { height: 42px; padding: 0 16px; display: flex; align-items: center; gap: 9px; border-radius: 12px; color: #11180f; background: var(--lime); font-size: 12px; font-weight: 850; }
.connect-button:hover, .primary-button:hover { background: #e5ff76; }
.connect-button > span { width: 7px; height: 7px; border: 2px solid currentColor; border-radius: 50%; }

.main-content { max-width: 1600px; margin: 0 auto; padding: 42px clamp(22px, 3vw, 48px) 80px; }
.view { display: none; animation: viewIn .35s ease both; }
.view.is-active { display: block; }

.page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.page-intro h1 { margin: 0; font-size: clamp(34px, 4.3vw, 62px); line-height: .98; letter-spacing: -3px; }
.page-intro p:not(.eyebrow) { max-width: 660px; margin: 12px 0 0; color: var(--muted); line-height: 1.65; }
.compact-intro { align-items: center; }
.compact-intro h1 { font-size: clamp(35px, 3.8vw, 54px); }
.eyebrow { margin: 0 0 8px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.6px; }
.eyebrow span { color: var(--lime); }

.deadline-card {
  min-width: 242px;
  padding: 17px 19px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(135deg, var(--panel-2), rgba(16,29,24,.58));
}
.deadline-card > small { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.deadline-card > strong { margin: 8px 0 4px; display: flex; align-items: baseline; gap: 6px; font-size: 27px; letter-spacing: -1px; }
.deadline-card em { color: var(--muted); font-size: 10px; font-style: normal; font-weight: 600; text-transform: uppercase; }
.deadline-card p { margin: 0 !important; font-size: 11px; }

.panel, .kpi-card {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(19, 34, 28, .96), rgba(12, 24, 19, .96));
  box-shadow: var(--shadow);
}
.panel { border-radius: var(--radius-xl); }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.kpi-card { position: relative; min-height: 176px; padding: 19px; overflow: hidden; border-radius: var(--radius-lg); }
.kpi-card::after { content: ""; position: absolute; inset: auto -20% -70% 20%; height: 120px; border-radius: 50%; background: rgba(217,255,67,.035); filter: blur(25px); }
.kpi-primary { border-color: rgba(217,255,67,.25); background: linear-gradient(145deg, rgba(34, 52, 31, .96), rgba(15, 28, 20, .96)); }
.kpi-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 11px; }
.kpi-card > strong { position: relative; z-index: 1; display: block; margin: 17px 0 14px; font-size: clamp(23px, 2.1vw, 31px); letter-spacing: -1.4px; }
.kpi-card > strong small { color: var(--muted); font-size: 11px; letter-spacing: 0; }
.kpi-card > p { position: absolute; z-index: 2; left: 19px; right: 19px; bottom: 16px; margin: 0; color: var(--muted); font-size: 10px; }
.kpi-card > p b { color: var(--text); }
.trend-pill, .confidence { padding: 4px 7px; border-radius: 99px; font-size: 9px; font-weight: 800; }
.trend-pill.positive { color: var(--green); background: rgba(93,240,165,.09); }
.trend-pill.warning { color: #ffc55e; background: rgba(255,197,94,.09); }
.confidence { color: var(--cyan); background: rgba(88,217,255,.08); }
.status-dot { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; }
.status-dot.good { background: var(--green); }
.status-dot.danger { background: var(--red); }

.micro-chart.bars { position: absolute; right: 17px; bottom: 14px; width: 92px; height: 54px; display: flex; align-items: end; gap: 5px; opacity: .66; }
.micro-chart.bars i { flex: 1; display: block; border-radius: 4px 4px 1px 1px; background: linear-gradient(var(--lime), rgba(217,255,67,.12)); }
.kpi-detail { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; color: var(--muted); font-size: 10px; }
.kpi-detail b { color: var(--text); }
.xp-range { position: relative; height: 6px; margin-top: 21px; border-radius: 99px; background: rgba(255,255,255,.06); }
.xp-range span { position: absolute; top: 0; bottom: 0; border-radius: inherit; background: linear-gradient(90deg, rgba(88,217,255,.3), var(--cyan)); }
.xp-range i { position: absolute; top: -4px; width: 3px; height: 14px; border-radius: 3px; background: #fff; box-shadow: 0 0 10px #fff; }
.squad-dots { display: flex; gap: 4px; }
.squad-dots i { width: 12px; height: 6px; display: block; border-radius: 4px; background: var(--green); }
.squad-dots i.warn { background: #ffc55e; }
.squad-dots i.danger { background: var(--red); }
.squad-dots i.empty { background: rgba(255,255,255,.09); }

.cockpit-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .8fr); gap: 14px; }
.action-center, .market-pulse { min-height: 388px; padding: 24px; }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.panel-header h2, .section-heading h2 { margin: 0; font-size: 21px; letter-spacing: -.6px; }
.live-label { padding: 6px 9px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: 1px; }
.live-label i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px rgba(217,255,67,.5); }

.action-list { display: grid; gap: 10px; margin-top: 19px; }
.action-item { position: relative; padding: 16px 15px 16px 18px; display: grid; grid-template-columns: 8px 1fr auto; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.018); }
.action-item:hover { border-color: var(--line-strong); background: rgba(255,255,255,.035); }
.action-line { align-self: stretch; border-radius: 9px; background: var(--lime); }
.action-item.urgent .action-line { background: var(--orange); box-shadow: 0 0 18px rgba(255,116,72,.28); }
.action-item.warning .action-line { background: #ffc55e; }
.action-body small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: 1.1px; }
.action-body h3 { margin: 5px 0; font-size: 14px; letter-spacing: -.2px; }
.action-body p { margin: 0; max-width: 610px; color: var(--muted); font-size: 10px; line-height: 1.48; }
.action-side { min-width: 98px; text-align: right; }
.action-side b { display: block; margin-bottom: 8px; color: var(--lime); font-size: 10px; }
.action-button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: rgba(255,255,255,.035); font-size: 9px; font-weight: 700; }
.action-button:hover { color: #121712; border-color: var(--lime); background: var(--lime); }

.market-range-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.market-range-grid[hidden] { display: none; }
.market-range-grid > span { padding: 10px 9px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.018); }
.market-range-grid small { display: block; color: var(--muted); font-size: 8px; }
.market-range-grid strong { display: block; margin-top: 5px; font-size: 12px; }
.market-range-grid em { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; font-style: normal; }
.market-range-grid.daily-breakdown { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.market-range-grid.daily-breakdown .market-week-total { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; align-items: end; padding: 13px 14px; border-color: rgba(217,255,67,.2); background: linear-gradient(135deg, rgba(217,255,67,.08), rgba(217,255,67,.015)); }
.market-range-grid.daily-breakdown .market-week-total strong { font-size: 18px; }
.market-range-grid.daily-breakdown .market-week-total em { grid-column: 1 / -1; }
.market-day-row { min-width: 0; }
.pulse-switcher { margin-top: 14px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 28px; align-items: center; gap: 7px; }
.pulse-manager-strip { display: flex; gap: 7px; min-width: 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.pulse-manager-strip::-webkit-scrollbar { display: none; }
.pulse-arrow { width: 28px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.025); font-size: 13px; transition: color .18s ease, border-color .18s ease, transform .18s ease; }
.pulse-arrow:hover { color: var(--lime); border-color: rgba(217,255,67,.35); transform: translateY(-1px); }
.pulse-arrow[hidden] { visibility: hidden; display: block; }
.pulse-manager-option { min-width: 106px; padding: 6px 8px; display: flex; align-items: center; gap: 7px; scroll-snap-align: start; border: 1px solid transparent; border-radius: 12px; color: var(--text); background: rgba(255,255,255,.018); text-align: left; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.pulse-manager-option:hover { transform: translateY(-1px); background: rgba(255,255,255,.04); }
.pulse-manager-option.is-active { border-color: rgba(217,255,67,.34); background: linear-gradient(135deg, rgba(217,255,67,.1), rgba(217,255,67,.025)); box-shadow: inset 0 0 0 1px rgba(217,255,67,.035); }
.pulse-manager-option > span:last-child { min-width: 0; }
.pulse-manager-option b, .pulse-manager-option small { max-width: 64px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pulse-manager-option b { font-size: 8px; }
.pulse-manager-option small { margin-top: 2px; color: var(--muted); font-size: 7px; font-weight: 800; }
.pulse-manager-option .data-loading > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pulse-manager-option .data-loading i { width: 9px; height: 9px; }
.pulse-manager-avatar { position: relative; width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 27px; overflow: hidden; border-radius: 9px; color: #11170f; background: linear-gradient(145deg, var(--lime), #eef9bb); font-size: 7px; font-weight: 950; }
.pulse-manager-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.daily-pulse-badge { padding: 6px 9px; border: 1px solid rgba(217,255,67,.2); border-radius: 99px; color: var(--lime); background: rgba(217,255,67,.055); font-size: 8px; font-weight: 900; letter-spacing: .08em; white-space: nowrap; }
.daily-pulse-badge.is-negative { border-color: rgba(255,95,104,.24); color: var(--red); background: rgba(255,95,104,.07); }
.market-daily-insight { position: relative; margin-top: 17px; padding: 15px 16px; overflow: hidden; border: 1px solid rgba(93,240,165,.22); border-radius: 15px; background: linear-gradient(135deg, rgba(93,240,165,.1), rgba(93,240,165,.015)); }
.market-daily-insight::after { content: "↗"; position: absolute; right: 14px; top: 7px; color: rgba(93,240,165,.18); font-size: 56px; font-weight: 950; line-height: 1; }
.market-daily-insight > * { position: relative; z-index: 1; }
.market-daily-insight small { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }
.market-daily-insight strong { display: block; margin-top: 5px; color: var(--green); font-size: 26px; letter-spacing: -1.2px; }
.market-daily-insight p { margin: 4px 45px 0 0; color: var(--text); font-size: 9px; line-height: 1.45; }
.market-daily-insight.is-negative { border-color: rgba(255,95,104,.24); background: linear-gradient(135deg, rgba(255,95,104,.1), rgba(255,95,104,.015)); }
.market-daily-insight.is-negative::after { content: "↘"; color: rgba(255,95,104,.2); }
.market-daily-insight.is-negative strong { color: var(--red); }
.market-daily-insight.is-flat, .market-daily-insight.is-unknown { border-color: var(--line); background: rgba(255,255,255,.018); }
.market-daily-insight.is-flat::after { content: "→"; color: rgba(255,255,255,.12); }
.market-daily-insight.is-unknown::after { content: "·"; color: rgba(255,255,255,.12); }
.market-daily-insight.is-flat strong, .market-daily-insight.is-unknown strong { color: var(--muted); }
.market-daily-insight.pulse-enter-right { animation: pulse-enter-right .34s cubic-bezier(.2,.8,.2,1); }
.market-daily-insight.pulse-enter-left { animation: pulse-enter-left .34s cubic-bezier(.2,.8,.2,1); }
@keyframes pulse-enter-right { from { opacity: .35; transform: translateX(14px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes pulse-enter-left { from { opacity: .35; transform: translateX(-14px) scale(.985); } to { opacity: 1; transform: none; } }
.section-heading { margin: 31px 1px 15px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.text-button { padding: 6px 0; color: var(--muted); background: transparent; font-size: 10px; font-weight: 700; }
.text-button:hover { color: var(--lime); }
.text-button span { margin-left: 6px; }
.mover-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mover-card { position: relative; min-height: 138px; padding: 17px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); cursor: pointer; transition: .2s ease; }
.mover-card:hover { transform: translateY(-2px); border-color: var(--line-strong); }
.mover-card::after { content: ""; position: absolute; width: 90px; height: 90px; right: -30px; top: -35px; border-radius: 50%; background: var(--player-color, var(--lime)); opacity: .09; filter: blur(7px); }
.player-mini { display: flex; align-items: center; gap: 10px; }
.player-avatar { position: relative; display: grid; place-items: center; overflow: hidden; color: #08100d; background: linear-gradient(145deg, var(--player-color, #d9ff43), #f4f4f4); font-weight: 950; }
.player-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.player-avatar.small { width: 39px; height: 39px; border-radius: 12px 5px 12px 5px; font-size: 10px; }
.player-avatar.medium { width: 54px; height: 54px; border-radius: 16px 7px 16px 7px; font-size: 12px; }
.player-avatar.large { width: 88px; height: 88px; border-radius: 25px 10px 25px 10px; font-size: 22px; }
.player-mini strong { display: block; font-size: 12px; }
.player-display-name { display: inline; }
.player-first-name, .player-last-name { display: inline; }
.player-mini small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.club-badge { width: 13px; height: 13px; margin-right: 5px; object-fit: contain; vertical-align: -3px; }
.mover-stats { margin-top: 18px; display: flex; align-items: flex-end; justify-content: space-between; }
.mover-stats > span small { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: 1px; }
.mover-stats > span strong { display: block; margin-top: 4px; font-size: 15px; }
.trend-value { font-size: 12px; font-weight: 850; }
.positive-text { color: var(--green) !important; }
.negative-text { color: var(--red) !important; }

.market-summary { padding: 15px 18px; display: flex; gap: 25px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel); }
.market-summary span + span { padding-left: 24px; border-left: 1px solid var(--line); }
.market-summary small { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .9px; }
.market-summary strong { display: block; margin-top: 5px; font-size: 14px; }

.toolbar { margin-bottom: 14px; padding: 10px; display: flex; align-items: center; gap: 11px; border-radius: 17px; }
.search-field { height: 42px; min-width: 280px; flex: 1; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(0,0,0,.13); }
.search-field span { color: var(--muted); font-size: 19px; }
.search-field input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 11px; }
.search-field input::placeholder { color: var(--muted-2); }
.filter-chips { display: flex; gap: 5px; }
.filter-chips button { min-width: 38px; height: 34px; padding: 0 10px; border: 1px solid transparent; border-radius: 9px; color: var(--muted); background: transparent; font-size: 9px; font-weight: 800; }
.filter-chips button:hover { color: var(--text); background: rgba(255,255,255,.035); }
.filter-chips button.is-active { color: var(--lime); border-color: rgba(217,255,67,.2); background: var(--lime-soft); }
.toolbar select, .compare-selectors select { height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: 11px; color: var(--text); background: #112019; outline: 0; font-size: 10px; }

.market-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; }
.table-panel { overflow-x: auto; overflow-y: hidden; }
.data-table { min-width: 800px; }
.table-row { min-height: 67px; padding: 0 18px; display: grid; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); }
.market-layout .table-panel { overflow: visible; }
.market-table { min-width: 790px; }
.market-table .table-row { min-height: 76px; grid-template-columns: minmax(190px, 1.5fr) minmax(125px, .9fr) minmax(190px, 1.25fr) minmax(78px, .55fr) minmax(115px, .76fr) 66px; }
.table-row:last-child { border-bottom: 0; }
.table-row:not(.table-head) { cursor: pointer; transition: .16s ease; }
.table-row:not(.table-head):hover { background: rgba(255,255,255,.025); }
.market-table .manager-offer { box-shadow: inset 3px 0 0 rgba(88,217,255,.6); background: linear-gradient(90deg, rgba(88,217,255,.055), rgba(88,217,255,.012) 38%); }
.market-table .manager-offer:hover { background: linear-gradient(90deg, rgba(88,217,255,.09), rgba(88,217,255,.025) 42%); }
.seller-tag { display: inline-block; margin-right: 3px; padding: 2px 4px; border-radius: 4px; color: var(--cyan); background: rgba(88,217,255,.09); font-size: 7px; letter-spacing: .05em; }
.table-head { min-height: 43px; color: var(--muted); background: rgba(0,0,0,.14); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.table-cell { font-size: 11px; }
.table-cell strong { font-size: 11px; }
.table-cell small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.market-price strong { font-size: 13px; }
.market-range-cell { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 7px; }
.market-range-cell small { display: flex; align-items: baseline; justify-content: space-between; gap: 4px; }
.market-range-cell i { color: var(--muted); font-size: 7px; font-style: normal; }
.market-range-cell b { font-size: 8px; white-space: nowrap; }
.next-opponent { display:inline-flex; align-items:center; gap:9px; margin-left:5px; padding:6px 9px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--bg-raised); vertical-align:middle; white-space:normal; text-align:left; }
.next-opponent .opponent-crest { display:grid; place-items:center; width:32px; height:32px; flex-shrink:0; }
.next-opponent .opponent-crest > b { font-size:10px; color:var(--muted); }
.next-opponent .club-badge { width:30px; height:30px; margin:0; flex-shrink:0; object-fit:contain; }
.next-opponent .opponent-copy { display:flex; flex-direction:column; gap:4px; }
.next-opponent .opponent-copy > strong { font-size:12px; font-weight:750; line-height:1.25; margin:0; }
.next-opponent .opponent-copy > small { display:block; font-size:9px; line-height:1.4; color:var(--muted); font-weight:500; margin:0; }
.next-opponent.is-compact { padding:3px 6px; gap:5px; margin:2px 0 2px 5px; border-radius:7px; }
.next-opponent.is-compact .opponent-crest, .next-opponent.is-compact .club-badge { width:19px; height:19px; }
.next-opponent.is-compact .opponent-copy { gap:1px; }
.next-opponent.is-compact .opponent-copy > strong { font-size:9px; }
.next-opponent.is-compact .opponent-copy > small { font-size:7px; }
.score-ring { --score: 75; position: relative; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--lime) calc(var(--score) * 1%), rgba(255,255,255,.06) 0); }
.score-ring::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--panel); }
.score-ring b { position: relative; z-index: 1; font-size: 9px; }
.expiry { display: flex; align-items: center; gap: 6px; }
.expiry::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--green); }
.expiry.soon::before { background: var(--orange); box-shadow: 0 0 8px rgba(255,116,72,.55); }
.expiry.no-fixed-expiry { align-items: flex-start; flex-direction: column; gap: 1px; }
.expiry.no-fixed-expiry::before { display: none; }
.expiry.no-fixed-expiry strong { color: var(--muted); font-size: 9px; }
.market-score { min-height: 39px; padding: 6px 8px; display: grid; grid-template-columns: 1fr auto; align-items: center; border: 1px solid rgba(217,255,67,.16); border-radius: 10px; background: rgba(217,255,67,.045); }
.market-score small { grid-column: 1 / -1; color: var(--muted); font-size: 6px; text-transform: uppercase; letter-spacing: .08em; }
.market-score strong { color: var(--lime); font-size: 14px; }
.market-score i { color: var(--lime); font-size: 12px; font-style: normal; }
.empty-state { padding: 60px 20px; color: var(--muted); text-align: center; }

.advisor-card { position: sticky; top: 94px; min-height: 500px; padding: 22px; align-self: start; }
.advisor-player { margin: 20px 0; display: flex; align-items: center; gap: 12px; }
.advisor-player h2 { margin: 0; font-size: 18px; }
.advisor-player p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.advisor-score { padding: 15px; border: 1px solid rgba(217,255,67,.16); border-radius: 15px; background: var(--lime-soft); }
.advisor-score > div { display: flex; justify-content: space-between; gap: 10px; }
.advisor-score small { color: var(--muted); font-size: 9px; }
.advisor-score strong { color: var(--lime); font-size: 21px; letter-spacing: -1px; }
.advisor-scale { height: 5px; margin-top: 12px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.advisor-scale span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--green), var(--lime)); }
.bid-levels { margin: 17px 0; display: grid; gap: 7px; }
.bid-level { padding: 11px 12px; display: flex; justify-content: space-between; border: 1px solid var(--line); border-radius: 11px; }
.bid-level span { color: var(--muted); font-size: 9px; }
.bid-level b { font-size: 10px; }
.bid-level.recommended { border-color: rgba(217,255,67,.24); background: rgba(217,255,67,.06); }
.bid-level.limit { border-color: rgba(88,217,255,.22); background: rgba(88,217,255,.05); }
.bid-level.limit b { color: var(--cyan); }
.advisor-reasons { margin: 0 0 18px; padding: 0; display: grid; gap: 8px; list-style: none; }
.advisor-reasons li { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; }
.advisor-reasons li::before { content: "+"; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: rgba(93,240,165,.08); }
.primary-button, .secondary-button { min-height: 44px; padding: 0 17px; border-radius: 12px; font-size: 11px; font-weight: 850; }
.primary-button { color: #10170f; background: var(--lime); }
.secondary-button { color: var(--text); border: 1px solid var(--line); background: rgba(255,255,255,.035); }
.secondary-button:hover { border-color: var(--line-strong); background: rgba(255,255,255,.065); }
.full-button { width: 100%; }

/* Lineup working surface: assets/lineup.css. */
.kb-status { max-width: 100%; margin-top: 5px; padding: 3px 5px; display: inline-flex; align-items: center; gap: 4px; overflow: hidden; border-radius: 5px; color: #ffc55e; background: rgba(255,197,94,.09); font-size: 7px; font-weight: 850; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.kb-status i { flex: 0 0 auto; font-style: normal; font-weight: 950; }
.kb-status.unavailable, .kb-status.red-card { color: #ff8f96; background: rgba(255,95,104,.1); }
.kb-status.yellow-card i { color: #ffd74a; }
.kb-status.red-card i { color: #ff4f59; }
.kb-status.yellow-red-card i { color: #ff9d46; }
.bench-chip .kb-status { width: fit-content; }

.budget-lab { align-self: start; }
.reset-button { padding: 6px; color: var(--muted); background: transparent; font-size: 9px; }
.reset-button:hover { color: var(--text); }
.budget-total { margin: 22px 0 16px; padding: 18px; border: 1px solid rgba(217,255,67,.18); border-radius: 16px; background: linear-gradient(135deg, var(--lime-soft), transparent); }
.budget-total > small { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .8px; }
.budget-total > strong { display: block; margin: 7px 0 10px; font-size: 29px; letter-spacing: -1.5px; }
.budget-safe { display: flex; align-items: center; gap: 7px; color: var(--green); font-size: 9px; font-weight: 800; }
.budget-safe i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.budget-waterfall { display: grid; gap: 7px; }
.budget-waterfall div { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.budget-waterfall b { color: var(--text); }
.budget-waterfall .budget-gap { margin-top: 4px; padding-top: 9px; border-top: 1px solid var(--line); }
.budget-waterfall .budget-gap b { color: var(--orange); }
.budget-lab h3 { margin: 24px 0 10px; font-size: 11px; }
.sell-options { max-height: 230px; overflow: auto; display: grid; gap: 6px; padding-right: 4px; }
.sell-option { padding: 10px; display: grid; grid-template-columns: auto 39px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.sell-option:hover { border-color: var(--line-strong); }
.sell-option input { width: 15px; height: 15px; accent-color: var(--lime); }
.sell-option span strong { display: block; font-size: 9px; }
.sell-option span small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.sell-option > b { font-size: 9px; }
.budget-lab .full-button { margin-top: 15px; }
.helper-text { margin: 9px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.5; text-align: center; }

.compare-panel { padding: 26px; }
.compare-search-results { position: absolute; z-index: 8; top: 67px; right: 0; left: 0; max-height: 330px; padding: 7px; overflow: auto; border: 1px solid var(--line-strong); border-radius: 13px; background: #101d18; box-shadow: var(--shadow); }
.compare-search-results button { width: 100%; padding: 8px; display: grid; grid-template-columns: 39px 1fr auto; align-items: center; gap: 9px; border: 0; border-radius: 9px; color: var(--text); background: transparent; text-align: left; }
.compare-search-results button:hover { background: rgba(255,255,255,.045); }
.compare-search-results b, .compare-search-results small { display: block; font-size: 9px; }
.compare-search-results small { margin-top: 3px; color: var(--muted); }
.compare-search-results em { color: var(--lime); font-size: 8px; font-style: normal; }
.compare-selectors { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: end; gap: 16px; max-width: 820px; margin: 0 auto; }
.compare-picker { position: relative; min-width: 0; }
.compare-picker > label { display: block; margin: 0 0 7px 2px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: 1px; }
.compare-picker .search-field { min-width: 0; }
.compare-picker > p { min-height: 12px; margin: 7px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.versus { padding-bottom: 13px; color: var(--muted-2); font-size: 10px; font-weight: 900; text-align: center; }
.compare-heroes { margin: 35px auto 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; max-width: 760px; }
.compare-hero { text-align: center; }
.compare-hero .player-avatar { margin: 0 auto 12px; }
.compare-hero h2 { margin: 0; font-size: 20px; }
.compare-hero p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.compare-hero .kb-status { margin-top: 10px; }
.compare-price { margin-top: 10px; color: var(--lime); font-weight: 850; }
.compare-metrics { max-width: 850px; margin: 0 auto; display: grid; gap: 14px; }
.metric-row { display: grid; grid-template-columns: 70px 1fr 110px 1fr 70px; align-items: center; gap: 12px; }
.metric-row > b:first-child { text-align: right; }
.metric-row > b { font-size: 11px; }
.metric-row > span { color: var(--muted); font-size: 8px; font-weight: 800; text-align: center; text-transform: uppercase; letter-spacing: .8px; }
.metric-track { height: 7px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.05); }
.metric-track i { display: block; height: 100%; border-radius: inherit; background: var(--lime); }
.metric-track.left i { margin-left: auto; background: var(--cyan); }
.compare-verdict { max-width: 850px; margin: 28px auto 0; padding: 17px 19px; display: flex; align-items: center; gap: 14px; border: 1px solid rgba(217,255,67,.17); border-radius: 16px; background: var(--lime-soft); }
.verdict-icon { min-width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #10170f; background: var(--lime); font-weight: 950; }
.compare-verdict h3 { margin: 0 0 4px; font-size: 12px; }
.compare-verdict p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }

.confidence-pill { padding: 11px 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel); }
.confidence-pill span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .9px; }
.confidence-pill strong { display: block; margin-top: 3px; color: var(--green); font-size: 10px; }
.league-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 14px; }
.standings-panel, .league-profile, .rivals-panel { padding: 23px; }
.compact-rule-profile { align-self: start; padding: 17px; }
.muted-label { color: var(--muted); font-size: 9px; }
.standings { margin-top: 17px; display: grid; }
.standing-row { width: 100%; min-height: 55px; padding: 0; display: grid; grid-template-columns: 28px minmax(145px, 1.25fr) repeat(4, minmax(74px, .75fr)); align-items: center; gap: 10px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; font: inherit; text-align: left; }
.standing-row:last-child { border-bottom: 0; }
.standing-row.is-me { margin: 0 -8px; padding: 0 8px; border-radius: 11px; background: var(--lime-soft); }
.standing-row.finance-row { cursor: pointer; }
.standing-row.finance-row:hover, .standing-row.finance-row.is-selected { background: rgba(255,255,255,.035); }
.standing-row.finance-row.is-me.is-selected { background: rgba(217,255,67,.11); }
.standing-rank { color: var(--muted); font-size: 9px; font-weight: 800; }
.manager-cell { display: flex; align-items: center; gap: 9px; }
.manager-avatar { width: 31px; height: 31px; background: #293830; color: var(--text); }
.standing-row.is-me .manager-avatar { color: #10170f; background: var(--lime); }
.manager-cell strong { font-size: 10px; }
.manager-cell small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.standing-stat small { display: block; color: var(--muted); font-size: 8px; }
.standing-stat b { display: block; margin-top: 3px; font-size: 10px; }
.manager-balance-detail { margin-top: 18px; }
.balance-note, .balance-coverage { padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: rgba(255,255,255,.018); font-size: 9px; line-height: 1.55; }
.balance-note b { display: block; margin-bottom: 4px; color: var(--text); }
.balance-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 17px; border-top: 1px solid var(--line); }
.balance-detail-head > div { display: flex; align-items: center; gap: 9px; }
.balance-detail-head small { color: var(--muted); font-size: 8px; }
.balance-detail-head h3 { margin: 3px 0 0; font-size: 14px; }
.balance-quality { padding: 5px 8px; border-radius: 99px; color: var(--cyan); background: rgba(88,217,255,.09); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.balance-quality.exact { color: var(--lime); background: var(--lime-soft); }
.balance-result { margin-top: 13px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.balance-result > span, .balance-ledger-stats > span { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.018); }
.balance-result small, .balance-ledger-stats small { display: block; color: var(--muted); font-size: 8px; }
.balance-result strong { display: block; margin-top: 4px; font-size: 15px; }
.balance-result em { display: block; margin-top: 4px; font-size: 8px; font-style: normal; }
.balance-bid-rule { margin: 8px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.balance-formula { margin-top: 9px; padding: 10px; display: flex; align-items: center; gap: 7px; overflow-x: auto; border-radius: 10px; background: rgba(88,217,255,.045); }
.balance-formula span { min-width: 100px; }
.balance-formula small { display: block; color: var(--muted); font-size: 7px; }
.balance-formula b { display: block; margin-top: 2px; font-size: 9px; }
.balance-formula i { color: var(--muted); font-size: 10px; font-style: normal; }
.balance-formula.exact-formula { display: block; color: var(--muted); font-size: 9px; line-height: 1.55; }
.balance-ledger-stats { margin-top: 9px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.balance-ledger-stats b { display: block; margin-top: 3px; font-size: 9px; }
.balance-coverage { margin: 9px 0 0; }
.balance-events { margin-top: 11px; }
.balance-events > small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.balance-events p { margin: 7px 0 0; padding-bottom: 7px; display: grid; grid-template-columns: 68px 1fr; gap: 8px; border-bottom: 1px solid var(--line); font-size: 9px; }
.balance-events time { color: var(--muted); }
.finance-kpi-grid { margin-top: 9px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.finance-kpi-grid > span { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.018); }
.finance-kpi-grid small { display: block; color: var(--muted); font-size: 8px; }
.finance-kpi-grid b { display: block; margin-top: 4px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bonus-manager, .transfer-history { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.subsection-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.subsection-head small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.subsection-head h4 { margin: 3px 0 0; font-size: 13px; }
.subsection-head em { color: var(--muted); font-size: 8px; font-style: normal; text-align: right; }
.bonus-input-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.bonus-input-grid label { padding: 8px 9px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); }
.bonus-input-grid span { display: block; color: var(--muted); font-size: 7px; }
.bonus-input-grid input { width: 100%; margin-top: 4px; border: 0; outline: 0; color: var(--text); background: transparent; font-family: inherit; font-size: 10px; font-weight: 800; }
.bonus-manager > p { margin: 9px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.achievement-badges { margin-top: 8px; display: flex; gap: 6px; overflow-x: auto; }
.achievement-badges span { min-width: max-content; padding: 7px 9px; border-radius: 8px; background: rgba(217,255,67,.055); }
.achievement-badges b, .achievement-badges small { display: block; font-size: 8px; }
.achievement-badges small { margin-top: 2px; color: var(--lime); }
.scope-switch { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: rgba(0,0,0,.18); }
.scope-switch button { padding: 5px 8px; border: 0; border-radius: 6px; color: var(--muted); background: transparent; font-size: 8px; font-weight: 800; }
.scope-switch button.is-active { color: #111710; background: var(--lime); }
.transfer-history-list { margin-top: 10px; display: grid; gap: 7px; }
.transfer-card { padding: 10px; display: grid; grid-template-columns: minmax(165px, 1.35fr) minmax(125px, 1fr) minmax(86px, .65fr) minmax(86px, .65fr); align-items: center; gap: 10px; border: 1px solid var(--line); border-left: 2px solid var(--cyan); border-radius: 10px; background: rgba(255,255,255,.018); }
.transfer-card.is-sale { border-left-color: var(--orange); }
.transfer-player { display: flex; align-items: center; gap: 8px; min-width: 0; }
.transfer-player > span { min-width: 0; }
.transfer-player b { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.transfer-player small, .transfer-route small, .transfer-price small, .transfer-delta small { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; }
.transfer-route b { padding: 3px 6px; border-radius: 99px; color: var(--cyan); background: rgba(88,217,255,.08); font-size: 7px; text-transform: uppercase; }
.transfer-card.is-sale .transfer-route b { color: var(--orange); background: rgba(255,116,72,.08); }
.transfer-route time { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; }
.transfer-price b, .transfer-delta b { display: block; margin-top: 3px; font-size: 9px; }
.transfer-price em, .transfer-delta em { display: block; margin-top: 2px; color: var(--muted); font-size: 7px; font-style: normal; }
.transfer-more { margin-top: 10px; }
.rule-summary { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rule-summary div { padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.018); }
.rule-summary span { display: block; color: var(--muted); font-size: 8px; }
.rule-summary strong { display: block; margin-top: 4px; color: var(--lime); font-size: 15px; }
.rivals-panel { margin-top: 14px; }
.rival-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rival-card { padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.018); }
.rival-head { display: flex; align-items: center; gap: 9px; }
.rival-head strong { font-size: 10px; }
.rival-head small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.rival-need { margin: 14px 0 10px; padding: 8px 9px; display: flex; justify-content: space-between; border-radius: 9px; background: rgba(255,255,255,.03); }
.rival-need span { color: var(--muted); font-size: 8px; }
.rival-need b { color: var(--lime); font-size: 9px; }
.rival-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; }

.market-range-cell { min-width: 154px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.market-range-cell small { min-width: 0; padding: 6px 7px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 2px 6px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.018); }
.market-range-cell i { color: var(--muted); font-size: 7px; font-style: normal; }
.market-range-cell b { justify-self: end; font-size: 8px; white-space: nowrap; }
.market-range-cell em { height: 2px; grid-column: 1 / -1; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
.market-range-cell em span { height: 100%; display: block; border-radius: inherit; background: var(--good); }
.market-range-cell small.is-down em span { margin-left: auto; background: var(--danger); }
.market-range-cell small.is-missing { opacity: .55; }

.market-trend-widget { min-width: 172px; display: block; position: relative; z-index: 1; outline: 0; }
.market-trend-widget:hover, .market-trend-widget:focus-within { z-index: 35; }
.market-trend-primary { min-height: 42px; padding: 6px 9px; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 7px; border: 1px solid rgba(93,240,165,.18); border-radius: 11px; background: linear-gradient(135deg, rgba(93,240,165,.08), rgba(93,240,165,.025)); }
.market-trend-primary small { color: var(--muted); font-size: 7px; font-weight: 800; }
.market-trend-primary strong { justify-self: end; color: var(--good); font-size: 10px; white-space: nowrap; }
.market-trend-primary i { color: var(--good); font-size: 12px; font-style: normal; }
.market-trend-mini { width: 48px; height: 23px; justify-self: end; }
.market-trend-mini .portfolio-sparkline { width: 48px; height: 23px; }
.market-trend-mini .portfolio-sparkline.is-empty { display: none; }
.market-trend-widget.is-down .market-trend-primary { border-color: rgba(255,116,72,.2); background: rgba(255,116,72,.06); }
.market-trend-widget.is-down .market-trend-primary strong, .market-trend-widget.is-down .market-trend-primary i { color: var(--danger); }
.market-trend-widget.is-missing .market-trend-primary { border-color: var(--line); background: rgba(255,255,255,.018); }
.market-trend-widget.is-missing .market-trend-primary strong, .market-trend-widget.is-missing .market-trend-primary i { color: var(--muted); }
.market-trend-widget:focus-visible .market-trend-primary { box-shadow: 0 0 0 2px rgba(217,255,67,.24); }
.market-trend-popover { width: 260px; padding: 12px; position: absolute; top: calc(100% + 7px); left: 0; display: grid; gap: 9px; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-5px); border: 1px solid var(--line-strong); border-radius: 12px; background: #112019; box-shadow: 0 18px 44px rgba(0,0,0,.46); transition: opacity .14s ease, transform .14s ease, visibility .14s; }
.market-trend-widget:hover .market-trend-popover, .market-trend-widget:focus .market-trend-popover, .market-trend-widget:focus-within .market-trend-popover { visibility: visible; opacity: 1; transform: translateY(0); }
.trend-popover-head small, .trend-popover-head b { display: block; }
.trend-popover-head small { color: var(--muted); font-size: 7px; }
.trend-popover-head b { margin-top: 2px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.market-trend-popover .portfolio-sparkline { width: 100%; height: 42px; }
.trend-popover-ranges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.trend-popover-ranges > span { min-width: 0; padding: 5px; border-radius: 6px; background: rgba(255,255,255,.025); }
.trend-popover-ranges small, .trend-popover-ranges b { display: block; font-size: 6px; }
.trend-popover-ranges small { color: var(--muted); }
.trend-popover-ranges b { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-trend-popover > em { color: var(--muted); font-size: 6px; font-style: normal; }

.squad-portfolio { padding: 20px; overflow: hidden; }
.squad-portfolio-kpis { margin: 17px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.squad-portfolio-kpis > span { padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,.008)); }
.squad-portfolio-kpis small, .squad-portfolio-kpis em { display: block; color: var(--muted); font-size: 8px; font-style: normal; }
.squad-portfolio-kpis strong { display: block; margin: 5px 0 3px; font-size: 16px; }
.squad-portfolio-kpis .is-positive strong { color: var(--good); }
.squad-portfolio-kpis .is-negative strong { color: var(--danger); }
.squad-portfolio-table { overflow: visible; }
.portfolio-row { width: 100%; min-width: 900px; min-height: 71px; padding: 9px 12px; display: grid; grid-template-columns: minmax(200px, 1.4fr) 120px 90px 160px 90px 100px; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: rgba(255,255,255,.008); text-align: left; font: inherit; }
button.portfolio-row { cursor: pointer; }
button.portfolio-row:hover { background: rgba(217,255,67,.025); }
.portfolio-row:last-child { border-bottom: 0; }
.portfolio-head { min-height: 34px; color: var(--muted); background: rgba(255,255,255,.025); font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.portfolio-value strong, .portfolio-value small, .portfolio-value em { display: block; }
.portfolio-value strong { margin: 3px 0; font-size: 10px; }
.portfolio-value small, .portfolio-value em { color: var(--muted); font-size: 7px; font-style: normal; }
.portfolio-sparkline { width: 100px; height: 31px; display: block; }
.portfolio-sparkline line { stroke: rgba(255,255,255,.08); stroke-width: .7; }
.portfolio-sparkline polyline { fill: none; stroke: var(--good); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.portfolio-sparkline.is-negative polyline { stroke: var(--danger); }
.portfolio-sparkline.is-empty { height: auto; color: var(--muted); font-size: 7px; }
.portfolio-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.portfolio-card { min-width: 0; padding: 15px; display: grid; gap: 14px; border: 1px solid var(--line); border-radius: 16px; color: var(--text); background: linear-gradient(145deg, rgba(255,255,255,.027), rgba(255,255,255,.008)); text-align: left; font: inherit; cursor: pointer; transition: border-color .16s ease, transform .16s ease, background .16s ease; }
.portfolio-card:hover { border-color: rgba(217,255,67,.22); background: linear-gradient(145deg, rgba(217,255,67,.045), rgba(255,255,255,.008)); transform: translateY(-1px); }
.portfolio-card-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.portfolio-card-head .player-mini { min-width: 0; }
.portfolio-current { flex: 0 0 auto; text-align: right; }
.portfolio-current small, .portfolio-current strong { display: block; }
.portfolio-current small { color: var(--muted); font-size: 7px; }
.portfolio-current strong { margin-top: 4px; font-size: 14px; }
.portfolio-card-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.portfolio-card-metrics > span { min-width: 0; padding: 9px 10px; border-radius: 10px; background: rgba(0,0,0,.12); }
.portfolio-card-metrics small, .portfolio-card-metrics strong, .portfolio-card-metrics em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portfolio-card-metrics small, .portfolio-card-metrics em { color: var(--muted); font-size: 7px; font-style: normal; }
.portfolio-card-metrics strong { margin: 4px 0 2px; font-size: 11px; }
.portfolio-trend-strip { display: block; }
.portfolio-trend-strip .market-range-cell { width: 100%; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.portfolio-trend-strip .market-range-cell small { padding: 7px; }
.portfolio-chart { min-width: 0; padding-top: 11px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 13px; border-top: 1px solid var(--line); }
.portfolio-chart > span small, .portfolio-chart > span em { display: block; white-space: nowrap; }
.portfolio-chart > span small { font-size: 8px; font-weight: 800; }
.portfolio-chart > span em { margin-top: 3px; color: var(--muted); font-size: 7px; font-style: normal; }
.portfolio-chart .portfolio-sparkline { width: 100%; height: 42px; }
.bonus-fixed { padding: 8px 9px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); }
.bonus-fixed b { display: block; margin-top: 4px; font-size: 9px; }

.drawer-backdrop { position: fixed; z-index: 70; inset: 0; visibility: hidden; opacity: 0; background: rgba(2,7,4,.67); backdrop-filter: blur(5px); transition: .25s ease; }
.drawer-backdrop.is-visible { visibility: visible; opacity: 1; }
.player-drawer { position: fixed; z-index: 80; top: 0; right: 0; bottom: 0; width: min(460px, 100%); padding: 28px; overflow: auto; border-left: 1px solid var(--line-strong); background: #0c1713; box-shadow: -30px 0 90px rgba(0,0,0,.38); transform: translateX(105%); transition: transform .32s cubic-bezier(.2,.8,.2,1); }
.player-drawer.is-open { transform: translateX(0); }
.drawer-close, .modal-close { position: absolute; top: 18px; right: 18px; width: 35px; height: 35px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: rgba(255,255,255,.025); font-size: 21px; }
.drawer-close:hover, .modal-close:hover { color: var(--text); border-color: var(--line-strong); }
.drawer-hero { padding: 40px 0 25px; display: flex; align-items: center; gap: 17px; border-bottom: 1px solid var(--line); }
.drawer-hero h2 { margin: 0; font-size: 25px; letter-spacing: -1px; }
.drawer-hero p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.drawer-score { margin-left: auto; text-align: center; }
.drawer-score strong { display: block; color: var(--lime); font-size: 24px; }
.drawer-score small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .8px; }
.drawer-kpis { padding: 18px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.drawer-kpis div { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.018); }
.drawer-kpis small { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.drawer-kpis strong { display: block; margin-top: 5px; font-size: 13px; }
.drawer-range-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.drawer-range-grid span { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.018); }
.drawer-range-grid small { display: block; color: var(--muted); font-size: 8px; }
.drawer-range-grid b { display: block; margin-top: 4px; font-size: 10px; }
.drawer-section { margin-top: 22px; }
.drawer-section h3 { margin: 0 0 12px; font-size: 12px; }
.form-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.form-strip span { min-height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.018); font-size: 10px; }
.form-strip span.high { color: #10170f; border-color: var(--lime); background: var(--lime); }
.drawer-chart { height: 130px; }
.drawer-chart canvas { width: 100%; height: 100%; }
.reason-list { display: grid; gap: 8px; }
.reason-item { padding: 11px; display: flex; gap: 9px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.reason-item b { color: var(--text); }

.connect-modal { width: min(470px, calc(100% - 28px)); padding: 31px; border: 1px solid var(--line-strong); border-radius: 25px; color: var(--text); background: #0e1a15; box-shadow: 0 35px 110px rgba(0,0,0,.58); }
.connect-modal::backdrop { background: rgba(2,7,4,.72); backdrop-filter: blur(7px); }
.connect-modal h2 { margin: 4px 0 8px; font-size: 27px; letter-spacing: -1.1px; }
.modal-copy { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.connect-modal form { margin-top: 23px; display: grid; gap: 13px; }
.connect-modal label > span { display: block; margin: 0 0 6px 2px; color: var(--muted); font-size: 9px; }
.connect-modal input { width: 100%; height: 45px; padding: 0 13px; border: 1px solid var(--line); border-radius: 11px; outline: 0; color: var(--text); background: rgba(0,0,0,.15); font-size: 11px; }
.connect-modal input:focus { border-color: rgba(217,255,67,.42); box-shadow: 0 0 0 3px rgba(217,255,67,.06); }
.form-message { min-height: 15px; margin: -4px 0 0; color: var(--red); font-size: 9px; text-align: center; }
.button-loader { width: 15px; height: 15px; margin: auto; display: block; border: 2px solid rgba(0,0,0,.25); border-top-color: #0d160f; border-radius: 50%; animation: spin .7s linear infinite; }
.premium-note { margin-top: 15px; padding: 11px; display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.02); }
.premium-note > span { padding: 5px 6px; border-radius: 6px; color: #10170f; background: var(--lime); font-size: 8px; font-weight: 950; }
.premium-note p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.demo-link { width: 100%; margin-top: 13px; padding: 8px; border: 0; color: var(--muted); background: transparent; font-size: 9px; }
.demo-link:hover { color: var(--text); }

.toast { position: fixed; z-index: 100; left: 50%; bottom: 26px; min-width: 260px; padding: 12px 16px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line-strong); border-radius: 13px; color: var(--text); background: #15231d; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: .25s ease; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.toast > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #10170f; background: var(--lime); font-size: 10px; font-weight: 950; }
.toast p { margin: 0; font-size: 10px; }

@keyframes viewIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  :root { --sidebar: 84px; }
  .sidebar { padding-inline: 12px; }
  .brand { justify-content: center; padding-inline: 0; }
  .brand-word, .nav-item > span:not(.nav-glyph), .nav-badge, .sidebar-note div, .profile-chip > span:not(.profile-avatar) { display: none; }
  .main-nav { justify-items: center; }
  .nav-item { width: 52px; grid-template-columns: 1fr; justify-items: center; padding: 0; }
  .sidebar-note { justify-content: center; padding: 14px 0; border-color: transparent; }
  .profile-chip { display: flex; justify-content: center; padding: 8px 0; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .squad-layout { grid-template-columns: minmax(0, 1fr) 320px; }
  .rival-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1400px) {
  .market-layout { grid-template-columns: 1fr; }
  .advisor-card { position: static; min-height: 0; }
}

@media (max-width: 920px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 245px; transform: translateX(-105%); transition: transform .25s ease; box-shadow: 30px 0 80px rgba(0,0,0,.45); }
  .sidebar.is-open { transform: translateX(0); }
  .brand { justify-content: flex-start; padding-inline: 10px; }
  .brand-word, .nav-item > span:not(.nav-glyph), .nav-badge, .sidebar-note div, .profile-chip > span:not(.profile-avatar) { display: initial; }
  .main-nav { justify-items: stretch; }
  .nav-item { width: 100%; grid-template-columns: 30px 1fr auto; justify-items: stretch; padding: 0 12px; }
  .sidebar-note { justify-content: flex-start; padding: 14px; border-color: var(--line); }
  .profile-chip { display: grid; justify-content: stretch; padding: 10px; }
  .mobile-menu { width: 40px; height: 40px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
  .mobile-menu span { width: 16px; height: 1px; display: block; background: var(--text); }
  .league-switcher { margin-right: auto; margin-left: 8px; }
  .sync-status { display: none; }
  .cockpit-grid, .market-layout, .squad-layout, .league-grid { grid-template-columns: 1fr; }
  .advisor-card { position: static; min-height: 0; }
  .market-layout .table-panel { overflow-x: auto; }
  .market-trend-popover { display: none; }
  .portfolio-card-grid { grid-template-columns: 1fr; }
  .budget-lab { order: initial; }
  .squad-portfolio-kpis { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1180px) {
  .market-player-name .player-first-name, .lineup-player-name .player-first-name { display: none; }
}

@container (max-width: 760px) {
  .market-player-name .player-first-name, .lineup-player-name .player-first-name { display: none; }
  .lineup-controlbar { grid-template-columns: 1fr; }
  .lineup-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lineup-controlbar .formation-picker { min-height: 60px; }
}

@media (max-width: 680px) {
  .topbar { min-height: 66px; padding: 0 14px; }
  .club-crest.mini, .league-switcher small, .chevron { display: none; }
  .league-switcher strong { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .connect-button { width: 40px; padding: 0; justify-content: center; font-size: 0; }
  .connect-button > span { width: 9px; height: 9px; }
  .main-content { padding: 28px 14px 60px; }
  .page-intro { align-items: flex-start; flex-direction: column; }
  .page-intro h1 { letter-spacing: -2.1px; }
  .cockpit-intro .deadline-card { width: 100%; }
  .kpi-grid { grid-template-columns: 1fr; }
  .kpi-card { min-height: 154px; }
  .action-center, .market-pulse, .pitch-panel, .budget-lab, .compare-panel, .standings-panel, .league-profile, .rivals-panel, .squad-portfolio { padding: 18px; }
  .market-pulse { min-height: 0; }
  .action-item { grid-template-columns: 7px 1fr; }
  .action-side { grid-column: 2; display: flex; align-items: center; justify-content: space-between; text-align: left; }
  .action-side b { margin: 0; }
  .mover-grid, .rival-grid { grid-template-columns: 1fr; }
  .market-summary { width: 100%; gap: 12px; justify-content: space-between; overflow-x: auto; }
  .market-summary span + span { padding-left: 12px; }
  .toolbar { align-items: stretch; flex-direction: column; }
  .search-field { min-width: 0; }
  .filter-chips { overflow-x: auto; }
  .toolbar select { width: 100%; }
  .pitch-panel { padding: 12px; }
  .pitch-shell { padding: 7px; }
  .pitch-legend { justify-content: flex-start; }
  .bench { padding: 12px; }
  .bench > div:last-child { grid-template-columns: 1fr; }
  .mover-player-name .player-first-name, .bench-player-name .player-first-name, .sell-player-name .player-first-name { display: none; }
  .squad-portfolio-kpis { grid-template-columns: 1fr; }
  .portfolio-card { padding: 13px; }
  .portfolio-card-head { align-items: flex-start; }
  .portfolio-card-metrics { grid-template-columns: 1fr 1fr; }
  .portfolio-card-metrics > span:last-child { grid-column: 1 / -1; }
  .portfolio-trend-strip .market-range-cell { grid-template-columns: 1fr 1fr; }
  .portfolio-chart { grid-template-columns: 1fr; }
  .squad-portfolio-table { overflow: visible; border: 0; }
  .portfolio-head { display: none; }
  button.portfolio-row { min-width: 0; margin-bottom: 9px; padding: 13px; grid-template-columns: 1fr 1fr; gap: 12px; border: 1px solid var(--line); border-radius: 12px; }
  .portfolio-row > .player-mini, .portfolio-row > .market-range-cell, .portfolio-row > span:last-child { grid-column: 1 / -1; }
  .portfolio-sparkline { width: 100%; height: 38px; }
  .compare-selectors { grid-template-columns: 1fr; }
  .versus { padding: 0; }
  .compare-heroes { gap: 14px; }
  .compare-hero h2 { font-size: 15px; }
  .metric-row { grid-template-columns: 45px 1fr 72px 1fr 45px; gap: 6px; }
  .metric-row > span { font-size: 7px; }
  .standing-row { grid-template-columns: 24px minmax(112px, 1.2fr) .85fr .85fr; }
  .standing-row .standing-stat:nth-child(3), .standing-row .standing-stat:nth-child(5) { display: none; }
  .market-range-grid { grid-template-columns: 1fr 1fr; }
  .pulse-manager-option { min-width: 101px; }
  .pulse-switcher { grid-template-columns: 26px minmax(0, 1fr) 26px; }
  .pulse-arrow { width: 26px; }
  .balance-result { grid-template-columns: 1fr; }
  .balance-ledger-stats { grid-template-columns: 1fr 1fr; }
  .finance-kpi-grid, .bonus-input-grid { grid-template-columns: 1fr 1fr; }
  .transfer-card { grid-template-columns: minmax(145px, 1fr) minmax(90px, .75fr); }
  .transfer-price, .transfer-delta { padding-top: 7px; border-top: 1px solid var(--line); }
  .subsection-head { align-items: flex-start; flex-direction: column; }
  .subsection-head em { text-align: left; }
  .drawer-range-grid { grid-template-columns: 1fr 1fr; }
  .player-drawer { padding: 22px; }
  .drawer-kpis { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* MATCHIQ: Live-Zustände und Regelprüfung */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.formation-picker select { min-width: 118px; margin-top: 5px; padding: 7px 34px 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); color: var(--text); font: inherit; font-size: 18px; font-weight: 750; }
.rule-status { margin: 4px 0 16px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(93,240,165,.22); border-radius: 10px; background: rgba(93,240,165,.05); color: var(--muted); font-size: 11px; }
.rule-status > span { color: var(--good); font-weight: 900; }
.rule-status p { margin: 0; }
.rule-status.is-invalid { border-color: rgba(255,116,72,.28); background: rgba(255,116,72,.06); }
.rule-status.is-invalid > span { color: var(--warn); }
.rule-status.has-api-lineup { border-color: rgba(88,217,255,.26); background: rgba(88,217,255,.055); }
.rule-status.has-api-lineup > span { color: var(--cyan); }
.budget-rule { margin: 14px 0; padding: 10px 12px; border-left: 2px solid var(--accent); background: rgba(217,255,67,.04); color: var(--muted); font-size: 10px; line-height: 1.55; }
.budget-safe.is-danger { color: var(--danger); background: rgba(255,116,72,.08); }
.budget-safe.is-danger i { background: var(--danger); }
.advisor-input { margin: 13px 0 8px; }
.advisor-input span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.advisor-input input { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); color: var(--text); font: inherit; font-weight: 700; }
.rule-checks { margin: 12px 0; display: grid; gap: 7px; }
.rule-check { padding: 8px 10px; display: flex; gap: 8px; border-radius: 8px; background: rgba(255,255,255,.025); color: var(--muted); font-size: 10px; line-height: 1.4; }
.rule-check.ok b { color: var(--good); }
.rule-check.bad b { color: var(--danger); }
.rule-check.warn b { color: var(--warn); }
.league-modal { max-width: 520px; }
.league-options { margin: 18px 0; display: grid; gap: 8px; }
.league-option { width: 100%; padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-2); color: var(--text); text-align: left; cursor: pointer; }
.league-option > span:nth-child(2) { flex: 1; margin-left: 10px; }
.league-option small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.league-option-image { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 9px; color: #10170f; background: var(--lime); font-size: 9px; font-weight: 900; }
.league-option:hover, .league-option.is-active { border-color: rgba(217,255,67,.45); }
.league-option.is-active::after { content: 'AKTIV'; color: var(--accent); font-size: 8px; letter-spacing: .12em; }
.danger-link { color: #ff8a68; }
.live-empty { padding: 34px 18px; color: var(--muted); text-align: center; }
.live-empty b { display: block; margin-bottom: 5px; color: var(--text); }
.feed-card { min-height: 120px; }
.feed-card time { color: var(--muted); font-size: 9px; }
.feed-card p { margin: 12px 0 0; color: var(--text); line-height: 1.5; }
.detail-note { margin-top: 10px; color: var(--muted); font-size: 10px; }
.panel-explainer { margin: 8px 0 0; color: var(--muted); font-size: 8px; line-height: 1.5; }

@media (max-width: 680px) {
  .formation-picker select { font-size: 16px; }
}

/* Modul 06 · Liga-Spielerzentrum */
.player-hub-badge { color: var(--lime); border: 1px solid rgba(217,255,67,.22); background: rgba(217,255,67,.08); }
.player-hub-intro { position: relative; }
.player-hub-counter { min-width: 272px; padding: 15px 18px; display: grid; grid-template-columns: 1fr 1px 1fr; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg, rgba(217,255,67,.07), rgba(255,255,255,.015)); box-shadow: var(--shadow); }
.player-hub-counter > i { width: 1px; height: 32px; background: var(--line); }
.player-hub-counter small, .player-hub-counter strong { display: block; }
.player-hub-counter small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.player-hub-counter strong { max-width: 122px; margin-top: 4px; overflow: hidden; color: var(--text); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.player-hub-counter span:first-child strong { color: var(--lime); }
.player-hub-control { position: relative; margin-bottom: 14px; padding: 10px; overflow: hidden; border-radius: 19px; }
.player-hub-control::after { content: ""; position: absolute; inset: auto 5% -45px 5%; height: 60px; background: rgba(217,255,67,.055); filter: blur(34px); pointer-events: none; }
.player-hub-search { position: relative; z-index: 1; min-height: 66px; padding: 0 15px; display: grid; grid-template-columns: 30px minmax(0,1fr) auto auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(2,10,6,.24); transition: border-color .2s ease, box-shadow .2s ease; }
.player-hub-search:focus-within { border-color: rgba(217,255,67,.42); box-shadow: 0 0 0 4px rgba(217,255,67,.055); }
.player-hub-search-icon { color: var(--lime); font-size: 28px; line-height: 1; transform: translateY(-2px); }
.player-hub-search-copy { min-width: 0; }
.player-hub-search-copy small { display: block; color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.player-hub-search-copy input { width: 100%; margin-top: 3px; padding: 0; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 15px; font-weight: 720; letter-spacing: -.2px; }
.player-hub-search-copy input::placeholder { color: #627168; font-weight: 600; }
.player-hub-search kbd { padding: 5px 7px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted-2); background: rgba(255,255,255,.025); font-family: inherit; font-size: 7px; font-weight: 900; }
.player-hub-search-loader { width: 17px; height: 17px; border: 2px solid rgba(217,255,67,.22); border-top-color: var(--lime); border-radius: 50%; animation: spin .7s linear infinite; }
.player-hub-search-status { position: relative; z-index: 1; margin: 8px 5px 1px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.player-hub-filterbar { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.player-hub-categories, .player-hub-positions { display: flex; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.player-hub-categories::-webkit-scrollbar, .player-hub-positions::-webkit-scrollbar { display: none; }
.player-hub-categories button, .player-hub-positions button { flex: 0 0 auto; border: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.018); transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.player-hub-categories button { min-height: 39px; padding: 0 13px; display: flex; align-items: center; gap: 7px; border-radius: 11px; font-size: 9px; font-weight: 820; }
.player-hub-categories button span { color: var(--muted-2); font-size: 11px; }
.player-hub-positions button { width: 39px; height: 35px; border-radius: 10px; font-size: 8px; font-weight: 900; }
.player-hub-categories button:hover, .player-hub-positions button:hover { color: var(--text); border-color: var(--line-strong); transform: translateY(-1px); }
.player-hub-categories button.is-active, .player-hub-positions button.is-active { color: var(--lime); border-color: rgba(217,255,67,.28); background: linear-gradient(135deg, rgba(217,255,67,.11), rgba(217,255,67,.035)); box-shadow: inset 0 0 0 1px rgba(217,255,67,.025); }
.player-hub-categories button.is-active span { color: var(--lime); }
.player-hub-panel { overflow: hidden; }
.player-hub-heading { padding: 22px 24px 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.player-hub-heading h2 { margin: 0; font-size: 22px; letter-spacing: -.7px; }
.player-hub-heading > span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: 8px; font-weight: 800; white-space: nowrap; }
.player-hub-table { overflow-x: auto; }
.player-hub-row { min-width: 1000px; min-height: 76px; padding: 0 18px; display: grid; grid-template-columns: 48px minmax(230px,1.5fr) minmax(155px,.9fr) 105px 112px 86px 92px 32px; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: transparent; text-align: left; }
.player-hub-table-head { position: sticky; z-index: 2; top: 0; min-height: 38px; color: var(--muted-2); background: rgba(10,20,16,.96); font-size: 7px; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.player-hub-player-row { position: relative; width: 100%; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.player-hub-player-row::before { content: ""; position: absolute; inset: 8px auto 8px 0; width: 2px; border-radius: 3px; background: transparent; }
.player-hub-player-row:hover { z-index: 1; background: linear-gradient(90deg, rgba(217,255,67,.065), rgba(255,255,255,.018) 48%, transparent); }
.player-hub-player-row:hover::before { background: var(--lime); box-shadow: 0 0 16px rgba(217,255,67,.55); }
.player-hub-player-row:hover .player-hub-open { color: #10160f; border-color: var(--lime); background: var(--lime); transform: rotate(45deg); }
.player-hub-results.is-switching .player-hub-player-row { animation: player-row-in .42s cubic-bezier(.2,.8,.2,1) both; animation-delay: min(calc(var(--row-index) * 18ms), 180ms); }
@keyframes player-row-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
.player-hub-rank { color: var(--muted-2); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.player-hub-player-row.is-top .player-hub-rank { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #10160f; background: var(--lime); }
.player-hub-player-row.is-top-2 .player-hub-rank { color: var(--text); background: #59645e; }
.player-hub-player-row.is-top-3 .player-hub-rank { color: #1b1009; background: #bd7955; }
.player-hub-player { min-width: 0; display: flex; align-items: center; gap: 12px; }
.player-hub-player > span:last-child { min-width: 0; }
.player-hub-player strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.player-hub-player small { display: block; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; line-height: 30px; }
.player-hub-player .club-badge { width: 30px; height: 30px; margin-right: 8px; vertical-align: middle; }
.player-owner-pill { min-width: 0; display: flex; align-items: center; gap: 8px; }
.player-owner-pill > span:last-child { min-width: 0; }
.player-owner-pill small, .player-owner-pill b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-owner-pill small { color: var(--muted-2); font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.player-owner-pill b { max-width: 112px; margin-top: 2px; font-size: 9px; }
.player-owner-avatar { position: relative; width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 29px; overflow: hidden; border-radius: 9px; color: #10160f; background: linear-gradient(145deg, #f0f6f2, #77867e); font-size: 7px; font-weight: 950; }
.player-owner-avatar.compact { width: 27px; height: 27px; flex-basis: 27px; }
.player-owner-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.player-owner-pill.is-self .player-owner-avatar { background: linear-gradient(145deg, var(--lime), #82ee66); }
.player-owner-pill.is-free > i, .player-owner-pill.is-pending > i { width: 27px; height: 27px; display: block; flex: 0 0 27px; border: 1px solid rgba(93,240,165,.28); border-radius: 9px; background: rgba(93,240,165,.07); }
.player-owner-pill.is-free > i::after { content: "✓"; width: 100%; height: 100%; display: grid; place-items: center; color: var(--green); font-size: 9px; font-weight: 950; }
.player-owner-pill.is-free b { color: var(--green); }
.player-owner-pill.is-pending > i { position: relative; border-color: var(--line); background: rgba(255,255,255,.02); }
.player-owner-pill.is-pending > i::after { content: ""; position: absolute; inset: 8px; border: 2px solid var(--muted-2); border-top-color: transparent; border-radius: 50%; animation: spin .8s linear infinite; }
.player-hub-stat small, .player-hub-stat strong { display: block; }
.player-hub-stat small { display: none; color: var(--muted-2); font-size: 7px; text-transform: uppercase; }
.player-hub-stat strong { font-size: 10px; }
.player-hub-trend { display: grid; grid-template-columns: auto 54px; align-items: center; gap: 7px; }
.player-hub-spark { width: 54px; height: 20px; overflow: visible; }
.player-hub-spark polyline { fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 4px rgba(93,240,165,.22)); }
.player-hub-spark.is-negative polyline { stroke: var(--red); filter: drop-shadow(0 0 4px rgba(255,95,104,.22)); }
.player-hub-no-spark { color: var(--muted-2); font-size: 8px; }
.player-hub-open { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 10px; transition: .22s ease; }
.player-hub-empty { padding: 60px 20px; color: var(--muted); text-align: center; }
.player-hub-empty > span { width: 48px; height: 48px; margin: 0 auto 12px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 15px; color: var(--lime); font-size: 25px; }
.player-hub-empty strong { display: block; color: var(--text); font-size: 14px; }
.player-hub-empty p { margin: 6px 0 0; font-size: 9px; }
.player-hub-skeleton span { height: 28px; border-radius: 8px; background: linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.085), rgba(255,255,255,.035)); background-size: 220% 100%; animation: player-hub-shimmer 1.4s linear infinite; }
@keyframes player-hub-shimmer { to { background-position: -220% 0; } }

.league-player-dialog { width: min(1180px, calc(100% - 32px)); max-width: none; max-height: min(92vh, 980px); padding: 0; overflow-x: hidden; overflow-y: auto; border: 1px solid var(--line-strong); border-radius: 28px; color: var(--text); background: #0b1612; box-shadow: 0 45px 150px rgba(0,0,0,.68); }
.league-player-dialog[open] { animation: league-player-dialog-in .34s cubic-bezier(.2,.8,.2,1) both; }
.league-player-dialog::backdrop { background: rgba(2,7,4,.78); backdrop-filter: blur(10px); animation: league-player-backdrop-in .28s ease both; }
@keyframes league-player-dialog-in { from { opacity: 0; transform: translateY(20px) scale(.975); } to { opacity: 1; transform: none; } }
@keyframes league-player-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
.league-player-close { position: sticky; z-index: 8; top: 18px; float: right; width: 40px; height: 40px; margin: 18px 18px -58px 0; border: 1px solid var(--line-strong); border-radius: 12px; color: var(--text); background: rgba(8,16,13,.78); backdrop-filter: blur(12px); font-size: 23px; line-height: 1; transition: .2s ease; }
.league-player-close:hover { color: #0f160e; border-color: var(--lime); background: var(--lime); transform: rotate(4deg); }
.league-player-hero { position: relative; min-height: 220px; padding: 48px 62px 36px; display: grid; grid-template-columns: 132px minmax(0,1fr) auto; align-items: end; gap: 28px; overflow: hidden; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 75% 10%, rgba(217,255,67,.09), transparent 35%), linear-gradient(145deg, #14251d, #0d1914); }
.league-player-hero > *:not(.league-player-hero-glow) { position: relative; z-index: 2; }
.league-player-hero-glow { position: absolute; width: 360px; height: 360px; left: -90px; bottom: -230px; border-radius: 50%; background: var(--player-color); opacity: .12; filter: blur(55px); }
.player-avatar.xlarge { width: 132px; height: 132px; border: 1px solid rgba(255,255,255,.18); border-radius: 38px 14px 38px 14px; box-shadow: 0 26px 50px rgba(0,0,0,.32); font-size: 30px; }
.league-player-identity h2 { margin: 0; font-size: clamp(32px, 4vw, 55px); line-height: .96; letter-spacing: -2.7px; }
.league-player-identity .eyebrow { margin-bottom: 14px; display: flex; align-items: center; gap: 9px; font-size: 11px; }
.league-player-identity .eyebrow .club-badge { width: 48px; height: 48px; margin: 0; flex-shrink: 0; }
.league-player-badges { margin-top: 15px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.league-player-owner-state, .league-player-badges .next-opponent { min-height: 28px; padding: 0 9px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: rgba(255,255,255,.025); font-size: 8px; font-weight: 800; }
.league-player-badges .next-opponent, .league-player-insight .next-opponent { gap:10px; min-height:48px; padding:8px 11px; font-size:11px; border-radius:12px; }
.league-player-insight:has([data-player-upcoming-copy]) { padding:18px; }
.league-player-insight [data-player-upcoming-copy] .next-opponent { padding:10px 0 0; margin:0; border:0; background:transparent; }
.league-player-insight .next-opponent .opponent-copy > strong { font-size:15px; }
.league-player-insight .next-opponent .opponent-copy > small { font-size:10px; }
.league-player-badges .next-opponent .club-badge, .league-player-insight .next-opponent .club-badge { width: 32px; height: 32px; margin: 0; }
.league-player-owner-state.is-free { color: var(--green); border-color: rgba(93,240,165,.22); background: rgba(93,240,165,.055); }
.league-player-owner-state.is-self { color: var(--lime); border-color: rgba(217,255,67,.22); background: rgba(217,255,67,.055); }
.league-player-hero-value { min-width: 195px; padding-bottom: 5px; text-align: right; }
.league-player-hero-value > small, .league-player-hero-value > strong, .league-player-hero-value > span { display: block; }
.league-player-hero-value small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.league-player-hero-value strong { margin-top: 7px; font-size: 28px; letter-spacing: -1.2px; }
.league-player-hero-value > span { margin-top: 5px; font-size: 10px; font-weight: 850; }
.league-player-kpis { padding: 0 42px; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.league-player-kpis > span { min-height: 92px; padding: 22px 18px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.league-player-kpis > span:last-child { border-right: 0; }
.league-player-kpis small { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.league-player-kpis strong { margin-top: 7px; font-size: 16px; }
.league-player-detail-grid { padding: 28px 42px 14px; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.75fr); gap: 14px; }
.league-player-chart-card, .league-player-analysis-card, .league-player-form-card { border: 1px solid var(--line); border-radius: 19px; background: rgba(255,255,255,.018); }
.league-player-chart-card, .league-player-analysis-card { padding: 20px; }
.league-player-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.league-player-section-head h3 { margin: 0; font-size: 17px; letter-spacing: -.45px; }
.league-player-section-head > span { color: var(--muted); font-size: 8px; }
.league-player-ranges { margin-top: 17px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 7px; }
.league-player-ranges > span { min-height: 55px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: rgba(0,0,0,.11); }
.league-player-ranges small, .league-player-ranges strong { display: block; }
.league-player-ranges small { color: var(--muted); font-size: 7px; }
.league-player-ranges strong { margin-top: 5px; font-size: 10px; }
.league-player-chart-stage { width: 100%; height: 235px; margin-top: 14px; }
.league-player-chart-stage canvas { width: 100%; height: 100%; }
.dated-market-chart { position: relative; height: calc(100% - 24px); margin-inline: 8px; color: var(--lime); }
.dated-market-chart svg { width: 100%; height: 100%; overflow: visible; }
.dated-market-chart polygon { fill: rgba(217,255,67,.065); }
.dated-market-chart polyline { fill: none; stroke: currentColor; stroke-width: 2; vector-effect: non-scaling-stroke; }
.dated-market-chart .chart-grid { fill: none; stroke: rgba(255,255,255,.07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.market-chart-point { position: absolute; left: var(--x); top: 0; width: var(--hit); height: 100%; transform: translateX(-50%); border: 0; padding: 0; background: transparent; color: inherit; cursor: crosshair; outline: none; }
.market-chart-point::after { content: ''; position: absolute; top: 10px; bottom: 0; left: 50%; border-left: 1px dashed currentColor; opacity: 0; }
.market-chart-point > i { position: absolute; z-index: 2; left: 50%; top: var(--y); width: 5px; height: 5px; transform: translate(-50%,-50%); border: 1px solid currentColor; border-radius: 50%; background: #142018; }
.market-chart-tooltip { position: absolute; z-index: 5; top: 0; left: 50%; transform: translateX(-50%); display: none; padding: 9px 12px; border: 1px solid rgba(217,255,67,.35); border-radius: 9px; color: var(--text); background: #18271e; box-shadow: 0 10px 25px #0008; white-space: nowrap; pointer-events: none; text-align: left; }
.market-chart-tooltip small, .market-chart-tooltip strong { display: block; }
.market-chart-tooltip small { color: var(--muted); font-size: 9px; }
.market-chart-tooltip strong { margin-top: 4px; font-size: 12px; }
.market-chart-point.is-first .market-chart-tooltip { transform: none; }
.market-chart-point.is-last .market-chart-tooltip { transform: translateX(-100%); }
.market-chart-point:is(:hover,:focus-visible) { z-index: 4; }
.market-chart-point:is(:hover,:focus-visible) .market-chart-tooltip { display: block; }
.market-chart-point:is(:hover,:focus-visible)::after { opacity: .4; }
.market-chart-point:is(:hover,:focus-visible) > i { width: 9px; height: 9px; background: var(--lime); box-shadow: 0 0 14px #d9ff4366; }
.market-chart-axis { display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; color: var(--muted); font-size: 8px; }
.player-match-card { min-width: 0; padding: 18px 14px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(155deg, rgba(255,255,255,.025), rgba(0,0,0,.16)); }
.league-player-form-strip .player-match-card > small { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.player-match-opponent { display: flex; align-items: center; gap: 10px; margin: 18px 0 14px; min-height: 48px; }
.player-match-opponent .club-badge { width: 44px; height: 44px; margin: 0; flex-shrink: 0; }
.player-match-opponent strong { overflow-wrap: anywhere; font-size: 14px; line-height: 1.3; }
.player-match-score { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 11px; }
.league-player-form-strip .player-match-score b { color: var(--text); font-size: 28px; line-height: 1.1; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.player-match-bar { height: 4px; margin: 15px 0 10px; border-radius: 4px; background: rgba(255,255,255,.04); }
.player-match-bar i { display: block; height: 100%; background: var(--lime); border-radius: inherit; }
.league-player-form-strip .player-match-points { color: var(--lime); font-size: 24px; }
.league-player-form-strip .player-match-points small { font-size: 11px; font-weight: 400; }
.player-match-card.is-negative .player-match-points { color: var(--red); }
.player-match-card.is-negative .player-match-bar i { background: var(--red); }
#playerHubResults { animation: player-row-in .25s ease-out; }
.league-player-chart-empty { height: 100%; display: grid; place-items: center; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); font-size: 9px; }
.league-player-insights { margin-top: 17px; display: grid; gap: 8px; }
.league-player-insight { min-height: 62px; padding: 11px; display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: rgba(0,0,0,.1); }
.league-player-insight > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.035); font-size: 13px; }
.league-player-insight.is-positive > span { color: var(--green); background: rgba(93,240,165,.07); }
.league-player-insight.is-negative > span { color: var(--red); background: rgba(255,95,104,.07); }
.league-player-insight small, .league-player-insight strong { display: block; }
.league-player-insight small { color: var(--muted); font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.league-player-insight strong { margin-top: 4px; font-size: 9px; line-height: 1.45; }
.league-player-form-card { margin: 0 42px 28px; padding: 20px; }
.league-player-form-strip { min-height: 130px; margin-top: 18px; padding: 0 0 8px; display: grid; grid-template-columns: repeat(5, minmax(175px,1fr)); align-items: stretch; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; }
.league-player-form-strip > span { height: 115px; display: grid; grid-template-rows: 1fr auto auto; justify-items: center; gap: 6px; }
.league-player-form-strip > span i { width: min(50px, 70%); height: var(--form-height); align-self: end; border-radius: 9px 9px 3px 3px; background: linear-gradient(180deg, var(--lime), rgba(217,255,67,.12)); box-shadow: 0 0 22px rgba(217,255,67,.08); transform-origin: bottom; animation: form-bar-in .55s cubic-bezier(.2,.8,.2,1) both; }
@keyframes form-bar-in { from { transform: scaleY(.05); opacity: .2; } to { transform: none; opacity: 1; } }
.league-player-form-strip b { font-size: 10px; }
.league-player-form-strip small { color: var(--muted); font-size: 7px; }
.league-player-form-empty { grid-column: 1 / -1; align-self: center; color: var(--muted); font-size: 9px; text-align: center; }
.league-player-dialog-footer { padding: 20px 42px 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); }
.league-player-dialog-footer p { margin: 0; max-width: 610px; color: var(--muted); font-size: 8px; line-height: 1.55; }
.league-player-dialog-footer .primary-button { min-height: 42px; padding: 0 16px; border-radius: 11px; color: #10160f; background: var(--lime); font-size: 9px; font-weight: 900; }
.league-player-dialog-footer .primary-button span { margin-left: 8px; }

@media (max-width: 1180px) {
  .player-hub-filterbar { align-items: stretch; flex-direction: column; }
  .player-hub-positions { align-self: flex-end; }
  .league-player-kpis { padding-inline: 25px; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .league-player-kpis > span:nth-child(3) { border-right: 0; }
  .league-player-kpis > span:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .league-player-detail-grid { grid-template-columns: 1fr; }
  .league-player-insights { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .player-hub-counter { width: 100%; }
  .player-hub-filterbar { gap: 8px; }
  .player-hub-positions { width: 100%; align-self: auto; }
  .player-hub-positions button { flex: 1; }
  .player-hub-panel { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .player-hub-heading { padding: 14px 2px; border-bottom: 0; }
  .player-hub-table { overflow: visible; }
  .player-hub-table-head { display: none; }
  .player-hub-row { min-width: 0; }
  .player-hub-player-row { min-height: 0; margin-bottom: 9px; padding: 14px; grid-template-columns: 34px minmax(0,1fr) 30px; gap: 11px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, rgba(19,34,28,.96), rgba(12,24,19,.96)); box-shadow: 0 14px 35px rgba(0,0,0,.16); }
  .player-hub-player-row::before { display: none; }
  .player-hub-player { grid-column: 2; }
  .player-hub-owner { grid-column: 1 / -1; }
  .player-hub-stat { min-height: 49px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: rgba(0,0,0,.11); }
  .player-hub-stat small { display: block; }
  .player-hub-stat { grid-column: span 2; }
  .player-hub-player-row { grid-template-columns: 34px repeat(2, minmax(0,1fr)) 30px; }
  .player-hub-rank { grid-row: 1; grid-column: 1; }
  .player-hub-player { grid-row: 1; grid-column: 2 / 4; }
  .player-hub-open { grid-row: 1; grid-column: 4; }
  .player-hub-owner { grid-row: 2; grid-column: 1 / 5; }
  .player-hub-stat { grid-row: auto; }
  .player-hub-trend { display: block; }
  .player-hub-spark { width: 100%; margin-top: 4px; }
  .player-hub-skeleton { min-height: 150px; margin-bottom: 9px; grid-template-columns: repeat(2,1fr); border: 1px solid var(--line); border-radius: 16px; }
  .league-player-dialog { width: 100%; height: 100%; max-height: none; border: 0; border-radius: 0; }
  .league-player-close { top: 12px; margin: 12px 12px -52px 0; }
  .league-player-hero { min-height: 0; padding: 64px 20px 25px; grid-template-columns: 86px minmax(0,1fr); align-items: center; gap: 16px; }
  .player-avatar.xlarge { width: 86px; height: 86px; border-radius: 25px 9px 25px 9px; font-size: 21px; }
  .league-player-identity h2 { font-size: 29px; letter-spacing: -1.5px; }
  .league-player-hero-value { grid-column: 1 / -1; min-width: 0; padding: 15px 0 0; display: grid; grid-template-columns: 1fr auto; text-align: left; border-top: 1px solid var(--line); }
  .league-player-hero-value strong { grid-row: 2; }
  .league-player-hero-value span { grid-column: 2; grid-row: 2; align-self: end; }
  .league-player-kpis { padding: 0; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .league-player-kpis > span { min-height: 76px; padding: 15px; border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line); }
  .league-player-kpis > span:nth-child(even) { border-right: 0 !important; }
  .league-player-detail-grid { padding: 18px 14px 8px; }
  .league-player-chart-card, .league-player-analysis-card { padding: 15px; }
  .league-player-ranges { grid-template-columns: 1fr 1fr; }
  .league-player-chart-stage { height: 195px; }
  .league-player-insights { grid-template-columns: 1fr; }
  .league-player-form-card { margin: 0 14px 18px; padding: 15px; }
  .league-player-form-strip { min-height: 105px; gap: 6px; }
  .league-player-form-strip > span { height: 92px; }
  .league-player-dialog-footer { padding: 18px 14px 24px; align-items: stretch; flex-direction: column; }
  .league-player-dialog-footer .primary-button { width: 100%; }
}

@media (max-width: 480px) {
  .player-hub-search { grid-template-columns: 24px minmax(0,1fr) auto; }
  .player-hub-search kbd { display: none; }
  .player-hub-categories button { padding-inline: 11px; }
  .player-hub-heading h2 { font-size: 18px; }
  .player-hub-player-row { padding: 12px; grid-template-columns: 30px repeat(2,minmax(0,1fr)) 28px; }
  .player-hub-player .player-avatar.medium { width: 44px; height: 44px; }
  .player-hub-player-name .player-first-name { display: none; }
  .league-player-badges { align-items: flex-start; flex-direction: column; }
}

/* Loading never substitutes made-up financial values or hides a completed view. */
.data-loading { display: inline-flex; align-items: center; gap: .45rem; color: var(--muted, #9ca9a0); font-size: .72rem; font-weight: 500; vertical-align: middle; }
.data-loading i { display: inline-block; flex: 0 0 auto; width: 12px; height: 12px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: data-spin .8s linear infinite; }
.market-range-cell .data-loading > span, .standing-stat .data-loading > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.view-loading-status { padding: 2rem; margin: 1rem 0; border: 1px solid #344139; border-radius: 16px; background: #142018; }
.view-loading-status[hidden] { display: none; }
.view.is-data-loading > :not(.view-loading-status):not(.page-intro) { display: none; }
@keyframes data-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .data-loading i { animation: none; border-style: dotted; } }
.balance-result em { display: block; max-width: 28ch; margin-top: .4rem; font-size: .7rem; line-height: 1.45; color: var(--muted, #a6aebb); font-style: normal; }
.bonus-input-grid .manager-bonus-field { border-color: rgba(217,255,67,.3); }
.bonus-input-grid label:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.manager-bonus-field input:invalid { color: var(--danger); }
#managerBonusNote { max-width: 115ch; }
@media (min-width: 701px) { .balance-result { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1300px) { .balance-result { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .league-player-form-strip { grid-template-columns: repeat(5, minmax(175px,1fr)); overflow-x: auto; padding: 0 0 8px; scroll-snap-type: x proximity; }
  .player-match-card { scroll-snap-align: start; }
}
