/* TZP: wspólna paleta portalu piłkarskiego. Tylko widoki publiczne TZP. */
body.tzp-football-home,body.tzp-football-typer,body.tzp-football-league{
  --tzp-midnight:#071b28;--tzp-navy:#0b2b3a;--tzp-emerald:#118353;
  --tzp-emerald-dark:#075c3d;--tzp-light:#e8f6ed;--tzp-border:#d7e9df;
  accent-color:var(--tzp-emerald);
}
body.tzp-football-home{background:#edf4f1!important;color:var(--tzp-midnight)}
body.tzp-football-home :is(button,a):focus-visible,
body.tzp-football-typer :is(button,a):focus-visible,
body.tzp-football-league :is(button,a):focus-visible{outline:3px solid #16b771!important;outline-offset:3px}
/* Pasek logowania i nawigacja: odcień zgodny z banerem, bez czerwieni hokeja. */
body.tzp-football-home #tzh-rendered-banner .tzh-rendered-banner__profile{
  background:linear-gradient(135deg,#15965e,#07563b)!important;
  border-color:#83d1a4!important;box-shadow:0 8px 23px #042b2480,inset 0 1px #ffffff38!important;
  animation:none!important;color:#fff!important;
}
body.tzp-football-home #tzh-rendered-banner .tzh-rendered-banner__profile:hover{background:#08754b!important;box-shadow:0 10px 25px #052f2580!important}
body.tzp-football-home #tzh-rendered-banner .tzh-rendered-banner__admin{border-color:#8ea9aa!important;background:linear-gradient(135deg,#123848,#071d2b)!important}
body.tzp-football-home .tzh-sport-switch a.is-active{background:var(--tzp-emerald)!important;color:#fff!important}
body.tzp-football-home .tzh-typer-bar-minimal{border-bottom-color:var(--tzp-emerald)!important}
body.tzp-football-home .tzh-typer-bar-minimal .typer-active-line{background:var(--tzp-emerald)!important}
body.tzp-football-home .tzh-typer-bar-minimal :is(.typer-title-icon,.typer-title-copy span,.typer-arrow,.ico-svg){color:var(--tzp-emerald)!important}
body.tzp-football-home .tzh-typer-bar-minimal :is(.typer-item,.typer-link):hover{background:#e9f7ef!important}
body.tzp-football-home .tzh-typer-bar-minimal .typer-buttons .btn.red{
  border:1px solid var(--tzp-emerald)!important;background:var(--tzp-emerald)!important;
  color:#fff!important;box-shadow:0 6px 16px #10774831!important;
}
body.tzp-football-home .tzh-typer-bar-minimal .typer-buttons .btn.red:hover{border-color:var(--tzp-emerald-dark)!important;background:var(--tzp-emerald-dark)!important;color:#fff!important}
body.tzp-football-home .tzh-typer-bar-minimal .typer-buttons .btn.navy{border:1px solid #143644!important;background:var(--tzp-midnight)!important;color:#fff!important}
body.tzp-football-home .tzh-typer-bar-minimal .typer-buttons .btn.navy:hover{background:#154336!important;border-color:#154336!important}
/* Ekstraklasa na głównej: czytelne przyciski i zielone akcenty. */
body.tzp-football-home .phl-home-table{border-color:var(--tzp-border)!important;box-shadow:0 12px 30px #0b302215!important}
body.tzp-football-home :is(.phl-home-table-head,.phl-round-head){background:#fbfdfb!important;border-bottom-color:var(--tzp-border)!important}
body.tzp-football-home :is(.phl-home-table-title i,.phl-round-title i){border-color:#cbe9d8!important;background:#ecf8f0!important;color:var(--tzp-emerald)!important;box-shadow:none!important}
body.tzp-football-home :is(.phl-home-table-title small,.phl-round-date i,.phl-home-pts){color:var(--tzp-emerald-dark)!important}
body.tzp-football-home .phl-home-table-link{
  min-height:42px!important;padding:0 16px!important;border:1px solid var(--tzp-emerald)!important;
  border-radius:11px!important;background:var(--tzp-emerald)!important;color:#fff!important;
  font-size:10px!important;font-weight:900!important;letter-spacing:.02em!important;
  text-shadow:none!important;box-shadow:0 7px 17px #0a6b4330!important;
}
body.tzp-football-home .phl-home-table-link:hover{border-color:var(--tzp-emerald-dark)!important;background:var(--tzp-emerald-dark)!important;transform:translateY(-1px)}
body.tzp-football-home :is(.phl-round-badge,.phl-home-team-badge){background:linear-gradient(145deg,#145d53,#092f37)!important;box-shadow:0 3px 8px #074b3b30!important;color:#fff!important}
body.tzp-football-home .phl-home-table-grid th{background:#edf5f0!important;color:#375b51!important}
body.tzp-football-home .tzh-side-action{border-color:#cce9d7!important;color:var(--tzp-emerald)!important;background:#f5fbf7!important}
body.tzp-football-home .tzh-side-icon{border-color:#cce9d7!important;color:var(--tzp-emerald)!important;background:#eff8f2!important}
body.tzp-football-home .tzh-side-card:hover .tzh-side-action{background:var(--tzp-emerald)!important;color:#fff!important}
body.tzp-football-home :is(.tzh-match-btn.primary,.tzh-chip.active){border-color:var(--tzp-emerald)!important;background:var(--tzp-emerald)!important;color:#fff!important}
body.tzp-football-home .tzh-match-btn:not(.primary){border-color:#bcdcc9!important;background:#f2faf5!important;color:var(--tzp-emerald-dark)!important}
body.tzp-football-home .tzh-match-btn:not(.primary):hover{border-color:var(--tzp-emerald)!important;background:#e4f3e9!important}
body.tzp-football-home .tzh-home-top10-label{background:var(--tzp-midnight)!important;color:#fff!important}
body.tzp-football-home .tzh-home-top10-label span:not(.tzh-home-top10-dot){color:#78dfad!important}
body.tzp-football-home :is(.tzh-home-top10-points,.tzh-home-top10-more span){color:var(--tzp-emerald)!important}
body.tzp-football-home .tzh-home-top10-more:hover{background:var(--tzp-light)!important;color:var(--tzp-emerald-dark)!important}
/* Typer: te same role kolorów, odróżnione stany aktywne i neutralne. */
body.tzp-football-typer{background:#edf4f1!important;color:var(--tzp-midnight)!important}
body.tzp-football-typer .topbar{background:#081e2c!important;border-bottom:3px solid var(--tzp-emerald)!important}
body.tzp-football-typer .topbar .admin{background:var(--tzp-emerald)!important;color:#fff!important;box-shadow:0 8px 19px #0a6b4333!important}
body.tzp-football-typer .topbar .admin:hover{background:var(--tzp-emerald-dark)!important}
body.tzp-football-typer :is(.btn.red,.btn.green,.btn.primary,.tab.active){border-color:var(--tzp-emerald)!important;background:var(--tzp-emerald)!important;color:#fff!important;box-shadow:0 7px 15px #0a6b432b!important}
body.tzp-football-typer :is(.btn.red,.btn.green,.btn.primary):hover{background:var(--tzp-emerald-dark)!important;border-color:var(--tzp-emerald-dark)!important}
body.tzp-football-typer #mecze .rf49-round.active{border-color:var(--tzp-emerald)!important;background:#effaf3!important;color:var(--tzp-midnight)!important}
body.tzp-football-typer #mecze .rf49-round.active:before{border-top-color:var(--tzp-emerald)!important}
body.tzp-football-typer #mecze .rf49-round.active .rf49-icon{background:var(--tzp-emerald)!important;color:#fff!important}
body.tzp-football-typer #mecze .rf49-round.active .rf49-text strong{color:var(--tzp-emerald-dark)!important}
body.tzp-football-typer .card{border-color:#dae9df!important}
/* Szczegóły ligi pozostają funkcjonalnie odrębne od Typera, ale dzielą paletę. */
body.tzp-football-league{background:#edf4f1!important}
body.tzp-football-league .phl-season-switcher{border-bottom-color:var(--tzp-emerald)!important}
body.tzp-football-league .phl-season-switcher__copy small{color:var(--tzp-emerald)!important}
body.tzp-football-league .block-tabs button.active{border-color:var(--tzp-emerald)!important;box-shadow:inset 0 -3px var(--tzp-emerald)!important}
body.tzp-football-league .team-badge{background:#0d624e!important;color:#fff!important}
body.tzp-football-league .standings .pts{color:var(--tzp-emerald-dark)!important}
@media(max-width:720px){
 body.tzp-football-home .phl-home-table-link{min-height:36px!important;padding:0 10px!important;font-size:9px!important;border-radius:9px!important}
}

/* Sezon 100: aktywny blok, kolejki i zwycięzcy w palecie TZP. */
body.tzp-football-typer #mecze .rf49-block.active{background:#118353!important;border-color:#118353!important;box-shadow:0 8px 16px #0e704333!important;color:#fff!important}
body.tzp-football-typer #mecze .rf49-round.active{background:#edf8f1!important;border-color:#118353!important}
body.tzp-football-typer #mecze .rf49-round.active:before{border-top-color:#118353!important}
body.tzp-football-typer #mecze .rf49-round:not(.active) .rf49-icon{background:#eaf5ee!important;color:#0d714a!important;box-shadow:none!important}
body.tzp-football-typer #mecze .rf49-round:not(.active) .rf49-text strong{color:#0d6747!important}
body.tzp-football-typer #mecze .rf49-round.active .rf49-icon{background:#118353!important;color:#fff!important;box-shadow:0 7px 16px #0e704333!important}
body.tzp-football-typer #mecze .rf49-round.active .rf49-text strong{color:#0b6846!important}
body.tzp-football-typer #mecze :is(h2 .ico,.rf49-round.sponsor){border-color:#d6e9dd!important;background:#f5faf7!important}
body.tzp-football-typer .final-winners>h3 .ico{border-color:#d3eadc!important;background:#eff8f2!important}
body.tzp-football-typer .final-winners :is(.r210-card.current,.r240-card.current){border-color:#9fd8b3!important;background:#f8fdf9!important}
body.tzp-football-typer .final-winners :is(.r210-card.current,.r240-card.current):after{background:#15965e!important}
body.tzp-football-typer .final-winners :is(.r210-card.current .r210-icon,.r240-card.current .r240-icon){border-color:#15965e!important;background:#eaf9ef!important;color:#075c3d!important}
body.tzp-football-typer .final-winners :is(.r210-card.current strong,.r240-card.current strong){color:#075c3d!important}

/* Wspólny pasek komentarzy obu sportów w palecie piłkarskiej. */
body.tzp-football-home .tzh-community-strip{display:grid!important;border-color:#cfe5d7!important}
body.tzp-football-home .tzh-community-label{background:linear-gradient(135deg,#082a34,#104a3c)!important;border-color:#2c725a!important}
body.tzp-football-home .tzh-community-label i{background:#118353!important}
body.tzp-football-home .tzh-community-label small,
body.tzp-football-home .tzh-community-user small{color:#13925c!important}
body.tzp-football-home .tzh-community-label small{color:#7de1a5!important}
body.tzp-football-home .tzh-community-comment.is-latest{background:linear-gradient(110deg,#effaf2,#fff)!important}
body.tzp-football-home .tzh-community-comment.is-latest .tzh-community-dot{background:#118353!important;box-shadow:0 0 0 4px #e0f5e9!important}
body.tzp-football-home .tzh-community-comment:hover{background:#f0f9f3!important}
@media(max-width:620px){body.tzp-football-home .tzh-community-strip{display:block!important}}

/* Przełącznik sportów zajmuje własny wiersz zamiast zasłaniać nagłówek. */
body.tzp-football-home .tzh-sport-switch{position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:max-content!important;max-width:calc(100% - 24px)!important;min-height:0!important;margin:11px auto 9px!important;padding:4px!important;justify-content:center!important;box-shadow:0 8px 20px #061b2a25!important;background:#0b2734!important;border-color:#55826f80!important}
body.tzp-football-home .tzh-sport-switch a{min-height:35px!important;line-height:1!important}
body.tzp-football-home .tzh-sport-switch .tzh-hockey{background:transparent!important}
body.tzp-football-home .tzh-sport-switch .tzh-football.is-active{background:#118353!important}
@media(max-width:760px){
 body.tzp-football-home .tzh-sport-switch{margin:7px auto 6px!important;padding:3px!important}
 body.tzp-football-home .tzh-sport-switch a{min-height:34px!important;font-size:11px!important;padding:6px 12px!important}
 body.tzp-football-home .tzh-sport-switch .sport-long{display:inline!important}
 body.tzp-football-typer #mecze .rf49-rounds{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.tzp-football-typer #mecze .rf49-round{min-width:0!important}
}
@media(max-width:360px){body.tzp-football-home .tzh-sport-switch a{font-size:10px!important;padding:5px 8px!important}}

/* Wspólne statystyki i czat, zielona oprawa dla portalu piłkarskiego. */
body.tzp-football-home .tzh-match-hero{border-top-color:#1abb75!important;background:linear-gradient(100deg,#061b28,#103b39)!important}
body.tzp-football-home .tzh-match-title i,
body.tzp-football-home .tzh-match-mini h4 i.red{background:#12905a!important;color:#fff!important;box-shadow:0 5px 14px #10895739!important}
body.tzp-football-home .tzh-match-result b,
body.tzp-football-home .tzh-match-link{color:#5ae5a1!important}
body.tzp-football-home .tzh-home-top10-dot{background:#32d58a!important;box-shadow:0 0 0 3px #32d58a29!important}
body.tzp-football-home .tzh-community-stats{border-color:#c9e2d5!important;color:#0b2930!important}
body.tzp-football-home .tzh-community-stats__head{background:linear-gradient(105deg,#092c35,#0a3b36)!important;border-bottom-color:#1cbb76!important}
body.tzp-football-home .tzh-community-stats__title small{color:#80e8ad!important}
body.tzp-football-home .tzh-community-stats__mark,
body.tzp-football-home .tzh-community-ranking__list li:first-child .tzh-community-rank,
body.tzp-football-home .tzh-community-online__label b{background:#138d59!important}
body.tzp-football-home .tzh-community-stat:after{background:#22bd79!important}
body.tzp-football-home .tzh-community-ranking__head span,
body.tzp-football-home .tzh-community-highlight__head span,
body.tzp-football-home .tzh-community-score b{color:#118353!important}
body.tzp-football-home .tzh-community-highlight__icon{background:#e6f6ec!important;color:#118353!important}
body.tzp-football-home .tzh-community-stats__bottom{background:#eef6f1!important}
body.tzp-football-home .tzh-community-online{background:#092b36!important;border-top-color:#1cbb76!important}
body.tzp-football-home .tzh-chatbox-preview{border-color:#b9ddca!important}
body.tzp-football-home .tzh-chatbox-entry,
body.tzp-football-home .tzh-chatbox-head{background:linear-gradient(110deg,#092a34,#10523d)!important}
body.tzp-football-home .tzh-chatbox-entry__icon,
body.tzp-football-home .tzh-chatbox-head__icon,
body.tzp-football-home .tzh-chatbox-users header b,
body.tzp-football-home .tzh-chatbox-compose button{background:#118353!important;color:#fff!important}
body.tzp-football-home .tzh-chatbox-head small{color:#8ce4b5!important}
body.tzp-football-home .tzh-chatbox-compose input:focus{border-color:#118353!important;box-shadow:0 0 0 3px #11835322!important}
body.tzp-football-home .tzh-chatbox-status{color:#0d7549!important}

/* Pasek Typera i karta federacji: usunięcie czerwonych kresek TZH. */
body.tzp-football-home .tzh-typer-bar-minimal .typer-item::after,
body.tzp-football-home .tzh-typer-bar-minimal .typer-active-line{background:#118353!important}
body.tzp-football-home .tzh-typer-bar-minimal .typer-item,
body.tzp-football-home .tzh-typer-bar-minimal .typer-buttons{border-left-color:#d2e6da!important}
body.tzp-football-home .tzhsh__icon::after{background:#118353!important}

/* Statystyki Ekstraklasy: zielony stan najechania w całej sekcji. */
body.tzp-football-home .tzhsh__records-grid a:hover{border-color:#118353!important;box-shadow:0 10px 22px #0c70421a!important}
body.tzp-football-home .tzhsh__records-grid a:focus-visible{border-color:#118353!important}
body.tzp-football-home .tzhsh__records-icon .accent{stroke:#118353!important}

/* Magazyn TZP: trzy miejsca na artykuły bieżącego numeru. */
body.tzp-football-home .contents-panel .issue-panel-head{background:linear-gradient(100deg,#fff 0%,#fbfdfc 68%,#edf8f1 100%)!important;border-bottom:1px solid #d7e9df!important}
body.tzp-football-home .contents-panel .issue-panel-head::after{background:#118353!important}
body.tzp-football-home .contents-panel .issue-panel-icon{border-color:#cce9d7!important;background:#eff9f2!important;color:#118353!important}
body.tzp-football-home .contents-panel .issue-panel-copy span,
body.tzp-football-home .contents-panel .issue-panel-meta b{color:#118353!important}
body.tzp-football-home .contents-panel .issue-panel-copy strong{color:#092b34!important}
body.tzp-football-home .contents-list>button>em{background:#118353!important}
body.tzp-football-home .tzp-issue-slot{display:flex;align-items:center;min-height:58px;border-bottom:1px solid #e0ece5;background:#f9fcfa;color:#0b2930;font-weight:900}
body.tzp-football-home .contents-panel .contents-list .tzp-issue-slot em{display:grid!important;place-items:center!important;align-self:stretch!important;width:73px!important;min-width:73px!important;height:auto!important;flex:none;background:#dcebe3!important;color:#126740!important;font:italic 900 25px/1 Impact,Arial,sans-serif!important}
body.tzp-football-home .tzp-issue-slot span{padding:8px 14px;font-size:13px}
body.tzp-football-home .tzp-issue-slot small{display:block;margin-top:3px;color:#6a8375;font-size:9px;font-style:normal}
@media(max-width:620px){body.tzp-football-home .tzp-issue-slot{min-height:48px}body.tzp-football-home .contents-panel .contents-list .tzp-issue-slot em{width:52px!important;min-width:52px!important;font-size:20px!important}}
body.tzp-football-home .issue-archive-row{padding:12px 14px;background:#f5faf7;border-top:1px solid #d7e9df}
body.tzp-football-home .issue-archive-link{display:flex;align-items:center;gap:11px;min-height:54px;padding:9px 12px;border:1px solid #cee6d6;border-radius:10px;background:#fff;color:#0b2b35;text-decoration:none;transition:background .16s,border-color .16s}
body.tzp-football-home .issue-archive-link:hover{border-color:#118353;background:#f1faf4}
body.tzp-football-home .issue-archive-link__icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:8px;background:#e7f6ec;color:#118353;font-size:19px}
body.tzp-football-home .issue-archive-link__copy{display:grid;gap:3px;min-width:0;flex:1}
body.tzp-football-home .issue-archive-link__copy b{font-size:12px;font-weight:900}
body.tzp-football-home .issue-archive-link__copy small{color:#687e73;font-size:9px;font-weight:800}
body.tzp-football-home .issue-archive-link__arrow{color:#118353;font-size:26px;font-weight:900}

/* Dwie kolumny jak w hokeju: terminarz po lewej, mecze TOP i anomalie po prawej. */
body.tzp-football-home .tzh-grid-main .tzh-right-col{min-width:0}
body.tzp-football-home .tzh-grid-main .contents-panel>.phl-home-table{width:100%;max-width:100%;min-width:0;margin:14px 0 0!important;box-sizing:border-box!important}
body.tzp-football-home .contents-panel .phl-home-table-grid{width:100%!important;table-layout:fixed!important}
body.tzp-football-home .contents-panel .phl-home-table-grid :is(th,td){padding-left:4px!important;padding-right:4px!important;overflow:hidden}
body.tzp-football-home .contents-panel .phl-home-table-grid :is(th,td):first-child{width:72px!important;min-width:0!important}
body.tzp-football-home .contents-panel .phl-home-table-grid :is(th,td):nth-child(3){width:34px!important}
body.tzp-football-home .contents-panel .phl-home-table-grid :is(th,td):nth-child(4){width:38px!important}
body.tzp-football-home .contents-panel .phl-home-table-grid :is(th,td):nth-child(5){width:40px!important}
body.tzp-football-home .contents-panel .phl-home-team-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tzp-football-home .contents-panel :is(.phl-home-table-head,.phl-round-head){gap:8px;padding-left:12px!important;padding-right:12px!important}
body.tzp-football-home .contents-panel .phl-home-table-link{padding-left:10px!important;padding-right:10px!important;font-size:9px!important}
body.tzp-football-home .contents-panel .phl-round-row{grid-template-columns:92px minmax(0,1fr) 48px minmax(0,1fr);gap:5px}
body.tzp-football-home .contents-panel .phl-round-list{padding-left:9px;padding-right:9px}
@media(max-width:720px){body.tzp-football-home .contents-panel .phl-round-row{grid-template-columns:78px minmax(0,1fr) 42px minmax(0,1fr)}}
body.tzp-football-home .tzh-grid-main .tzh-right-col>.tzhsh{margin-top:14px!important}

body.tzp-football-home #tzh-rendered-banner .tzh-rendered-banner__admin{display:none!important}
body.tzp-football-home.tzp-admin-active #tzh-rendered-banner .tzh-rendered-banner__admin{display:inline-flex!important}
