/* =====================================================================
   editorial.css — "SPORTOVNÍ DENÍK" skin pro Fantasy Liga
   Načítá se AŽ ZA styles.css a lineups.css. Nemění markup ani JS —
   přemapuje :root tokeny a zploští vzhled.
   ===================================================================== */

/* ---- 1) TOKEN REMAP (přebije :root v styles.css) ---- */
:root{
  /* papír + inkoust */
  --bg:#f6f2ea; --bg-mid:#efeadf; --panel:#fdfbf5; --panel-2:#efeadf;
  --panel-3:#e6e0d2; --panel-hover:#f0ece1;
  --line:rgba(24,33,28,.14); --line-strong:rgba(24,33,28,.30);

  --ink:#18211c; --ink-2:#222e26; --ink-line:rgba(255,255,255,.12);
  --on-ink:#f4f0e8; --on-ink-dim:rgba(244,240,232,.62);

  --text:#18211c; --text-dim:#3a443d; --text-mute:#717a72;
  --font:'Manrope', system-ui, sans-serif;
  --font-display:'Bebas Neue','Archivo', Impact, sans-serif;

  /* akcent = travnatá zeleň (ploché) */
  --accent:#1f7a43; --accent-dim:#15592f; --accent-glow:rgba(31,122,67,.22); --accent-bg:rgba(31,122,67,.10);
  /* „lime" přemapováno na zeleň, ať nic nezáří neonově */
  --lime:#1f7a43; --lime-deep:#15592f; --lime-glow:rgba(31,122,67,.25); --lime-ink:#f4f0e8;

  /* peníze / kapitán = teplý clay */
  --gold:#c9551f; --gold-dim:#a23f12; --gold-bg:rgba(201,85,31,.12); --gold-bright:#c9551f;

  /* pozice — zemitější ploché */
  --pos-gk:#c68a1e; --pos-df:#2f6f9e; --pos-mf:#1f7a43; --pos-fw:#bb3f2c;

  --danger:#c0392b; --danger-glow:rgba(192,57,43,.22); --danger-bg:rgba(192,57,43,.10);
  --ok:#1f7a43; --ok-bg:rgba(31,122,67,.12); --warn:#c9551f; --warn-bg:rgba(201,85,31,.12);

  /* tráva — plošší, tlumenější (méně neonová, papírová) */
  --grass-a:#2d7a48; --grass-b:#266b40; --grass-c:#1f5a36; --grass-line:rgba(255,255,255,.55);

  /* gradienty zploštěny na plné barvy */
  --grad-accent:var(--accent);
  --grad-cta:var(--ink);
  --grad-ink:var(--ink);

  /* stíny minimální — editoriál staví na linkách */
  --shadow-sm:0 1px 0 rgba(24,33,28,.05);
  --shadow-md:0 1px 0 var(--line-strong);
  --shadow-lg:10px 12px 0 rgba(24,33,28,.07), 0 18px 40px rgba(24,33,28,.12);
  --shadow-accent:0 2px 0 rgba(24,33,28,.12);
  --shadow-lime:0 0 0 2px rgba(31,122,67,.40);

  /* ostřejší rohy */
  --r-xs:2px; --r-sm:3px; --r-md:5px; --r-lg:7px; --r-xl:10px; --r:6px;
}

/* ---- 2) PLOCHA / NOVINOVÁ MŘÍŽKA ---- */
body{
  background:
    repeating-linear-gradient(90deg, transparent 0 95px, rgba(24,33,28,.035) 95px 96px),
    var(--bg);
}

/* ---- 3) MASTHEAD (topbar) ---- */
.topbar{
  background:var(--panel);
  border-bottom:2px solid var(--ink);
  box-shadow:none;
}
.brand{ gap:12px; }
.brand .logo{
  width:38px; height:38px; flex:0 0 auto; filter:none; line-height:1;
  display:grid; place-items:center; background:var(--ink); border-radius:0; overflow:hidden;
  font-family:var(--font-display); font-size:18px; color:var(--on-ink); letter-spacing:.04em;
}
.topbar h1{ color:var(--text); font-weight:400; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }
.topbar h1::after{ display:none; }
.tagline{ color:var(--text-mute); letter-spacing:.2em; }

