
.lsp-home,.lsp-box,.lsp-list,.lsp-schedule,.lsp-team-grid{box-sizing:border-box;font-family:inherit}
.lsp-home{width:100%;max-width:1280px;margin:0 auto;color:#172033}
.lsp-grid{display:grid;gap:24px}.lsp-grid-top{grid-template-columns:1.45fr 1fr}.lsp-grid-main{grid-template-columns:1.65fr 1fr;margin-top:24px}
.lsp-box,.lsp-list{background:#fff;border:1px solid #e8ebf0;border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(20,30,50,.07)}
.lsp-kicker{font-size:11px;letter-spacing:.16em;font-weight:900;opacity:.7}.lsp-next{padding:32px;background:linear-gradient(135deg,#101827,#263650);color:#fff;border:none;position:relative}.lsp-next:after{content:'';position:absolute;right:-60px;top:-70px;width:210px;height:210px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018)}
.lsp-next .lsp-kicker{color:#fff;opacity:.72}.lsp-date{margin-top:9px;font-size:15px;opacity:.86}.lsp-next-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin:32px 0 16px;font-size:clamp(21px,3vw,36px);font-weight:900;line-height:1.08}.lsp-next-teams span:last-child{text-align:right}.lsp-next-teams b{font-size:12px;letter-spacing:.08em;opacity:.65}.lsp-hall{font-size:13px;opacity:.78}
.lsp-last{padding:32px}.lsp-last .lsp-match-teams{margin:27px 0 16px}.lsp-last .lsp-match-meta{font-size:12px;opacity:.55}
.lsp-heading{font-size:22px;font-weight:900;padding:22px 24px;border-bottom:1px solid #edf0f4}.lsp-scroll{overflow-x:auto}.lsp-table{width:100%;border-collapse:separate;border-spacing:0;min-width:650px}.lsp-table th,.lsp-table td{padding:14px 12px;text-align:center;border-bottom:1px solid #edf0f4;font-size:14px}.lsp-table th{background:#f7f8fa;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.65}.lsp-table th:first-child{border-radius:0}.lsp-table th:nth-child(2),.lsp-table td:nth-child(2){text-align:left}.lsp-table tbody tr:last-child td{border-bottom:0}.lsp-table tbody tr:hover td{background:#fafbfc}.lsp-place{font-weight:900;width:42px}.lsp-team{font-weight:800}.lsp-points{font-weight:900;font-size:17px}.lsp-table-row.lsp-rank-1 .lsp-place,.lsp-table-row.lsp-rank-2 .lsp-place,.lsp-table-row.lsp-rank-3 .lsp-place{font-size:18px}.lsp-table-row.lsp-rank-1 .lsp-team,.lsp-table-row.lsp-rank-2 .lsp-team,.lsp-table-row.lsp-rank-3 .lsp-team{font-weight:950}.lsp-note{padding:14px 20px;font-size:12px;opacity:.58;border-top:1px solid #edf0f4}
.lsp-list{overflow:hidden}.lsp-list .lsp-heading{padding-bottom:17px}.lsp-match-card{padding:19px 21px;border-bottom:1px solid #edf0f4;transition:background .15s ease}.lsp-match-card:hover{background:#fafbfc}.lsp-match-card:last-child{border-bottom:0}.lsp-match-meta{font-size:12px;opacity:.58;margin-bottom:9px}.lsp-match-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;font-weight:800;line-height:1.2}.lsp-match-teams span:last-child{text-align:right}.lsp-match-teams strong{font-size:18px;white-space:nowrap}.lsp-match-hall{font-size:12px;opacity:.58;margin-top:9px}
.lsp-empty{padding:25px}.lsp-round{margin-bottom:28px}.lsp-round h3{font-size:22px;margin:0 0 11px}.lsp-schedule-row{display:grid;grid-template-columns:100px 1fr 220px;gap:15px;align-items:center;padding:17px 19px;background:#fff;border:1px solid #e8ebf0;border-radius:14px;margin-bottom:9px;box-shadow:0 4px 15px rgba(20,30,50,.035)}.lsp-schedule-date{font-weight:900}.lsp-schedule-date small{display:block;font-weight:400;opacity:.6;margin-top:2px}.lsp-schedule-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;font-weight:800}.lsp-schedule-teams span:last-child{text-align:right}.lsp-schedule-hall{font-size:13px;opacity:.6;text-align:right}.lsp-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lsp-team-tile{padding:21px;background:#fff;border:1px solid #e8ebf0;border-radius:14px;font-weight:900;box-shadow:0 4px 15px rgba(20,30,50,.035)}
@media(max-width:800px){.lsp-grid-top,.lsp-grid-main{grid-template-columns:1fr}.lsp-next,.lsp-last{padding:24px}.lsp-next-teams{gap:12px;font-size:clamp(18px,6vw,27px);margin:26px 0 14px}.lsp-schedule-row{grid-template-columns:75px 1fr}.lsp-schedule-hall{grid-column:2;text-align:left}.lsp-team-grid{grid-template-columns:1fr}.lsp-heading{font-size:20px;padding:19px}.lsp-table th,.lsp-table td{padding:12px 9px}}
.lsp-result-form{min-width:260px}.lsp-result-rule{margin-bottom:7px}.lsp-set-row{display:flex;align-items:center;gap:6px;margin:4px 0}.lsp-set-row label{width:42px;font-size:12px}.lsp-set-row input{width:58px!important}.lsp-set-row span{font-weight:700}

/* Publiczny widok ligi – v2.3.1 */
.lsp-section-head,.lsp-schedule-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;border-bottom:1px solid #edf0f4}.lsp-section-head .lsp-kicker,.lsp-schedule-header .lsp-kicker{margin-bottom:5px}.lsp-heading-inline{font-size:22px;font-weight:900}.lsp-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#f2f4f7;font-size:11px;font-weight:900;white-space:nowrap}.lsp-next-stage{font-size:11px;font-weight:800;letter-spacing:.08em;margin-top:8px;opacity:.7}.lsp-last-date{font-size:12px;opacity:.55;margin-top:8px}.lsp-set-results{font-size:12px;font-weight:700;opacity:.62;margin-top:10px}.lsp-table td.lsp-team a{color:inherit;text-decoration:none}.lsp-table td.lsp-team a:hover{text-decoration:underline}.lsp-table-legend{display:flex;gap:18px;flex-wrap:wrap;padding:13px 20px;font-size:11px;font-weight:700;opacity:.72;border-top:1px solid #edf0f4}.lsp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;border:1px solid #aeb6c2}.lsp-dot-qf{background:#dfe9f7}.lsp-dot-place{background:#f0f0f0}.lsp-schedule-header{margin-bottom:20px;background:#fff;border:1px solid #e8ebf0;border-radius:18px;box-shadow:0 4px 15px rgba(20,30,50,.035)}.lsp-schedule-header h2{margin:0;font-size:28px}.lsp-round h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 11px;padding:0 3px}.lsp-round h3 small{font-size:12px;font-weight:600;opacity:.5}.lsp-schedule-row{transition:transform .15s ease,box-shadow .15s ease}.lsp-schedule-row:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(20,30,50,.07)}.lsp-schedule-date strong{font-size:15px}.lsp-schedule-hall small{display:block;margin-top:4px;font-size:10px;font-weight:800;text-transform:uppercase;opacity:.55}.lsp-final-stage{margin-top:38px}.lsp-stage-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-bottom:7px}.lsp-team-tile{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-height:74px}.lsp-team-tile strong{flex:1}.lsp-team-rank{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f3f5f8;font-size:11px;font-weight:900}.lsp-team-link{font-size:11px;font-weight:800;opacity:.5}.lsp-team-tile:hover .lsp-team-link{opacity:1}.lsp-back{display:inline-block;margin-bottom:14px;font-size:13px;font-weight:800;text-decoration:none;color:inherit}.lsp-profile-hero{display:flex;justify-content:space-between;align-items:center;padding:28px;border-radius:20px;background:linear-gradient(135deg,#101827,#263650);color:#fff}.lsp-profile-hero h2{margin:5px 0 0;font-size:clamp(25px,5vw,42px)}.lsp-profile-position{text-align:center}.lsp-profile-position small{display:block;font-size:9px;letter-spacing:.12em;opacity:.65}.lsp-profile-position strong{font-size:42px;line-height:1}.lsp-profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 24px}.lsp-profile-stats>div{background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:17px}.lsp-profile-stats small{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;opacity:.5}.lsp-profile-stats b{display:block;font-size:25px;margin-top:4px}.lsp-profile-games h3{font-size:22px;margin:0 0 12px}.lsp-profile-game{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #e8ebf0;border-radius:14px;padding:14px 17px;margin-bottom:8px}.lsp-profile-game small{display:block;font-size:10px;opacity:.5}.lsp-profile-game strong{display:block;margin-top:3px}.lsp-profile-result{min-width:58px;text-align:center;font-weight:900;font-size:17px}.lsp-profile-result.is-win{font-weight:950}.lsp-profile-result.is-loss{opacity:.5}
@media(max-width:800px){.lsp-section-head,.lsp-schedule-header{padding:18px}.lsp-heading-inline{font-size:19px}.lsp-schedule-header h2{font-size:23px}.lsp-schedule-row{grid-template-columns:70px 1fr}.lsp-schedule-hall{grid-column:2}.lsp-profile-stats{grid-template-columns:repeat(2,1fr)}.lsp-profile-hero{padding:23px}.lsp-profile-game{padding:13px}.lsp-team-link{display:none}}


/* Publiczna strona główna ligi – pełny layout */
.lsp-hero{margin-bottom:16px;padding:42px 44px;border-radius:24px;background:linear-gradient(135deg,#0d1522 0%,#22344f 100%);color:#fff;display:grid;grid-template-columns:1.55fr .9fr;gap:30px;align-items:center;overflow:hidden;position:relative;box-shadow:0 16px 45px rgba(20,30,50,.16)}
.lsp-hero:after{content:'';position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;bottom:-180px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
.lsp-hero .lsp-kicker{opacity:.62}.lsp-hero h1{margin:7px 0 9px;font-size:clamp(30px,5vw,56px);line-height:1.02;letter-spacing:-.035em}.lsp-hero p{margin:0;max-width:600px;font-size:16px;opacity:.75}.lsp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.lsp-hero-actions a{display:inline-flex;padding:11px 16px;border-radius:11px;background:#fff;color:#172033;text-decoration:none;font-weight:900;font-size:13px}.lsp-hero-actions a.is-light{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.13)}
.lsp-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;position:relative;z-index:1}.lsp-hero-stats div{padding:17px 13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:14px;text-align:center}.lsp-hero-stats strong{display:block;font-size:28px;line-height:1}.lsp-hero-stats span{display:block;margin-top:7px;font-size:10px;line-height:1.2;opacity:.62;font-weight:800;text-transform:uppercase}
.lsp-progress{margin-bottom:24px;padding:14px 18px;background:#fff;border:1px solid #e8ebf0;border-radius:14px;box-shadow:0 4px 15px rgba(20,30,50,.035)}.lsp-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.lsp-progress>div:first-child span{opacity:.5}.lsp-progress-bar{height:6px;background:#edf0f4;border-radius:99px;margin-top:10px;overflow:hidden}.lsp-progress-bar i{display:block;height:100%;background:#172033;border-radius:99px;transition:width .3s ease}
.lsp-home-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.lsp-home-panel{padding:26px;background:#fff;border:1px solid #e8ebf0;border-radius:20px;box-shadow:0 10px 35px rgba(20,30,50,.06)}.lsp-home-panel h2{margin:5px 0 8px;font-size:23px}.lsp-home-panel p{margin:0;line-height:1.55;font-size:14px;opacity:.65}.lsp-bracket-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.lsp-bracket-mini span{padding:13px 8px;text-align:center;background:#f5f6f8;border-radius:11px;font-size:13px;font-weight:900}.lsp-points-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.lsp-points-cards div{padding:17px;border:1px solid #e8ebf0;border-radius:13px}.lsp-points-cards strong{display:block;font-size:24px}.lsp-points-cards span{font-size:12px;opacity:.6;font-weight:700}
@media(max-width:800px){.lsp-hero{grid-template-columns:1fr;padding:29px 24px;border-radius:20px}.lsp-hero-stats{grid-template-columns:repeat(3,1fr)}.lsp-hero-stats strong{font-size:23px}.lsp-home-panels{grid-template-columns:1fr}.lsp-bracket-mini{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lsp-hero-stats{gap:6px}.lsp-hero-stats div{padding:13px 7px}.lsp-hero-stats strong{font-size:21px}.lsp-hero-stats span{font-size:8px}.lsp-progress>div:first-child{font-size:10px}}

/* v2.4.1 - public homepage improvements */
.lsp-hero h1{color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.22)}
.lsp-hero .lsp-hero-copy{position:relative;z-index:2}
.lsp-home-schedule{margin-top:22px}
.lsp-home-schedule .lsp-public-schedule{margin-top:0}
.lsp-home-schedule .lsp-schedule-header{margin-bottom:14px}
.lsp-home-schedule .lsp-schedule-header h2{color:inherit}
@media(max-width:800px){.lsp-home-schedule{margin-top:16px}}

/* Strona główna: tylko dwa główne banery */
.lsp-home-banners{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:stretch}
.lsp-home-banners .lsp-hero{margin-bottom:0;height:100%;box-sizing:border-box}
.lsp-home-banners .lsp-next-banner{min-width:0}
.lsp-home-banners .lsp-next{height:100%;box-sizing:border-box;border-radius:24px;box-shadow:0 16px 45px rgba(20,30,50,.16)}
@media(max-width:800px){.lsp-home-banners{grid-template-columns:1fr}.lsp-home-banners .lsp-next{height:auto}}

/* v2.4.6 - dopasowanie dwóch banerów obok siebie */
.lsp-home-banners{grid-template-columns:1.45fr 1fr;gap:14px;align-items:stretch}
.lsp-home-banners .lsp-hero{display:block;padding:30px 34px;min-height:0}
.lsp-home-banners .lsp-hero-copy{display:block}
.lsp-home-banners .lsp-hero h1{font-size:clamp(38px,4vw,48px);line-height:.98;margin:7px 0 8px}
.lsp-home-banners .lsp-hero p{font-size:13px;line-height:1.25;max-width:330px}
.lsp-home-banners .lsp-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
.lsp-home-banners .lsp-hero-stats div{min-width:0;padding:12px 7px;border-radius:12px}
.lsp-home-banners .lsp-hero-stats strong{font-size:23px}
.lsp-home-banners .lsp-hero-stats span{font-size:8px;margin-top:5px}
.lsp-home-banners .lsp-hero-actions{gap:7px;margin-top:16px}
.lsp-home-banners .lsp-hero-actions a{padding:9px 11px;font-size:11px;border-radius:9px}
.lsp-home-banners .lsp-next{padding:30px 30px;min-width:0;overflow:hidden}
.lsp-home-banners .lsp-next-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;font-size:clamp(22px,3vw,34px);margin:30px 0 16px}
.lsp-home-banners .lsp-next-teams span{min-width:0;overflow-wrap:anywhere;word-break:normal}
.lsp-home-banners .lsp-next-teams span:last-child{text-align:right}
.lsp-home-banners .lsp-next-teams b{font-size:10px}
@media(max-width:800px){
 .lsp-home-banners{grid-template-columns:1fr}
 .lsp-home-banners .lsp-hero{padding:29px 24px}
 .lsp-home-banners .lsp-next{height:auto}
}
@media(max-width:480px){
 .lsp-home-banners .lsp-hero h1{font-size:38px}
 .lsp-home-banners .lsp-next-teams{font-size:25px}
}

/* v2.4.7 - dopasowanie nazw drużyn w karcie następnego meczu */
.lsp-home-banners{grid-template-columns:1.28fr 1fr;gap:14px}
.lsp-home-banners .lsp-next{padding:28px 26px}
.lsp-home-banners .lsp-next-teams{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:8px;
    font-size:clamp(20px,2.35vw,27px);
    line-height:1.02;
    margin:30px 0 16px;
}
.lsp-home-banners .lsp-next-teams span{
    min-width:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}
.lsp-home-banners .lsp-next-teams span:last-child{text-align:right}
.lsp-home-banners .lsp-next-teams b{font-size:9px;flex:none}
@media(max-width:800px){
    .lsp-home-banners{grid-template-columns:1fr}
    .lsp-home-banners .lsp-next{padding:26px 24px}
    .lsp-home-banners .lsp-next-teams{font-size:clamp(22px,6vw,30px);gap:10px}
}
