@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#07111f;--panel:#0d1a2b;--panel2:#101f32;--line:#24354b;--text:#f3f7fc;--muted:#9babc0;--blue:#2478e5;--blue2:#5ca5ff;--red:#f05c64;--silver:#b9c6d7}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#102b4a 0,transparent 38%),var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px clamp(18px,5vw,76px);border-bottom:1px solid #1b2c40;background:#07111feF;position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.brand{display:flex;gap:12px;align-items:center}.brand b{display:block;font:800 14px Manrope,sans-serif;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em;margin-top:3px}.crest,.teamicon{display:grid;place-items:center;background:linear-gradient(145deg,#2c8aff,#1051a6);border:1px solid #6bb1ff;border-radius:12px;width:45px;height:45px;font:800 15px Manrope;box-shadow:0 5px 20px #0065d533}.top nav{display:flex;gap:25px;color:#c2cddd;font-size:13px}.top nav a:hover,.sectionhead>a:hover{color:var(--blue2)}.wrap{max-width:1280px;margin:auto;padding:0 clamp(16px,4vw,56px) 70px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center;padding:70px 0 76px;border-bottom:1px solid var(--line)}.hero h1,.pageintro h1{font:800 clamp(38px,5vw,66px)/1.08 Manrope;margin:8px 0 20px;letter-spacing:-.045em}.hero h1 span{color:var(--blue2)}.hero p:not(.eyebrow){max-width:620px;color:#aabbd0;font-size:17px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--blue2);font-weight:700;margin:0 0 9px}.heroactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #3185f1;background:linear-gradient(120deg,#2478e5,#165ab3);color:#fff;padding:12px 18px;border-radius:9px;font:700 13px 'DM Sans';cursor:pointer}.btn.ghost,.ghost{background:transparent;border-color:#344b67;color:#dbe8f8}.hero-badge{justify-self:center;text-align:center;width:min(100%,330px);padding:32px;border:1px solid #29435f;border-radius:24px;background:linear-gradient(160deg,#102945,#0b1726 70%);box-shadow:0 25px 65px #0003}.bigcrest{display:grid;place-items:center;width:128px;height:128px;margin:0 auto 22px;border-radius:34px;border:2px solid #5ca5ff;background:linear-gradient(145deg,#2478e5,#0d3874);font:800 44px Manrope;transform:rotate(-4deg)}.hero-badge b,.hero-badge small,.hero-badge span{display:block}.hero-badge b{letter-spacing:.13em}.hero-badge small{font-size:10px;color:var(--muted);letter-spacing:.2em;margin-top:8px}.hero-badge .line{height:1px;background:linear-gradient(90deg,transparent,#3e82d4,transparent);margin:20px 0}.hero-badge span{font-size:11px;color:#b4c7df;letter-spacing:.14em}.section{padding:52px 0}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.sectionhead h2,.panel h2{font:750 25px Manrope;margin:0}.sectionhead>a{font-size:12px;color:var(--blue2)}.teamgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teamcard{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(120deg,#101f32,#0b1726);transition:.2s}.teamcard:hover,.playercard:hover{border-color:#3989ef;transform:translateY(-2px)}.teamicon{width:55px;height:55px;flex:none}.teamcard small,.playercard small{color:var(--blue2);font-size:11px}.teamcard h3{font:700 17px Manrope;margin:4px 0 9px}.linklabel{color:#b9c9dc;font-size:11px}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px}.matchrow{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:15px 0}.matchdate{display:grid;place-content:center;text-align:center;min-width:52px;height:52px;border-radius:10px;background:#112944;color:#dfeeff;font:800 17px Manrope}.matchdate small{font:500 10px 'DM Sans';color:var(--muted)}.matchinfo{flex:1;min-width:0}.matchinfo b,.matchinfo small{display:block}.matchinfo b{font-size:12px}.matchinfo small{font-size:11px;color:var(--muted);margin-top:4px}.score{font:800 19px Manrope;white-space:nowrap;color:#f4f8ff}.status{display:inline-block;padding:5px 8px;border:1px solid #334d69;background:#14263b;color:#b9d4f3;border-radius:6px;font-size:10px;white-space:nowrap}.empty{padding:22px;border:1px dashed #30445c;border-radius:12px;color:var(--muted);font-size:13px}.pageintro{padding:48px 0 25px}.pageintro h1{font-size:clamp(34px,4vw,48px);margin-bottom:10px}.pageintro p:not(.eyebrow){color:var(--muted)}.filterbar{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}.filter{border:1px solid var(--line);background:#0c1929;padding:10px 13px;border-radius:8px;color:#c0cedf;font-size:12px}.filter.active{border-color:#3989ef;background:#112e50;color:white}.fixture{border:1px solid var(--line);border-radius:13px;background:linear-gradient(110deg,#0d1b2c,#0a1625);padding:17px;margin-bottom:11px;display:flex;gap:18px;align-items:center}.fixturedate{width:60px;min-width:60px;text-align:center;border-right:1px solid var(--line);padding-right:15px}.fixturedate b{font:800 25px Manrope;display:block}.fixturedate span{font-size:11px;color:var(--muted)}.fixturemain{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1}.fixturemain small{font-size:10px;color:var(--blue2)}.fixturemain h3{font:700 15px Manrope;margin:5px 0}.fixturemain h3 span{color:var(--muted);font-size:12px;margin:0 5px}.fixturemeta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:140px}.fixturemeta .score{font-size:18px}.protocol{color:#8fc0ff;font-size:11px}.muted{color:var(--muted);font-size:11px}.panel{background:linear-gradient(145deg,#0f1e30,#0b1726);border:1px solid var(--line);border-radius:14px;padding:22px;margin:16px 0}.searchform{display:grid;grid-template-columns:1fr minmax(190px,260px) auto;gap:10px}input,select{width:100%;background:#081321;border:1px solid #2b4058;border-radius:8px;color:#f3f7fc;padding:11px 12px;font:13px 'DM Sans';min-width:0}label{display:flex;flex-direction:column;gap:7px;color:#c6d4e4;font-size:12px;margin-bottom:14px}input:focus,select:focus{outline:2px solid #277ce5;outline-offset:1px}.playergrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.playercard{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#0d1a2b;transition:.2s}.avatar{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:linear-gradient(145deg,#1b64b7,#122944);border:1px solid #3a83cf;font:800 16px Manrope}.playercard h3{font:700 14px Manrope;margin:2px 0}.playercard span{color:var(--muted);font-size:10px}.mini-stats{display:flex;gap:10px;margin-left:auto}.mini-stats b{font:800 16px Manrope;text-align:center}.mini-stats small{display:block;font:500 9px 'DM Sans';color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.stat{padding:18px;border:1px solid var(--line);border-radius:12px;background:#0d1a2b}.stat span{display:block;color:var(--muted);font-size:11px}.stat b{display:block;font:800 28px Manrope;margin-top:5px}.tablewrap{overflow-x:auto;margin-top:14px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#9eb2ca;font-size:10px;text-transform:uppercase;letter-spacing:.08em}footer{border-top:1px solid var(--line);padding:24px;text-align:center;color:#8295ad;font-size:11px;letter-spacing:.04em}footer span{color:var(--blue2);padding:0 5px}.flash{padding:12px 15px;margin:18px 0;border-radius:8px;background:#0e382b;border:1px solid #23654e;color:#b6f2d7;font-size:13px}.flash.err{background:#3a1c25;border-color:#8e3545;color:#ffd0d6}.adminbar{display:flex;justify-content:space-between;align-items:center;padding:32px 0 18px}.adminbar h1{font:800 30px Manrope;margin:0}.adminnav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px}.adminnav a{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:#cad8e8}.adminnav a:hover{border-color:var(--blue2)}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.panel form button{margin-top:4px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions a{color:#8fc0ff;font-size:11px}.actions form{margin:0}.small{padding:6px 9px;font-size:10px}.danger{background:#5a2430;border-color:#a63b4a}.narrow{max-width:560px;margin:40px auto}.smallhero{padding:40px 0}.smallhero h1{font:800 38px Manrope;margin:0 0 10px}.smallhero p:not(.eyebrow){color:var(--muted)}.narrow.panel{margin:0 auto}.narrow button{width:100%}.adminbar .btn{font-size:12px}
@media(max-width:800px){.top{align-items:flex-start;flex-direction:column;padding:16px 18px;gap:13px}.top nav{gap:16px;flex-wrap:wrap}.hero{grid-template-columns:1fr;padding:45px 0;gap:35px}.hero-badge{width:100%;max-width:290px}.split{grid-template-columns:1fr}.teamgrid,.playergrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fixturemain{align-items:flex-start;flex-direction:column;gap:10px}.fixturemeta{align-items:flex-start}.searchform{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.fixture{align-items:flex-start}.fixturedate{width:48px;min-width:48px;padding-right:9px}.fixturemain h3{font-size:13px}.adminbar h1{font-size:24px}}@media(max-width:420px){.brand b{font-size:12px}.brand small{font-size:8px}.mini-stats{gap:6px}.playercard{gap:9px;padding:12px}.avatar{width:40px;height:40px}.wrap{padding-left:13px;padding-right:13px}.score{font-size:16px}}

/* KTS portal home refresh */
.fourteams{grid-template-columns:repeat(4,minmax(0,1fr))}.fourteams .teamcard{padding:17px;gap:12px}.panelhome{min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#0f1e30,#0b1726)}.panelhome .sectionhead h2{font:750 21px Manrope;margin:0}.facebookbox{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:200px}.sponsorstrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:20px 0 0;overflow:hidden}.sponsorstrip h2{font:750 19px Manrope;margin:0 0 16px}.sponsortrack{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:6px}.sponsortrack::-webkit-scrollbar{display:none}.sponsoritem{height:70px;min-width:140px;max-width:190px;flex:1 0 140px;display:grid;place-items:center;border-radius:8px;background:#fff;padding:9px;color:#13243a}.sponsoritem a{width:100%;height:100%;display:grid;place-items:center}.sponsoritem img{max-width:100%;max-height:52px;object-fit:contain}.sponsoritem b{text-align:center;font-size:12px}.contactteaser{display:flex;align-items:center;justify-content:space-between;gap:20px}.contactteaser h2{font:750 24px Manrope;margin:0}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contactrow{display:grid;grid-template-columns:1fr;gap:5px;padding:15px 0;border-bottom:1px solid var(--line)}.contactrow b{font-size:14px}.contactrow span,.contactrow a{font-size:13px;color:#c7d8ed}.contactrow a{color:var(--blue2)}.mapframe{height:340px;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:15px 0}.mapframe iframe{width:100%;height:100%;border:0}.adminhelp{color:var(--muted);font-size:12px}
@media(max-width:1000px){.fourteams{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.contactgrid{grid-template-columns:1fr}.contactteaser{align-items:flex-start;flex-direction:column}.fourteams{grid-template-columns:1fr}}

/* KTS Sokół Rychtal — jasny układ zgodny z makietą klubową */
:root{--bg:#f1f4f8;--panel:#fff;--panel2:#f7f9fc;--line:#e1e7ef;--text:#101d31;--muted:#64748b;--blue:#0867f2;--blue2:#0867f2;--silver:#cbd5e1}
html{background:#f1f4f8}body{background:#f1f4f8;color:#101d31;line-height:1.45}
.top{min-height:82px;padding:10px clamp(16px,3vw,48px);background:#061b34;border-bottom:0;color:#fff}
.brand b{font-size:18px;letter-spacing:0;color:#fff}.brand small{color:#d2dfef;letter-spacing:.08em}.crest{width:58px;height:62px;border-radius:8px;background:linear-gradient(145deg,#0c2d50,#06172a);border:1px solid #d8e7f8;color:#fff}
.top nav{gap:20px;color:#f0f5fc;font-size:12px;align-items:center}.top nav a{padding:9px 0}.top nav a:first-child{background:#0867f2;border-radius:6px;padding:12px 16px;color:#fff}
.wrap{max-width:1440px;padding:0 16px 0;background:#f1f4f8}
.hero{position:relative;isolation:isolate;display:block;min-height:240px;margin:0 -16px;padding:45px clamp(24px,3.2vw,52px);border:0;color:#fff;background:linear-gradient(90deg,rgba(2,18,35,.94) 0%,rgba(3,25,48,.72) 48%,rgba(2,17,33,.12) 100%),url('https://images.unsplash.com/photo-1611251135345-18c56206b863?auto=format&fit=crop&w=1800&q=85') center 53%/cover no-repeat}
.hero h1{font:900 clamp(38px,4.8vw,68px)/.98 Manrope,sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:0 0 10px;color:#fff}.hero h1 span{color:#0875ff}.hero p.eyebrow{display:none}.hero p:not(.eyebrow){margin:12px 0 0;color:#e1eaf5;font-size:15px;max-width:560px}.heroactions{margin-top:18px}.hero-badge{display:none}
.section{padding:14px 0}.fourteams{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fourteams .teamcard{position:relative;min-height:130px;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;padding:16px;border:0;border-radius:9px;color:#fff;background:linear-gradient(90deg,rgba(4,26,52,.95),rgba(0,65,135,.52)),url('https://images.unsplash.com/photo-1611251135345-18c56206b863?auto=format&fit=crop&w=700&q=75') center/cover;box-shadow:none}.fourteams .teamcard:nth-child(2){background-image:linear-gradient(90deg,rgba(4,26,52,.95),rgba(0,65,135,.52)),url('https://images.unsplash.com/photo-1611251135345-18c56206b863?auto=format&fit=crop&w=700&q=75')}.fourteams .teamcard:nth-child(3),.fourteams .teamcard:nth-child(4){background-image:linear-gradient(90deg,rgba(4,26,52,.95),rgba(0,65,135,.52)),url('https://images.unsplash.com/photo-1611251135345-18c56206b863?auto=format&fit=crop&w=700&q=75')}
.teamicon{display:none}.teamcard h3{font:800 22px/1.15 Manrope;margin:0 0 14px;color:#fff;max-width:200px}.teamcard small{display:block;color:#e0ebfa;font-size:12px}.linklabel{display:none}.fourteams .teamcard:after{content:'›';position:absolute;right:14px;bottom:13px;border:2px solid white;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:22px;line-height:16px;color:white}
.split{grid-template-columns:1.55fr .95fr;gap:12px;align-items:stretch}.panelhome{padding:16px;background:#fff;border:0;border-radius:11px;box-shadow:0 1px 2px #13243a08}.sectionhead{align-items:center;margin-bottom:12px}.sectionhead h2,.panelhome .sectionhead h2{font:800 21px Manrope;color:#101d31}.sectionhead>a{color:#0867f2}.matchrow{padding:9px 0;gap:12px;border-color:#e8edf3}.matchdate{background:#f0f3f7;color:#101d31;border-radius:8px;min-width:54px;height:54px;font-size:18px}.matchdate small{color:#64748b}.matchinfo b{font-size:12px;color:#101d31}.matchinfo small{color:#334155;font-size:11px}.score{color:#101d31}.status{background:#eaf3ff;border:0;color:#0867f2}.empty{background:#f8fafc;border-color:#dce4ee;color:#64748b}
.facebookbox{background:#fff;border:0;border-radius:10px}.section:has(.facebookbox) .sectionhead{padding:0 0 4px}.sponsorstrip{background:#061b34;color:#fff;margin:0 -16px;padding:22px 16px 18px;border:0}.sponsorstrip h2{color:#fff;font-size:17px}.sponsortrack{gap:4px}.sponsoritem{height:58px;min-width:92px;max-width:150px;flex:1 0 92px;border-radius:4px;border:1px solid #dce3ed;padding:6px}.contactteaser{background:#fff;border-radius:10px;padding:20px;margin:14px 0}.contactteaser h2{color:#101d31}.contactrow span,.contactrow a{color:#334155}.mapframe{border-color:#dce4ee}
footer{background:#061b34;color:#e3edf8;border:0;margin:0 -16px;padding:22px 16px}
.pageintro h1,.smallhero h1{color:#101d31}.pageintro p:not(.eyebrow){color:#64748b}.panel,.fixture,.playercard,.stat{background:#fff;border-color:#e1e7ef;color:#101d31}.fixturemain h3,.fixturedate b,.stat b{color:#101d31}.fixturedate span,.fixturemain h3 span,.muted{color:#64748b}.filter{background:#fff;border-color:#dbe3ed;color:#334155}.filter.active{background:#0867f2;color:#fff}.status{color:#075acb}.protocol{color:#0867f2}input,select{background:#fff;color:#101d31;border-color:#cbd5e1}.adminnav a{color:#334155;border-color:#dbe3ed}.adminbar h1{color:#101d31}.adminhelp{color:#64748b}
@media(max-width:1000px){.fourteams{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.top nav{gap:12px}}
@media(max-width:800px){.top{position:relative;align-items:flex-start;flex-direction:column}.top nav{flex-wrap:wrap}.hero{margin:0 -13px;min-height:220px;padding:34px 20px;background-position:60% center}.hero h1{font-size:38px}.fourteams{grid-template-columns:repeat(2,minmax(0,1fr))}.fourteams .teamcard{min-height:120px;padding:13px}.teamcard h3{font-size:18px}.sponsorstrip{margin:0 -13px}.contactteaser{margin:12px 0}}
@media(max-width:480px){.fourteams{grid-template-columns:1fr 1fr;gap:8px}.fourteams .teamcard{min-height:110px}.teamcard h3{font-size:16px}.top nav{gap:10px;font-size:11px}.hero h1{font-size:32px}}


/* Logo and banner are supplied by the club administrator; original image files are not altered. */
.brand-logo{display:block;width:58px;height:58px;object-fit:contain;flex:none;background:transparent;border:0;border-radius:0;box-shadow:none}
.brand>span:last-child{display:block}
.brand b{letter-spacing:0;font-size:16px}
.hero.hero-banner{display:flex;align-items:flex-end;justify-content:flex-start;min-height:clamp(220px,32vw,410px);padding:28px clamp(18px,4vw,52px);border:0;border-radius:0;background-color:#0a2038;background-position:center;background-size:cover;background-repeat:no-repeat;position:relative}
.hero.hero-banner .heroactions{position:relative;z-index:1;margin:0;gap:10px}
.hero.hero-banner .btn.ghost{background:rgba(5,18,34,.72);backdrop-filter:blur(5px)}
@media(max-width:700px){
 .top{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:14px 18px}
 .brand-logo{width:58px;height:58px}
 .top nav{width:100%;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px}
 .hero.hero-banner{min-height:250px;padding:18px; background-position:center}
 .hero.hero-banner .heroactions{flex-wrap:wrap}
}