.topbar .btn-ghost{ color:var(--text); border-color:var(--line-strong); }
.topbar .btn-ghost:hover{ color:var(--accent); border-color:var(--accent); background:var(--accent-bg); }
.topbar .btn-icon, .btn-icon{ color:var(--text-mute); border-color:var(--line-strong); }
.topbar-auth .auth-user{ color:var(--text); }
.auth-balance{ background:var(--gold-bg); border:1px solid var(--line-strong); color:var(--gold); border-radius:999px; }
.auth-balance .coin{ display:none; }
.auth-balance::before{ content:""; width:13px; height:13px; border-radius:50%; background:var(--accent); }

/* ---- 4) TLAČÍTKA — ploché, ostré ---- */
.btn{ clip-path:none; box-shadow:none; border-radius:var(--r-sm); font-weight:800; }
.btn:not(.btn-ghost){ background:var(--ink); color:var(--on-ink); }
.btn:not(.btn-ghost):hover{ background:var(--accent); filter:none; box-shadow:none; transform:none; }
.btn:active{ transform:none; }
.btn:focus-visible{ box-shadow:var(--shadow-lime); }
.btn-cta{ background:var(--accent); color:var(--on-ink); clip-path:none; box-shadow:none; border-radius:var(--r-sm); white-space:nowrap; }
.btn-cta:hover{ background:var(--accent-dim); box-shadow:none; transform:none; }
.btn-ghost{ border-radius:var(--r-sm); background:transparent; }
.badge.full{ box-shadow:none; }
.budget-figure b{ white-space:nowrap; }

/* ---- 5) SCOREBOARD (pitch-bar) — světlý, plochý, dle návrhu ---- */
.pitch-bar{ background:var(--panel-2) !important; border:1px solid var(--line) !important; box-shadow:none !important; }
.pitch-bar .control-label,
.pitch-bar .budget-label,
.pitch-bar .budget-cap{ color:var(--text-mute) !important; }
.pitch-bar .budget-figure b{ color:var(--accent-dim) !important; }   /* číslo rozpočtu = zelená */
.pitch-bar .budget.over .budget-figure b{ color:var(--danger) !important; }
.pitch-bar .budget-bar{ background:var(--panel-3) !important; box-shadow:inset 0 1px 2px rgba(24,33,28,.12) !important; }
.pitch-bar .budget-warn{ color:var(--danger) !important; }

/* selecty uvnitř scoreboardu (Liga / Formace) — světlé místo tmavých */
.pitch-bar .cselect-btn{ background:var(--panel) !important; color:var(--text) !important; border-color:var(--line-strong) !important; }
.pitch-bar .cselect-btn:hover{ border-color:var(--accent) !important; background:var(--accent-bg) !important; }
.pitch-bar .cselect-btn[aria-expanded="true"]{ border-color:var(--accent) !important; background:var(--panel) !important; }
.pitch-bar .cselect-caret{ color:var(--text-mute) !important; }
.pitch-bar .cselect-label{ color:var(--text) !important; }

/* tlačítko „Uložit" — jako v návrhu: inkoustové, Bebas verzálky */
.pitch-bar .btn-cta{ background:var(--ink) !important; color:var(--on-ink) !important;
  font-family:var(--font-display) !important; font-weight:400 !important; font-size:17px !important;
  letter-spacing:.06em !important; text-transform:uppercase !important; padding:9px 22px !important; }
.pitch-bar .btn-cta:hover{ background:var(--accent) !important; color:#fff !important; }

/* formace „4-3-3" — zelený Bebas štítek (jako badge-form v návrhu) */
.pitch-bar #formSelect .cselect-label{ font-family:var(--font-display) !important; font-size:17px !important;
  font-weight:400 !important; letter-spacing:.05em !important; color:var(--accent-dim) !important; }

.budget-fill{ box-shadow:none !important; }

