/* ============================================================
   PROGNOZY — strony publiczne modelu otwartego (27.10.2026)
   prognozy.php, mecz.php, liga.php, druzyna.php, h2h.php, rozliczenie.php
   Kolory wyłącznie z tokenów (typowi/tokeny.css) — obie skórki działają same.
   ============================================================ */
.pg-okr{font-size:13px;color:var(--mut);margin:6px 0 0}
.pg-okr a{color:var(--acc2)}
.pg-dni{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 8px}
.pg-dni a{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:8px 10px;border:1px solid var(--line2);
  border-radius:var(--r-sm);background:var(--panel);color:var(--tx);text-decoration:none;font-size:13px;line-height:1.2}
.pg-dni a b{font-size:15px}
.pg-dni a span{color:var(--mut);font-size:11.5px}
.pg-dni a.on{border-color:var(--akcent);box-shadow:inset 0 -3px 0 var(--akcent)}
.pg-blok{margin:22px 0 6px}
.pg-blok h2{font-size:16px;margin:0 0 8px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.pg-blok h2 a{color:var(--tx);text-decoration:none}
.pg-blok h2 a:hover{color:var(--acc2)}
.pg-blok h2 small{font-weight:400;color:var(--mut);font-size:12.5px}
.pg-lista{display:grid;gap:8px}
.pg-kafel{display:grid;grid-template-columns:auto 72px minmax(0,1.6fr) minmax(0,1.3fr) auto auto;gap:12px;align-items:center;
  padding:11px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--tx);text-decoration:none}
.pg-kafel:hover{border-color:var(--akcent)}
.pg-liga{font-size:11.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-czas{font-size:12.5px;color:var(--mut);font-variant-numeric:tabular-nums}
.pg-druz{display:flex;flex-direction:column;gap:3px;font-weight:700;font-size:14px;min-width:0}
.pg-druz span{display:flex;gap:7px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-progn{font-size:13.5px;color:var(--tx-soft);min-width:0}
.pg-progn b{color:var(--tx)}
.pg-p{display:inline-block;margin-left:6px;font-weight:900;color:var(--acc2);font-variant-numeric:tabular-nums}
.pg-1x2{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap}
.pg-wynik{font-weight:800;font-variant-numeric:tabular-nums}
.pg-kafel-bez-ligi{grid-template-columns:72px minmax(0,1.6fr) minmax(0,1.3fr) auto auto}
@media (max-width:760px){
  .pg-kafel,.pg-kafel-bez-ligi{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px}
  .pg-liga,.pg-czas{grid-column:1/2}
  .pg-druz{grid-column:1/2}
  .pg-progn{grid-column:1/2}
  .pg-1x2,.pg-wynik{grid-column:2/3;grid-row:1/2;justify-self:end}
  .pg-wynik{grid-row:2/3}
}
.pg-pusto{padding:18px;border:1px dashed var(--line2);border-radius:var(--r-sm);color:var(--mut)}

/* —— strona meczu —— */
.pg-mecz-gl{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:16px 0 6px;
  padding:18px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r)}
.pg-mecz-gl .dr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-weight:800;font-size:17px}
.pg-mecz-gl .dr a{color:var(--tx);text-decoration:none}
.pg-mecz-gl .dr a:hover{color:var(--acc2)}
.pg-mecz-gl .sr{text-align:center;color:var(--mut);font-size:13px}
.pg-mecz-gl .sr b{display:block;font-size:26px;color:var(--tx);font-variant-numeric:tabular-nums}
.pg-glowna{margin:14px 0;padding:16px 18px;border:1px solid var(--akcent);border-radius:var(--r);background:var(--panel)}
.pg-glowna .k{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:800}
.pg-glowna .v{font-size:22px;font-weight:900;margin-top:4px}
.pg-glowna .v span{color:var(--acc2)}
.pg-szanse{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.pg-szanse div{padding:10px;border:1px solid var(--line);border-radius:var(--r-sm);text-align:center;background:var(--panel)}
.pg-szanse b{display:block;font-size:22px;font-variant-numeric:tabular-nums}
.pg-szanse span{font-size:12px;color:var(--mut)}
.pg-pasek{height:8px;border-radius:5px;overflow:hidden;display:flex;margin:6px 0 2px;background:var(--line)}
.pg-pasek i{display:block;height:100%}
.pg-pasek i:nth-child(1){background:var(--acc2)}
.pg-pasek i:nth-child(2){background:var(--mut-soft,#8892a6)}
.pg-pasek i:nth-child(3){background:var(--tier-bold,#c0567b)}
.pg-uzas{margin:16px 0;padding:0 0 0 14px;border-left:3px solid var(--akcent)}
.pg-uzas p{margin:0 0 10px;line-height:1.65;font-size:15px}
.pg-sekcja{margin:26px 0 8px}
.pg-sekcja h2{font-size:17px;margin:0 0 10px}
.pg-tab{width:100%;border-collapse:collapse;font-size:14px}
.pg-tab th,.pg-tab td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left}
.pg-tab th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:800}
.pg-tab td.n,.pg-tab th.n{text-align:right;font-variant-numeric:tabular-nums}
.pg-tab tr.on td{color:var(--acc2);font-weight:800}
.pg-tab a{color:var(--tx)}
.pg-forma{display:flex;gap:4px;flex-wrap:wrap}
.pg-forma i{display:inline-flex;width:24px;height:24px;border-radius:5px;align-items:center;justify-content:center;
  font-style:normal;font-size:12px;font-weight:900;color:#fff}
.pg-forma i.Z{background:#1f9d55}.pg-forma i.R{background:#8892a6}.pg-forma i.P{background:#c2410c}
.pg-dwie{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.pg-dwie{grid-template-columns:1fr}.pg-mecz-gl .dr{font-size:15px}}
.pg-linki{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.pg-linki a{padding:7px 12px;border:1px solid var(--line2);border-radius:999px;color:var(--tx);text-decoration:none;font-size:13px}
.pg-linki a:hover{border-color:var(--akcent)}
.pg-uwaga{font-size:12.5px;color:var(--mut);margin:18px 0 0;line-height:1.55}
.pg-rozl{display:inline-flex;gap:8px;align-items:center;padding:5px 10px;border-radius:999px;font-weight:800;font-size:13px}
.pg-rozl.ok{background:var(--ok-bg);color:var(--ok-tx);border:1px solid var(--ok-line)}
.pg-rozl.zle{background:var(--err-bg);color:var(--err-tx);border:1px solid var(--err-line)}

/* —— rozliczenie —— */
.rz-kafel{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-end;padding:18px 20px;margin:16px 0;
  background:var(--panel);border:1px solid var(--line2);border-radius:var(--r)}
.rz-kafel .duzo{font-size:clamp(34px,5vw,52px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.rz-kafel .duzo span{color:var(--acc2)}
.rz-kafel p{margin:0;color:var(--mut);font-size:13.5px;max-width:52ch}
.rz-tyg summary{cursor:pointer;padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}
.rz-tyg summary b{font-weight:800}
.rz-tyg[open] summary{color:var(--acc2)}
.rz-ok{color:var(--good)}.rz-zle{color:var(--zle)}

/* —— strona główna modelu otwartego —— */
.pg-dzien-mecz{display:flex;flex-direction:column;gap:4px}
.pg-zdanie{margin:0 2px 4px;font-size:13px;color:var(--mut);line-height:1.5}
.pg-zdanie b{color:var(--tx)}
.pg-mini-tyt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:800;margin:0 0 8px}
.model-otwarty .pg-dwie p{margin:10px 0 6px}
.model-otwarty .typy-wszystkie{margin-top:16px}
@media (max-width:780px){
  .model-otwarty .hero,.model-otwarty .hero__inner{min-height:0}
  .model-otwarty .hero__inner{padding-block:22px 18px}
  .model-otwarty .hero h1{font-size:clamp(30px,9vw,40px)}
  .model-otwarty .hero__lead{margin-block:12px 16px;font-size:14.5px}
  .model-otwarty .hero__actions .btn--ghost{display:none}
  .model-otwarty #mecze-dnia{padding-top:18px}
  .model-otwarty #mecze-dnia .section-head p:not(.section-kicker){display:none}
}

/* ——— Funkcje konta (Etap 3, 27.10.2026): Obserwuj, Zapisz analizę, dziennik ——— */
.kf-btn{text-transform:none;letter-spacing:normal;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line2);border-radius:999px;
  background:var(--panel);color:var(--tx);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;
  vertical-align:middle;margin:0;width:auto;line-height:1.3}
.kf-btn:hover{border-color:var(--akcent);color:var(--tx)}
.kf-btn.on{border-color:var(--akcent);background:color-mix(in srgb,var(--akcent) 14%,var(--panel))}
.kf-btn-gl{background:var(--akcent);border-color:var(--akcent);color:var(--na-akcencie,#fff)}
.kf-tytul{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kf-tytul h1{margin-right:auto}
.kf-pasek{margin:18px 0;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r);background:var(--panel)}
.kf-pasek.kf-gosc{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.kf-pasek.kf-gosc div{flex:1 1 320px;font-size:14px}
.kf-pasek-g{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.kf-pod{margin:8px 0 10px;color:var(--mut);font-size:13px}
.kf-rynki{display:flex;flex-wrap:wrap;gap:8px}
.kf-rynek{text-transform:none;letter-spacing:normal;padding:7px 11px;border:1px solid var(--line2);border-radius:var(--r-sm);background:transparent;color:var(--tx);
  font:inherit;font-size:13px;cursor:pointer;width:auto;margin:0}
.kf-rynek span{color:var(--mut);font-variant-numeric:tabular-nums;margin-left:4px}
.kf-rynek:hover{border-color:var(--akcent)}
.kf-rynek.on{border-color:var(--akcent);background:color-mix(in srgb,var(--akcent) 16%,transparent);font-weight:700}
.kf-stan{margin:10px 0 0;font-size:13.5px;min-height:1em}
.kf-notatka{margin-top:10px}
.kf-notatka summary{cursor:pointer;font-size:13px;color:var(--mut)}
.kf-notatka textarea{width:100%;margin:8px 0;font:inherit;font-size:14px}
.kf-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:9999;
  padding:10px 16px;border-radius:10px;background:var(--panel2,#1f2937);color:var(--tx-mocny,#fff);border:1px solid var(--line2);
  font-size:14px;transition:.2s;max-width:calc(100% - 32px)}
.kf-toast.pokaz{opacity:1;transform:translate(-50%,0)}
.kf-toast.zly{border-color:var(--warn,#d97706)}
.pg-blok-moje h2{color:var(--akcent)}