/* ---- 6) HŘIŠTĚ — plochý editoriální trávník (pryč reflektor, vinětace, záře) ---- */
.pitch{
  /* !important, aby přebilo 4vrstvé „premium" pozadí z styles.css bez ohledu na pořadí/cache */
  border:3px solid var(--ink) !important;
  box-shadow:none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, transparent 50%, rgba(8,30,18,.06) 100%),
    repeating-linear-gradient(180deg,
      var(--grass-a) 0, var(--grass-a) 9.0909%,
      var(--grass-b) 9.0909%, var(--grass-b) 18.1818%) !important;
}
.slot .pos-label{ border-radius:var(--r-xs); }
.captain-badge{ background:var(--gold); color:var(--on-ink); border-color:rgba(0,0,0,.25); }
.captain-badge::before, .captain-badge::after{ background:rgba(0,0,0,.2); }
.slot.eligible .pos-label{ background:var(--accent); color:var(--on-ink); }

/* ---- 7) PANELY / KARTY ---- */
.bench{ background:var(--panel); border:1px solid var(--line-strong); box-shadow:none; }
.bench h2{ font-family:var(--font-display); font-weight:400; font-size:18px; letter-spacing:.05em; text-transform:uppercase; }
.bench h2::before{ background:var(--accent); transform:none; border-radius:0; width:11px; height:11px; box-shadow:none; }

.search{ border-radius:var(--r-sm); border-width:1px; }
.search:focus{ box-shadow:0 0 0 2px var(--accent-glow); }

/* filtr pozic = spojený segment */
.filter-row#posFilter, .filters .filter-row:first-child{ gap:0; border:1px solid var(--line-strong); }
#posFilter .chip{ border:none; border-right:1px solid var(--line); border-radius:0; background:var(--panel); }
#posFilter .chip:last-child{ border-right:none; }
#posFilter .chip:hover{ background:var(--panel-2); }
/* aktivní dlaždice — vyšší specificita než #posFilter .chip, ať se prosadí inkoust */
#posFilter .chip.active{ background:var(--ink); color:var(--on-ink); box-shadow:none; }
#posFilter .chip.active[data-pos="GK"]{ background:var(--pos-gk); color:#fff; }
#posFilter .chip.active[data-pos="DF"]{ background:var(--pos-df); color:#fff; }
#posFilter .chip.active[data-pos="MF"]{ background:var(--pos-mf); color:#fff; }
#posFilter .chip.active[data-pos="FW"]{ background:var(--pos-fw); color:#fff; }
.chip{ border-radius:var(--r-sm); }

.cselect-btn{ border-radius:var(--r-sm); }
.cselect-list{ border-radius:var(--r-sm); box-shadow:var(--shadow-lg); }

/* karta hráče — plochá řádka */
.player-card{ background:var(--panel); box-shadow:none; border-radius:var(--r-sm); }
.player-card:hover{ background:var(--panel-hover); box-shadow:none; transform:none; }
.pc-price{ color:var(--text); font-family:var(--font-display); font-weight:400; letter-spacing:.02em; }
.pc-price .unit{ font-family:var(--font); }

/* stavový odznak (na hřišti / mimo rozpočet) měl vlastní lane — jinak se tloukl s cenou.
   Posuň cenu+pozici nahoru a posaď odznak na vlastní řádek vpravo dole. */
.player-card.on-pitch .pc-right,
.player-card.too-expensive .pc-right{ padding-bottom:12px; }
.player-card.on-pitch::after,
.player-card.too-expensive::after{ right:10px; bottom:5px; left:auto; font-size:8.5px; letter-spacing:.06em; }
.player-card.too-expensive{ opacity:.5; }
.player-card.too-expensive .pc-price{ color:var(--danger) !important; }

/* pozice = plný barevný štítek (jako v návrhu), místo malé tečky „• FW" */
.pc-pos{ color:#fff !important; padding:2px 7px; border-radius:var(--r-xs); font-weight:800 !important; letter-spacing:.06em !important; gap:0 !important; }
.pc-pos::before{ display:none !important; }
.pc-pos.pos-GK{ background:var(--pos-gk); }
.pc-pos.pos-DF{ background:var(--pos-df); }
.pc-pos.pos-MF{ background:var(--pos-mf); }
.pc-pos.pos-FW{ background:var(--pos-fw); }

/* reklamní sloupec (než ho nahradí žebříček) */
.ad-slot{ border-style:solid; border-width:1px; border-radius:var(--r-md); }

/* ---- 8) STRÁNKY LIG + DETAIL SOUTĚŽE (lineups.css) — plný editoriální styl ---- */
/* width:100% nutné — body je flex column (kvůli sticky footeru) a margin:0 auto
   by jinak vypnul stretch a zúžil .league-page na obsah. */
.league-page{ width:100% !important; max-width:1100px !important; }

/* řazení lig — segmentový přepínač (jako filtr pozic) */
.lp-sortbar{ display:flex; align-items:center; gap:11px; margin:0 0 14px; flex-wrap:wrap; }
.lp-search{ flex:1 1 220px; min-width:160px; background:var(--panel); border:1px solid var(--line-strong);
  border-radius:var(--r-sm); padding:8px 12px; font-family:var(--font); font-size:13px; color:var(--text); }
.lp-search::placeholder{ color:var(--text-mute); }
.lp-search:focus{ outline:none; border-color:var(--accent); }
.lp-sort-label{ font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mute); }
.lp-sort{ display:flex; border:1px solid var(--line-strong); border-radius:var(--r-sm); overflow:hidden; }
.lp-sort-btn{ background:var(--panel); color:var(--text-dim); border:none; border-right:1px solid var(--line);
  padding:7px 14px; font-family:var(--font); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; }
.lp-sort-btn:last-child{ border-right:none; }
.lp-sort-btn:hover{ background:var(--panel-2); }
.lp-sort-btn.active{ background:var(--ink); color:var(--on-ink); }

/* karty — ploché, hranaté, hairline (přebij rounded + shadow z lineups.css) */
.lp-card{ border-radius:var(--r-md) !important; box-shadow:none !important;
  border:1px solid var(--line-strong) !important; background:var(--panel) !important; }
.lp-card:has(> .lp-head),
.lp-card:has(> .lp-title > .lp-balance){ clip-path:none !important; border-left:3px solid var(--accent) !important; }

/* hero nadpis „LIGY" / název soutěže */
.lp-eyebrow{ color:var(--gold) !important; letter-spacing:.16em !important; margin:0 0 8px !important; }
.lp-title{ font-family:var(--font-display) !important; font-weight:400 !important; font-size:32px !important;
  letter-spacing:.03em !important; text-transform:uppercase !important; line-height:1.12 !important; padding-top:6px !important; margin:0 0 8px !important; }
.lp-title:has(> .lp-balance){ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lp-balance{ font-family:var(--font-display); font-weight:400; font-size:16px; letter-spacing:.04em;
  color:var(--gold); background:var(--gold-bg); border:1px solid var(--line-strong); border-radius:var(--r-xs);
  padding:3px 11px; white-space:nowrap; }
.lp-sub{ color:var(--text-mute) !important; margin-top:0 !important; }
.lp-head{ align-items:center !important; }

/* sekční nadpisy — Bebas + zelená čtvercová odrážka + inkoustová linka (jako .card-h) */
.lp-section-title, .fl-modal-head h3{ font-family:var(--font-display) !important; font-weight:400 !important;
  letter-spacing:.05em !important; text-transform:uppercase !important; font-size:18px !important;
  padding-bottom:9px; border-bottom:1.5px solid var(--ink); white-space:nowrap; }
.lp-section-title::before{ content:""; width:11px; height:11px; background:var(--accent); flex:0 0 auto; }
.lp-count{ border-radius:var(--r-xs) !important; border:1px solid var(--line-strong); background:transparent; color:var(--text-dim); margin-left:auto; }
.bench-count{ border-radius:var(--r-xs); }

/* formulář založení ligy — ploché hranaté inputy + inkoustové Bebas tlačítko */
.lp-create-row input{ border-radius:var(--r-sm) !important; border:1px solid var(--line-strong) !important; background:var(--panel-2) !important; }
.lp-create-row input:focus{ border-color:var(--accent) !important; box-shadow:0 0 0 2px var(--accent-glow) !important; }
.lp-create .btn-cta{ background:var(--ink) !important; color:var(--on-ink) !important; font-family:var(--font-display) !important;
  font-weight:400 !important; font-size:16px !important; letter-spacing:.06em !important; text-transform:uppercase !important; }
.lp-create .btn-cta:hover{ background:var(--accent) !important; color:#fff !important; }

/* seznam lig — ploché řádky s hairline předěly (jako lavička / žebříček) */
.lp-leagues{ gap:0 !important; }
.lp-league{ border-radius:0 !important; border:none !important; border-bottom:1px solid var(--line) !important;
  box-shadow:none !important; background:transparent !important; padding:13px 6px !important; }
.lp-league:last-child{ border-bottom:none !important; }
.lp-league.is-member{ box-shadow:inset 3px 0 0 var(--accent) !important; background:var(--accent-bg) !important; padding-left:14px !important; border-bottom-color:transparent !important; }
.lp-league-name{ font-size:15px !important; font-weight:800 !important; }
.lp-league-meta{ color:var(--text-mute) !important; }
.lg-lineup-yes{ color:var(--accent-dim); font-weight:800; }
.lg-lineup-no{ color:var(--gold); font-weight:800; }

/* DETAIL: stat boxy */
.lp-stat{ border-radius:var(--r-sm) !important; box-shadow:none !important; background:var(--panel-2) !important; border:1px solid var(--line) !important; }
.lp-stat-val{ font-family:var(--font-display) !important; font-weight:400 !important; font-size:22px !important; letter-spacing:.02em !important; }

/* DETAIL: tabulka účastníků (4 sloupce — bez „Sestava") */
.lp-trow{ border-bottom:1px solid var(--line); grid-template-columns:48px 1fr 110px 120px !important; }
@media (max-width:640px){ .lp-trow{ grid-template-columns:32px 1fr 96px !important; } }
/* Bebas čísla jen v DATOVÝCH řádcích, ne v záhlaví */
.lp-trow:not(.lp-thead) .lp-c-rank{ font-family:var(--font-display) !important; font-weight:400 !important; font-size:20px !important; }
.lp-trow:not(.lp-thead) .lp-c-form, .lp-trow:not(.lp-thead) .lp-c-val{ font-family:var(--font-display) !important; font-weight:400 !important; letter-spacing:.02em !important; }
/* záhlaví — jednotně Manrope, malé verzálky, tlumené (jako # a HRÁČ) */
.lp-thead .lp-c-rank, .lp-thead .lp-c-name, .lp-thead .lp-c-form, .lp-thead .lp-c-val{
  font-family:var(--font) !important; font-size:11px !important; font-weight:800 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--text-mute) !important; }
.lp-trow.is-you{ background:var(--accent-bg) !important; box-shadow:inset 3px 0 0 var(--accent) !important; }
.lp-c-name{ flex-wrap:wrap; }
.lp-check{ display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--accent); color:#fff; flex:0 0 auto; }
.lp-check svg{ display:block; }

/* pilulky / odznaky — hranaté, ploché */
.lp-pill, .lp-badge, .badge{ border-radius:var(--r-xs) !important; }
.lp-pill-yes, .lp-badge-you{ background:var(--accent-bg) !important; color:var(--accent-dim) !important; }
.lp-pill-no{ background:var(--gold-bg) !important; color:var(--gold) !important; }
.lp-badge-owner{ background:var(--ink) !important; color:var(--on-ink) !important; display:inline-grid; place-items:center; width:22px; height:22px; padding:0 !important; vertical-align:middle; }
.lp-badge-owner svg{ display:block; }

/* flash hlášky */
.lp-flash{ border-radius:var(--r-sm) !important; }
.lp-flash-ok{ background:var(--accent-bg) !important; color:var(--accent-dim) !important; border:1px solid var(--accent) !important; }
.lp-flash-err{ background:var(--danger-bg) !important; color:var(--danger) !important; border:1px solid var(--danger) !important; }

/* tlačítka */
.lp-league-actions .btn-cta{ background:var(--accent) !important; color:#fff !important; }
.lp-league-actions .btn-cta:hover{ background:var(--accent-dim) !important; }
.btn-cta, .auth-tab.active{ box-shadow:none; }
.fl-modal{ border-top:3px solid var(--accent); border-radius:var(--r-md); }
.auth-tab.active{ background:var(--ink); color:var(--on-ink); }
.lg-row.active{ box-shadow:inset 3px 0 0 var(--accent); }

/* ---- Levý panel: kapitán + pořadí (zachováno z HANDOFF 2) ---- */
.fl-rail{ display:flex; flex-direction:column; gap:18px; position:sticky; top:90px;
  width:100%; max-width:300px; justify-self:center; }
.fl-panel{ background:var(--panel); border:1px solid var(--line-strong); border-radius:var(--r-md); padding:15px 16px; }
.fl-panel-h{
  display:flex; align-items:center; gap:10px; margin:0 0 13px; padding-bottom:9px;
  border-bottom:1.5px solid var(--ink);
  font-family:var(--font-display); font-weight:400; font-size:18px; letter-spacing:.05em;
  text-transform:uppercase; color:var(--text);
}
.fl-panel-h::before{ content:""; width:11px; height:11px; background:var(--accent); flex:0 0 auto; }
.fl-tag{ margin-left:auto; font-family:var(--font); font-size:11px; font-weight:800; color:var(--text-mute);
  border:1px solid var(--line-strong); border-radius:var(--r-xs); padding:2px 8px; text-transform:none; letter-spacing:0; }

/* karta kapitána */
.cap-empty{ font-size:12px; font-weight:600; color:var(--text-mute); line-height:1.5; }
.cap-filled{ position:relative; display:flex; align-items:center; gap:11px;
  background:var(--panel-2); border:1px solid var(--line); border-left:3px solid var(--gold); padding:11px 12px; }
.cap-jersey{ width:34px; height:34px; flex:0 0 auto; }
.cap-jersey svg{ width:100%; height:100%; display:block; }
.cap-meta{ display:flex; flex-direction:column; min-width:0; }
.cap-name{ font-size:13px; font-weight:800; color:var(--text); }
.cap-club{ font-size:10px; font-weight:700; color:var(--text-mute); }
.cap-filled .cap-mult{ margin-left:auto; font-family:var(--font-display); font-size:15px; font-weight:400;
  color:var(--on-ink); background:var(--ink); padding:1px 7px; letter-spacing:.04em; }

/* žebříček */
.rank-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.rank-row{ display:flex; align-items:center; gap:11px; padding:9px 4px; border-bottom:1px solid var(--line); }
.rank-row:last-child{ border-bottom:none; }
.rank-n{ width:24px; flex:0 0 auto; text-align:center; font-family:var(--font-display); font-size:20px; font-weight:400;
  color:var(--text-mute); font-variant-numeric:tabular-nums; line-height:1; }
.rank-row:first-child .rank-n{ color:var(--gold); }
.rank-name{ flex:1; min-width:0; display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:800;
  color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rank-you{ font-size:8px; font-weight:900; letter-spacing:.1em; color:var(--on-ink); background:var(--gold); padding:2px 5px; }
.rank-pts{ flex:0 0 auto; font-family:var(--font-display); font-size:18px; font-weight:400; color:var(--text);
  font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.rank-pts i{ font-style:normal; font-size:10px; font-weight:700; color:var(--text-mute); margin-left:3px; font-family:var(--font); }
.rank-row.is-you{ background:var(--accent-bg); box-shadow:inset 3px 0 0 var(--accent); }
.rank-empty{ font-size:12px; font-weight:600; color:var(--text-mute); padding:8px 2px; }

/* ---- Panel „Zápasy" (matchday fixtures) ---- */
.fx-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.fx-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px;
  padding:8px 4px; border-bottom:1px solid var(--line); }
.fx-row:last-child{ border-bottom:none; }
.fx-team{ font-size:12.5px; font-weight:800; color:var(--text); display:flex; align-items:center; gap:6px; min-width:0; }
.fx-team .fx-tn{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.fx-team .flag{ flex:0 0 auto; width:20px; height:auto; border-radius:2px; }
.fx-home{ justify-content:flex-end; text-align:right; }
.fx-away{ justify-content:flex-start; text-align:left; }
.fx-mid{ flex:0 0 auto; min-width:54px; text-align:center; }
.fx-score{ font-family:var(--font-display); font-size:18px; font-weight:400; color:var(--text); font-variant-numeric:tabular-nums; }
.fx-score i{ font-style:normal; color:var(--text-mute); margin:0 1px; }
.fx-time{ font-size:11px; font-weight:700; color:var(--text-mute); white-space:nowrap; }
.fx-row.is-played .fx-score{ color:var(--accent); }
.fx-empty{ font-size:12px; font-weight:600; color:var(--text-mute); padding:8px 2px; }

/* na užších šířkách (kde se dnes ad-rail skrývá) skryj i panel */
@media (max-width:1200px){ .fl-rail{ display:none; } }

/* ---- Topbar: pill „Kolo / Uzávěrka" ---- */
.topbar-gw{ display:flex; align-items:center; gap:11px; margin:0 auto 0 28px;
  padding:6px 14px; border:1px solid var(--line-strong); border-radius:var(--r-sm); background:var(--panel); }
.topbar-gw .gw-dot{ width:8px; height:8px; border-radius:50%; background:var(--gold); flex:0 0 auto; }
.topbar-gw .gw-round{ font-family:var(--font-display); font-size:18px; font-weight:400; letter-spacing:.04em; color:var(--text); line-height:1; }
.topbar-gw .gw-sep{ width:1px; height:16px; background:var(--line-strong); flex:0 0 auto; }
.topbar-gw .gw-dl{ font-size:12px; font-weight:600; color:var(--text-mute); white-space:nowrap; }
.topbar-gw .gw-dl b{ color:var(--text); font-weight:800; margin-left:4px; font-variant-numeric:tabular-nums; }
@media (max-width:1100px){ .topbar-gw{ display:none; } }

/* ---- Hero pruh nad hřištěm: MOJE SESTAVA / formace / body ---- */
.pitch-head{ display:flex; align-items:center; justify-content:space-between; gap:14px;
  margin-bottom:12px; padding:12px 18px; background:var(--ink); border-radius:var(--r-md); }
.pitch-head .ph-left{ display:flex; align-items:center; gap:12px; min-width:0; }
.pitch-head .ph-label{ font-family:var(--font-display); font-size:19px; font-weight:400; text-transform:uppercase;
  letter-spacing:.05em; color:var(--on-ink); white-space:nowrap; }
.pitch-head .ph-form{ font-family:var(--font-display); font-size:16px; font-weight:400; color:var(--ink);
  background:var(--on-ink); padding:2px 10px; letter-spacing:.05em; white-space:nowrap; }
.pitch-head .ph-pts{ display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.pitch-head .ph-pts b{ font-family:var(--font-display); font-size:42px; font-weight:400; color:#9fe6b6;
  line-height:.8; letter-spacing:.02em; font-variant-numeric:tabular-nums; }
.pitch-head .ph-pts span{ font-size:9px; font-weight:800; color:var(--on-ink-dim); text-transform:uppercase;
  letter-spacing:.12em; line-height:1.3; }

/* hřiště má výšku odvozenou od viewportu — uber o výšku hero pruhu, ať se nic neořízne */
.pitch-wrap:has(.pitch-head) .pitch{ height: calc(100vh - 130px - 54px - 74px); }

/* ---- Scoreboard přes CELOU šířku layoutu (dle návrhu Matchday HQ) ---- */
/* pitch-bar je nově první prvek .layout gridu — ať zabere všechny sloupce */
.layout > .pitch-bar{ grid-column: 1 / -1; align-items: flex-end; }
/* rozpočet vyplní střed, „Uložit" je odsazené úplně doprava */
.layout > .pitch-bar > .budget{ flex: 1 1 auto; min-width: 160px; }
.layout > .pitch-bar > #saveLineupBtn{ flex: 0 0 auto; }

/* ---- Layout: tři těsné vyvážené sloupce (panel | hřiště | hráči), trio na střed ----
   Původní grid měl vlevo 1fr (zbytek po reklamě) → panel plaval daleko vlevo. */
@media (min-width: 1201px){
  .layout{ grid-template-columns: 290px auto 360px !important; justify-content: center !important; gap: 18px !important; }
  .fl-rail{ max-width: none !important; justify-self: stretch !important; }
  .bench{ min-width: 0 !important; }
}

/* mobil (≤560px): topbar na jeden řádek — značka vlevo, konto+jméno vpravo */
@media (max-width:560px){
  .topbar{ flex-wrap:nowrap !important; gap:10px; padding:10px 12px; }
  .topbar .brand{ min-width:0; flex:0 1 auto; }
  .topbar .brand h1{ font-size:16px; white-space:nowrap; }
  .topbar .tagline{ white-space:nowrap; }
  .topbar .brand .logo{ width:32px; height:32px; font-size:15px; }
  /* sekundární akce skryté, ať zbyde místo na brand + konto + jméno */
  .topbar-auth .btn-ghost,
  .topbar-auth form{ display:none !important; }
  .topbar-auth{ margin-left:auto; flex:0 0 auto; flex-wrap:nowrap; gap:8px; }
  .topbar-auth .auth-user{ white-space:nowrap; }
}

/* =====================================================================
   10) ADMIN (admin/partials/style.blade.php) — doladění do editoriálu
   ===================================================================== */
/* status pilulky — hranaté místo 999px */
.adm-badge{ border-radius:var(--r-xs) !important; }
/* karty kol — ploché, hranaté, bez hover stínu */
.adm-round{ border-radius:var(--r-md) !important; box-shadow:none !important; }
.adm-round:hover{ box-shadow:none !important; border-color:var(--line-strong) !important; }
/* číslo kola — čtvercová inkoustová dlaždice, Bebas */
.adm-round-no{ border-radius:var(--r-xs) !important; background:var(--ink) !important; color:var(--on-ink) !important;
  border:none !important; font-family:var(--font-display) !important; font-weight:400 !important; font-size:18px !important; letter-spacing:.03em !important; }
/* kroky (intro) — čtvercové dlaždice, ploché */
.adm-step{ border-radius:var(--r-sm) !important; }
.adm-step-n{ border-radius:var(--r-xs) !important; font-family:var(--font-display) !important; font-weight:400 !important; font-size:15px !important; }
/* nadpisy názvů kol + týmů — Bebas verzálky */
.adm-round-name, .adm-round-name a{ font-family:var(--font-display) !important; font-weight:400 !important; font-size:17px !important; letter-spacing:.02em !important; text-transform:uppercase !important; }
.adm-team-h{ font-family:var(--font-display) !important; font-weight:400 !important; font-size:17px !important; letter-spacing:.03em !important; text-transform:uppercase !important; }
/* tlačítka „Spravovat zápasy" / „Vytvořit" — Bebas verzálky, na jeden řádek */
.adm-round-actions .btn, .adm-fields .btn{ font-family:var(--font-display) !important; font-weight:400 !important;
  font-size:15px !important; letter-spacing:.05em !important; text-transform:uppercase !important; white-space:nowrap !important; }
/* tabulky (detail kola + statistiky) */
.adm-table th, .adm-stat-table th{ font-family:var(--font) !important; }
.adm-score, .adm-score input{ font-family:var(--font-display) !important; font-weight:400 !important; }
.adm-empty{ color:var(--text-mute); }

/* ikonky v topbar tlačítkách (Ligy / Admin / Profile) */
.topbar-auth{ margin-left:auto; }  /* drží odkazy vpravo i bez .topbar-gw (profil) */
.topbar-auth .btn{ display:inline-flex; align-items:center; gap:7px; }
.topbar-auth .btn svg{ width:15px; height:15px; flex:0 0 auto; }
.topbar-coins{ font-weight:800; color:var(--gold); font-variant-numeric:tabular-nums; white-space:nowrap; }

/* přepínač kola v builderu — zamčená kola tlumeně + štítek „zamčeno" */
.cselect-round{ min-width:120px; }
.cselect-opt.is-locked{ opacity:.75; }
.cselect-opt .ro-lock{ margin-left:auto; font-size:9px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--text-mute); border:1px solid var(--line-strong); border-radius:var(--r-xs); padding:1px 5px; }
