@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonty/barlow-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonty/barlow-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonty/barlow-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonty/barlow-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonty/barlow-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonty/barlow-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonty/barlow-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonty/barlow-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonty/barlow-condensed-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonty/barlow-condensed-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonty/barlow-condensed-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonty/barlow-condensed-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonty/ibm-plex-sans-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --pr-red: #ec2028;
  
  --pr-red-tekst: #e21f26;
  --pr-red-dark: #b3161d;
  --pr-red-deep: #920c10;
  --pr-red-tint: #fdecea;
  --pr-green: #2a7a5a;
  --pr-brass: #c8a84e;
  --pr-brass-dim: #a08838;
  --pr-gunmetal: #2a2d33;
  --pr-gunmetal-light: #363940;
  --pr-ink: #15171b;
  --pr-fg: #23252a;
  
  --pr-fg-2: #66686e;
  --pr-bg: #f4f3f1;
  --pr-card: #ffffff;
  --pr-stroke: #e4e2df;
  --pr-frame: #101216;
  --pr-frame-2: #191c22;
  --pr-frame-fg: #f2f0ee;
  --pr-frame-dim: #9a9da3;
  
  --pr-ok: #1f8a4c;
  --pr-ok-tint: #e8f6ee;
  --pr-ok-text: #146b39;
  --pr-warn: #b26a00;
  --pr-warn-tint: #fdf3e2;
  --pr-warn-text: #6b4a06;
  --ripple-x: 50%;
  --ripple-y: 50%;
  
  --wys-belki: 56px;
  --ff-disp: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --ff-body: 'Barlow', 'Segoe UI', sans-serif;
}
*{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{ margin: 0; font-family: var(--ff-body); background: var(--pr-bg); color: var(--pr-fg); font-size: 15.5px; line-height: 1.5; }
a{ color: var(--pr-red-dark); text-decoration: none; }
a:hover{ text-decoration: underline; }
h1, h2, h3{ font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .02em; line-height: 1.1; color: var(--pr-ink); }
h1{ font-size: 30px; font-weight: 700; margin: 0 0 20px; }
h1::after{ content: ''; display: block; width: 44px; height: 4px; background: var(--pr-red); margin-top: 8px; border-radius: 2px; }
h2{ font-size: 21px; font-weight: 600; margin: 26px 0 12px; }
h3{ font-size: 17px; font-weight: 600; margin: 18px 0 8px; }
.btn, button.btn{
  display: inline-block; background: var(--pr-red-tekst); color: #fff; border: none; border-radius: 7px;
  padding: 10px 20px; font-size: 15px; font-weight: 600; font-family: var(--ff-body);
  cursor: pointer; text-decoration: none; transition: background .15s, transform .05s;
}
.btn:hover{ background: var(--pr-red-dark); text-decoration: none; }
.btn:active{ transform: translateY(1px); }
.btn-ghost, button.btn-ghost{ background: transparent; color: var(--pr-ink); border: 1.5px solid var(--pr-stroke); }
.btn-ghost:hover, button.btn-ghost:hover{ background: var(--pr-bg); border-color: var(--pr-fg-2); }
button:not(.btn):not(.link-btn):not(.karta-guzik){
  background: var(--pr-red-tekst); color: #fff; border: none; border-radius: 7px; padding: 9px 16px;
  font-family: var(--ff-body); font-size: 14px; font-weight: 600; cursor: pointer;
}
button:not(.btn):not(.link-btn):not(.karta-guzik):hover{ background: var(--pr-red-dark); }
.link-btn{ background: none; border: none; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; padding: 0; }
input[type=text], input[type=password], input[type=email], input[type=date], input[type=number],
input[type=search], input[type=tel], input[type=url], input[type=time], input[type=datetime-local], input[type=month],
select, textarea{
  width: 100%; padding: 10px 12px; border: 1.5px solid var(--pr-stroke); border-radius: 7px;
  font-size: 15px; font-family: var(--ff-body); background: #fff; color: var(--pr-fg);
}
input:focus, select:focus, textarea:focus{ outline: 2px solid var(--pr-ink); outline-offset: 0; border-color: transparent; box-shadow: 0 0 0 4px rgba(236,32,40,.12); }
input:user-invalid, select:user-invalid, textarea:user-invalid{ border-color: var(--pr-red-dark); }
label{ font-size: 13px; color: var(--pr-fg-2); font-weight: 500; }
select{ width: auto; min-width: 160px; }
.err, .error{ color: var(--pr-red-dark); font-weight: 600; }
.ok{ color: var(--pr-ok-text); font-weight: 600; }
.success{ color: var(--pr-ok-text); font-weight: 600; }
.czytnik-tylko, .www-czytnik{
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.card{ background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px; padding: 22px; box-shadow: 0 1px 2px rgba(21,23,27,.04); }
.kpi-row{ display: flex; gap: 14px; flex-wrap: wrap; }
.kpi{ background: var(--pr-card); border: 1px solid var(--pr-stroke); border-left: 4px solid var(--pr-red); border-radius: 10px; padding: 14px 20px; min-width: 175px; }
.kpi b{ display: block; font-family: var(--ff-disp); font-size: 32px; font-weight: 700; line-height: 1; margin-bottom: 4px; }
.kpi span{ color: var(--pr-fg-2); font-size: 13px; }
.badge{ display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12.5px; font-weight: 600; }
.badge-ok{ background: var(--pr-ok-tint); color: var(--pr-ok-text); }
.badge-err{ background: var(--pr-red-tint); color: var(--pr-red-dark); }
.badge-warn{ background: var(--pr-warn-tint); color: var(--pr-warn-text); }
table{ border-collapse: collapse; width: 100%; background: var(--pr-card); font-size: 14.5px; }
th{
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .06em; font-size: 13px;
  font-weight: 600; color: var(--pr-fg-2); text-align: left; padding: 10px 12px;
  border-bottom: 2px solid var(--pr-ink); white-space: nowrap;
}
td{ padding: 9px 12px; border-bottom: 1px solid var(--pr-stroke); }
tbody tr:hover{ background: #faf7f5; }
.main h1, .member-zone h1, .auth-body h1{ text-transform: none; letter-spacing: 0; }
.main h1::after, .member-zone h1::after, .auth-body h1::after{ display: none; }
.main th, .member-zone th{
  font-family: var(--ff-body); text-transform: none; letter-spacing: 0;
  font-size: 13px; font-weight: 500; border-bottom: 1px solid var(--pr-fg);
}
.rail{ width: 216px; background: var(--pr-frame); color: var(--pr-frame-fg); padding: 14px 0 24px; flex-shrink: 0; }
.rail .lbl{ font-family: var(--ff-disp); font-size: 11.5px; text-transform: uppercase; letter-spacing: .14em; color: var(--pr-frame-dim); padding: 16px 20px 6px; }
.rail .nav-i{ display: block; color: var(--pr-frame-fg); text-decoration: none; padding: 9px 20px; font-size: 14.5px; border-left: 3px solid transparent; }
.rail .nav-i:hover{ background: var(--pr-frame-2); border-left-color: var(--pr-red); text-decoration: none; }
.main{ flex: 1; padding: 28px 32px; max-width: 1240px; min-width: 0; }
.auth-body{
  min-height: 100vh; margin: 0; display: flex; align-items: center; justify-content: flex-start;
  background: var(--pr-frame) url('/assets/tlo-strzelnica.jpg') center right / cover no-repeat;
  padding: 40px clamp(16px, 8vw, 120px);
}
@media (max-width: 720px){
.auth-body{ justify-content: center; padding: 24px 14px; background-position: 62% center; }
}
.auth-card{
  animation: pr-wjazd .5s cubic-bezier(.2, .75, .3, 1) both;
  width: 400px; max-width: 100%; background: rgba(16, 18, 22, .94);
  border: 1px solid rgba(242, 240, 238, .12);
  border-radius: 14px; padding: 34px 32px 30px; color: var(--pr-frame-fg);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}
.auth-logo{ text-align: center; margin-bottom: 20px; }
.auth-logo img{ height: 52px; filter: drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.auth-card h1{ color: var(--pr-frame-fg); font-size: 24px; text-align: center; margin-bottom: 4px; }
.auth-card h1::after{ margin-left: auto; margin-right: auto; }
.auth-sub{ text-align: center; color: var(--pr-frame-dim); font-size: 13.5px; margin: 0 0 18px; }
.auth-card label{ display: block; margin: 15px 0 6px; color: var(--pr-frame-dim); }
.auth-card input, .auth-card select, .auth-card textarea{
  background: rgba(242, 240, 238, .07); border-color: rgba(242, 240, 238, .18); color: var(--pr-frame-fg);
}
.auth-card input::placeholder{ color: rgba(242,240,238,.35); }
.auth-card .btn{ width: 100%; margin-top: 20px; padding: 12px; font-size: 15.5px; }
.auth-card a{ color: #ff8b90; }
.auth-foot{ margin-top: 16px; text-align: center; font-size: 13px; color: var(--pr-frame-dim); }
code.secret{ display: block; background: rgba(242,240,238,.08); border: 1px dashed rgba(242,240,238,.25); padding: 10px; text-align: center; font-size: 16px; letter-spacing: 2px; margin: 10px 0; word-break: break-all; color: var(--pr-frame-fg); }
input[name=code]{ text-align: center; font-size: 22px; letter-spacing: 8px; }
.pub-body{ background: var(--pr-bg); margin: 0; }
.pub-hero{
  color: var(--pr-frame-fg); padding: 72px 20px 58px; text-align: center;
  border-bottom: 4px solid var(--pr-red); position: relative; overflow: hidden;
  background: var(--pr-frame) url('/assets/hero-ranking.jpg') center center / cover no-repeat;
}
.pub-hero::before{
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 46%, rgba(16, 18, 22, .88) 0%, rgba(16, 18, 22, .55) 46%, rgba(16, 18, 22, .35) 100%),
    linear-gradient(180deg, rgba(16, 18, 22, .55) 0%, rgba(16, 18, 22, .2) 40%, rgba(16, 18, 22, .8) 100%);
}
.pub-hero > *{ position: relative; }
.pub-hero img{ height: 46px; margin-bottom: 12px; }
.pub-hero h1{ color: var(--pr-frame-fg); font-size: clamp(28px, 5vw, 40px); margin: 0; text-shadow: 0 2px 18px rgba(0,0,0,.6); }
.pub-hero h1::after{ margin: 10px auto 0; }
.pub-hero .sub{ color: var(--pr-frame-dim); font-size: 14px; margin-top: 10px; }
.pub-wrap{ max-width: 900px; margin: 0 auto; padding: 30px 16px 70px; }
.pub-wrap .card{ overflow-x: auto; margin-bottom: 22px; }
.pub-foot{ text-align: center; color: var(--pr-fg-2); font-size: 12.5px; padding: 18px; }
.miejsce{
  display: inline-flex; align-items: center; justify-content: center;
  width: 27px; height: 27px; border-radius: 50%; font-weight: 700; font-size: 13.5px; color: var(--pr-fg-2);
}
.miejsce-1{ background: linear-gradient(145deg, #f6d97e 0%, #c9a13c 100%); color: #3b2c05; box-shadow: 0 2px 8px rgba(201,161,60,.45); }
.miejsce-2{ background: linear-gradient(145deg, #ececed 0%, #a9a9b1 100%); color: #2b2b30; }
.miejsce-3{ background: linear-gradient(145deg, #e6b78e 0%, #a9743f 100%); color: #34210f; }
.rank-1 td{ font-weight: 700; }
.rank-pasek{
  
  --udzial: 0%;
  background-image: linear-gradient(90deg,
    rgba(236, 32, 40, .14) 0, rgba(236, 32, 40, .14) var(--udzial),
    transparent var(--udzial));
  background-repeat: no-repeat;
}
.card.karta-tabela{ padding: 0; }
.rank-miejsce-kol{ width: 80px; text-align: center; }
.rank-punkty-kol{ text-align: right; }
table td.rank-punkty-kol{ font-weight: 600; }
.lider{
  display: flex; align-items: center; gap: 16px; margin: 0 0 12px;
  background: var(--pr-frame); color: var(--pr-frame-fg);
  border-radius: 12px; padding: 14px 20px;
}
.lider img{ width: 46px; height: 46px; flex-shrink: 0; }
.lider{ flex-wrap: wrap; }
.lider > div{ min-width: 0; }
.lider .kto{ overflow-wrap: anywhere; }
.lider .kto{ font-family: var(--ff-disp); font-size: 20px; text-transform: uppercase; letter-spacing: .03em; }
.lider .co{ color: var(--pr-frame-dim); font-size: 12.5px; text-transform: uppercase; letter-spacing: .12em; }
.lider .punkty{ margin-left: auto; font-family: var(--ff-disp); font-size: 28px; font-weight: 700; }
.dyscyplina{ display: flex; align-items: center; gap: 12px; margin: 30px 0 12px; }
.dyscyplina h2{ margin: 0; }
.dyscyplina h2::after{ display: none; }
.dyscyplina .ikona{
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 10px; background: var(--pr-frame);
  display: flex; align-items: center; justify-content: center;
}
.dyscyplina .ikona img{ width: 34px; height: 34px; object-fit: contain; }
.dash{ display: grid; gap: 16px; }
.qa-bar{ display: flex; gap: 10px; flex-wrap: wrap; }
.dash-cols{ display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
@media (max-width: 900px){
.dash-cols{ grid-template-columns: 1fr; }
}
.panel{ background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px; padding: 22px; box-shadow: 0 1px 2px rgba(21,23,27,.04); }
.list-row{ display: flex; align-items: center; gap: 12px; padding: 10px; border-bottom: 1px solid var(--pr-stroke); transition: background .2s; }
.list-row:hover{ background: #faf7f5; }
.list-row .meta{ color: var(--pr-fg-2); font-size: 13px; }
.empty{ color: var(--pr-fg-2); padding: 12px; text-align: center; }
.bar{ height: 8px; background: var(--pr-stroke); border-radius: 4px; overflow: hidden; }
.bar .fill{ height: 100%; background: var(--pr-red); }
.czolo{
  position: relative; overflow: hidden; border-radius: 14px; margin-bottom: 26px;
  padding: 34px 30px; color: var(--pr-frame-fg);
  background: var(--pr-frame) url('/assets/hero-czlonek.jpg') right center / cover no-repeat;
  border-bottom: 4px solid var(--pr-red);
}
.czolo::before{
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg,
    rgba(16, 18, 22, .97) 0%, rgba(16, 18, 22, .9) 40%,
    rgba(16, 18, 22, .55) 68%, rgba(16, 18, 22, .1) 100%);
}
.czolo::after{
  content: ''; position: absolute; right: 6%; top: 50%; width: 190px; height: 190px;
  transform: translateY(-50%); border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(236, 32, 40, .32) 0%, rgba(236, 32, 40, 0) 68%);
  animation: pr-oddech 5.5s ease-in-out infinite;
}
.czolo > *{ position: relative; }
.czolo h2, .czolo-pulpit h1{
  color: var(--pr-frame-fg); margin: 0 0 4px;
  font-family: var(--ff-disp); font-weight: 700; text-transform: uppercase;
  font-size: clamp(28px, 4.4vw, 40px); letter-spacing: .01em; line-height: 1.05;
}
.czolo .numer{
  display: inline-block; margin-bottom: 16px; color: var(--pr-frame-dim);
  font-family: var(--ff-disp); font-size: 15px; letter-spacing: .22em; text-transform: uppercase;
}
.czolo-fakty{ display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; }
.czolo-fakt{ min-width: 0; }
.czolo-fakt .etykieta{
  display: block; color: var(--pr-frame-dim); font-size: 11.5px;
  text-transform: uppercase; letter-spacing: .14em; margin-bottom: 2px;
}
.czolo-fakt .wartosc{ font-family: var(--ff-disp); font-size: 21px; font-weight: 600; }
.czolo-fakt .wartosc.uwaga{ color: #ff8b90; }
.czolo .badge{ font-size: 13px; padding: 5px 14px; }
.czolo-admin{ padding: 26px 28px 22px; }
.czolo-admin h2{ font-size: clamp(24px, 3.4vw, 33px); }
.czolo-admin .czolo-data{ margin: 2px 0 16px; color: var(--pr-frame-dim); font-size: 13.5px; }
.czolo-admin .qa-bar{ margin: 0; }
.czolo .btn-ghost{ color: var(--pr-frame-fg); border-color: rgba(242, 240, 238, .28); background: rgba(242, 240, 238, .04); }
.czolo .btn-ghost:hover{ background: rgba(242, 240, 238, .12); border-color: rgba(242, 240, 238, .5); }
.kafle{ display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); margin-bottom: 24px; }
.kafel{
  position: relative; overflow: hidden; display: block; padding: 17px 18px 15px;
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
  color: var(--pr-ink); text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  animation: pr-wjazd .5s cubic-bezier(.2, .75, .3, 1) both;
}
.kafel:nth-child(2){ animation-delay: .05s; }
.kafel:nth-child(3){ animation-delay: .1s; }
.kafel:nth-child(4){ animation-delay: .15s; }
.kafel::after{
  content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%;
  background: var(--pr-red); transform: scaleX(0); transform-origin: left;
  transition: transform .25s cubic-bezier(.2, .75, .3, 1);
}
.kafel:hover{ transform: translateY(-3px); box-shadow: 0 14px 30px rgba(21, 23, 27, .12); text-decoration: none; border-color: #d9d6d2; }
.kafel:hover::after{ transform: scaleX(1); }
.kafel .co{ display: block; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--pr-fg-2); margin-bottom: 5px; }
.kafel .tytul{ font-family: var(--ff-disp); font-size: 20px; font-weight: 600; text-transform: uppercase; line-height: 1.15; }
.kafel .tytul.uwaga{ color: var(--pr-red-dark); }
.kafel .strzalka{ position: absolute; right: 15px; top: 15px; color: var(--pr-red); font-size: 17px; transition: transform .2s ease; }
.kafel:hover .strzalka{ transform: translateX(4px); }
@keyframes pr-wjazd{ from { transform: translateY(14px); } to { transform: none; } }
@keyframes pr-oddech{ 0%, 100% { opacity: .5; transform: translateY(-50%) scale(1); } 50% { opacity: .95; transform: translateY(-50%) scale(1.07); } }
@keyframes pr-blysk{ to { transform: translateX(100%); } }
.czolo{ animation: pr-wjazd .5s cubic-bezier(.2, .75, .3, 1) both; }
.dash-cols > *, .dash-charts > *, .pub-wrap > .card, .pub-wrap > .lider{
  animation: pr-wjazd .5s cubic-bezier(.2, .75, .3, 1) both;
}
.dash-cols > *:nth-child(2), .dash-charts > *:nth-child(2){ animation-delay: .06s; }
.dash-cols > *:nth-child(3), .dash-charts > *:nth-child(3){ animation-delay: .12s; }
.dash-cols > *:nth-child(4), .dash-charts > *:nth-child(4){ animation-delay: .18s; }
.dash-cols > *:nth-child(n+5){ animation-delay: .24s; }
.card{ transition: border-color .18s ease, box-shadow .18s ease; }
.card:hover{ border-color: #d9d6d2; }
.kpi{ transition: border-color .18s ease; }
.btn{ position: relative; overflow: hidden; }
.rail .nav-i{ transition: background .15s ease, border-color .15s ease, padding-left .15s ease; }
.rail .nav-i:hover{ padding-left: 24px; }
.lider{ position: relative; overflow: hidden; }
.lider::after{
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, transparent 36%, rgba(255, 255, 255, .16) 50%, transparent 64%);
  transform: translateX(-100%);
  animation: pr-blysk 2.2s ease-out .3s 1 both;
}
@media (prefers-reduced-motion: reduce){
*, *::before, *::after{
    animation: none !important;
    transition: none !important;
  }
}
@media (max-width: 900px){
.rail{
    width: auto; display: flex; overflow-x: auto; padding: 0 6px;
    border-bottom: 1px solid rgba(242, 240, 238, .12); -webkit-overflow-scrolling: touch;
  }
.rail .lbl{ display: none; }
.rail .nav-i{
    white-space: nowrap; padding: 11px 13px; font-size: 14px;
    border-left: 0; border-bottom: 3px solid transparent;
  }
.rail .nav-i:hover{ border-left-color: transparent; border-bottom-color: var(--pr-red); }
.main{ padding: 18px 14px; max-width: none; }
.card, .panel{ overflow-x: auto; }
.main > table, .member-zone main > table{ display: block; overflow-x: auto; }
.kpi{ min-width: 0; flex: 1 1 140px; }
h1{ font-size: 26px; }
.main form{ flex-wrap: wrap; }
.main input, .main select{ max-width: 100%; }
}
@media print{
.topbar, .rail, .mnav{ display: none; }
body{ background: #fff; }
.card{ border: none; box-shadow: none; padding: 0; }
}
.rail .nav-i.tu{
  background: var(--pr-frame-2);
  border-left-color: var(--pr-red);
  color: #fff;
  font-weight: 600;
}
.plakietka-super{
  display: inline-block; background: var(--pr-red-tekst); color: #fff;
  font-family: var(--ff-disp); font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; padding: 2px 7px; border-radius: 3px; vertical-align: middle;
}
.btn-superadmin{ font-size: 17px; line-height: 1; color: var(--pr-red); }
.poziomy{ display: grid; gap: 10px; }
.poziom{
  display: flex; align-items: center; gap: 14px;
  border: 1px solid var(--pr-stroke); border-left: 4px solid var(--pr-red);
  border-radius: 5px; padding: 12px 14px; background: #fff;
}
.poziom-nr{
  flex: 0 0 32px; height: 32px; border-radius: 50%; background: var(--pr-frame);
  color: #fff; font-family: var(--ff-disp); font-size: 17px;
  display: flex; align-items: center; justify-content: center;
}
.poziom-opis{ color: var(--pr-fg-2); font-size: 13.5px; margin-top: 2px; }
.poziom-ilu{ margin-left: auto; font-family: var(--ff-disp); font-size: 22px; text-align: right; }
.poziom-ilu span{ display: block; font-family: var(--ff-body); font-size: 11.5px; color: var(--pr-fg-2); }
.macierz{ width: 100%; border-collapse: collapse; }
.macierz th, .macierz td{ padding: 8px 10px; border-bottom: 1px solid var(--pr-stroke); text-align: left; }
.macierz .srodek{ text-align: center; }
.macierz .sciezka{ font-size: 12px; color: var(--pr-fg-2); font-family: ui-monospace, monospace; }
.macierz .grupa-wiersz td{
  background: var(--pr-frame); color: var(--pr-frame-fg);
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .12em; font-size: 12.5px;
}
.ma-dostep{ color: var(--pr-ok-text); font-weight: 600; }
.bez-dostepu{ color: var(--pr-fg-2); }
.znacznik-flagi{
  font-size: 11px; text-transform: uppercase; letter-spacing: .08em;
  background: var(--pr-warn-tint); color: var(--pr-warn-text); padding: 2px 6px; border-radius: 3px;
}
.tabela-przewijana{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tabela-przewijana.odstep-gora{ margin-top: 16px; }
.uwaga{ color: var(--pr-fg-2); font-size: 13.5px; }
body.odmowa{ background: var(--pr-frame); color: var(--pr-frame-fg); }
.karta-odmowy{
  max-width: 520px; margin: 14vh auto; padding: 28px 30px;
  background: var(--pr-frame-2); border-radius: 6px; border-left: 4px solid var(--pr-red);
}
.karta-odmowy h1{ font-family: var(--ff-disp); font-size: 30px; margin: 0 0 12px; color: #fff; }
.karta-odmowy p{ color: var(--pr-frame-dim); }
.karta-odmowy a{ color: var(--pr-red); }
.blok + .blok, .czolo + .blok{ margin-top: 20px; }
@media (max-width: 900px){
.rail .lbl{
    display: flex; align-items: center; padding: 0 12px 0 4px;
    font-size: 10.5px; letter-spacing: .16em; white-space: nowrap;
    border-left: 1px solid rgba(242, 240, 238, .16); margin-left: 8px;
  }
.rail .lbl:first-child{ border-left: 0; margin-left: 0; }
.rail .nav-i.tu{ border-bottom-color: var(--pr-red); }
}
table, .kpi b, .czolo-fakt .wartosc, .poziom-ilu{ font-variant-numeric: tabular-nums; }
.main table a, .pub-wrap table a, .member-zone main table a{ color: var(--pr-ink); font-weight: 500; text-decoration: none; }
.main table a:hover, .pub-wrap table a:hover, .member-zone main table a:hover{ color: var(--pr-red-dark); text-decoration: underline; text-underline-offset: 3px; }
.tabela-karta{ background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px; box-shadow: 0 1px 2px rgba(21,23,27,.04); overflow: hidden; }
.tabela-naglowek{
  display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap;
  padding: 14px 18px; border-bottom: 1px solid var(--pr-stroke); background: #fbfaf9;
}
.tabela-naglowek h2, .tabela-naglowek h3{ margin: 0; font-size: 16px; }
.tabela-naglowek h2::after, .tabela-naglowek h3::after{ display: none; }
.tabela-licznik{ color: var(--pr-fg-2); font-size: 13px; }
.tabela-naglowek .do-prawej{ margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.tabela-karta .tabela-przewijana{ max-width: 100%; }
.tabela-karta table{ border-radius: 0; }
.tabela-przewijana{ max-height: none; }
.tabela-karta thead th{ position: sticky; top: 0; z-index: 1; background: #fbfaf9; }
table{ border-bottom: 0; }
th{ border-bottom: 1px solid var(--pr-ink); padding: 11px 14px; }
td{ padding: 10px 14px; }
tbody tr:nth-child(even){ background: rgba(21, 23, 27, .022); }
tbody tr:hover{ background: var(--pr-red-tint); }
.komorka-liczba{ text-align: right; white-space: nowrap; }
.komorka-akcje{ text-align: right; white-space: nowrap; width: 1%; }
.komorka-slaba{ color: var(--pr-fg-2); }
.kwota-zero{ color: var(--pr-fg-2); }
.kwota-dodatnia{ color: var(--pr-red-dark); font-weight: 600; }
.tabela-pusta{ padding: 18px 0; text-align: left; color: var(--pr-fg-2); }
.card.tabela-pusta{ padding: 22px; }
.tabela-pusta strong{ display: block; font-family: var(--ff-body); font-weight: 600; font-size: 15px; color: var(--pr-ink); margin-bottom: 2px; }
.tabela-pusta .btn{ margin-top: 12px; }
.card > .tabela-pusta{ padding: 4px 0 0; }
.stan{ display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.stan-aktywny{ background: var(--pr-ok-tint); color: var(--pr-ok-text); }
.stan-kandydat{ background: var(--pr-warn-tint); color: var(--pr-warn-text); }
.stan-byly{ background: #eceae7; color: var(--pr-fg-2); }
.stan-uwaga{ background: var(--pr-red-tint); color: var(--pr-red-dark); }
.badge-neutral{ background: #eceae7; color: var(--pr-fg-2); }
.pary{ display: grid; gap: 12px; margin: 0; }
.pary dt{ color: var(--pr-fg-2); font-size: 13px; }
.pary dd{ margin: 2px 0 0; font-size: 15.5px; white-space: pre-line; }
body.www .pary dt{ font-size: 14px; }
.podpis{ color: var(--pr-fg-2); font-size: 14px; margin: -4px 0 14px; }
.formularz-wniosku, .formularz-decyzji{ display: flex; flex-direction: column; gap: 12px; }
.formularz-decyzji{ align-items: flex-start; }
.formularz-decyzji > label, .formularz-decyzji > p,
.formularz-decyzji select, .formularz-decyzji textarea{ align-self: stretch; }
.formularz-wniosku label, .formularz-decyzji label{
  display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--pr-fg-2);
}
.formularz-wniosku label + input, .formularz-wniosku label + select{ margin-bottom: 10px; }
.wybor-dyscyplin{ display: grid; gap: 8px; margin-bottom: 4px; }
.formularz-wniosku label.pole-wyboru, .pole-wyboru{
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px;
  padding: 10px 12px; border: 1px solid var(--pr-stroke); border-radius: 8px; background: #fff;
  font-weight: 400; margin: 0; cursor: pointer;
}
.pole-wyboru:has(input:checked){ border-color: var(--pr-red); background: var(--pr-red-tint); }
.pole-wyboru input{ width: auto; margin: 0; }
.pole-wyboru .komorka-slaba{ font-size: 12.5px; text-align: right; }
@media (max-width: 420px){
.formularz-wniosku label.pole-wyboru, .pole-wyboru{ grid-template-columns: auto 1fr; align-items: start; }
.pole-wyboru > span:first-of-type{ grid-column: 2; grid-row: 1; }
.pole-wyboru .komorka-slaba{ grid-column: 2; grid-row: 2; text-align: left; }
.pole-wyboru input{ grid-row: 1; }
}
.naglowek-strony{ display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.naglowek-strony h1{ margin: 0; }
.naglowek-strony .do-prawej{ margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.btn-maly{ padding: 6px 13px; font-size: 13.5px; }
.btn-drugi{ background: var(--pr-frame); color: #fff; }
.btn-drugi:hover{ background: var(--pr-frame-2); }
.strony{ display: flex; gap: 10px; align-items: center; justify-content: center; margin-top: 16px; color: var(--pr-fg-2); font-size: 14px; }
a:focus-visible, .btn:focus-visible, button:focus-visible, .nav-i:focus-visible, .mnav a:focus-visible, .kafel:focus-visible, summary:focus-visible{
  outline: 3px solid var(--pr-red); outline-offset: 2px; border-radius: 4px;
}
.rail .nav-i:focus-visible{ outline-offset: -3px; }
.rail{ position: sticky; top: var(--wys-belki); align-self: flex-start; max-height: calc(100dvh - var(--wys-belki)); overflow-y: auto; scrollbar-width: thin; }
.rail .nav-i{ display: flex; align-items: center; gap: 10px; }
.ikona{ width: 18px; height: 18px; flex: 0 0 18px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; opacity: .72; }
.rail .nav-i.tu .ikona{ opacity: 1; color: var(--pr-red); }
.rail .nav-i:hover .ikona{ opacity: 1; }
.kpi-row, .dash-kpis{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(178px, 100%), 1fr)); gap: 14px; }
.kpi{ min-width: 0; }
.kl-pulpit .kpi-row{ grid-template-columns: repeat(auto-fit, minmax(min(128px, 100%), 1fr)); gap: 12px; margin-top: 18px; }
.kl-pulpit .kpi{ padding: 14px 16px; }
.kpi b{ white-space: nowrap; }
.kl-pulpit .kpi-kwota{ grid-column: span 2; }
.kl-pulpit .kpi-row .kpi{ font-size: 13px; }
.kl-pulpit .kl-glowa{ align-items: baseline; }
.kl-pulpit .kl-pulpit-data{ margin: 0; font-size: 14px; }
.kl-pulpit .qa-bar{ margin: 14px 0 0; gap: 8px; }
.kl-pulpit .qa-bar .btn{ padding: 8px 14px; font-size: 14px; }
.kl-pulpit .card h2, .kl-pulpit .tabela-naglowek h2{ font-family: var(--ff-body); text-transform: none; letter-spacing: 0; font-size: 17px; font-weight: 600; }
.wykres-pusto{ margin: 4px 0 0; color: var(--pr-fg-2); font-size: 14px; }
.btn:disabled, button.btn:disabled{ opacity: .45; cursor: not-allowed; }
.btn:disabled:hover, button.btn:disabled:hover{ background: var(--pr-red-tekst); }
.btn-ghost:disabled:hover, button.btn-ghost:disabled:hover{ background: transparent; }
#podgladDiv{ padding: 12px 0 0 !important; background: none !important; }
#podgladTabela th:first-child{ white-space: normal; width: 84px; }
#podgladTabela td.imp-data{ white-space: nowrap; }
#podgladTabela tr.imp-sprawdz td:first-child{ box-shadow: inset 4px 0 0 var(--pr-warn); }
#podgladTabela tr.imp-sprawdz{ background: var(--pr-warn-tint); }
#podgladTabela tr.imp-pominieta td{ color: var(--pr-fg-2); }
#podgladTabela td[data-znacznik]::before{
  content: attr(data-znacznik); display: table; margin: 0 0 4px; padding: 2px 9px; border-radius: 20px;
  font-size: 12.5px; font-weight: 600; background: var(--pr-bg); color: var(--pr-fg);
}
#podgladTabela tr.imp-sprawdz td[data-znacznik]::before{ background: var(--pr-warn-text); color: #fff; }
#podgladTabela td.imp-decyzja input[type=checkbox]{ width: 20px; height: 20px; margin: 0; }
@media (max-width: 700px){
#podgladTabela tr.imp-sprawdz{ box-shadow: inset 4px 0 0 var(--pr-warn); }
#podgladTabela tr.imp-sprawdz td:first-child{ box-shadow: none; }
#podgladTabela td.imp-decyzja:empty{ display: none; }
#podgladTabela td.imp-data{ grid-row: 1; grid-column: 1; }
#podgladTabela td[data-znacznik]{ grid-row: 2; grid-column: 1 / -1 !important; }
#podgladTabela tr:has(td.imp-decyzja:not(:empty)) td[data-znacznik]{ grid-column: 1 !important; }
#podgladTabela td.imp-decyzja{ grid-row: 2; grid-column: 2; display: flex; align-items: flex-start; justify-content: flex-end; min-height: 44px; min-width: 44px; }
#podgladTabela td.imp-decyzja::before{ content: none; }
#podgladTabela td.imp-decyzja input[type=checkbox]{ width: 24px; height: 24px; }
#podgladTabela td[data-etykieta="Wpłacający"], #podgladTabela td[data-etykieta="Tytuł"]{ grid-column: 1 / -1; }
}
@media (max-width: 700px){
.tabela-kartowa thead{ display: none; }
.tabela-kartowa, .tabela-kartowa tbody, .tabela-kartowa tr, .tabela-kartowa td{ display: block; width: auto; }
.tabela-kartowa tr{
    border-bottom: 1px solid var(--pr-stroke); padding: 12px 14px;
    display: grid; grid-template-columns: 1fr auto; gap: 2px 12px;
  }
.tabela-kartowa tr:nth-child(even){ background: transparent; }
.tabela-kartowa td{ border: 0; padding: 0; }
.tabela-kartowa td::before{
    content: attr(data-etykieta) ' ';
    color: var(--pr-fg-2); font-size: 12.5px;
    display: block;
  }
.tabela-kartowa td.glowna{ grid-column: 1; grid-row: 1; font-size: 16px; font-weight: 600; }
.tabela-kartowa td.glowna::before{ display: none; }
.tabela-kartowa td.komorka-liczba{ grid-column: 2; grid-row: 1; text-align: right; }
.tabela-karta thead th{ position: static; }
}
@media (max-width: 900px){
.rail{ position: static; max-height: none; overflow: visible; }
.naglowek-strony{ align-items: flex-start; }
.naglowek-strony .do-prawej{ margin-left: 0; width: 100%; }
.tabela-naglowek{ padding: 12px 14px; }
.tabela-naglowek .do-prawej{ margin-left: 0; width: 100%; }
th, td{ padding: 9px 10px; }
}
@media (max-width: 900px){
.rail{
    
    position: fixed; inset: 0 auto 0 0; z-index: 40;
    padding-top: calc(var(--wys-belki) + 6px);
    width: 264px; max-width: 84vw; display: block; overflow-y: auto; overflow-x: hidden;
    -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    padding-bottom: 26px; border-bottom: 0; border-right: 1px solid rgba(242, 240, 238, .12);
    
    transform: translateX(-100%); visibility: hidden;
    transition: transform .22s cubic-bezier(.2, .75, .3, 1), visibility .22s;
    box-shadow: 0 0 40px rgba(0, 0, 0, .5);
  }
.rail .lbl{
    display: block; padding: 14px 20px 5px; border-left: 0; margin-left: 0;
    font-size: 11px; letter-spacing: .16em;
  }
.rail .nav-i{
    display: flex; white-space: normal; padding: 12px 20px; font-size: 15px;
    border-left: 3px solid transparent; border-bottom: 0; min-height: 44px;
  }
.rail .nav-i:hover{ border-bottom-color: transparent; border-left-color: var(--pr-red); }
.rail .nav-i.tu{ border-left-color: var(--pr-red); border-bottom-color: transparent; }
}
.lista-zadan{ display: grid; }
.zadanie{
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 10px; margin: 0 -10px; border-bottom: 1px solid var(--pr-stroke);
  color: var(--pr-ink); font-weight: 500; border-radius: 6px;
  transition: background .15s ease;
}
.zadanie:last-child{ border-bottom: 0; }
.zadanie:hover{ background: var(--pr-bg); text-decoration: none; color: var(--pr-red-dark); }
@media (max-width: 700px){
.kpi-row, .dash-kpis{ grid-template-columns: repeat(auto-fit, minmax(min(146px, 100%), 1fr)); gap: 10px; }
.kpi{ padding: 12px 14px; }
.kpi b{ font-size: 26px; }
.czolo-admin{ padding: 18px 18px 16px; }
.czolo-admin .qa-bar .btn{ padding: 8px 13px; font-size: 14px; }
.czolo .numer{ letter-spacing: .12em; font-size: 13px; }
}
.kwota-glowna{
  background: var(--pr-frame); color: var(--pr-frame-fg);
  border-radius: 14px; padding: 22px 24px; margin: 0 0 18px;
  border-left: 5px solid var(--pr-ok);
}
.kwota-glowna.zalega{ border-left-color: var(--pr-red); }
.kwota-glowna .etykieta{
  display: block; color: var(--pr-frame-dim); font-size: 12px;
  text-transform: uppercase; letter-spacing: .16em; margin-bottom: 6px;
}
.kwota-glowna .kwota{ font-family: var(--ff-disp); font-size: clamp(34px, 9vw, 46px); font-weight: 700; line-height: 1; letter-spacing: .01em; }
.kwota-glowna.oplacone .kwota{ font-size: clamp(26px, 6.5vw, 34px); color: #8fe0ac; }
.kwota-glowna .pod{ margin: 10px 0 0; color: var(--pr-frame-dim); font-size: 14px; }
.naleznosci{ display: grid; gap: 12px; }
.naleznosc{
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
  padding: 16px 18px; box-shadow: 0 1px 2px rgba(21,23,27,.04);
}
.naleznosc.spozniona{ border-left: 4px solid var(--pr-red); }
.naleznosc-glowa{ display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 12px; }
.naleznosci > *{ min-width: 0; }
.naleznosc-glowa h3{ margin: 0; font-size: 17px; }
.naleznosc-glowa .okres{ color: var(--pr-fg-2); font-size: 13.5px; }
.naleznosc-glowa .stan{ margin-left: auto; flex-shrink: 0; }
.naleznosc-fakty{ display: flex; flex-wrap: wrap; gap: 12px 26px; margin: 14px 0 0; }
.naleznosc-fakty > div{ min-width: 0; }
.naleznosc-fakty dt{
  color: var(--pr-fg-2); font-size: 11.5px; text-transform: uppercase; letter-spacing: .12em;
}
.naleznosc-fakty dd{ margin: 2px 0 0; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.naleznosc-fakty .slownie{ display: block; font-size: 12.5px; font-weight: 400; color: var(--pr-fg-2); }
.naleznosc .btn{ margin-top: 14px; width: 100%; min-height: 46px; }
.przelew{
  background: var(--pr-card); color: var(--pr-fg);
  border: 1px solid var(--pr-stroke); border-radius: 14px; padding: 18px 20px; margin: 0 0 22px;
}
.przelew-wstep{ margin: 0 0 14px; color: var(--pr-fg-2); font-size: 14px; }
.przelew dl{ display: grid; gap: 10px; margin: 0; }
.przelew dt{ color: var(--pr-fg-2); font-size: 13px; text-transform: none; letter-spacing: 0; }
.przelew dd{ margin: 2px 0 0; font-size: 16px; }
.przelew button.do-kopii:not(.btn):not(.link-btn){
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; text-align: left; min-height: 44px;
  background: #fff; border: 1.5px solid var(--pr-stroke);
  color: var(--pr-fg); border-radius: 7px; padding: 10px 12px;
  font-family: var(--ff-body); font-size: 16px; font-weight: 600; letter-spacing: .02em;
  cursor: pointer; word-break: break-word;
}
.przelew button.do-kopii:not(.btn):not(.link-btn)::after{
  content: 'Kopiuj'; flex: none; font-size: 13.5px; font-weight: 600; letter-spacing: 0;
  color: var(--pr-red-tekst); text-decoration: underline; text-underline-offset: 3px;
}
.przelew button.do-kopii:not(.btn):not(.link-btn):hover{ background: #fff; border-color: var(--pr-fg-2); }
.przelew-uwaga{ margin: 14px 0 0; color: var(--pr-fg-2); font-size: 13px; }
.komunikat{
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%);
  max-width: min(560px, calc(100vw - 28px)); z-index: 60;
  padding: 12px 18px; border-radius: 10px; font-weight: 600;
  box-shadow: 0 12px 30px rgba(21, 23, 27, .22);
}
.komunikat-ok{ background: var(--pr-ink); color: #fff; }
.komunikat-zle{ background: var(--pr-red-dark); color: #fff; }
.komunikat[hidden]{ display: none; }
.do-zrobienia-czlonek{ margin: 0 0 22px; }
.do-zrobienia-czlonek h2{ margin: 0 0 10px; }
.zadanie-duze{
  
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-left: 4px solid var(--pr-frame);
  border-radius: 12px; margin: 0 0 10px; padding: 15px 16px; min-height: 56px;
  box-shadow: 0 1px 2px rgba(21,23,27,.04);
}
.zadanie-duze.pilne{ border-left-color: var(--pr-red); }
.zadanie-duze .tresc{ display: grid; gap: 2px; min-width: 0; }
.zadanie-duze strong{ font-family: var(--ff-disp); font-size: 21px; text-transform: uppercase; letter-spacing: .01em; }
.zadanie-duze .opis{ color: var(--pr-fg-2); font-size: 13.5px; }
.zadanie-duze .strzalka{ color: var(--pr-red); font-size: 20px; flex-shrink: 0; }
.zadanie-duze:hover{ background: var(--pr-card); border-color: #d9d6d2; color: var(--pr-ink); }
.nic-do-zrobienia{
  margin: 0; padding: 14px 16px; border-radius: 12px;
  background: var(--pr-ok-tint); color: var(--pr-ok-text); font-weight: 600;
}
.pasek-podgladu{
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: var(--pr-warn-tint); border: 1px solid #e8cf9a; color: var(--pr-warn-text);
  border-radius: 10px; padding: 12px 14px; margin-bottom: 16px; font-size: 14px;
}
.pasek-podgladu .btn{ margin-left: auto; }
.pasek-podgladu .przyciski{ display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.pasek-podgladu .przyciski .btn{ margin-left: 0; }
.pasek-podgladu--cudzy{
  position: sticky; top: 0; z-index: 5;
  background: var(--pr-gunmetal); color: var(--pr-frame-fg);
  border: 1px solid var(--pr-brass); box-shadow: 0 6px 18px rgba(16, 18, 22, .18);
}
.pasek-podgladu--cudzy strong{ color: #fff; }
.pasek-podgladu--cudzy .tylko-odczyt{
  display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px;
  background: var(--pr-brass); color: var(--pr-ink); font-size: 12px; font-weight: 700;
}
.pasek-podgladu--cudzy .btn-ghost{ color: var(--pr-frame-fg); border-color: var(--pr-gunmetal-light); background: transparent; }
.pasek-podgladu--cudzy .btn-ghost:hover{ background: var(--pr-gunmetal-light); color: #fff; }
.podglad-szukaj{ position: relative; flex: 1 1 220px; max-width: 320px; }
.podglad-szukaj input{
  width: 100%; box-sizing: border-box; padding: 7px 10px; border-radius: 8px; font-size: 14px;
  border: 1px solid var(--pr-stroke); background: var(--pr-card); color: var(--pr-ink);
}
.podglad-szukaj ul{
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 6;
  margin: 0; padding: 4px; list-style: none; background: var(--pr-card);
  border: 1px solid var(--pr-stroke); border-radius: 10px; box-shadow: 0 8px 22px rgba(16, 18, 22, .16);
}
.podglad-szukaj ul:empty{ display: none; }
#podglad-wyniki li button{
  display: block; width: 100%; text-align: left; padding: 7px 10px; border: 0; border-radius: 6px;
  background: none; color: var(--pr-ink); font: inherit; font-size: 14px; cursor: pointer;
}
#podglad-wyniki li button:hover, #podglad-wyniki li button:focus-visible{ background: var(--pr-bg); color: var(--pr-ink); }
.podglad-szukaj li .nr{ color: var(--pr-fg-2); font-size: 12.5px; margin-left: 6px; }
@media (max-width: 600px){
.podglad-szukaj{ max-width: none; flex-basis: 100%; }
.pasek-podgladu .przyciski{ margin-left: 0; }
}
body.tryb-podgladu main :is(button, input, select, textarea)[disabled]{ opacity: .55; cursor: not-allowed; }
.wydarzenie{
  display: block; background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-radius: 12px; padding: 16px 18px; margin: 0 0 12px;
  box-shadow: 0 1px 2px rgba(21,23,27,.04);
}
.wydarzenie-moje{ border-left: 4px solid var(--pr-red); }
.wydarzenie-odwolane{ opacity: .72; }
.wydarzenie-glowa{ display: flex; align-items: flex-start; gap: 14px; }
.data-kostka{
  flex: 0 0 54px; text-align: center; background: var(--pr-frame); color: var(--pr-frame-fg);
  border-radius: 10px; padding: 8px 4px 6px; line-height: 1;
}
.data-kostka .dzien{ display: block; font-family: var(--ff-disp); font-size: 24px; font-weight: 700; }
.data-kostka .mies{ display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--pr-frame-dim); margin-top: 3px; }
.wydarzenie-tytul{ min-width: 0; flex: 1; }
.wydarzenie-tytul .rodzaj{
  display: block; color: var(--pr-fg-2); font-size: 11px;
  text-transform: uppercase; letter-spacing: .14em; margin-bottom: 3px;
}
.wydarzenie-tytul h3{ margin: 0 0 4px; font-size: 18px; }
.wydarzenie-tytul .termin{ margin: 0; font-size: 14.5px; font-weight: 600; }
.wydarzenie-tytul .termin .slownie{ color: var(--pr-fg-2); font-weight: 400; }
.wydarzenie-glowa .stan{ flex-shrink: 0; }
.wydarzenie-fakty{ display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 14px 0 0; }
.wydarzenie-fakty dt{ color: var(--pr-fg-2); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.wydarzenie-fakty dd{ margin: 2px 0 0; font-size: 14.5px; }
.wydarzenie-opis{ margin: 12px 0 0; color: var(--pr-fg-2); font-size: 14px; }
.wydarzenie-uwaga{ margin: 12px 0 0; color: var(--pr-fg-2); font-size: 13.5px; font-style: italic; }
.wydarzenie form{ margin: 14px 0 0; }
.wydarzenie form .btn{ width: 100%; }
@media (min-width: 620px){
.wydarzenie form .btn{ width: auto; min-width: 200px; }
}
.stan-licencji{
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-left: 5px solid var(--pr-fg-2); border-radius: 14px;
  padding: 20px 22px; margin: 0 0 18px;
}
.stan-licencji.aktywna{ border-left-color: var(--pr-ok); }
.stan-licencji.wniosek{ border-left-color: var(--pr-warn); }
.stan-licencji.brak{ border-left-color: var(--pr-red); }
.stan-licencji .etykieta{
  display: block; color: var(--pr-fg-2); font-size: 11.5px;
  text-transform: uppercase; letter-spacing: .14em; margin-bottom: 5px;
}
.stan-licencji .naglowek{ font-family: var(--ff-disp); font-size: 28px; text-transform: uppercase; line-height: 1.05; }
.stan-licencji p{ margin: 8px 0 0; color: var(--pr-fg-2); font-size: 14.5px; }
.licencja-fakty{ display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 14px 0 0; }
.licencja-fakty dt{ color: var(--pr-fg-2); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.licencja-fakty dd{ margin: 2px 0 0; font-size: 16px; font-weight: 600; }
.formularz{ display: grid; gap: 14px; }
.formularz .pole{ display: grid; gap: 5px; }
.formularz label{ font-size: 13px; color: var(--pr-fg-2); font-weight: 500; }
.formularz .btn{ justify-self: start; min-width: 220px; }
@media (max-width: 620px){
.formularz .btn{ justify-self: stretch; min-width: 0; }
}
.komunikat-staly{
  margin: 0 0 18px; padding: 13px 16px; border-radius: 10px;
  font-weight: 600; font-size: 14.5px;
}
.komunikat-ok-staly{ background: var(--pr-ok-tint); color: var(--pr-ok-text); border-left: 4px solid var(--pr-ok); }
.komunikat-zle-staly{ background: var(--pr-red-tint); color: var(--pr-red-dark); border-left: 4px solid var(--pr-red); }
.lista-oczekujacych{ list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lista-oczekujacych li{
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 0; border-bottom: 1px solid var(--pr-stroke);
}
.lista-oczekujacych li:last-child{ border-bottom: 0; }
.lista-oczekujacych .pole-nazwa{ color: var(--pr-fg-2); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.lista-oczekujacych .nowa-wartosc{ font-weight: 600; overflow-wrap: anywhere; min-width: 0; }
.lista-oczekujacych .badge{ margin-left: auto; }
.legitymacja{
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-left: 4px solid var(--pr-red); border-radius: 12px;
  padding: 20px 22px; margin: 0 0 20px;
  box-shadow: 0 1px 2px rgba(21, 23, 27, .04);
  display: grid; gap: 16px;
}
.legitymacja-kto{ display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.legitymacja-kto h2{
  margin: 0; font-family: var(--ff-disp); font-size: 26px;
  text-transform: uppercase; letter-spacing: .01em; line-height: 1.05;
}
.legitymacja-numery{
  display: grid; gap: 14px 28px; margin: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  padding-top: 14px; border-top: 1px solid var(--pr-stroke);
}
.legitymacja-numery dt{
  color: var(--pr-fg-2); font-size: 11px;
  text-transform: uppercase; letter-spacing: .12em;
}
.legitymacja-numery dd{
  margin: 3px 0 0; font-size: 17px; font-weight: 600;
  font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
.pusta-wartosc{ color: var(--pr-fg-2); font-weight: 400; font-style: italic; }
.pusto-w-karcie{ margin: 0; color: var(--pr-fg-2); font-size: 14.5px; }
.pary-gesto{ gap: 13px 24px; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); }
.os-czasu{ list-style: none; margin: 12px 0 0; padding: 0 0 0 16px; border-left: 2px solid var(--pr-stroke); display: grid; gap: 14px; }
.os-czasu li{ display: grid; gap: 2px; position: relative; }
.os-czasu li::before{
  content: ''; position: absolute; left: -21px; top: 6px;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--pr-red); box-shadow: 0 0 0 3px var(--pr-card);
}
.os-data{ color: var(--pr-fg-2); font-size: 11.5px; text-transform: uppercase; letter-spacing: .1em; }
.os-co{ font-weight: 600; font-size: 15px; }
.os-podstawa{ color: var(--pr-fg-2); font-size: 13.5px; }
.lista-uprawnien{ list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.lista-uprawnien li{
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 11px 0; border-bottom: 1px solid var(--pr-stroke);
}
.lista-uprawnien li:last-child{ border-bottom: 0; }
.lista-uprawnien .rok{
  font-family: var(--ff-disp); font-size: 19px; color: var(--pr-fg-2);
  font-variant-numeric: tabular-nums; min-width: 46px;
}
.lista-uprawnien .opis{ display: grid; gap: 2px; flex: 1; min-width: 0; }
.lista-uprawnien .opis strong{ font-size: 15px; }
.lista-uprawnien .drobne{ color: var(--pr-fg-2); font-size: 13px; overflow-wrap: anywhere; }
.lista-uprawnien .stan{ margin-left: auto; flex-shrink: 0; }
.lista-uprawnien li.nieaktualne .opis strong{ color: var(--pr-fg-2); text-decoration: line-through; }
.termin-miesiac{
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-radius: 12px; margin: 0 0 16px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(21, 23, 27, .04);
}
.termin-miesiac h3{
  margin: 0; padding: 12px 18px; font-size: 12px;
  text-transform: uppercase; letter-spacing: .14em; color: var(--pr-fg-2);
  background: #fbfaf9; border-bottom: 1px solid var(--pr-stroke);
}
.terminy-miejsce{ margin: 0 0 14px; color: var(--pr-fg-2); font-size: 14px; }
.terminy-lista{ list-style: none; margin: 0; padding: 0; }
.termin-wiersz{
  display: flex; align-items: center; gap: 14px;
  padding: 13px 18px; border-bottom: 1px solid var(--pr-stroke);
}
.termin-wiersz:last-child{ border-bottom: 0; }
.termin-kostka{
  display: grid; justify-items: center; align-content: center;
  width: 46px; flex-shrink: 0; line-height: 1;
}
.termin-kostka b{ font-family: var(--ff-disp); font-size: 22px; }
.termin-kostka i{ font-style: normal; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--pr-fg-2); }
.termin-tresc{ flex: 1; min-width: 0; }
.termin-tresc h3{
  margin: 0; padding: 0; background: none; border: 0; text-transform: none;
  letter-spacing: 0; font-size: 15.5px; font-weight: 600; color: var(--pr-ink);
}
.termin-fakty{ margin: 3px 0 0; font-size: 13px; color: var(--pr-fg-2); }
.termin-akcja{ flex-shrink: 0; display: flex; align-items: center; gap: 8px; }
.termin-akcja form{ display: flex; align-items: center; gap: 8px; margin: 0; }
.termin-akcja .wypisz{ font-size: 12.5px; color: var(--pr-fg-2); }
.termin-zamkniete{ font-size: 12.5px; color: var(--pr-fg-2); }
.termin-wiersz.termin-moj{ box-shadow: inset 3px 0 0 var(--pr-red); }
.termin-wiersz.termin-odwolany .termin-tresc h3{ text-decoration: line-through; color: var(--pr-fg-2); }
@media (max-width: 560px){
.termin-wiersz{ gap: 10px; padding: 11px 12px; }
.termin-kostka{ width: 34px; }
.termin-kostka b{ font-size: 19px; }
.termin-tresc h3{ font-size: 14.5px; }
.termin-fakty{ font-size: 12px; }
.termin-akcja .btn{ padding: 8px 11px; font-size: 12.5px; }
}
@media (max-width: 560px){
.legitymacja{ padding: 16px 16px; }
.legitymacja-kto h2{ font-size: 22px; }
.lista-uprawnien .stan{ margin-left: 0; }
}
body.www{ background: var(--pr-bg); }
.www-skip{
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--pr-red-tekst); color: #fff; padding: 10px 16px; border-radius: 0 0 8px 0;
}
.www-skip:focus{ left: 0; }
.www-belka{
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; gap: 18px;
  background: var(--pr-frame); border-bottom: 3px solid var(--pr-red);
  min-height: 70px;
  
  padding-inline: max(22px, calc((100% - var(--kadr)) / 2));
}
.www-znak{ display: flex; align-items: center; }
.www-znak img{ height: 38px; width: auto; display: block; }
.www-menu{ margin-left: auto; }
.www-menu ul{ list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.www-belka .www-menu a, .www-belka .www-menu li.www-grupa > button{
  display: block; color: var(--pr-frame-fg); font-family: var(--ff-disp);
  text-transform: uppercase; letter-spacing: .06em; font-size: 15px; font-weight: 600;
  padding: 10px 12px; border-radius: 7px; background: none; border: 0; cursor: pointer;
  font-weight: 600; line-height: 1.2;
  
  min-height: 44px; display: flex; align-items: center;
}
.www-belka .www-menu a:hover, .www-belka .www-menu li.www-grupa > button:hover{ background: rgba(255,255,255,.09); text-decoration: none; }
.www-belka .www-menu a.tu, .www-belka .www-menu li.www-grupa.tu > button{ color: #fff; box-shadow: inset 0 -3px 0 var(--pr-red); }
.www-grupa{ position: relative; }
.www-strzalka{
  display: inline-block; width: 0; height: 0; margin-left: 7px; vertical-align: middle;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
}
.www-menu ul.www-podmenu{
  display: none; position: absolute; right: 0; top: 100%; flex-direction: column;
  background: var(--pr-frame-2); border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px; padding: 6px; min-width: 232px;
  box-shadow: 0 18px 40px rgba(0,0,0,.4);
}
.www-grupa:hover > ul.www-podmenu,
.www-grupa:focus-within > ul.www-podmenu,
.www-grupa.otwarta > ul.www-podmenu{
  display: flex;
}
.www-belka .www-grupa.zwinieta > ul.www-podmenu{ display: none; }
.www-podmenu a{ white-space: nowrap; }
.www-wejscia{ display: flex; align-items: center; gap: 10px; }
.www-wejscie{
  color: var(--pr-frame-dim); font-size: 14px; font-weight: 600;
  padding: 8px 10px; border-radius: 7px;
  display: inline-flex; align-items: center; min-height: 44px;
}
.www-wejscie:hover{ color: #fff; background: rgba(255,255,255,.09); text-decoration: none; }
.www-belka .btn{ padding: 9px 18px; font-size: 14.5px; min-height: 44px; display: inline-flex; align-items: center; }
.www-burger{ display: none; }
body.www{
  --kadr: 1200px; --miara: 620px; font-size: 18px;
  
  --pr-plyta-2: #eceef2;
}
body.www .podpis, .www-warunek{ max-width: 56ch; }
.www-hero{
  position: relative; padding: 88px 22px 78px;
  background: var(--pr-frame-2) url('/assets/tlo-strzelnica.jpg') center/cover no-repeat;
}
.www-hero::before{
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(100deg, rgba(16,18,22,.93) 0%, rgba(16,18,22,.86) 38%, rgba(16,18,22,.42) 78%, rgba(16,18,22,.30) 100%),
    linear-gradient(180deg, rgba(16,18,22,.55), transparent 34%);
}
.www-hero{
  display: grid; grid-template-columns: minmax(0, var(--kadr)); justify-content: center;
  align-content: center;
}
.www-hero > *:not(video){ position: relative; z-index: 2; }
.www-hero-wideo{
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity .9s ease;
  pointer-events: none;
}
.www-hero-wideo.gra{ opacity: 1; }
.www-hero-zfilmem.www-hero-niski::after{ display: none; }
.www-hero::before{ z-index: 1; }
.www-hero h1{
  color: var(--pr-frame-fg); margin: 0;
  font-size: clamp(34px, 6.4vw, 68px); font-weight: 700; letter-spacing: .005em; line-height: 1.04; 
  max-width: 15ch;
}
.www-hero h1::after{ width: 84px; height: 5px; margin: 20px 0 0; }
.www-hero p{
  color: var(--pr-frame-dim); max-width: 58ch; margin: 20px 0 0; font-size: 17px; line-height: 1.65;
}
.www-hero .www-hero-akcje{ margin-top: 30px; display: flex; gap: 12px; flex-wrap: wrap; }
.www-hero .btn-ghost{ color: var(--pr-frame-fg); border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); }
.www-hero .btn-ghost:hover{ background: rgba(255,255,255,.14); color: #fff; }
.www-hero-niski{
  padding: 40px 22px 34px;
  background: var(--pr-frame) url('/assets/tlo-naglowek.jpg') center/cover no-repeat;
}
.www-hero-niski::before{ display: none; }
.www-hero-zfilmem.www-hero-niski::before{
  display: block;
  
  
  background:
    linear-gradient(100deg, rgba(16,18,22,.96) 0%, rgba(16,18,22,.93) 52%, rgba(16,18,22,.20) 74%, rgba(16,18,22,.02) 100%),
    linear-gradient(180deg, rgba(16,18,22,.55), transparent 34%);
}
.www-hero-niski .www-hero-wideo{ object-position: center 70%; }
.www-hero-niski h1{ font-size: clamp(28px, 4vw, 44px); max-width: 26ch; }
.www-hero-niski h1::after{ width: 60px; height: 4px; margin-top: 16px; }
.www-hero-niski::after{
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    
    radial-gradient(circle at 86% 50%, rgba(236,32,40,.55) 0 4px, transparent 4.5px),
    radial-gradient(circle at 86% 50%, transparent 0 30px, rgba(236,32,40,.22) 30px 31.5px, transparent 32px),
    
    linear-gradient(to right, transparent 0 55%, rgba(255,255,255,.16) 55% 82%, transparent 82%),
    repeating-radial-gradient(circle at 86% 50%,
      rgba(255,255,255,.13) 0 1px, transparent 1px 30px);
  background-repeat: no-repeat;
  background-size: 100% 100%, 100% 100%, 100% 1px, 100% 100%;
  background-position: 0 0, 0 0, 0 50%, 0 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 42%, #000 74%);
  mask-image: linear-gradient(90deg, transparent 42%, #000 74%);
}
.www-tresc{ max-width: var(--miara); margin: 0 auto; padding: 44px 20px 68px; }
.www-tresc:has(> .www-plyta){ max-width: none; padding: 0; }
.www-tresc h2:first-child{ margin-top: 0; }
.www-tresc p{ margin: 0 0 14px; }
.www-tresc ul, .www-tresc ol{ margin: 0 0 16px; padding-left: 22px; }
.www-tresc li{ margin-bottom: 6px; }
.www-tresc .card{ margin-bottom: 22px; }
.www-tresc img{ max-width: 100%; height: auto; border-radius: 12px; }
.www-nacisk{
  background: var(--pr-red-tint);
  padding: 14px 18px; border-radius: 10px; margin: 0 0 18px; font-weight: 600;
}
.www-kafle{ display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); margin-bottom: 26px; }
.www-kafel{
  display: block; background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-radius: 12px; padding: 20px; color: var(--pr-fg);
  transition: border-color .15s, transform .05s, box-shadow .15s;
}
.www-kafel:hover{ border-color: var(--pr-red); box-shadow: 0 10px 26px rgba(0,0,0,.07); text-decoration: none; }
.www-kafel h3{ margin: 0 0 8px; }
.www-kafel p{ color: var(--pr-fg-2); font-size: 14.5px; margin: 0; }
.www-tresc .www-pliki{ list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.www-pliki li{
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center; gap: 14px;
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-radius: 10px; padding: 14px 16px;
}
.www-plik-typ{
  font-family: var(--ff-disp); text-transform: uppercase; font-size: 12px; letter-spacing: .1em;
  background: var(--pr-red-tint); color: var(--pr-red-dark); border-radius: 5px; padding: 4px 8px;
}
.www-plik-waga{ margin-left: auto; color: var(--pr-fg-2); font-size: 13px; }
@media (max-width: 300px){
.www-pliki li{ grid-template-columns: auto minmax(0, 1fr); gap: 6px 10px; padding: 12px; }
.www-plik-waga{ grid-column: 2; margin-left: 0; }
}
.www-plyta-slup + .www-pliki-grupy,
.www-plyta-slup + .www-cennik,
.www-plyta-slup + .www-punkty{ margin-top: 28px; }
.www-cennik + .www-plyta-slup,
.www-siatka-kart + .www-plyta-slup{ margin-top: 22px; }
.www-pliki-grupy{ display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); align-items: start; }
.www-pliki-grupa > h2, .www-pliki-grupa > h3{
  font-family: var(--ff-body); font-size: 16px; font-weight: 600;
  letter-spacing: 0; text-transform: none; margin: 0 0 12px;
}
.www-pliki-grupa .www-pliki li{ transition: border-color .15s, box-shadow .18s, transform .18s; }
.www-pliki-grupa .www-pliki li:hover{
  border-color: var(--pr-red); box-shadow: 0 10px 26px rgba(16,18,22,.08); transform: translateY(-1px);
}
.www-wpisy{ list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.www-wpis{
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px; padding: 18px 20px;
}
.www-wpis h2, .www-wpis h3{ margin: 0 0 6px; font-size: 19px; }
.www-wpis h2 > a, .www-wpis h3 > a{ color: var(--pr-ink); }
.www-wpis h2 > a:hover, .www-wpis h3 > a:hover{ color: var(--pr-red-dark); }
.www-wpis-zajawka{ margin: 8px 0 0; color: var(--pr-fg); max-width: 56ch; }
.www-miesiac .www-wpisy{
  gap: 0; background: var(--pr-card); border: 1px solid var(--pr-stroke);
  
  border-radius: 12px; overflow: clip;
}
.www-miesiac .www-wpis{
  background: none; border: 0; border-top: 1px solid var(--pr-stroke);
  border-radius: 0; padding: 16px 20px;
}
.www-miesiac .www-wpis:first-child{ border-top: 0; }
.www-miesiac .www-wpis:hover{ background: var(--pr-plyta-2); }
.www-wpis-fakty{
  margin: 5px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
  font-size: 13.5px; color: var(--pr-fg-2);
}
.www-wpis-rodzaj{
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .1em;
  font-size: 12.5px; padding: 3px 8px; border-radius: 5px;
  background: var(--pr-bg); color: var(--pr-fg-2);
}
.www-wpis.w-zawody .www-wpis-rodzaj, .www-wpis.w-wyniki .www-wpis-rodzaj{
  background: var(--pr-red-tint); color: var(--pr-red-dark);
}
.www-wpis.w-egzamin .www-wpis-rodzaj, .www-wpis.w-kurs .www-wpis-rodzaj{
  background: var(--pr-warn-tint); color: var(--pr-warn-text);
}
.www-tresc .pary + .podpis{ margin-top: 16px; }
.www-miesiac{ margin: 0 0 24px; }
.www-miesiac-szyna > h2{
  margin: 0; font-size: 15px; letter-spacing: .16em; color: var(--pr-fg-2);
}
.www-miesiac-ile{ margin: 6px 0 0; font-size: 13px; color: var(--pr-fg-2); }
@media (min-width: 1000px){
.www-miesiac{
    display: grid; grid-template-columns: minmax(0, 190px) minmax(0, 1fr);
    gap: 0 34px; align-items: start;
  }
.www-miesiac .www-terminy, .www-miesiac .www-wpisy{ max-width: 760px; }
.www-miesiac-szyna{ position: sticky; top: 92px; padding-top: 2px; }
.www-miesiac-szyna > h2::before{
    content: ''; display: block; width: 28px; height: 3px; border-radius: 2px;
    background: var(--pr-red); margin-bottom: 10px;
  }
}
@media (max-width: 999px){
.www-miesiac-szyna{ display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; }
.www-miesiac-ile{ display: none; }
}
.www-rytm{ margin: 0 0 28px; }
.www-rytm > h2{
  margin: 0; font-size: 15px; letter-spacing: .16em; color: var(--pr-fg-2);
  text-transform: uppercase;
}
.www-rytm-wstep{ margin: 6px 0 0; font-size: 13px; color: var(--pr-fg-2); }
.www-rytm-lista{
  list-style: none; margin: 12px 0 0; padding: 0;
  display: grid; gap: 12px;
  
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}
.www-rytm-seria{
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-radius: 12px; padding: 14px 18px;
  box-shadow: inset 3px 0 0 var(--pr-frame);
}
.www-rytm-dzien{
  margin: 0; font-family: var(--ff-disp); text-transform: uppercase;
  letter-spacing: .08em; font-size: 15px;
}
.www-rytm-fakty{ margin: 4px 0 0; font-size: 14px; }
.www-rytm-fakty span + span::before{ content: ' · '; color: var(--pr-fg-2); }
.www-rytm-zakres{ margin: 4px 0 0; font-size: 13px; color: var(--pr-fg-2); }
@media (min-width: 1000px){
.www-rytm{
    display: grid; grid-template-columns: minmax(0, 190px) minmax(0, 1fr);
    gap: 0 34px; align-items: start;
  }
.www-rytm > h2{ grid-column: 1; grid-row: 1; }
.www-rytm-wstep{ grid-column: 1; grid-row: 2; }
.www-rytm-lista{ grid-column: 2; grid-row: 1 / span 2; margin-top: 0; max-width: 760px; }
.www-rytm > h2::before{
    content: ''; display: block; width: 28px; height: 3px; border-radius: 2px;
    background: var(--pr-frame); margin-bottom: 10px;
  }
}
.www-siatka{ margin: 0 0 32px; }
.www-siatka-szyna{
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; margin: 0 0 12px;
}
.www-siatka-szyna > h2{
  margin: 0; font-size: 15px; letter-spacing: .16em; color: var(--pr-fg-2);
  text-transform: uppercase;
}
@media (min-width: 1000px){
.www-siatka-szyna > h2::before{
    content: ''; display: block; width: 28px; height: 3px; border-radius: 2px;
    background: var(--pr-red); margin-bottom: 10px;
  }
}
.www-siatka-kroki{ margin: 0; display: flex; gap: 8px; }
.www-siatka-krok{
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; border-radius: 10px;
  border: 1px solid var(--pr-stroke); background: var(--pr-card);
  font-size: 20px; line-height: 1; text-decoration: none; color: var(--pr-fg);
}
.www-siatka-krok:hover{ background: var(--pr-plyta-2); }
.www-siatka-krok.wylaczony{ opacity: .35; background: none; }
.www-siatka-tabela{
  
  width: 100%; border-collapse: separate; border-spacing: 0;
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  border-radius: 12px; overflow: hidden; table-layout: fixed;
}
.www-siatka-tabela th{
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .14em;
  font-size: 11.5px; color: var(--pr-frame-dim); font-weight: 600;
  
  padding: 12px 7px; background: var(--pr-frame);
  border-bottom: 0;
}
.www-siatka-tabela th.www-siatka-wolne{ color: var(--pr-frame-fg); }
.www-siatka-tabela td{
  vertical-align: top; padding: 7px 7px 10px; height: 78px;
  border-top: 1px solid var(--pr-stroke); border-left: 1px solid var(--pr-stroke);
  border-right: 0; border-bottom: 0;
  background: var(--pr-card);
}
.www-siatka-tabela td:first-child{ border-left: 0; }
.www-siatka-pusto{ background: var(--pr-card); }
.www-siatka-tabela td.www-siatka-wolne{ background: var(--pr-bg); }
.www-siatka-liczba{
  display: block; font-family: var(--ff-disp); font-size: 14px;
  font-weight: 600; letter-spacing: .02em; color: var(--pr-fg);
}
.www-siatka-dzien.dzis .www-siatka-liczba{
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 24px; height: 24px; margin: -3px 0 0 -3px; padding: 0 5px;
  border-radius: 999px;
  background: var(--pr-red-tekst); color: #ffffff; font-weight: 700;
}
.www-siatka-znak{
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  
  margin-top: 5px; padding: 0 6px; border-radius: 5px;
  border-top: 4px solid transparent; border-bottom: 4px solid transparent;
  
  font-size: 11px; line-height: 14px; text-decoration: none;
  overflow: hidden; white-space: normal;
  background: var(--pr-bg); color: var(--pr-fg);
  border-left: 3px solid var(--pr-frame);
  transition: filter .15s;
}
a.www-siatka-znak:hover{ filter: brightness(.95); }
.www-siatka-znak.w-zawody{
  background: var(--pr-red-tint); color: var(--pr-red-dark);
  border-left-color: var(--pr-red-tekst); font-weight: 600;
}
.www-siatka-znak.w-egzamin, .www-siatka-znak.w-kurs{
  background: var(--pr-warn-tint); color: var(--pr-warn-text);
  border-left-color: var(--pr-warn); font-weight: 600;
}
.www-siatka-legenda{
  display: flex; flex-wrap: wrap; gap: 8px 10px;
  list-style: none; margin: 12px 0 0; padding: 0;
  max-width: 760px; font-size: 13px;
}
.www-siatka-legenda li{
  display: flex; align-items: center;
  padding: 4px 10px 4px 8px; border-radius: 5px;
  background: var(--pr-bg); color: var(--pr-fg);
  border-left: 3px solid var(--pr-frame);
}
.www-siatka-legenda li.w-zawody{
  background: var(--pr-red-tint); color: var(--pr-red-dark);
  border-left-color: var(--pr-red-tekst); font-weight: 600;
}
.www-siatka-legenda li.w-egzamin, .www-siatka-legenda li.w-kurs{
  background: var(--pr-warn-tint); color: var(--pr-warn-text);
  border-left-color: var(--pr-warn); font-weight: 600;
}
.www-siatka-legenda i{ display: none; }
@media (max-width: 700px){
.www-siatka-tabela td{ height: 58px; padding: 4px 3px 6px; }
.www-siatka-tabela th{ padding: 10px 3px; }
.www-siatka-znak{
    font-size: 0; padding: 0; height: 8px; margin-top: 3px; border-radius: 3px;
    border-left: 0; border-top: 0; border-bottom: 0; background: var(--pr-frame);
  }
.www-siatka-znak.w-zawody{ background: var(--pr-red-tekst); }
.www-siatka-znak.w-egzamin, .www-siatka-znak.w-kurs{ background: var(--pr-warn); }
.www-siatka-legenda{ font-size: 12.5px; }
.www-siatka-znak .www-czytnik{ font-size: 13px; }
}
.www-terminy{
  list-style: none; margin: 0; padding: 0;
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  
  border-radius: 12px; overflow: clip;
}
.www-termin{
  display: flex; align-items: flex-start; gap: 16px; margin: 0;
  padding: 12px 18px 12px 15px; border-top: 1px solid var(--pr-stroke);
}
.www-termin:first-child{ border-top: 0; }
.www-termin-dzien{
  flex: 0 0 44px; display: flex; flex-direction: column; align-items: center;
  font-family: var(--ff-disp); line-height: 1; padding-top: 2px;
}
.www-termin-dzien b{ font-size: 25px; font-weight: 700; color: var(--pr-ink); }
.www-termin-dzien i, .www-termin-dzien em{
  font-style: normal; text-transform: uppercase; letter-spacing: .1em; color: var(--pr-fg-2);
}
.www-termin-dzien i{ font-size: 12px; margin-top: 3px; }
.www-termin-dzien em{ font-size: 10.5px; margin-top: 2px; }
.www-termin.w-zawody .www-termin-dzien b{ color: var(--pr-red-dark); }
.www-termin-tresc{ min-width: 0; flex: 1; }
.www-termin-tresc h3{ margin: 0; font-size: 16.5px; letter-spacing: .01em; }
.www-termin-fakty{
  margin: 4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
  font-size: 13.5px; color: var(--pr-fg-2);
}
.www-termin-fakty > span + span::before{ content: '·'; margin-right: 10px; }
.www-termin-fakty > .www-termin-rodzaj + span::before{ content: none; }
.www-termin-rodzaj{
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .1em;
  font-size: 12.5px; padding: 3px 8px; border-radius: 5px;
  background: var(--pr-bg); color: var(--pr-fg-2);
}
.www-termin.w-zawody .www-termin-rodzaj{ background: var(--pr-red-tint); color: var(--pr-red-dark); }
.www-termin.w-inne .www-termin-rodzaj{ background: var(--pr-warn-tint); color: var(--pr-warn-text); }
.www-termin-opis{ margin: 6px 0 0; font-size: 14px; color: var(--pr-fg); max-width: 56ch; }
body.www .www-pas{
  background: var(--pr-frame) url('/assets/tlo-naglowek.jpg') center/cover no-repeat;
  color: var(--pr-frame-dim);
  border-top: 0;
}
.www-pas > h2, .www-pas h2{ color: var(--pr-frame-fg); margin-top: 0; }
.www-pas p{ margin: 0 0 14px; }
.www-pas .btn-ghost{ color: var(--pr-frame-fg); border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); }
.www-pas .btn-ghost:hover{ background: rgba(255,255,255,.14); color: #fff; }
.www-pas-siatka{ display: grid; gap: 30px; align-items: center; }
.www-pas-obraz img{ display: block; max-width: 100%; height: auto; border-radius: 10px; }
.www-pas-obraz picture, .www-para-obraz picture{ display: contents; }
.www-pas-tekst h2::before{
  content: ''; display: block; width: 48px; height: 3px; border-radius: 2px;
  background: var(--pr-red); margin-bottom: 16px;
}
.www-pas-tekst h2{ font-size: clamp(24px, 3.1vw, 34px); font-weight: 700; margin: 0 0 18px; }
@media (min-width: 900px){
.www-pas-siatka{ grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
}
.www-plyta{
  padding: 60px 22px;
  display: grid; grid-template-columns: minmax(0, var(--kadr)); justify-content: center;
  align-content: start;
  background: var(--pr-card);
}
.www-plyta-cien{ background-color: var(--pr-plyta-2); }
.www-spis{
  padding: 34px 22px 30px;
  display: grid; grid-template-columns: minmax(0, var(--kadr)); justify-content: center;
  background: var(--pr-card);
  border-bottom: 1px solid var(--pr-stroke);
}
.www-spis > *{ grid-column: 1; min-width: 0; }
.www-spis h2{
  font-family: var(--ff-disp); font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .16em;
  color: var(--pr-fg-2); margin: 0 0 16px;
}
.www-spis h2::before{
  content: ''; display: block; width: 28px; height: 3px; border-radius: 2px;
  background: var(--pr-red); margin-bottom: 12px;
}
.www-spis ol{
  columns: 3; column-gap: 40px; margin: 0; padding: 0;
  list-style: none;
}
.www-spis li{ break-inside: avoid; margin: 0 0 9px; }
.www-spis a{
  display: block; padding: 3px 0 3px 22px; position: relative;
  font-size: 15.5px; line-height: 1.4; color: var(--pr-ink); text-decoration: none;
  border-radius: 4px;
}
.www-spis a::before{
  content: ''; position: absolute; left: 0; top: 12px;
  width: 11px; height: 2px; border-radius: 1px; background: var(--pr-red); opacity: .65;
}
.www-spis a:hover{ color: var(--pr-red-dark); text-decoration: underline; }
body.www [id]:target{ scroll-margin-top: 92px; }
.www .www-plyta h2[id], .www .www-plyta-slup > h2[id]{ scroll-margin-top: 92px; }
@media (max-width: 900px){
.www-spis ol{ columns: 1; }
.www-spis{ padding: 26px 16px 22px; }
}
@media (min-width: 901px) and (max-width: 1180px){
.www-spis ol{ columns: 2; }
}
.www-plyta > h2{
  font-size: clamp(24px, 3.1vw, 34px); font-weight: 700; margin: 0 0 22px;
}
.www-plyta > h2::before{
  content: ''; display: block; width: 48px; height: 3px; border-radius: 2px;
  background: var(--pr-red); margin-bottom: 16px;
}
.www-plyta-glowa{
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; margin: 0 0 22px;
}
.www-plyta-glowa > h2{ margin: 0; font-size: clamp(24px, 3.1vw, 34px); font-weight: 700; }
.www-plyta-glowa > h2::before{
  content: ''; display: block; width: 48px; height: 3px; border-radius: 2px;
  background: var(--pr-red); margin-bottom: 16px;
}
.www-plyta-wstep{
  max-width: 62ch; margin: -8px 0 26px; color: var(--pr-fg-2); font-size: 16.5px;
}
.www-plyta-wiecej{
  font-family: var(--ff-body); text-transform: none; letter-spacing: 0;
  font-size: 15px; font-weight: 600; color: var(--pr-fg-2); padding-bottom: 4px;
}
.www-plyta-wiecej:hover{ color: var(--pr-red-dark); text-decoration: none; }
.www-plyta-wiecej::after{ content: ' →'; }
.www-plyta-slup{ width: 100%; max-width: var(--miara); justify-self: start; }
.www-plyta-slup p:last-child{ margin-bottom: 0; }
.www-kafle .www-kafel{
  position: relative; padding: 22px 22px 22px 26px; border-radius: 10px;
  box-shadow: inset 3px 0 0 var(--pr-stroke), 0 2px 12px rgba(16,18,22,.07);
  transition: border-color .15s, box-shadow .18s, transform .18s;
}
.www-kafle .www-kafel:hover{
  box-shadow: inset 3px 0 0 var(--pr-red), 0 14px 30px rgba(16,18,22,.10);
  transform: translateY(-2px);
}
.www-plyta .card{ box-shadow: 0 2px 12px rgba(16,18,22,.07); }
.www-kafle .www-kafel h3{
  font-size: 18px; letter-spacing: .04em; margin: 0 0 10px;
}
.www-kafle a.www-kafel::after{
  content: '→'; display: block; margin-top: 12px;
  font-size: 17px; color: var(--pr-red); opacity: .8;
  transform: translateX(0); transition: transform .18s, opacity .18s;
}
.www-kafle a.www-kafel:hover::after{ opacity: 1; transform: translateX(5px); }
.www-kafle .www-kafel-zobrazem{
  padding: 0; overflow: hidden;
  display: grid; grid-template-rows: auto 1fr;
  
  box-shadow: 0 2px 12px rgba(16, 18, 22, .07);
}
.www-kafle .www-kafel-zobrazem:hover{
  box-shadow: 0 14px 30px rgba(16, 18, 22, .12);
  transform: translateY(-2px);
}
.www-kafel-obraz{
  position: relative; overflow: hidden;
  aspect-ratio: 660 / 353; background: var(--pr-frame);
}
.www-kafel-obraz img{
  display: block; width: 100%; height: 100%; object-fit: cover;
  
  transform: scale(1.02); transition: transform .5s ease;
}
.www-kafel-zobrazem:hover .www-kafel-obraz img{ transform: scale(1.02); }
.www-kafel-obraz::after{
  display: none; 
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: var(--pr-red);
  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.www-kafel-zobrazem:hover .www-kafel-obraz::after{ transform: scaleX(1); }
.www-kafel-tresc{ padding: 18px 22px 20px; display: flex; flex-direction: column; }
.www-kafle a.www-kafel-zobrazem::after{ display: none; }
.www-kafel-zobrazem .www-kafel-tresc::after{
  content: '→'; display: block; margin-top: auto; padding-top: 12px;
  font-size: 17px; color: var(--pr-red); opacity: .8;
  transform: translateX(0); transition: transform .18s, opacity .18s;
}
.www-kafel-zobrazem:hover .www-kafel-tresc::after{ opacity: 1; transform: translateX(5px); }
.www-kafle-zobrazami{ grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
@media (max-width: 600px){
.www-kafle-zobrazami{ gap: 12px; }
.www-kafle .www-kafel-zobrazem{ grid-template-columns: 104px minmax(0, 1fr); grid-template-rows: none; }
.www-kafel-zobrazem .www-kafel-obraz{ aspect-ratio: auto; height: 100%; min-height: 104px; }
.www-kafel-zobrazem .www-kafel-tresc{ padding: 14px 16px; }
.www-kafel-zobrazem .www-kafel-tresc h3{ margin-bottom: 4px; }
.www-kafel-zobrazem .www-kafel-tresc p{ font-size: 14px; line-height: 1.5; }
.www-kafel-zobrazem .www-kafel-tresc::after{ padding-top: 4px; font-size: 15px; }
}
body.www .www-terminy, body.www .www-wpisy{ margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px){
body.www .www-terminy-karty, body.www .www-wpisy-karty{
  display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(292px, 100%), 1fr));
  background: none; border: 0; border-radius: 0; overflow: visible;
}
.www-terminy-karty .www-termin{
  display: block; padding: 16px 18px 15px;
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 10px;
  
  transition: border-color .15s, box-shadow .18s, transform .18s;
}
.www-terminy-karty .www-termin:hover{
  box-shadow: 0 14px 30px rgba(16,18,22,.10); transform: translateY(-2px);
}
.www-terminy-karty .www-termin-dzien{
  flex-direction: row; align-items: baseline; gap: 6px; flex: none;
  padding: 0 0 10px; justify-content: flex-start;
}
.www-terminy-karty .www-termin-dzien b{ font-size: 30px; }
.www-terminy-karty .www-termin-tresc h3{ font-size: 17px; line-height: 1.18; }
.www-terminy-karty .www-termin-fakty{ margin-top: 10px; }
.www-wpisy-karty .www-wpis{ display: flex; flex-direction: column; }
.www-wpisy-karty .www-wpis h2, .www-wpisy-karty .www-wpis h3{ font-size: 17.5px; line-height: 1.2; }
body.www h3, body.www .www-wpis h2, body.www .www-wpis h3{ line-height: 1.24; }
.www-wpisy-karty .www-wpis-fakty{ margin-top: 8px; }
.www-terminy-karty .www-termin,
.www-wpisy-karty .www-wpis{ box-shadow: 0 2px 12px rgba(16,18,22,.07); }
}
.www-para{ display: grid; gap: 30px; align-items: center; }
.www-para-obraz img{
  display: block; max-width: 100%; height: auto; border-radius: 12px;
}
.www-para-obraz img.www-ozdoba{
  border: 1px solid var(--pr-stroke);
  box-shadow: 0 10px 30px rgba(16, 18, 22, .07);
}
.www-para-obraz{ position: relative; }
.www-para > .card{
  margin-bottom: 0; padding: 0; border: 0; background: none; box-shadow: none; border-radius: 0;
}
.www-para > .card > p:not(.podpis){ font-size: 16.5px; line-height: 1.65; }
.www-para > .card ul{ list-style: none; padding: 0; margin: 18px 0 20px; }
.www-para > .card li{
  position: relative; padding: 9px 0 9px 26px; border-top: 1px solid var(--pr-stroke);
}
.www-para > .card li:last-child{ border-bottom: 1px solid var(--pr-stroke); }
.www-para > .card li::before{
  content: ""; position: absolute; left: 2px; top: 17px; width: 10px; height: 10px; background: var(--pr-red);
}
.www-para > .card .podpis{ max-width: 60ch; }
@media (min-width: 900px){
.www-para{ grid-template-columns: minmax(0, 1fr) auto; gap: 56px; }
.www-para-odwrotna{ grid-template-columns: auto minmax(0, 1fr); }
.www-para-obraz{ max-width: 540px; }
.www-para-odwrotna > .www-para-obraz{ order: -1; }
}
@media (max-width: 899px){
.www-para-obraz img{ max-height: 260px; object-fit: contain; object-position: left; }
.www-hero-niski::after{ display: none; }
}
.www-wezwanie{
  background: var(--pr-frame) url('/assets/tlo-wezwanie.jpg') right center / cover no-repeat;
  color: var(--pr-frame-dim); padding: 54px 22px;
  
  border-top: 3px solid var(--pr-red);
}
.www-wezwanie{
  display: grid; grid-template-columns: minmax(0, var(--kadr)); justify-content: center;
}
.www-wezwanie-tresc{ max-width: 640px; }
.www-wezwanie h2{
  color: var(--pr-frame-fg); margin: 0; font-size: clamp(24px, 3.4vw, 38px); font-weight: 700;
  max-width: 18ch;
}
.www-wezwanie p{ margin: 10px 0 0; max-width: 52ch; font-size: 16px; }
.www-wezwanie .btn-ghost{
  color: var(--pr-frame-fg); border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06);
}
.www-wezwanie .btn-ghost:hover{ background: rgba(255,255,255,.14); color: #fff; }
.www-wezwanie-akcje{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
@media (max-width: 720px){
.www-plyta{ padding: 40px 18px; }
.www-wezwanie{
    padding: 38px 18px;
    background-image:
      linear-gradient(90deg, rgba(16,18,22,.97) 0%, rgba(16,18,22,.90) 60%, rgba(16,18,22,.78) 100%),
      url('/assets/tlo-wezwanie.jpg');
  }
}
.www-stopka{ background: var(--pr-frame); color: var(--pr-frame-dim); padding: 44px 22px 0; }
.www-stopka-siatka{
  max-width: var(--kadr); margin: 0 auto; display: grid; gap: 28px 34px;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
}
.www-stopka h3{
  color: var(--pr-frame-fg); font-family: var(--ff-body); font-size: 15px; margin: 0 0 12px;
  letter-spacing: 0; text-transform: none; font-weight: 600;
}
.www-stopka p{ margin: 0; font-size: 14.5px; line-height: 1.75; }
.www-stopka a{ color: var(--pr-frame-fg); }
.www-stopka a:hover{ color: #fff; }
.www-stopka-znak{ height: 32px; width: auto; margin-bottom: 16px; }
.www-stopka-dol{
  max-width: var(--kadr); margin: 34px auto 0; padding: 16px 0 22px;
  border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; text-align: center;
}
.www-plyta-slup > h2{
  font-size: clamp(22px, 2.6vw, 29px); font-weight: 700; margin: 0 0 18px;
}
.www-plyta-slup > h2::before{
  content: ''; display: block; width: 48px; height: 3px; border-radius: 2px;
  background: var(--pr-red); margin-bottom: 14px;
}
.www-plyta-slup > .www-plyta-wstep{ margin-top: -6px; }
.www-plyta-slup > p:last-child, .www-plyta-slup > ul:last-child{ margin-bottom: 0; }
.www-siatka-kart{
  display: grid; gap: 18px; align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
}
.www-siatka-kart > .card{ margin-bottom: 0; }
.www-siatka-kart h3{
  margin: 0 0 12px; font-family: var(--ff-body); font-size: 16px; font-weight: 600;
  letter-spacing: 0; text-transform: none; line-height: 1.35;
}
.www-przywileje{
  display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  align-items: start;
}
.www-przywilej{
  display: flex; flex-direction: column;
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
  padding: 22px; box-shadow: 0 2px 12px rgba(16,18,22,.07);
}
.www-przywilej h3{ margin: 0 0 8px; font-size: 17px; letter-spacing: .03em; }
.www-przywilej p{ margin: 0; color: var(--pr-fg-2); font-size: 14.5px; line-height: 1.6; max-width: 56ch; }
.www-przywilej p.www-przywilej-liczba{
  font-family: var(--ff-disp); font-size: 42px; line-height: .9; font-weight: 700;
  color: var(--pr-red); margin: 0 0 12px; letter-spacing: -.01em;
}
.www-warunek{
  margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--pr-stroke);
  font-size: 13px; color: var(--pr-fg-2); line-height: 1.55;
}
.www-kategorie{
  display: grid; gap: 12px; margin: 0 0 16px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  align-items: start;
}
@media (max-width: 700px){
.www-konkurencje, .www-konkurencje tbody, .www-konkurencje tr, .www-konkurencje td{ display: block; width: auto; }
.www-konkurencje thead{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.www-konkurencje tr{ padding: 14px 16px; border-bottom: 1px solid var(--pr-stroke); }
.www-konkurencje tr:last-child{ border-bottom: 0; }
.www-konkurencje td{ padding: 0; border: 0; font-size: 14.5px; line-height: 1.5; }
.www-konkurencje td:first-child{ font-weight: 700; color: var(--pr-ink); font-size: 15.5px; margin-bottom: 2px; }
.www-konkurencje td:nth-child(2){ color: var(--pr-fg); }
.www-konkurencje td:nth-child(n+3){ display: inline; color: var(--pr-fg-2); }
.www-konkurencje td:nth-child(3)::before{ content: ''; display: block; height: 4px; }
.www-konkurencje td:nth-child(n+3):not(:last-child)::after{ content: ' · '; }
}
.www-kategoria{
  display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 4px 12px;
  padding: 14px 16px; border: 1px solid var(--pr-stroke); border-radius: 10px;
  background: var(--pr-card);
}
.www-kategoria .ikona{
  width: 34px; height: 34px; flex: 0 0 34px; grid-row: 1 / span 2;
  border-radius: 8px; background: var(--pr-frame);
  display: flex; align-items: center; justify-content: center;
}
.www-kategoria .ikona img{ width: 26px; height: 26px; object-fit: contain; }
.www-kategoria p{ margin: 0; max-width: none; }
.www-kategoria p.www-kategoria-nazwa{
  font-family: var(--ff-disp); font-size: 14px; letter-spacing: .04em;
  text-transform: uppercase; color: var(--pr-ink); align-self: end;
}
.www-kategoria p.www-kategoria-kody{
  font-size: 13.5px; color: var(--pr-fg-2); font-variant-numeric: tabular-nums;
}
.www-cennik{
  display: grid; gap: 18px; align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}
.www-cennik-poz{
  display: flex; flex-direction: column;
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
  padding: 22px; box-shadow: 0 2px 12px rgba(16,18,22,.07);
}
.www-cennik-poz h3{
  margin: 0 0 14px; font-family: var(--ff-body); font-size: 16px; font-weight: 600;
  letter-spacing: 0; line-height: 1.35;
  
  
  text-transform: none; min-height: calc(2 * 1.35em);
}
.www-cennik-poz p.www-cennik-kwota{
  font-family: var(--ff-disp); font-size: 42px; line-height: .9; font-weight: 700;
  color: var(--pr-red); margin: 0; letter-spacing: -.01em;
}
.www-cennik-poz p{ margin: 0 0 10px; color: var(--pr-fg-2); font-size: 14.5px; line-height: 1.6; max-width: 56ch; }
.www-cennik-poz .www-cennik-dopisek{ margin: 8px 0 0; font-size: 13px; }
.www-cennik-poz-oboczna{
  background: none; box-shadow: none; border-style: dashed;
}
.www-cennik-poz-oboczna p.www-cennik-kwota{ color: var(--pr-fg); }
.www-punkty{
  display: grid; gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 96px), 1fr));
}
.www-punkty-poz{
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 12px 6px; border-radius: 10px;
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
}
.www-punkty-miejsce{
  font-family: var(--ff-disp); font-size: 13px; font-weight: 600;
  letter-spacing: .1em; color: var(--pr-fg-2);
}
.www-punkty-ile{
  font-family: var(--ff-disp); font-size: 26px; font-weight: 700; line-height: 1;
  color: var(--pr-ink);
}
.www-punkty-poz-podium{ border-color: var(--pr-red); background: var(--pr-red-tint); }
.www-punkty-poz-podium .www-punkty-ile{ color: var(--pr-red-tekst); }
.www-tresc:has(> .www-dokument){ max-width: none; padding: 0; }
.www-dokument{ --spis: 260px; background: var(--pr-card); }
.www-dokument .www-plyta-cien{ background-color: transparent; }
@media (min-width: 1100px){
.www-dokument{
    display: grid; justify-content: center; column-gap: 44px; padding: 0 22px;
    grid-template-columns: minmax(0, calc(var(--kadr) - var(--spis) - 44px)) minmax(0, var(--spis));
  }
.www-dokument-tresc{ grid-column: 1; grid-row: 1; min-width: 0; }
.www-dokument-tresc > .www-plyta{ padding: 44px 0; grid-template-columns: minmax(0, 1fr); }
.www-dokument > .www-spis{
    grid-column: 2; grid-row: 1; align-self: start; position: sticky; top: 92px;
    display: block; padding: 60px 0 24px; border-bottom: 0; background: none;
  }
.www-dokument > .www-spis ol{ columns: 1; }
.www-dokument > .www-spis li{ margin-bottom: 4px; }
.www-dokument > .www-spis a{ font-size: 15px; }
}
.www-sasiedzi{ display: grid; gap: 16px; margin-bottom: 26px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px){
.www-sasiedzi{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.www-sasiad-starszy{ grid-column: 2; }
}
.www-sasiad{
  display: block; padding: 18px 20px; border-radius: 12px;
  background: var(--pr-card); border: 1px solid var(--pr-stroke);
  box-shadow: 0 2px 12px rgba(16,18,22,.07);
  transition: border-color .15s, box-shadow .18s, transform .18s;
}
.www-sasiad:hover{
  border-color: var(--pr-red); box-shadow: 0 14px 30px rgba(16,18,22,.10);
  transform: translateY(-2px); text-decoration: none;
}
.www-sasiad-etykieta{
  display: block; font-family: var(--ff-disp); font-size: 12.5px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--pr-fg-2);
}
.www-sasiad-tytul{
  display: block; margin-top: 8px; font-size: 17px; line-height: 1.35;
  color: var(--pr-ink); font-weight: 600;
}
.www-sasiad:hover .www-sasiad-tytul{ color: var(--pr-red-dark); }
.www-sasiad-nowszy .www-sasiad-etykieta::before{ content: '← '; color: var(--pr-red); }
.www-sasiad-starszy{ text-align: right; }
.www-sasiad-starszy .www-sasiad-etykieta::after{ content: ' →'; color: var(--pr-red); }
.www-lead{
  font-size: 21px; line-height: 1.55; color: var(--pr-fg); max-width: 46ch;
  margin: 0 0 18px;
}
.www-lead::before{
  content: ''; display: block; width: 48px; height: 3px; border-radius: 2px;
  background: var(--pr-red); margin-bottom: 18px;
}
.www-plyta-slup > h2 + .www-lead::before{ display: none; }
.www-odsyl{
  font-size: .85em; vertical-align: super; line-height: 0;
  padding: 0 4px; margin-left: 1px;
  color: var(--pr-red-dark); text-decoration: none; font-weight: 700;
}
.www-odsyl:hover{ text-decoration: underline; }
.www-warunek:target{
  background: var(--pr-red-tint); border-radius: 6px;
  padding-inline: 12px; padding-bottom: 10px; margin-inline: -12px;
}
@media (max-width: 980px){
.www-belka{ flex-wrap: wrap; gap: 12px; padding: 10px 16px; }
body.www .www-belka button.www-burger:not(.btn){
    display: flex; flex-direction: column; justify-content: center; gap: 4px;
    margin-left: auto; background: none; border: 1px solid rgba(255,255,255,.22);
    border-radius: 8px; padding: 8px 12px; cursor: pointer;
  }
body.www .www-belka button.www-burger:not(.btn):hover{ background: rgba(255,255,255,.09); }
.www-burger span:not(.www-burger-txt){ display: block; width: 20px; height: 2px; background: var(--pr-frame-fg); }
.www-burger-txt{
    font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .08em;
    color: var(--pr-frame-fg); font-size: 12px; margin-top: 3px;
  }
.www-menu{ display: none; order: 3; width: 100%; margin-left: 0; }
body.www-menu-otwarte .www-menu{ display: block; }
.www-menu ul{ flex-direction: column; gap: 0; }
.www-belka .www-menu a, .www-belka .www-menu li.www-grupa > button{ width: 100%; text-align: left; padding: 13px 6px; }
.www-menu ul.www-podmenu{
    position: static; display: none; background: none; border: 0; box-shadow: none;
    padding: 0 0 6px 14px; min-width: 0;
  }
.www-grupa:hover > ul.www-podmenu{ display: none; }
.www-grupa.otwarta > ul.www-podmenu{ display: flex; }
.www-wejscia{ order: 2; }
}
@media (max-width: 560px){
.www-termin-fakty{ gap: 4px 8px; }
.www-termin-fakty > span + span::before{ content: none; }
.www-wejscia{ width: 100%; order: 4; }
.www-wejscia .btn{ flex: 1; text-align: center; }
.www-hero{ padding: 44px 18px 38px; }
.www-tresc{ padding: 28px 16px 48px; }
}
body.www .btn{ border-radius: 0; font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
body.www .card{ border-radius: 2px; box-shadow: none; }
body.www .www-plyta > h2, body.www .www-plyta-glowa > h2, body.www .www-dom-glowa > h2{
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .005em; line-height: 1;
}
body.www .www-hero-niski h1{ text-transform: uppercase; line-height: .98; }
body.www .www-wezwanie{ background: var(--pr-red-tekst); color: #fff; }
body.www .www-wezwanie h2{ color: #fff; font-family: var(--ff-disp); text-transform: uppercase; }
body.www .www-wezwanie h2::before{ display: none; }
body.www .www-wezwanie p{ color: #fff; }
body.www .www-wezwanie .btn-primary{ background: var(--pr-ink); border-color: var(--pr-ink); color: #fff; }
body.www .www-wezwanie .btn-ghost{ background: transparent; border: 1px solid rgba(255,255,255,.7); color: #fff; }
body.www .www-wezwanie h2, body.www .www-plyta h2, body.www .www-plyta-glowa h2{ text-wrap: balance; }
@media (min-width: 900px){
body.www .www-wezwanie-tresc{
    max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto;
    align-items: center; gap: 24px 48px;
  }
body.www .www-wezwanie h2{ max-width: none; }
body.www .www-wezwanie-akcje{ margin-top: 0; justify-content: flex-end; }
}
body.www .www-pusto{ margin: 0; padding: 4px 0 0; color: var(--pr-fg); font-size: 17px; max-width: var(--miara); }
body.www .www-dom-teraz-siatka.www-dom-teraz-jedna{ grid-template-columns: minmax(0, 1fr); }
body.www .www-dom-teraz-cicho{ padding-top: 40px; padding-bottom: 40px; }
body.www .www-dom-cicho{ margin: 0; font-size: 19px; color: var(--pr-fg); }
body.www .www-hero-dom{
  min-height: min(94vh, 860px); padding: 150px 22px 0; align-content: end;
}
body.www .www-hero-dom::before{
  background:
    linear-gradient(90deg, rgba(13,14,17,.96) 0%, rgba(13,14,17,.84) 40%, rgba(13,14,17,.25) 100%),
    linear-gradient(0deg, #0d0e11 0%, rgba(13,14,17,0) 42%);
}
body.www .www-hero-dom h1{ font-size: clamp(42px, 5.9vw, 84px); max-width: 15ch; line-height: .96; text-transform: uppercase; }
body.www .www-hero-dom h1::after{ display: none; }
body.www .www-hero-dom > p{ font-size: clamp(17px, 1.4vw, 19px); max-width: 46ch; color: rgba(245,244,241,.82); margin-top: 28px; }
body.www .www-hero-dom .www-hero-akcje{ margin-top: 36px; }
body.www .www-hero-liczby{
  display: flex; flex-wrap: wrap; gap: 14px 64px; margin: 80px 0 0; padding: 0; border: 0;
}
body.www .www-hero-liczby div{ display: flex; flex-direction: column; }
body.www .www-hero-liczby dt{ font-family: var(--ff-disp); font-weight: 600; font-size: clamp(30px, 3vw, 44px); line-height: 1; color: #fff; }
body.www .www-hero-liczby dd{ margin: 8px 0 0; font-size: 14px; color: rgba(245,244,241,.7); }
body.www .www-hero-wejscia{
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  margin: 48px 0 0; border-top: 1px solid rgba(255,255,255,.16);
}
body.www .www-hero-wejscia a{
  display: flex; flex-direction: column; gap: 4px; padding: 26px 24px 30px;
  border-left: 1px solid rgba(255,255,255,.12); color: var(--pr-frame-fg); text-decoration: none;
  transition: background .18s ease;
}
body.www .www-hero-wejscia a:first-child{ padding-left: 0; border-left: 0; box-shadow: inset 0 2px 0 var(--pr-red-tekst); margin-top: -1px; }
body.www .www-hero-wejscia a:hover{ background: rgba(255,255,255,.05); }
body.www .www-hero-wejscia b{ font-family: var(--ff-disp); font-weight: 700; font-size: 20px; line-height: 1.15; letter-spacing: .04em; text-transform: uppercase; color: #fff; }
body.www .www-hero-wejscia span{ font-size: 14px; line-height: 1.35; color: rgba(245,244,241,.68); }
body.www .www-dom-glowa{
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; margin: 0 0 44px;
}
body.www .www-dom-glowa > h2{ margin: 0; font-size: clamp(32px, 3.6vw, 52px); font-weight: 700; }
body.www .www-dom-glowa > h2::before{ display: none; }
body.www .www-dom-glowa > .www-plyta-wstep{ margin: 0; justify-self: end; max-width: 460px; }
body.www .www-dom-wejscia .www-kafle-zobrazami{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: kafel; }
body.www .www-dom-wejscia .www-kafle .www-kafel-zobrazem{
  display: flex; flex-direction: column; border: 1px solid var(--pr-stroke); border-radius: 0;
  background: var(--pr-card); color: var(--pr-ink); box-shadow: none; counter-increment: kafel;
}
body.www .www-dom-wejscia .www-kafel-obraz{ position: relative; aspect-ratio: 4 / 3; height: auto; border-radius: 0; }
body.www .www-dom-wejscia .www-kafel-obraz::after{ display: none; }
body.www .www-dom-wejscia .www-kafel-tresc{ padding: 22px 24px 24px; }
body.www .www-dom-wejscia .www-kafel-tresc h3{ font-family: var(--ff-disp); text-transform: uppercase; font-size: 23px; line-height: 1.1; color: var(--pr-ink); }
body.www .www-dom-wejscia .www-kafel-tresc h3::before{
  content: counter(kafel, decimal-leading-zero); margin-right: 10px; font-size: 15px; font-weight: 600; color: var(--pr-red-tekst);
}
body.www .www-dom-wejscia .www-kafel-tresc p{ color: var(--pr-fg-2); font-size: 15.5px; }
body.www .www-dom-teraz{ background: var(--pr-card); border-block: 1px solid var(--pr-stroke); }
body.www .www-dom-teraz-siatka{ display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 72px; align-items: start; }
body.www .www-dom-teraz .www-plyta-glowa{ align-items: baseline; margin-bottom: 24px; }
body.www .www-dom-teraz .www-plyta-glowa h2{ margin-bottom: 0; font-size: clamp(30px, 3vw, 44px); }
body.www .www-dom-teraz .www-plyta-glowa h2::before{ display: none; }
body.www .www-dom-terminy .www-terminy-karty, body.www .www-dom-wpisy .www-wpisy-karty{
  display: block; border-top: 2px solid var(--pr-ink); gap: 0;
}
body.www .www-dom-terminy .www-termin{
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: center;
  padding: 18px 0; margin: 0; border: 0; border-bottom: 1px solid var(--pr-stroke); border-radius: 0;
  background: none; box-shadow: none;
}
body.www .www-dom-terminy .www-termin-dzien{
  display: flex; flex-direction: row; align-items: baseline; gap: 8px; width: auto; height: auto;
  background: none; border: 0; border-radius: 0; padding: 0; color: var(--pr-ink);
}
body.www .www-dom-terminy .www-termin-dzien b{ font-family: var(--ff-disp); font-size: 38px; line-height: 1; }
body.www .www-dom-terminy .w-zawody .www-termin-dzien b{ color: var(--pr-red-tekst); }
body.www .www-dom-terminy .www-termin-dzien i, body.www .www-dom-terminy .www-termin-dzien em{ font-size: 13px; font-style: normal; color: var(--pr-fg-2); text-transform: none; letter-spacing: 0; }
body.www .www-dom-terminy .www-termin-tresc h3{ font-family: var(--ff-body); text-transform: none; font-size: 17px; font-weight: 600; letter-spacing: 0; margin: 0; }
body.www .www-dom-terminy .www-termin-fakty{ margin: 4px 0 0; font-size: 14px; }
body.www .www-dom-wpisy{ padding: 0; border-left: 0; }
body.www .www-dom-wpisy .www-wpis{
  margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid var(--pr-stroke); border-radius: 0; background: none; box-shadow: none;
}
body.www .www-dom-korzysci .card{ background: transparent; border: 0; padding: 0; }
body.www .www-dom-korzysci .card ul{
  list-style: none; padding: 0; margin: 0; counter-reset: przywilej;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;
}
body.www .www-dom-korzysci .card li{
  counter-increment: przywilej; display: block; padding: 24px 0 0; border-top: 2px solid var(--pr-ink);
  font-size: 20px; line-height: 1.45; color: var(--pr-ink);
}
body.www .www-dom-korzysci .card li::before{
  content: counter(przywilej, decimal-leading-zero); display: block; position: static; width: auto; height: auto; background: none;
  margin-bottom: 18px; font-family: var(--ff-disp); font-weight: 700; font-size: 64px; line-height: 1; color: var(--pr-red-tekst);
}
body.www .www-dom-korzysci-stopa{
  display: grid; grid-template-columns: minmax(0, 2fr) auto; gap: 40px; align-items: end; margin-top: 44px;
}
body.www .www-dom-korzysci-stopa p{ margin: 0; }
body.www .www-dom-onas .card{ background: transparent; border: 0; padding: 0; color: rgba(245,244,241,.8); font-size: 18px; }
body.www .www-dom-onas .card p:first-child{
  font-family: var(--ff-disp); font-weight: 500; font-size: clamp(24px, 2.3vw, 30px); line-height: 1.25; color: #fff;
}
body.www .www-dom-onas .www-para-obraz img, body.www .www-dom-strzelnica .www-pas-obraz img{ border-radius: 0; box-shadow: none; }
body.www .www-dom-strzelnica{ position: relative; overflow: clip; padding-block: 140px; }
body.www .www-dom-strzelnica .www-pas-siatka{ display: flex; justify-content: flex-end; }
body.www .www-dom-strzelnica .www-pas-obraz{ position: absolute; inset: 0; z-index: 0; }
body.www .www-dom-strzelnica .www-pas-obraz img{ width: 100%; height: 100%; object-fit: cover; object-position: center top; max-width: none; opacity: .55; }
body.www .www-dom-strzelnica .www-pas-obraz{ bottom: -22%; }
body.www .www-dom-strzelnica .www-pas-obraz::after{
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(270deg, rgba(13,14,17,.95) 0%, rgba(13,14,17,.88) 42%, rgba(13,14,17,.2) 100%);
}
body.www .www-dom-strzelnica .www-pas-tekst{ position: relative; z-index: 1; max-width: 520px; }
body.www .www-dom-strzelnica .www-pas-tekst p{ font-size: 18px; color: rgba(245,244,241,.84); }
@media (max-width: 1080px){
body.www .www-hero-wejscia, body.www .www-dom-wejscia .www-kafle-zobrazami{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.www .www-hero-wejscia a:nth-child(3){ padding-left: 0; border-left: 0; }
body.www .www-hero-wejscia a:nth-child(n+3){ border-top: 1px solid rgba(255,255,255,.12); }
body.www .www-dom-teraz-siatka{ grid-template-columns: minmax(0, 1fr); gap: 56px; }
}
@media (max-width: 700px){
body.www .www-hero-dom{ min-height: 0; padding-top: 112px; }
body.www .www-hero-liczby{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 40px; }
body.www .www-hero-liczby dt{ font-size: 28px; }
body.www .www-hero-liczby dd{ font-size: 12.5px; }
body.www .www-hero-wejscia a{ padding: 18px 16px; }
body.www .www-hero-wejscia a:nth-child(odd){ padding-left: 0; border-left: 0; }
body.www .www-hero-wejscia b{ font-size: 17px; }
body.www .www-hero-wejscia span{ font-size: 13px; }
body.www .www-dom-glowa{ grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 28px; }
body.www .www-dom-glowa > .www-plyta-wstep{ justify-self: start; }
body.www .www-dom-wejscia .www-kafle-zobrazami{ grid-template-columns: minmax(0, 1fr); }
body.www .www-dom-wejscia .www-kafle .www-kafel-zobrazem{ display: grid; grid-template-columns: 112px minmax(0, 1fr); }
body.www .www-dom-wejscia .www-kafel-obraz{ aspect-ratio: auto; height: 100%; }
body.www .www-dom-wejscia .www-kafel-tresc{ padding: 14px 16px 16px; }
body.www .www-dom-wejscia .www-kafel-tresc h3{ font-size: 20px; }
body.www .www-dom-terminy .www-termin{ grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
body.www .www-dom-terminy .www-termin-dzien{ flex-direction: column; gap: 0; }
body.www .www-dom-terminy .www-termin-dzien b{ font-size: 32px; }
body.www .www-dom-korzysci .card ul{ grid-template-columns: minmax(0, 1fr); gap: 24px; }
body.www .www-dom-korzysci .card li{ display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding-top: 16px; font-size: 17px; }
body.www .www-dom-korzysci .card li::before{ font-size: 40px; margin: 0; }
body.www .www-dom-korzysci-stopa{ grid-template-columns: minmax(0, 1fr); gap: 20px; }
body.www .www-dom-strzelnica{ padding-block: 0 56px; }
body.www .www-dom-strzelnica .www-pas-obraz{ position: relative; inset: auto; height: 240px; margin: 0 -22px 32px; }
body.www .www-dom-strzelnica .www-pas-obraz::after{ display: none; }
body.www .www-dom-strzelnica .www-pas-obraz img{ opacity: 1; }
body.www .www-dom-strzelnica .www-pas-siatka{ display: block; }
}
body.www .zaw-pub-kategoria{
  margin-bottom: 56px; padding: 0; background: none; border: 0; border-radius: 0; overflow: visible;
}
body.www .zaw-pub-kategoria::before{ display: none; }
body.www .zaw-pub-kategoria h2{
  font-size: clamp(24px, 2.4vw, 32px); letter-spacing: .005em; line-height: 1.05; color: var(--pr-ink); margin: 0 0 16px;
}
body.www .zaw-pub-tabela{ font-size: 15.5px; font-variant-numeric: tabular-nums; }
body.www .zaw-pub-tabela th{
  font-family: var(--ff-disp); font-size: 13px; letter-spacing: .08em; color: var(--pr-fg-2);
  padding: 0 12px 10px; border-bottom: 2px solid var(--pr-ink);
}
body.www .zaw-pub-tabela td{ padding: 12px; border-bottom: 1px solid var(--pr-stroke); color: var(--pr-ink); background: none; }
body.www .zaw-pub-tabela tbody tr:hover td{ background: var(--pr-bg); }
body.www .zaw-pub-tabela td strong{ font-family: var(--ff-disp); font-size: 19px; font-weight: 600; }
body.www .zaw-pub-tabela .zaw-pub-msc{ font-size: 20px; font-weight: 700; width: 56px; text-align: left; color: var(--pr-fg-2); }
body.www .zaw-pub-tabela tr.miejsce-1, body.www .zaw-pub-tabela tr.miejsce-2, body.www .zaw-pub-tabela tr.miejsce-3{
  background: none; color: var(--pr-ink); box-shadow: none;
}
body.www .zaw-pub-tabela tr.miejsce-1 td, body.www .zaw-pub-tabela tr.miejsce-2 td, body.www .zaw-pub-tabela tr.miejsce-3 td{ background: var(--pr-card); color: var(--pr-ink); font-weight: 500; }
body.www .zaw-pub-tabela tr.miejsce-1 .zaw-pub-msc, body.www .zaw-pub-tabela tr.miejsce-2 .zaw-pub-msc, body.www .zaw-pub-tabela tr.miejsce-3 .zaw-pub-msc{
  color: var(--pr-red-tekst); text-shadow: none;
}
body.www .www-kontakt-wprost{ font-size: 15px; color: var(--pr-fg-2); line-height: 1.5; }
body.www .www-kontakt-wprost a{
  display: inline-block; margin-bottom: 8px; font-family: var(--ff-disp); font-weight: 700;
  font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; color: var(--pr-ink); overflow-wrap: anywhere;
}
body.www .www-kontakt-wprost a:hover{ color: var(--pr-red-dark); }
body.www .www-konkurencje{ margin: 0 0 48px; padding: 0 0 24px; border-bottom: 1px solid var(--pr-stroke); }
body.www .www-konkurencje ol{ list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.www .www-konkurencje a{
  display: inline-block; padding: 8px 14px; border: 1px solid var(--pr-stroke); background: var(--pr-card);
  font-family: var(--ff-disp); font-weight: 600; font-size: 15px; letter-spacing: .03em; line-height: 1.2;
  color: var(--pr-ink); text-decoration: none;
}
body.www .www-konkurencje a:hover{ border-color: var(--pr-ink); }
body.www .www-wyniki-tabele{ max-width: none; }
body.www .zaw-pub-klub-pod{ display: none; }
@media (max-width: 700px){
body.www .www-konkurencje{ margin-inline: -18px; padding-inline: 18px; }
body.www .www-konkurencje ol{ flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
body.www .www-konkurencje a{ white-space: nowrap; }
body.www .zaw-pub-tabela .zaw-pub-klub{ display: none; }
body.www .zaw-pub-klub-pod{ display: block; margin-top: 2px; font-size: 13px; color: var(--pr-fg-2); font-weight: 400; }
body.www .zaw-pub-tabela td, body.www .zaw-pub-tabela th{ padding-inline: 8px; }
body.www .zaw-pub-tabela .zaw-pub-msc{ width: 36px; }
}
.main:has(> .karta-glowa){ max-width: 1760px; }
.karta-kafle{
  display: grid; gap: 8px; margin-top: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(132px, 100%), 1fr));
}
.karta-kafel{
  display: flex; flex-direction: column; gap: 2px;
  padding: 7px 10px; border: 1px solid var(--pr-stroke); border-radius: 8px;
  background: var(--pr-bg);
}
.karta-kafel-nazwa{
  font-family: var(--ff-disp); text-transform: uppercase; letter-spacing: .10em;
  font-size: 11px; color: var(--pr-fg-2);
}
.karta-kafel-tresc{ font-size: 14px; font-weight: 600; }
.karta-kafel-podpis{ font-size: 11px; color: var(--pr-fg-2); line-height: 1.3; }
.karta-podtytul{
  font-size: 11px !important; text-transform: uppercase; letter-spacing: .1em;
  color: var(--pr-fg-2); margin: 12px 0 5px !important;
}
.karta-podtytul:first-of-type{ margin-top: 0 !important; }
.karta-pary{ display: grid; gap: 8px 16px; margin: 0; grid-template-columns: 1fr 1fr; }
.karta-pary-szeroka{ grid-template-columns: 1fr; margin-top: 8px; }
.karta-pary dt{
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--pr-fg-2);
}
.karta-pary dd{ margin: 1px 0 0; font-size: 13.5px; overflow-wrap: anywhere; }
.karta-zgoda{ padding: 8px 0; border-top: 1px solid var(--pr-stroke); }
.karta-zgoda:first-child{ border-top: 0; padding-top: 0; }
.karta-zgoda-glowa{ display: block; }
.karta-zgoda-glowa form{ display: inline-block; margin: 6px 4px 0 0; }
.karta-zgoda-nazwa{ font-weight: 600; font-size: 13px; }
.karta-zgoda-fakty{ margin-top: 3px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.karta-panel-trafiony > .card:first-child{
  outline: 2px solid var(--pr-red); outline-offset: 3px;
}
.moje-pliki-klubu{ margin-top: 28px; }
.moje-pliki-klubu > h2{ margin: 0 0 18px; }
.moje-pliki-klubu .www-pliki{ list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.kb-dzialy{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 10px; }
.kb-dzial{
  display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto auto auto;
  column-gap: 14px; row-gap: 2px; padding: 18px 18px;
  background: var(--pr-gunmetal); border-radius: 10px;
  color: var(--pr-frame-fg); text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease;
  position: relative; overflow: hidden;
}
.kb-dzial::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(to bottom, var(--pr-red), var(--pr-brass));
}
.kb-dzial-ikona{
  grid-row: 1 / -1; align-self: center; border-radius: 50%;
  width: 48px; height: 48px; object-fit: cover;
  background: var(--pr-gunmetal-light); padding: 4px;
  filter: invert(1) brightness(1.8);
}
@media (max-width: 620px){
.kb-dzial{ grid-template-columns: 42px 1fr; column-gap: 12px; padding: 14px 14px; }
.kb-dzial-ikona{ width: 42px; height: 42px; }
}
.kb-dzial:hover{ text-decoration: none; box-shadow: 0 6px 24px rgba(0, 0, 0, .35); transform: translateY(-2px); }
.kb-dzial-nazwa{ font-family: var(--ff-disp); font-size: 17px; font-weight: 600; letter-spacing: .02em; }
.kb-dzial-opis{ font-size: 13px; color: var(--pr-frame-dim); line-height: 1.4; }
.kb-dzial-ile{ font-size: 11.5px; color: var(--pr-brass); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }
.okruchy{ margin: 0 0 4px; font-size: 13px; color: var(--pr-fg-2); }
.kb-lista{ display: grid; gap: 6px; }
.kb-pytanie{
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 8px;
  overflow: hidden;
}
.kb-pytanie > summary{
  display: flex; gap: 10px; align-items: baseline; cursor: pointer;
  padding: 14px 16px; list-style: none; min-height: 44px;
}
.kb-pytanie > summary::-webkit-details-marker{ display: none; }
.kb-nr{
  flex: 0 0 auto; min-width: 28px; font-family: var(--ff-disp); font-size: 13px;
  font-weight: 700; color: var(--pr-brass);
  background: var(--pr-gunmetal); border-radius: 4px;
  text-align: center; padding: 2px 6px; line-height: 1.4;
}
.kb-tresc{ flex: 1 1 auto; font-size: 15.5px; line-height: 1.5; }
.kb-pytanie > summary::after{
  content: '+'; flex: 0 0 auto; font-size: 18px; line-height: 1;
  color: var(--pr-fg-2); transition: transform .2s ease;
}
.kb-pytanie[open] > summary::after{ content: '\2212'; color: var(--pr-red); }
.kb-pytanie[open] > summary{ background: linear-gradient(to right, var(--pr-red-tint), var(--pr-bg)); }
.kb-pytanie > summary:hover{ background: var(--pr-bg); }
.kb-odpowiedz{ padding: 4px 16px 16px; border-top: 1px solid var(--pr-stroke); }
.kb-odpowiedz p{ margin: 12px 0 0; font-size: 15px; line-height: 1.62; }
.kb-zrodlo{
  margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--pr-stroke);
  font-size: 12.5px; color: var(--pr-fg-2);
}
@media (max-width: 620px){
.kb-pytanie > summary{ padding: 13px 13px; }
.kb-odpowiedz{ padding: 4px 13px 14px; }
}
.kb-cytat{
  margin: 12px 0 0; padding: 2px 0 2px 14px;
  border-left: 3px solid var(--pr-red);
  font-size: 15px; line-height: 1.62; color: var(--pr-ink);
}
.fiszki-wrap{ max-width: 540px; margin: 0 auto; }
.fiszka{
  perspective: 800px; cursor: pointer; min-height: 260px;
  margin: 0 0 16px;
}
.fiszka-inner{
  position: relative; width: 100%; min-height: 260px;
  transition: transform .5s cubic-bezier(.4,.0,.2,1);
  transform-style: preserve-3d;
}
.fiszka.odwrocona .fiszka-inner{ transform: rotateY(180deg); }
.fiszka-przod, .fiszka-tyl{
  backface-visibility: hidden;
  border-radius: 12px; padding: 28px 24px;
  display: flex; flex-direction: column; justify-content: center;
}
.fiszka-tyl{ position: absolute; inset: 0; }
.fiszka-przod{
  background: var(--pr-gunmetal); color: var(--pr-frame-fg);
  border: 1px solid var(--pr-gunmetal-light);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 32px rgba(0,0,0,.3);
  position: relative;
}
.fiszka-przod::after{
  content: ''; position: absolute; right: 16px; bottom: 16px;
  width: 40px; height: 40px; border: 1px solid rgba(200,168,78,.2);
  border-radius: 50%; opacity: .5;
}
.fiszka-przod::before{
  content: ''; position: absolute; right: 26px; bottom: 26px;
  width: 20px; height: 20px; border: 1px solid rgba(200,168,78,.15);
  border-radius: 50%;
}
.fiszka-tyl{
  background: linear-gradient(135deg, var(--pr-ink) 0%, #1e2028 100%);
  color: #f2f0ee;
  border: 1px solid var(--pr-brass-dim);
  box-shadow: inset 0 1px 0 rgba(200,168,78,.1), 0 8px 32px rgba(0,0,0,.3);
  transform: rotateY(180deg);
}
.fiszka-nr{
  font-size: 11px; color: var(--pr-brass); letter-spacing: .12em;
  text-transform: uppercase; margin: 0 0 14px;
  font-family: var(--ff-disp); font-weight: 600;
}
.fiszka-pytanie{ font-size: 18px; font-weight: 600; line-height: 1.45; margin: 0; }
.fiszka-odpowiedz{ font-size: 15px; line-height: 1.6; margin: 0 0 12px; white-space: pre-line; }
.fiszka-podstawa{ font-size: 11.5px; color: var(--pr-brass-dim); margin: 0; font-family: var(--ff-disp); letter-spacing: .03em; }
.fiszki-nav{ display: flex; align-items: center; justify-content: center; gap: 20px; margin: 0 0 8px; }
.fiszki-licznik{ font-size: 14px; color: var(--pr-fg-2); min-width: 60px; text-align: center; }
.fiszki-hint{ text-align: center; font-size: 13px; color: var(--pr-fg-2); margin: 0; }
.powtorki-ocena{ margin: 12px 0; }
.powtorki-btn-zle{ border-color: var(--pr-red); color: var(--pr-red); }
.powtorki-btn-zle:hover{ background: var(--pr-red-tint); }
@media (max-width: 620px){
.fiszka{ min-height: 220px; }
.fiszka-inner{ min-height: 220px; }
.fiszka-przod, .fiszka-tyl{ padding: 22px 18px; }
.fiszka-pytanie{ font-size: 16px; }
}
.kb-akcje{ display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.nauka-odpowiedz > summary{ list-style: none; }
.nauka-odpowiedz > summary::-webkit-details-marker{ display: none; }
.kb-teoria-obraz{
  display: block; margin: 0 0 -8px; border-radius: 10px; overflow: hidden;
  position: relative;
}
.kb-teoria-obraz::after{
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(21,23,27,.6));
}
.kb-teoria-obraz img{ display: block; width: 100%; height: auto; }
.kb-film{ margin: 16px 0; }
.kb-film-embed{
  position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;
  border-radius: 8px;
}
.kb-film-embed iframe{
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  border: 0;
}
.kb-film-tytul{ font-size: 14px; margin: 8px 0 0; }
.kb-film-kanal{ color: var(--pr-fg-2); font-size: 12px; }
.kb-lead{ font-size: 16px; line-height: 1.6; color: var(--pr-fg-2); margin: 0; }
.kb-artykul{ font-size: 15px; line-height: 1.7; }
.kb-artykul h2{ font-size: 18px; margin: 28px 0 12px; }
.kb-artykul h3{ font-size: 16px; margin: 20px 0 8px; }
.kb-artykul p{ margin: 10px 0; }
.kb-dzial-teoria{
  display: inline-block; font-size: 10px; font-weight: 700;
  background: var(--pr-brass); color: var(--pr-ink);
  padding: 2px 8px; border-radius: 3px; margin-left: 8px;
  vertical-align: middle; letter-spacing: .06em;
  text-transform: uppercase;
}
.kb-dzial-pasek{
  display: block; height: 4px; border-radius: 2px;
  background: rgba(255,255,255,.12); margin-top: 8px; overflow: hidden;
}
.kb-dzial-pasek-fill{
  display: block; height: 100%; border-radius: 2px;
  background: linear-gradient(90deg, var(--pr-green), var(--pr-brass));
  transition: width .4s cubic-bezier(.4,0,.2,1);
}
.kb-dzial-postep{
  display: block; font-size: 11px; color: var(--pr-brass); margin-top: 4px;
  font-family: var(--ff-disp); letter-spacing: .05em;
}
.kb-ikona{
  flex-shrink: 0; font-size: 12px; margin-right: 4px;
  width: 22px; height: 22px; line-height: 22px; text-align: center;
  border-radius: 50%; font-weight: 700;
}
.kb-ikona-ok{ color: #fff; background: var(--pr-green); }
.kb-ikona-zle{ color: #fff; background: var(--pr-red-dark); }
.tabela-postepow{ width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela-postepow th{ text-align: left; padding: 8px 10px; border-bottom: 2px solid var(--pr-stroke); font-weight: 600; white-space: nowrap; }
.tabela-postepow td{ padding: 6px 10px; border-bottom: 1px solid var(--pr-stroke); }
@media (max-width: 620px){
.tabela-postepow{ font-size: 13px; }
.tabela-postepow th, .tabela-postepow td{ padding: 5px 6px; }
}
.tabela-postepow .kb-dzial-pasek{ min-width: 80px; }
.tabela-przewijana{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tabela-suma td{ font-weight: 700; border-top: 2px solid var(--pr-stroke); }
.quiz-start{
  text-align: left; cursor: pointer; width: 100%;
  border: 0; font: inherit;
  grid-template-columns: 1fr;
}
.quiz-pytanie{ max-width: 720px; }
.quiz-tresc{ font-size: 17px; font-weight: 600; line-height: 1.45; margin: 0 0 20px; }
.quiz-wariant{
  display: flex; align-items: flex-start; gap: 10px;
  padding: 14px 16px; margin: 6px 0; border-radius: 8px;
  border: 1px solid var(--pr-stroke); cursor: pointer;
  transition: all .2s ease;
}
.quiz-wariant:hover{
  border-color: var(--pr-red);
  box-shadow: 0 0 0 1px var(--pr-red);
  background: var(--pr-red-tint);
}
.quiz-wariant:has(input:checked){
  border-color: var(--pr-red); background: var(--pr-red-tint);
  box-shadow: 0 0 0 1px var(--pr-red);
}
.quiz-wariant input[type="radio"]{ margin-top: 3px; flex-shrink: 0; accent-color: var(--pr-red); }
.quiz-litera{
  font-family: var(--ff-disp); font-weight: 700; font-size: 16px;
  min-width: 22px; color: var(--pr-brass);
}
.quiz-tekst{ font-size: 15px; line-height: 1.5; }
.quiz-dalej{ margin-top: 20px; }
.quiz-timer{
  text-align: center; font-size: 14px; color: var(--pr-fg-2);
  margin-top: 16px;
}
.quiz-wynik-glowny{
  font-family: var(--ff-disp); font-size: 56px; font-weight: 800;
  text-align: center; margin: 0 0 8px; line-height: 1;
  letter-spacing: -.02em;
}
.quiz-zaliczony .quiz-wynik-glowny{ color: var(--pr-green); }
.quiz-niezaliczony .quiz-wynik-glowny{ color: var(--pr-red); }
.quiz-zaliczony{ border-left: 4px solid var(--pr-green); }
.quiz-niezaliczony{ border-left: 4px solid var(--pr-red); }
.quiz-ok{ color: var(--pr-green); }
.quiz-zle{ color: var(--pr-red); }
.quiz-wariant-wynik{ padding: 6px 10px; margin: 4px 0; border-radius: 6px; font-size: 14px; }
.quiz-wariant-wynik.quiz-poprawna{ background: rgba(42, 170, 119, .12); }
.quiz-wariant-wynik.quiz-bledna{ background: rgba(220, 53, 53, .10); }
.quiz-wyjasnienie{
  font-size: 13.5px; line-height: 1.55; color: var(--pr-fg-2);
  margin: 10px 0 0; padding: 8px 10px;
  background: var(--pr-bg); border-radius: 6px;
}
@media (max-width: 620px){
.quiz-wariant{ padding: 10px 12px; }
.quiz-wynik-glowny{ font-size: 36px; }
}
.zaw-lista{ display: flex; flex-direction: column; gap: 14px; }
.zaw-karta{
  position: relative; padding: 20px 20px 20px 24px;
  background: var(--pr-gunmetal); border-radius: 10px;
  color: var(--pr-frame-fg, #e8e8e8);
  box-shadow: 0 2px 12px rgba(0,0,0,.25);
  transition: transform .2s, box-shadow .2s;
}
.zaw-karta::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(to bottom, var(--pr-red), var(--pr-brass));
  border-radius: 10px 0 0 10px;
}
.zaw-karta:hover{ transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0,0,0,.35); }
.zaw-karta-naglowek{
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 6px;
}
.zaw-data{
  font-family: var(--ff-disp); font-size: 13px; font-weight: 600;
  color: var(--pr-brass); letter-spacing: .06em; text-transform: uppercase;
}
.zaw-tier{
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 2px 10px; border-radius: 3px;
  background: var(--pr-gunmetal-light); color: var(--pr-frame-dim, #999);
}
.zaw-tier--puchar_prezesa{ background: var(--pr-brass); color: var(--pr-ink, #1a1a1a); }
.zaw-tier--otwarte{ background: var(--pr-red-dark); color: #fff; }
.zaw-tier--wewnetrzne{ background: var(--pr-green); color: #fff; }
.zaw-nazwa{
  font-family: var(--ff-disp); font-size: 1.25rem; font-weight: 700;
  margin: 0 0 10px; letter-spacing: .01em; line-height: 1.2;
  color: #fff;
}
.zaw-opis{ font-size: 13.5px; color: var(--pr-frame-dim); margin: 0 0 12px; line-height: 1.5; }
.zaw-meta{
  display: flex; flex-wrap: wrap; gap: 6px;
  font-size: 11.5px; color: var(--pr-frame-dim); margin-bottom: 14px;
}
.zaw-meta span{
  background: rgba(255,255,255,.07); padding: 3px 10px; border-radius: 4px;
  white-space: nowrap;
}
.zaw-btn-zapisz{
  margin-top: 4px;
  background: linear-gradient(180deg, var(--pr-red) 0%, var(--pr-red-dark) 100%);
  box-shadow: 0 2px 8px rgba(236,32,40,.3);
}
.zaw-btn-zapisz:hover{ box-shadow: 0 4px 16px rgba(236,32,40,.45); }
.zaw-status{
  display: inline-block; font-size: 12px; font-weight: 700; padding: 5px 14px;
  border-radius: 4px; margin-top: 10px; letter-spacing: .03em;
  text-transform: uppercase;
}
.zaw-status--pending{ background: rgba(200,168,78,.18); color: var(--pr-brass); }
.zaw-status--accepted{ background: rgba(42,122,90,.18); color: #5fbe8a; }
.zaw-status--rejected{ background: rgba(236,32,40,.15); color: #f06068; }
.zaw-status--cancelled{ background: rgba(255,255,255,.06); color: var(--pr-frame-dim); }
.zaw-powod{ font-weight: 400; font-style: italic; text-transform: none; font-size: 12px; }
.zaw-status-box{
  padding: 14px 18px; border-radius: 8px; margin-top: 14px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
}
.zaw-info-pk{
  padding: 12px 16px; border-radius: 8px; margin: 12px 0;
  background: rgba(200, 168, 78, .1); border-left: 3px solid var(--pr-brass);
  font-size: 14px; line-height: 1.5;
}
.zaw-formularz fieldset{
  border: 1px solid rgba(255,255,255,.12); border-radius: 8px;
  padding: 14px 18px; margin-bottom: 16px;
  background: rgba(255,255,255,.03);
}
.zaw-formularz legend{
  font-family: var(--ff-disp); font-weight: 700; font-size: 13px;
  padding: 0 8px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--pr-brass);
}
.zaw-disc-group{
  margin-bottom: 12px; padding-bottom: 8px;
  border-bottom: 1px solid var(--pr-stroke);
}
.zaw-disc-group strong{
  display: block; font-size: 11px; text-transform: uppercase;
  letter-spacing: .08em; color: var(--pr-brass); margin-bottom: 4px;
}
.zaw-checkbox{
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; cursor: pointer; font-size: 14px;
}
.zaw-checkbox input[type="checkbox"]{
  width: 18px; height: 18px; accent-color: var(--pr-red);
}
.zaw-label{
  display: block; font-size: 13px; font-weight: 600; margin-bottom: 12px;
  color: var(--pr-frame-dim); text-transform: uppercase; letter-spacing: .04em;
}
.zaw-label textarea{
  width: 100%; padding: 10px; margin-top: 6px;
  border: 1px solid rgba(255,255,255,.12); border-radius: 6px;
  font-family: var(--ff-body); font-size: 14px;
  background: rgba(255,255,255,.04); color: #fff;
  resize: vertical;
}
.zaw-label textarea:focus{ border-color: var(--pr-brass); outline: none; }
.zaw-sekcja{
  font-family: var(--ff-disp); font-size: 1.15rem; font-weight: 700;
  margin: 28px 0 14px; padding-bottom: 8px;
  border-bottom: 2px solid var(--pr-red);
  letter-spacing: .03em; text-transform: uppercase;
  color: var(--pr-brass);
}
.zaw-historia{ display: flex; flex-direction: column; gap: 8px; }
.zaw-wpis{
  padding: 12px 18px; font-size: 13px;
  background: var(--pr-gunmetal); border-radius: 8px; color: #fff;
}
.zaw-filtry{
  display: flex; flex-wrap: wrap; gap: 10px; align-items: end;
  margin-bottom: 18px;
}
.zaw-filtry select{
  padding: 8px 12px; border-radius: 6px;
  border: 1px solid rgba(255,255,255,.12);
  background: var(--pr-gunmetal); color: #fff;
  font-family: var(--ff-body); font-size: 14px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c8a84e' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
  padding-right: 30px; cursor: pointer; min-width: 150px;
}
.zaw-filtry select:focus{ border-color: var(--pr-brass); outline: none; }
.zaw-paginacja{
  display: flex; justify-content: center; align-items: center; gap: 16px;
  margin-top: 20px; font-size: 13px; color: var(--pr-frame-dim);
}
.zaw-paginacja .btn{ font-size: 12px; padding: 6px 14px; }
.zaw-profil{ display: flex; flex-direction: column; gap: 16px; }
.zaw-profil-podsumowanie{
  background: var(--pr-gunmetal); border-radius: 10px; padding: 24px;
  position: relative; overflow: hidden; color: #fff;
}
.zaw-profil-podsumowanie::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(to bottom, var(--pr-red), var(--pr-brass));
}
.zaw-profil-podsumowanie::after{
  content: ''; position: absolute; right: -30px; top: -30px;
  width: 120px; height: 120px; border-radius: 50%;
  border: 2px solid rgba(200,168,78,.1);
  pointer-events: none;
}
.zaw-profil-podsumowanie h2{
  font-family: var(--ff-disp); font-size: 15px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--pr-brass); margin: 0 0 16px;
}
.zaw-profil-statystyki{
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(90px, 100%), 1fr));
  gap: 10px;
}
.zaw-stat{
  text-align: center; padding: 16px 8px;
  background: rgba(255,255,255,.05); border-radius: 8px;
  border: 1px solid rgba(255,255,255,.06);
  position: relative;
}
.zaw-stat::after{
  content: ''; position: absolute; bottom: 0; left: 20%; right: 20%;
  height: 2px; border-radius: 1px;
  background: linear-gradient(90deg, transparent, var(--pr-red), transparent);
}
.zaw-stat-liczba{
  display: block; font-family: var(--ff-disp);
  font-size: 2.2rem; font-weight: 800; line-height: 1;
  color: var(--pr-brass);
  text-shadow: 0 0 20px rgba(200,168,78,.15);
}
.zaw-stat-etykieta{
  display: block; font-size: 10px; text-transform: uppercase;
  letter-spacing: .08em; color: var(--pr-frame-dim); margin-top: 6px;
  font-weight: 600;
}
.zaw-profil-ranking{
  background: var(--pr-gunmetal); border-radius: 10px; padding: 20px 24px;
  color: #fff;
}
.zaw-profil-ranking h3{
  font-family: var(--ff-disp); font-size: 13px; text-transform: uppercase;
  letter-spacing: .06em; color: var(--pr-brass); margin: 0 0 14px;
}
.zaw-percentyl{
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.zaw-percentyl:last-child{ border-bottom: none; }
.zaw-percentyl-kat{
  font-weight: 600; text-transform: uppercase; font-size: 13px;
  letter-spacing: .04em;
}
.zaw-percentyl-wartosc{
  font-family: var(--ff-disp); font-weight: 700; font-size: 15px;
  color: var(--pr-green);
}
.zaw-profil-wykres{
  background: var(--pr-gunmetal); border-radius: 10px; padding: 20px 24px;
  color: #fff;
}
.zaw-profil-wykres h3{
  font-family: var(--ff-disp); font-size: 13px; text-transform: uppercase;
  letter-spacing: .06em; color: var(--pr-brass); margin: 0 0 14px;
}
.zaw-wykres{ width: 100%; max-width: 100%; overflow-x: auto; }
.zaw-profil-najlepsze{
  background: var(--pr-gunmetal); border-radius: 10px; padding: 20px 24px;
  color: #fff;
}
.zaw-profil-najlepsze h3{
  font-family: var(--ff-disp); font-size: 13px; text-transform: uppercase;
  letter-spacing: .06em; color: var(--pr-brass); margin: 0 0 14px;
}
.zaw-profil-najlepsze .tabela{
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.zaw-profil-najlepsze .tabela th{
  text-align: left; padding: 8px 10px;
  border-bottom: 2px solid rgba(255,255,255,.1);
  font-size: 11px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--pr-frame-dim); font-weight: 600;
}
.zaw-profil-najlepsze .tabela td{
  padding: 8px 10px; border-bottom: 1px solid rgba(255,255,255,.05);
}
.zaw-historia-pelna{
  background: var(--pr-gunmetal); border-radius: 10px;
  padding: 24px; color: #fff;
}
.zaw-historia-pelna h2{
  font-family: var(--ff-disp); font-size: 18px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  margin: 0 0 18px; color: #fff;
}
.zaw-historia-pelna .tabela{
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.zaw-historia-pelna .tabela th{
  text-align: left; padding: 8px 10px;
  border-bottom: 2px solid rgba(255,255,255,.1);
  font-size: 11px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--pr-frame-dim); font-weight: 600; white-space: nowrap;
}
.zaw-historia-pelna .tabela td{
  padding: 7px 10px; border-bottom: 1px solid rgba(255,255,255,.05);
}
.zaw-historia-pelna .tabela tr:hover td{
  background: rgba(255,255,255,.03);
}
.zaw-historia-pelna .hint{
  color: var(--pr-frame-dim); font-size: 14px;
}
.zaw-tabela-wrap{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
.zaw-tabela-wrap:focus-visible{ outline: 3px solid var(--pr-red); outline-offset: 2px; }
.tabela-slotow{ font-size: 13px; }
.zaw-tabela-wrap table{ background: transparent; color: var(--pr-fg); }
.zaw-tabela-wrap th{ color: var(--pr-fg-2); }
.zaw-tabela-wrap td{ border-bottom-color: rgba(255,255,255,.08); }
.zaw-tabela-wrap tbody tr:hover{ background: rgba(255,255,255,.04); }
@media (max-width: 620px){
.zaw-karta{ padding: 16px 16px 16px 20px; }
.zaw-nazwa{ font-size: 1.1rem; }
.zaw-meta{ font-size: 11px; gap: 5px; }
.zaw-stat-liczba{ font-size: 1.7rem; }
.zaw-profil-statystyki{ grid-template-columns: repeat(2, 1fr); }
.zaw-profil-podsumowanie{ padding: 18px; }
.zaw-profil-ranking, .zaw-profil-wykres, .zaw-profil-najlepsze{ padding: 16px 18px; }
.zaw-historia-pelna{ padding: 18px; }
.zaw-filtry select{ min-width: 0; flex: 1; }
.zaw-col-hide-sm{ display: none; }
.live-tabela, .tv-tabela{ font-size: 13px; }
.live-tabela th, .live-tabela td,
  .tv-tabela th, .tv-tabela td{ padding: 6px 4px; }
}
.zaw-pub-lista{ display: flex; flex-direction: column; gap: 16px; max-width: 700px; }
@media (min-width: 1000px){
.zaw-pub-lista{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
.zaw-pub-lista > :not(.zaw-pub-karta){ grid-column: 1 / -1; }
}
.zaw-pub-karta{
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
  padding: 20px 24px;
  transition: border-color .2s;
}
.zaw-pub-karta:hover{ border-color: var(--pr-fg-2); }
.zaw-pub-data{ font-family: var(--ff-disp); font-size: 14px; color: var(--pr-red-dark); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.zaw-pub-meta{ display: flex; gap: 10px; align-items: center; margin: 6px 0 4px; }
.zaw-pub-tier{
  font-family: var(--ff-disp); font-size: 13px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .06em; padding: 2px 8px; border-radius: 4px;
  background: rgba(200,168,78,.15); color: #6b5410; border: 1px solid rgba(200,168,78,.35);
}
.zaw-pub-status{ font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.zaw-st-soon{ color: var(--pr-green); }
.zaw-st-end{ color: var(--pr-fg-2); }
.zaw-st-pub{ color: #6b5410; }
.zaw-pub-nazwa{ font-family: var(--ff-disp); font-size: 1.15rem; font-weight: 700; margin: 4px 0 8px; }
.zaw-pub-akcje{ display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.zaw-pub-info{ font-size: 13px; color: var(--pr-fg-2); }
.zaw-pub-kategoria{
  margin-bottom: 24px; position: relative;
  background: var(--pr-card); border-radius: 10px; padding: 20px 20px 16px;
  border: 1px solid var(--pr-stroke); overflow: hidden;
}
.zaw-pub-kategoria::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(to bottom, var(--pr-red), var(--pr-brass));
  border-radius: 10px 0 0 10px;
}
.zaw-pub-kategoria h2{
  font-family: var(--ff-disp); font-size: 14px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; color: var(--pr-brass);
  margin: 0 0 14px; padding: 0; border: none;
}
.zaw-pub-tabela{ width: 100%; border-collapse: collapse; font-size: 13px; }
.zaw-pub-tabela th{
  text-align: left; padding: 8px 10px;
  font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--pr-fg-2); border-bottom: 2px solid rgba(255,255,255,.08);
  font-weight: 600; white-space: nowrap;
}
.zaw-pub-tabela td{ padding: 8px 10px; border-bottom: 1px solid rgba(255,255,255,.04); }
.zaw-pub-tabela tbody tr:hover td{ background: rgba(255,255,255,.03); }
.zaw-pub-msc{
  font-family: var(--ff-disp); font-weight: 800; font-size: 18px;
  width: 44px; text-align: center; line-height: 1;
}
.zaw-pub-tabela tr.miejsce-1{ background: linear-gradient(90deg, rgba(255,215,0,.08) 0%, transparent 60%); }
.zaw-pub-tabela tr.miejsce-1 .zaw-pub-msc{ color: #ffd700; text-shadow: 0 0 12px rgba(255,215,0,.3); }
.zaw-pub-tabela tr.miejsce-2{ background: linear-gradient(90deg, rgba(192,192,192,.06) 0%, transparent 60%); }
.zaw-pub-tabela tr.miejsce-2 .zaw-pub-msc{ color: #c0c0c0; }
.zaw-pub-tabela tr.miejsce-3{ background: linear-gradient(90deg, rgba(205,127,50,.06) 0%, transparent 60%); }
.zaw-pub-tabela tr.miejsce-3 .zaw-pub-msc{ color: #cd7f32; }
.klas-d{ color: #6b8cce; }
.klas-c{ color: #5fbe8a; }
.klas-b{ color: #c8a84e; }
.klas-a{ color: #e67e22; }
.klas-m{ color: #9b59b6; }
.klas-gm{ color: #ec2028; font-weight: 800; text-shadow: 0 0 8px rgba(236,32,40,.3); }
.judge-header{
  background: linear-gradient(180deg, #1e2027 0%, #15171b 100%);
  padding: 14px 16px; border-bottom: 2px solid var(--pr-red);
  position: sticky; top: 0; z-index: 10;
}
.judge-header h1{
  font-family: var(--ff-disp); font-size: 16px; margin: 0;
  text-transform: uppercase; letter-spacing: .04em; color: var(--pr-brass);
}
.judge-header .meta{ font-size: 11px; color: var(--pr-fg-2); margin-top: 2px; }
.judge-tabs{
  display: flex; gap: 0; background: #1e2027;
  border-bottom: 1px solid rgba(255,255,255,.06); overflow-x: auto;
}
.judge-tab{
  padding: 10px 18px; font-size: 13px; font-weight: 600;
  color: var(--pr-fg-2); cursor: pointer;
  border-bottom: 2px solid transparent; white-space: nowrap;
  transition: color .2s, border-color .2s;
}
.judge-tab.active{ color: var(--pr-brass); border-bottom-color: var(--pr-brass); }
.judge-tab:hover:not(.active){ color: #fff; }
.judge-list{ padding: 8px; }
.judge-card{
  background: var(--pr-gunmetal); border-radius: 10px; padding: 14px;
  margin-bottom: 8px; position: relative; overflow: hidden;
  border: 1px solid rgba(255,255,255,.04);
}
.judge-card::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: var(--pr-red); border-radius: 10px 0 0 10px;
  opacity: .4; transition: opacity .2s;
}
.judge-card:focus-within::before{ opacity: 1; }
.judge-card-header{
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 8px;
}
.judge-card-name{ font-weight: 700; font-size: 14px; color: #fff; }
.judge-card-club{ font-size: 11px; color: var(--pr-fg-2); }
.judge-card-status{
  font-size: 10px; padding: 3px 10px; border-radius: 10px;
  font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
}
.judge-card-status.ok{ background: rgba(42,122,90,.2); color: #5fbe8a; }
.judge-card-status.waiting{ background: rgba(200,168,78,.15); color: var(--pr-brass); }
.judge-score-row{
  display: flex; gap: 8px; align-items: center; margin-top: 8px;
}
.judge-score-row select,
.judge-score-row input{
  background: #15171b; color: #e0e0e0;
  border: 1px solid rgba(255,255,255,.12); border-radius: 6px;
  padding: 10px; font-size: 14px; font-family: var(--ff-body);
  transition: border-color .2s;
}
.judge-score-row select:focus,
.judge-score-row input:focus{ border-color: var(--pr-brass); outline: none; }
.judge-score-row select{ flex: 1; }
.judge-score-row input{ width: 70px; text-align: center; font-weight: 700; }
.judge-score-row input.tens{ width: 50px; }
.judge-btn{
  background: linear-gradient(180deg, var(--pr-green) 0%, #1f5e44 100%);
  color: #fff; border: none; border-radius: 6px;
  padding: 10px 16px; font-size: 14px; font-weight: 700;
  cursor: pointer; text-transform: uppercase; letter-spacing: .04em;
  transition: box-shadow .2s;
}
.judge-btn:active{ box-shadow: 0 0 16px rgba(42,122,90,.5); }
.judge-saved{
  color: #5fbe8a; font-size: 12px; font-weight: 700;
  display: none; padding: 4px 0; text-transform: uppercase;
  letter-spacing: .06em;
}
.judge-saved.show{ display: block; animation: judgeFlash .4s ease-out; }
@keyframes judgeFlash{
  0% { opacity: 0; transform: translateY(-4px); }
  100% { opacity: 1; transform: translateY(0); }
}
.judge-checkin{
  font-size: 13px; padding: 8px 16px; border-radius: 6px;
  border: 1px solid rgba(255,255,255,.12); background: none;
  color: var(--pr-fg-2); cursor: pointer; font-weight: 600;
  transition: all .2s;
}
.judge-checkin.active{
  background: rgba(42,122,90,.2); border-color: var(--pr-green);
  color: #5fbe8a;
}
.miejsce{ font-family: var(--ff-disp); font-weight: 800; }
.miejsce-1{ color: #ffd700; }
.miejsce-2{ color: #c0c0c0; }
.miejsce-3{ color: #cd7f32; }
@media (max-width: 620px){
.zaw-pub-kategoria{ padding: 16px 14px 12px; }
.zaw-pub-tabela th, .zaw-pub-tabela td{ padding: 6px 6px; }
.zaw-pub-msc{ font-size: 16px; width: 36px; }
.judge-score-row{ flex-wrap: wrap; }
.judge-score-row select{ flex: 1 1 100%; }
}
.zaw-tab-bar{
  display: flex; gap: 6px 18px; flex-wrap: wrap; align-items: baseline;
  position: sticky; top: 0; z-index: 50;
  background: var(--pr-bg, #fff); padding: 10px 0; margin-bottom: 12px;
  border-bottom: 1px solid var(--pr-stroke, #eee); font-size: 14px;
}
.zaw-tab-bar a{
  color: var(--pr-fg); text-decoration: underline; text-decoration-color: var(--pr-fg-2);
  text-underline-offset: 3px;
}
.zaw-tab-bar a:hover{ color: var(--pr-red-dark); }
.zaw-admin-status{
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin-bottom: 20px; padding: 16px 20px; border-radius: 10px;
  background: var(--pr-card, #f9f9f9); border: 1px solid var(--pr-stroke, #eee);
  position: relative; overflow: hidden;
}
.zaw-admin-status::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(to bottom, var(--pr-red), var(--pr-brass));
  border-radius: 10px 0 0 10px;
}
.zaw-admin-badge{
  font-family: var(--ff-disp); font-size: 13px; font-weight: 700;
  padding: 5px 16px; border-radius: 6px;
  text-transform: uppercase; letter-spacing: .04em;
}
.zaw-admin-badge--planowane{ background: rgba(60,130,200,.15); color: #3c82c8; }
.zaw-admin-badge--w_trakcie{
  background: rgba(42,122,90,.25); color: #2a7a5a;
  animation: pulsuj 1.5s ease-in-out infinite;
}
.zaw-admin-badge--zakonczone{ background: rgba(128,128,128,.15); color: #888; }
.zaw-admin-badge--opublikowane{ background: rgba(200,168,78,.15); color: var(--pr-brass); }
.zaw-admin-meta{
  margin-left: auto; font-size: 13px; color: var(--pr-fg-2, #666);
}
.zaw-checkin-wrap{
  max-height: 400px; overflow-y: auto; overflow-x: hidden;
  border: 1px solid var(--pr-stroke, #eee); border-radius: 8px;
  padding: 0 12px;
}
.zaw-checkin-row{
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; border-bottom: 1px solid var(--pr-stroke, #eee);
  font-size: 13px;
}
.zaw-checkin-row:last-child{ border-bottom: none; }
.zaw-checkin-row label{
  cursor: pointer; display: flex; align-items: center; gap: 5px;
  font-size: 12px; white-space: nowrap;
}
.zaw-checkin-name{ flex: 1; min-width: 100px; font-weight: 600; }
.zaw-checkin-summary{
  display: flex; gap: 20px; padding: 12px 0; font-size: 13px;
  font-weight: 700; border-bottom: 2px solid var(--pr-stroke, #ddd);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: .03em;
  font-family: var(--ff-disp);
}
.zaw-quick-grid{
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.zaw-quick-grid th{
  text-align: left; padding: 8px 8px;
  border-bottom: 2px solid var(--pr-stroke, #ddd);
  font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  font-weight: 700; color: var(--pr-fg-2);
  font-family: var(--ff-disp);
}
.zaw-quick-grid td{
  padding: 6px 8px; border-bottom: 1px solid var(--pr-stroke, #eee);
}
.zaw-quick-grid input,
.zaw-quick-grid select{
  padding: 6px 8px; font-size: 13px; width: 100%;
  box-sizing: border-box; border: 1px solid var(--pr-stroke, #ddd);
  border-radius: 4px; font-family: var(--ff-body);
}
.zaw-quick-grid input:focus,
.zaw-quick-grid select:focus{
  border-color: var(--pr-brass); outline: none;
  box-shadow: 0 0 0 2px rgba(200,168,78,.15);
}
.zaw-quick-grid .saved{
  background: rgba(42,122,90,.1) !important;
  transition: background .5s;
}
.zaw-quick-grid tr.miejsce-1 td:first-child{ color: #b8960f; font-weight: 800; }
.zaw-quick-grid tr.miejsce-2 td:first-child{ color: #888; font-weight: 800; }
.zaw-quick-grid tr.miejsce-3 td:first-child{ color: #a06828; font-weight: 800; }
.zaw-edit-form{
  margin-bottom: 20px; padding: 18px;
  background: var(--pr-card, #f9f9f9); border-radius: 10px;
  border: 1px solid var(--pr-stroke, #eee);
}
.zaw-edit-form h3{
  font-family: var(--ff-disp); margin: 0 0 14px;
  font-size: 14px; text-transform: uppercase;
  letter-spacing: .04em; color: var(--pr-brass);
}
.zaw-edit-grid{
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.zaw-edit-grid label{
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .04em; color: var(--pr-fg-2);
  font-family: var(--ff-disp);
}
.zaw-edit-grid input,
.zaw-edit-grid select,
.zaw-edit-grid textarea{
  width: 100%; padding: 8px; margin-top: 4px;
  border: 1px solid var(--pr-stroke, #ddd); border-radius: 6px;
  font-family: var(--ff-body); font-size: 13px;
  background: var(--pr-bg, #fff); color: var(--pr-fg);
}
.zaw-edit-grid input:focus,
.zaw-edit-grid select:focus,
.zaw-edit-grid textarea:focus{
  border-color: var(--pr-brass); outline: none;
  box-shadow: 0 0 0 2px rgba(200,168,78,.15);
}
@media (max-width: 620px){
.zaw-edit-grid{ grid-template-columns: 1fr; }
.zaw-checkin-wrap{ max-height: 300px; }
.zaw-checkin-row{ gap: 6px; font-size: 12px; }
.zaw-admin-status{ padding: 12px 14px; gap: 10px; }
}
.btn{ position: relative; overflow: hidden; }
.btn::before{
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),
    rgba(255,255,255,.35) 0%, transparent 60%);
  transform: scale(0); opacity: 0;
  transition: transform .5s cubic-bezier(.2,.8,.3,1), opacity .4s ease;
  pointer-events: none; border-radius: inherit;
}
.btn:active::before{ transform: scale(2.5); opacity: 1; transition: none; }
@keyframes pr-row-in{
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: none; }
}
tbody tr{
  animation: pr-row-in .35s cubic-bezier(.2,.75,.3,1) both;
}
tbody tr:nth-child(1){ animation-delay: 0s; }
tbody tr:nth-child(2){ animation-delay: .03s; }
tbody tr:nth-child(3){ animation-delay: .06s; }
tbody tr:nth-child(4){ animation-delay: .09s; }
tbody tr:nth-child(5){ animation-delay: .12s; }
tbody tr:nth-child(6){ animation-delay: .15s; }
tbody tr:nth-child(7){ animation-delay: .18s; }
tbody tr:nth-child(8){ animation-delay: .21s; }
tbody tr:nth-child(n+9){ animation-delay: .24s; }
@keyframes pr-shimmer{
  from { background-position: -200% 0; }
  to { background-position: 200% 0; }
}
@keyframes pr-fill-grow{
  from { width: 0; }
}
.bar .fill{
  animation: pr-fill-grow .8s cubic-bezier(.25,.8,.25,1) both;
  transition: width .6s cubic-bezier(.25,.8,.25,1);
}
@keyframes pr-pulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(236,32,40,.4); }
  50% { box-shadow: 0 0 0 6px rgba(236,32,40,0); }
}
@keyframes pr-count-in{
  from { opacity: 0; transform: translateY(10px) scale(.9); }
  to { opacity: 1; transform: none; }
}
.kpi{
  animation: pr-count-in .5s cubic-bezier(.2,.75,.3,1) both;
}
.kpi:nth-child(2){ animation-delay: .08s; }
.kpi:nth-child(3){ animation-delay: .16s; }
.kpi:nth-child(4){ animation-delay: .24s; }
.rail .nav-i{
  position: relative;
  transition: background .2s ease, border-color .2s ease, color .15s ease;
}
.rail .nav-i::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--pr-red);
  transform: scaleY(0); transform-origin: center;
  transition: transform .25s cubic-bezier(.4,.0,.2,1);
}
.rail .nav-i:hover::before, .rail .nav-i.active::before{ transform: scaleY(1); }
.rail .nav-i:hover{ color: var(--pr-frame-fg); }
.card{
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(21,23,27,.08);
}
table .card:hover, .card.karta-tabela:hover, .auth-card:hover{ transform: none; box-shadow: 0 1px 2px rgba(21,23,27,.04); }
.czolo::before{
  background:
    radial-gradient(ellipse at 15% 80%, rgba(236,32,40,.08) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 20%, rgba(200,168,78,.06) 0%, transparent 40%),
    linear-gradient(100deg,
      rgba(16, 18, 22, .97) 0%, rgba(16, 18, 22, .9) 40%,
      rgba(16, 18, 22, .55) 68%, rgba(16, 18, 22, .1) 100%);
}
.czolo, .topbar, .auth-card, .hero-member{
  background-blend-mode: overlay;
}
html{ scroll-behavior: smooth; }
:focus-visible{
  outline: 3px solid var(--pr-red);
  outline-offset: 2px;
}
.www-belka :focus-visible, .www-stopka :focus-visible, .rail :focus-visible{ outline-color: #fff; }
@media (forced-colors: active){
.btn, button, .do-kopii, .www-wejscie{ border: 1px solid ButtonText !important; }
.badge, .chip{ border: 1px solid CanvasText !important; }
:focus-visible, a:focus-visible, .btn:focus-visible, button:focus-visible{ outline: 3px solid Highlight; outline-offset: 2px; }
input:focus, select:focus, textarea:focus{ outline: 2px solid Highlight; }
}
a:not(.btn):not(.kafel):not(.www-kafel):not(.nav-i):not(.brand-name):not(.znak-klubu){
  background-image: linear-gradient(var(--pr-red), var(--pr-red));
  background-size: 0% 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .3s cubic-bezier(.2,.75,.3,1);
}
a:not(.btn):not(.kafel):not(.www-kafel):not(.nav-i):not(.brand-name):not(.znak-klubu):hover{
  background-size: 100% 2px;
  text-decoration: none;
}
.badge-ok, .badge-warn, .badge-err{
  transition: transform .15s ease;
}
.badge-ok:hover, .badge-warn:hover, .badge-err:hover{
  transform: scale(1.08);
}
[data-tip]{ position: relative; }
[data-tip]::after{
  content: attr(data-tip); position: absolute; bottom: 100%; left: 50%;
  transform: translateX(-50%) translateY(4px); padding: 6px 12px;
  background: var(--pr-ink); color: var(--pr-frame-fg); font-size: 12px;
  border-radius: 6px; white-space: nowrap; pointer-events: none;
  opacity: 0; transition: opacity .2s ease, transform .2s ease;
  z-index: 100;
}
[data-tip]:hover::after{
  opacity: 1; transform: translateX(-50%) translateY(-4px);
}
.www-hero h1{
  animation: pr-hero-text-in .9s cubic-bezier(.16,1,.3,1) both;
}
@keyframes pr-hero-text-in{
  from { opacity: 0; transform: translateY(32px) scale(.96); letter-spacing: .08em; }
  to { opacity: 1; transform: none; }
}
.www-hero p{
  animation: pr-hero-sub-in .9s cubic-bezier(.16,1,.3,1) .15s both;
}
@keyframes pr-hero-sub-in{
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}
.www-hero .btn{
  animation: pr-hero-btn-in .7s cubic-bezier(.16,1,.3,1) .35s both;
}
@keyframes pr-hero-btn-in{
  from { opacity: 0; transform: translateY(14px) scale(.9); }
  to { opacity: 1; transform: none; }
}
.www-pas-obraz img{
  transition: transform .6s cubic-bezier(.2,.75,.3,1);
}
.www-pas-siatka:hover .www-pas-obraz img{
  transform: scale(1.03);
}
@keyframes pr-number-pop{
  from { transform: scale(.7); opacity: 0; }
  50% { transform: scale(1.1); }
  to { transform: scale(1); opacity: 1; }
}
.www-pas h2, .czolo h2, .czolo-pulpit h1{
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
}
tbody tr{
  transition: background .2s ease, transform .15s ease;
}
tbody tr:hover{
  background: #faf7f5;
  box-shadow: inset 3px 0 0 var(--pr-red);
}
.kpi::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: transparent; border-radius: 10px 0 0 10px;
}
.kpi.kpi-alarm::before{ background: var(--pr-red); }
.kpi.kpi-alarm{ box-shadow: 0 0 0 1px var(--pr-red-tint); }
.kpi{ position: relative; border-left-width: 1px; border-left-color: var(--pr-stroke); }
main input:not([type=radio]):not([type=checkbox]), main select, main textarea{
  min-height: 44px;
}
@media (max-width: 360px){
.kafle{ grid-template-columns: 1fr; }
.czolo{ padding: 20px 16px; }
.czolo h2, .czolo-pulpit h1{ font-size: 22px; }
.card{ padding: 14px; }
}
.www-plyta{
  animation: pr-wjazd .6s cubic-bezier(.16,1,.3,1) both;
}
.www-siatka-kart > .card{
  animation: pr-wjazd .5s cubic-bezier(.16,1,.3,1) both;
  transition: transform .25s ease, box-shadow .25s ease;
}
.www-siatka-kart > .card:nth-child(1){ animation-delay: 0s; }
.www-siatka-kart > .card:nth-child(2){ animation-delay: .07s; }
.www-siatka-kart > .card:nth-child(3){ animation-delay: .14s; }
.www-siatka-kart > .card:nth-child(4){ animation-delay: .21s; }
.www-siatka-kart > .card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(21,23,27,.12);
}
body.www .btn{
  box-shadow: 0 1px 2px rgba(21,23,27,.18);
  transition: box-shadow .3s, transform .15s, background .15s;
}
body.www .btn:hover{
  box-shadow: 0 4px 12px rgba(21,23,27,.22);
  transform: translateY(-1px);
}
.www-belka .www-menu a{
  position: relative;
}
.www-belka .www-menu a::after{
  content: ''; position: absolute; bottom: 2px; left: 50%; right: 50%; height: 3px;
  background: var(--pr-red); border-radius: 2px;
  transition: left .25s cubic-bezier(.4,0,.2,1), right .25s cubic-bezier(.4,0,.2,1);
}
.www-belka .www-menu a:hover::after,
.www-belka .www-menu a.tu::after{ left: 8px; right: 8px; }
.www-hero::after{
  content: ''; position: absolute; right: 12%; top: 50%; width: 220px; height: 220px;
  transform: translateY(-50%); border-radius: 50%; pointer-events: none;
  display: none; 
}
.www-cennik tr{
  transition: background .2s, box-shadow .2s;
}
.www-cennik tr:hover{
  background: rgba(236,32,40,.03);
  box-shadow: inset 3px 0 0 var(--pr-red);
}
body.www::after{
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .012;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 128px;
}
.rail .nav-i.active{
  background: var(--pr-frame-2);
  box-shadow: inset 3px 0 0 var(--pr-red);
}
@keyframes pr-kafel-number{
  from { opacity: 0; transform: translateY(8px) scale(.85); }
  to { opacity: 1; transform: none; }
}
.kafel .tytul{
  animation: pr-kafel-number .4s cubic-bezier(.16,1,.3,1) .2s both;
}
input, select, textarea{
  transition: border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus{
  box-shadow: 0 0 0 3px rgba(236,32,40,.12);
}
@keyframes pr-badge-in{
  from { opacity: 0; transform: scale(.7); }
  to { opacity: 1; transform: scale(1); }
}
.badge{ animation: pr-badge-in .3s cubic-bezier(.16,1,.3,1) both; }
@keyframes pr-brand-shimmer{
  0%,100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes pr-skeleton{
  from { background-position: -200% 0; }
  to { background-position: 200% 0; }
}
@keyframes pr-auth-in{
  from { opacity: 0; transform: translateY(20px) scale(.95); }
  to { opacity: 1; transform: none; }
}
.auth-card{
  animation: pr-auth-in .5s cubic-bezier(.16,1,.3,1) both;
}
@media (prefers-reduced-motion: reduce){
*, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
html{ scroll-behavior: auto; }
}
.main:has(> .kk-karta){ max-width: 1760px; }
.kk-karta{ font-size: 14px; line-height: 1.45; color: var(--pr-fg); }
.kk-karta h1, .kk-karta h2, .kk-szuflada h2{
  font-family: var(--ff-disp); text-transform: none; letter-spacing: 0;
}
.kk-karta h1::after, .kk-karta h2::after, .kk-szuflada h2::after{ display: none; }
.kk-glowa{
  display: flex; justify-content: space-between; align-items: flex-end; gap: 16px;
  padding-bottom: 10px; border-bottom: 2px solid var(--pr-fg);
}
.kk-glowa h1{ margin: 0; font-size: 30px; font-weight: 700; line-height: 1.05; }
.kk-meta{ margin: 3px 0 0; color: var(--pr-fg-2); font-variant-numeric: tabular-nums; }
.kk-akcje{ display: flex; gap: 14px; align-items: center; }
.kk-stan{ margin: 10px 0 18px; font-size: 15px; }
.kk-kropka{ color: var(--pr-fg-2); }
.kk-karta .kk-zle, .kk-szuflada .kk-zle{ color: var(--pr-red-dark); font-weight: 600; }
.kk-karta .kk-dobrze{ color: var(--pr-ok-text); }
.kk-karta .kk-slabe, .kk-szuflada .kk-slabe{ color: var(--pr-fg-2); }
.kk-kolumny{
  display: grid; gap: 0 34px;
  grid-template-columns: minmax(250px, 0.9fr) minmax(420px, 1.7fr) minmax(330px, 1.25fr);
}
.kk-kol{ min-width: 0; }
.kk-blok{ padding: 12px 0 14px; border-top: 1px solid var(--pr-stroke); }
.kk-blok:first-child{ border-top: 0; padding-top: 0; }
.kk-blok h2{ margin: 0 0 7px; font-size: 19px; font-weight: 600; }
.kk-blok p{ margin: 0 0 6px; }
.kk-dalej{ margin-top: 8px !important; display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: baseline; }
.kk-pary{ margin: 0; display: grid; grid-template-columns: 1fr; gap: 5px; }
.kk-pary > div{ display: grid; grid-template-columns: 92px 1fr; gap: 8px; }
.kk-pary dt{ color: var(--pr-fg-2); }
.kk-pary dd{ margin: 0; overflow-wrap: anywhere; }
.kk-karta .kk-tabela, .kk-szuflada .kk-tabela{ width: 100%; border-collapse: collapse; margin: 4px 0 2px; }
.kk-karta .kk-tabela th, .kk-karta .kk-tabela td,
.kk-szuflada .kk-tabela th, .kk-szuflada .kk-tabela td{
  padding: 4px 8px 4px 0; border-bottom: 1px solid var(--pr-stroke);
  text-align: left; vertical-align: top; font-weight: 400;
}
.kk-karta .kk-tabela thead th{ color: var(--pr-fg-2); font-size: 13px; }
.kk-karta .kk-tabela tbody th{ font-weight: 600; white-space: nowrap; }
.kk-karta .kk-liczba, .kk-szuflada .kk-liczba{ text-align: right; font-variant-numeric: tabular-nums; }
.kk-porownanie td:last-child{ white-space: nowrap; }
@media (max-width: 600px){
.kk-karta .kk-porownanie th, .kk-karta .kk-porownanie td{ white-space: normal !important; overflow-wrap: anywhere; }
}
.kk-bilans span{ margin-right: 12px; font-variant-numeric: tabular-nums; }
.kk-lista, .kk-lista-zgod, .kk-karta .kk-poczta-lista, .kk-szuflada .kk-poczta-lista{
  list-style: none; margin: 0; padding: 0;
}
.kk-lista li, .kk-lista-zgod li{ padding: 3px 0; }
.kk-lista-zgod li{ display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: baseline; }
.kk-inline{ display: inline; margin: 0; }
.kk-karta .kk-poczta-lista li, .kk-szuflada .kk-poczta-lista li{ padding: 5px 0; border-bottom: 1px solid var(--pr-stroke); }
.kk-poczta-kto{ display: block; font-size: 12.5px; color: var(--pr-fg-2); }
.kk-poczta-lista a{ color: var(--pr-fg); text-decoration: underline; text-decoration-color: var(--pr-stroke); text-underline-offset: 3px; }
.kk-poczta-lista p{ margin: 2px 0 0 !important; font-size: 13px; }
.kk-karta .kk-guzik, .kk-szuflada .kk-guzik{
  font: 600 14px/1 var(--ff-disp); letter-spacing: .02em;
  padding: 9px 16px; border: 0; border-radius: 2px; cursor: pointer;
  background: var(--pr-red-dark); color: #fff; width: auto;
}
.kk-karta .kk-guzik:hover, .kk-szuflada .kk-guzik:hover{ background: var(--pr-red-deep); }
.kk-karta .kk-guzik-tekst, .kk-szuflada .kk-guzik-tekst{
  font: inherit; font-size: 14px; background: none; border: 0; padding: 0; width: auto;
  color: var(--pr-fg); text-decoration: underline; text-decoration-color: var(--pr-fg-2);
  text-underline-offset: 3px; cursor: pointer;
}
.kk-karta .kk-guzik-tekst:hover, .kk-szuflada .kk-guzik-tekst:hover{ color: var(--pr-red-dark); }
.kk-karta .kk-guzik-tekst.kk-zle{ color: var(--pr-red-dark); }
.kk-menu{ position: relative; }
.kk-menu > summary{ list-style: none; cursor: pointer; font-weight: 600; }
.kk-menu > summary::-webkit-details-marker{ display: none; }
.kk-menu > summary::after{ content: ' ▾'; color: var(--pr-fg-2); }
.kk-menu > div{
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 210px;
  display: flex; flex-direction: column; gap: 10px; padding: 12px 14px;
  background: var(--pr-bg); border: 1px solid var(--pr-fg);
}
.kk-szuflada{
  margin: 0 0 0 auto; height: 100vh; max-height: 100vh; width: min(740px, 100vw);
  padding: 0; border: 0; border-left: 2px solid var(--pr-fg);
  background: var(--pr-bg); color: var(--pr-fg); font-size: 14px;
}
.kk-szuflada::backdrop{ background: rgba(21, 23, 27, .35); }
.kk-sz-glowa{
  position: sticky; top: 0; z-index: 1; background: var(--pr-bg);
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 16px 24px 10px; border-bottom: 1px solid var(--pr-stroke);
}
.kk-sz-glowa h2{ margin: 0; font-size: 22px; font-weight: 600; }
.kk-sz-tresc{ padding: 14px 24px 32px; }
.kk-szuflada .card{
  background: none !important; box-shadow: none !important; border: 0 !important;
  border-top: 1px solid var(--pr-stroke) !important; border-radius: 0 !important;
  padding: 14px 0 !important; margin: 0 !important;
}
.kk-szuflada .card:first-child{ border-top: 0 !important; padding-top: 0 !important; }
.kk-szuflada h3{ font-family: var(--ff-disp); text-transform: none; letter-spacing: 0; font-size: 17px; }
.kk-szuflada h3::after{ display: none; }
.kk-szuflada .dash-cols{ display: block; }
.kk-szuflada table{ font-size: 13.5px; }
.kk-formularz{ display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.kk-formularz label{ display: flex; flex-direction: column; gap: 4px; color: var(--pr-fg-2); }
.kk-formularz input, .kk-formularz textarea{ color: var(--pr-fg); }
.kk-formularz .kk-guzik{ align-self: flex-start; }
.kk-ostrzezenie{ padding-left: 10px; border-left: 3px solid var(--pr-warn); }
.kk-karta .karta-panel-trafiony{ outline: 2px solid var(--pr-red); outline-offset: 4px; }
@media (max-width: 1360px){
.kk-kolumny{ grid-template-columns: minmax(240px, 0.9fr) minmax(380px, 1.6fr); }
.kk-kol:nth-child(3){ grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 34px; }
.kk-kol:nth-child(3) .kk-blok{ border-top: 1px solid var(--pr-stroke); padding-top: 12px; }
}
@media (max-width: 860px){
.kk-kolumny, .kk-kol:nth-child(3){ grid-template-columns: 1fr; display: block; }
.kk-glowa{ flex-direction: column; align-items: flex-start; }
.kk-kol .kk-blok:first-child{ border-top: 1px solid var(--pr-stroke); padding-top: 12px; }
}
@media print{
.kk-kolumny{ display: block; }
.kk-akcje, .kk-dalej{ display: none; }
.kk-szuflada{ display: block; position: static; width: auto; height: auto; max-height: none; border: 0; }
.kk-szuflada [data-zamknij]{ display: none; }
}
.kk-karta .kk-salda{ margin-bottom: 8px; }
.kk-karta .kk-salda > div{ grid-template-columns: 1fr auto; }
.kk-karta button.kk-guzik-tekst, .kk-szuflada button.kk-guzik-tekst{
  background: none !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; min-height: 0 !important; border-radius: 0 !important;
  color: var(--pr-fg) !important; font-family: var(--ff-body) !important; font-weight: 500 !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
.kk-karta button.kk-guzik-tekst:hover, .kk-szuflada button.kk-guzik-tekst:hover{ color: var(--pr-red-dark) !important; }
.kk-karta button.kk-guzik-tekst.kk-zle{ color: var(--pr-red-dark) !important; }
.kk-karta .kk-tabela th, .kk-karta .kk-tabela td, .kk-szuflada .kk-tabela th, .kk-szuflada .kk-tabela td{
  text-transform: none !important; letter-spacing: 0 !important; font-family: var(--ff-body) !important;
  font-size: 14px !important; background: none !important;
}
.kk-karta .kk-tabela thead th{ font-size: 13px !important; color: var(--pr-fg-2) !important; }
.kk-karta .kk-tabela tbody th{ font-weight: 600 !important; color: var(--pr-fg) !important; }
.kk-karta .kk-tabela tr, .kk-szuflada .kk-tabela tr{ background: none !important; }
.kk-karta a{ color: var(--pr-fg); text-decoration-color: var(--pr-fg-2); }
.kk-karta table.kk-tabela, .kk-szuflada table.kk-tabela{ background: none !important; box-shadow: none !important; }
.kk-szuflada th{ text-transform: none !important; letter-spacing: 0 !important; font-family: var(--ff-body) !important; font-size: 13px !important; }
.kk-szuflada table, .kk-szuflada tr{ background: none !important; box-shadow: none !important; }
.main:has(> .kl-lista){ max-width: 1480px; }
.kl-lista{ font-size: 14px; line-height: 1.45; color: var(--pr-fg); }
.kl-glowa{ display: flex; justify-content: space-between; align-items: flex-end; gap: 20px;
  padding-bottom: 10px; border-bottom: 2px solid var(--pr-fg); }
.kl-lista h1{ margin: 0; font-family: var(--ff-disp); font-size: 30px; font-weight: 700;
  text-transform: none; letter-spacing: 0; line-height: 1.05; }
.kl-lista h1::after{ display: none; }
.kl-szukaj{ display: flex; gap: 10px; align-items: center; margin: 0; }
.kl-szukaj input[type="search"]{ width: 320px; margin: 0; }
.kl-lista .kl-guzik{ font: 600 14px/1.2 var(--ff-body); letter-spacing: 0; padding: 10px 18px;
  border: 0; border-radius: 7px; background: var(--pr-red-tekst); color: #fff; cursor: pointer; width: auto; }
.kl-lista .kl-guzik:hover{ background: var(--pr-red-dark); }
.kl-lista .kl-szukaj button.kl-guzik.kl-guzik, .kl-lista button.kl-guzik.kl-drugi, .kl-lista a.kl-guzik.kl-drugi{
  background: transparent; color: var(--pr-ink); box-shadow: inset 0 0 0 1.5px var(--pr-stroke);
}
.kl-lista .kl-szukaj button.kl-guzik.kl-guzik:hover, .kl-lista button.kl-guzik.kl-drugi:hover, .kl-lista a.kl-guzik.kl-drugi:hover{
  background: var(--pr-bg); color: var(--pr-ink); box-shadow: inset 0 0 0 1.5px var(--pr-fg-2);
}
.kl-lista a.btn{ color: #fff; text-decoration: none; }
.kl-lista a.btn.btn-ghost{ color: var(--pr-ink); }
.kl-karty > .kl-glowa{ margin-bottom: 18px; }
.kl-karty .card > h2:first-child{ margin-top: 0; }
.kl-lista > .kl-filtry{ margin-bottom: 14px; }
.kl-lista a.card{ color: inherit; text-decoration: none; }
.kl-lista a.card:hover{ color: inherit; border-color: var(--pr-fg-2); }
.kl-lista .kl-szukaj.kl-filtr-dat{ flex-wrap: wrap; gap: 8px 14px; margin: 12px 0 8px; }
.kl-filtr-dat label{ display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; color: var(--pr-fg); }
.kl-filtr-dat input[type=date]{ width: 170px; }
@media (max-width: 860px){
.kl-glowa > .kl-guzik{ align-self: flex-start; }
}
.kl-zdanie{ margin: 10px 0 8px; font-size: 15px; }
.kl-lista a{ color: var(--pr-fg); text-decoration: underline; text-decoration-color: var(--pr-fg-2); text-underline-offset: 3px; }
.kl-lista a:hover{ color: var(--pr-red-dark); }
.kl-filtry{ display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline;
  padding: 8px 0; border-bottom: 1px solid var(--pr-stroke); }
.kl-filtry strong{ font-weight: 600; border-bottom: 2px solid var(--pr-red-dark); }
.kl-zakres{ margin-left: auto; color: var(--pr-fg-2); font-variant-numeric: tabular-nums; }
.kl-opis{ margin: 8px 0 0; color: var(--pr-fg-2); max-width: 900px; }
.kl-lista .kl-slabe{ color: var(--pr-fg-2); }
.kl-lista .kl-zle{ color: var(--pr-red-dark); font-weight: 600; }
.kl-lista table.kl-tabela{ width: 100%; border-collapse: collapse; margin-top: 4px;
  background: none !important; box-shadow: none !important; }
.kl-lista .kl-tabela th, .kl-lista .kl-tabela td{
  padding: 6px 12px 6px 0 !important; border-bottom: 1px solid var(--pr-stroke);
  text-align: left; vertical-align: baseline; background: none !important;
  font-family: var(--ff-body) !important; font-size: 14px !important;
  text-transform: none !important; letter-spacing: 0 !important; }
.kl-lista .kl-tabela thead th{ color: var(--pr-fg-2); font-weight: 500; font-size: 13px !important;
  border-bottom: 1px solid var(--pr-fg); position: sticky; top: 0; background: var(--pr-bg) !important; }
.kl-lista .kl-tabela tr{ background: none !important; }
.kl-lista .kl-tabela tbody tr:hover td{ background: rgba(21, 23, 27, .035) !important; }
.kl-lista .kl-tabela td:first-child a{ font-weight: 500; text-decoration: none; }
.kl-lista .kl-tabela td:first-child a:hover{ text-decoration: underline; }
.kl-lista .kl-liczba{ text-align: right !important; font-variant-numeric: tabular-nums; }
.kl-lista .kl-pusto{ padding: 24px 0 !important; color: var(--pr-fg-2); }
.kl-lista .kl-tabela:has(td.kl-pusto) thead{ display: none; }
.kl-lista .kl-tabela td.kl-pusto{ border-bottom: 0; }
.kl-strony{ display: flex; gap: 18px; align-items: baseline; justify-content: flex-end; padding: 12px 0; }
@media (max-width: 860px){
.kl-glowa{ flex-direction: column; align-items: stretch; }
.kl-szukaj input[type="search"]{ width: 100%; }
.kl-zakres{ margin-left: 0; width: 100%; }
.kl-lista .kl-tabela thead{ display: none; }
.kl-lista .kl-tabela tr{ display: block; padding: 8px 0; border-bottom: 1px solid var(--pr-stroke); }
.kl-lista .kl-tabela td{ display: flex; justify-content: space-between; border: 0; padding: 2px 0 !important; }
.kl-lista .kl-tabela td::before{ content: attr(data-etykieta); color: var(--pr-fg-2); margin-right: 12px; }
.kl-lista .kl-tabela td:first-child::before{ content: none; }
}
.kl-szukaj input[type="search"]{ font: inherit; font-size: 14px; padding: 9px 10px; border: 1px solid var(--pr-fg-2); border-radius: 2px; background: #fff; color: var(--pr-fg); }
.czolo-fakt-link{ color: var(--pr-frame-fg); text-decoration: none; }
.czolo-fakt-link:hover .wartosc{ color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.czolo-dysc{ font-family: var(--ff-body, inherit); font-size: 13px; font-weight: 400; color: var(--pr-frame-dim); margin-left: 6px; }
.pulpit-dol{
  display: grid; gap: 0; margin: 4px 0 18px;
  
  grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
  background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
}
.pulpit-kol{ padding: 16px 18px; min-width: 0; }
.pulpit-kol + .pulpit-kol{ border-left: 1px solid var(--pr-stroke); }
.pulpit-kol h2{
  margin: 0 0 8px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase;
}
.pulpit-kol h2::after{ display: none; }
.pulpit-kol h2 ~ h2{ margin-top: 18px; }
.pulpit-poz{ margin: 0; padding: 7px 0; border-bottom: 1px solid var(--pr-stroke); display: grid; gap: 1px; font-size: 14px; }
.pulpit-poz > span{ color: var(--pr-fg-2); font-size: 12.5px; }
.pulpit-poz-wiersz{ display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pulpit-wiecej{ margin: 8px 0 0; font-size: 13px; }
.pulpit-pytanie{ margin: 0 0 6px; font-weight: 600; font-size: 14px; }
.pulpit-kol details summary{ cursor: pointer; color: var(--pr-red-dark); font-size: 13px; }
@media (max-width: 900px){
.pulpit-dol{ grid-auto-flow: row; grid-template-columns: 1fr; }
.pulpit-kol + .pulpit-kol{ border-left: 0; border-top: 1px solid var(--pr-stroke); }
}
.terminy-dalsze{ margin: 6px 0 18px; }
.terminy-dalsze > summary{
  cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px;
  padding: 12px 16px; background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px;
  font-weight: 600;
}
.terminy-dalsze > summary::-webkit-details-marker{ display: none; }
.terminy-dalsze > summary::after{ content: "+"; margin-left: 10px; color: var(--pr-red); font-weight: 700; }
.terminy-dalsze[open] > summary{ margin-bottom: 14px; }
.terminy-dalsze[open] > summary::after{ content: "−"; }
.terminy-dalsze-ile{ margin-left: auto; color: var(--pr-fg-2); font-weight: 400; font-size: 13px; }
.karta-zwijana{ background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px; margin: 18px 0; }
.karta-zwijana > summary{
  cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px;
  padding: 13px 18px; font-weight: 600;
}
.karta-zwijana > summary::-webkit-details-marker{ display: none; }
.karta-zwijana > summary::after{ content: "+"; margin-left: auto; color: var(--pr-red); font-weight: 700; }
.karta-zwijana[open] > summary::after{ content: "−"; }
.karta-zwijana-tresc{ padding: 0 18px 18px; }
.terminy-ical{ margin: -4px 0 12px; font-size: 13.5px; }
.trening-pusto{ margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: var(--pr-frame-dim, #8a8f98); }
.trening-linki{ margin: 12px 0 0; font-size: 14px; }
.alert{ margin: 0 0 12px; padding: 10px 14px; border-radius: 8px; font-size: 14px; }
.alert-ok{ background: var(--pr-ok-tint); color: var(--pr-ok-text); }
.alert-err{ background: var(--pr-red-tint); color: var(--pr-red-dark); }
.rz-rama{ margin-bottom: 18px; }
.rz-akcje{ display: flex; gap: 16px; align-items: center; margin: 0; }
.kl-lista a.kl-guzik{ display: inline-block; color: #fff; text-decoration: none; background: var(--pr-red-tekst); border-radius: 7px; }
.kl-lista a.kl-guzik:hover{ color: #fff; background: var(--pr-red-dark); }
.rz-zakladki{ display: flex; flex-wrap: wrap; gap: 6px 24px; padding: 12px 0 0; border-bottom: 1px solid var(--pr-stroke);
  font-family: var(--ff-body); font-size: 15.5px; letter-spacing: 0; }
.rz-zakladki strong{ font-weight: 600; border-bottom: 3px solid var(--pr-red-dark); padding-bottom: 7px; }
.rz-zakladki a{ text-decoration: none !important; color: var(--pr-fg-2) !important; padding-bottom: 7px; }
.rz-zakladki a:hover{ color: var(--pr-fg) !important; }
.rz-pasek{ display: flex; justify-content: space-between; align-items: center; gap: 12px 20px; flex-wrap: wrap; margin: 4px 0 6px; }
.rz-pasek .kl-filtry{ margin: 0; padding: 0; border: 0; }
.rz-pasek .kl-szukaj input[type="search"]{ width: 260px; }
.kl-lista .rz-tytul{ color: var(--pr-fg-2); max-width: 340px; overflow-wrap: anywhere; }
@media (max-width: 860px){
.rz-akcje{ justify-content: space-between; }
.rz-zakladki{ gap: 4px 16px; font-size: 15px; }
.rz-pasek .kl-szukaj{ width: 100%; }
.rz-pasek .kl-szukaj input[type="search"]{ width: 100%; }
.kl-lista .rz-tytul{ max-width: none; text-align: right; }
}
@media (max-width: 860px){
.rz-pasek .kl-szukaj{ flex-wrap: nowrap; }
}
.rz-sekcja{ padding: 14px 0 6px; border-bottom: 1px solid var(--pr-stroke); }
.rz-sekcja h2{ margin: 0 0 10px; font-family: var(--ff-disp); font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.rz-sekcja h2::after{ display: none; }
.rz-pola{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px 18px; max-width: 960px; }
.rz-pola label{ display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--pr-fg-2); }
.rz-pola input{ font: inherit; font-size: 15px; padding: 9px 10px; border: 1px solid var(--pr-fg-2); border-radius: 2px; background: #fff; color: var(--pr-fg); }
.rz-wybor{ display: inline-flex; gap: 10px; align-items: center; cursor: pointer; color: var(--pr-fg); font-size: 14.5px; font-weight: 400 !important; margin: 0 !important; }
.kl-lista .kl-tabela td:has(.rz-kwota), .kl-lista .kl-tabela td:has(.rz-wybor){ vertical-align: middle; }
.rz-wybor input{ width: 18px; height: 18px; margin: 0; accent-color: var(--pr-red); }
.kl-lista .rz-kwota{ width: 120px; text-align: right; font: inherit; padding: 6px 8px; border: 1px solid var(--pr-stroke); border-radius: 2px; }
.rz-dol{ margin: 14px 0 8px; }
.kl-lista button.kl-guzik{ border: 0; color: #fff; background: var(--pr-red-tekst); border-radius: 7px; cursor: pointer; }
.kl-lista button.kl-guzik:disabled{ opacity: .5; cursor: default; }
.rz-fakty{ margin: 14px 0 6px; max-width: 1100px; }
.rz-fakty dd{ font-size: 15px; }
.rz-szerokie{ grid-column: 1 / -1; }
.kl-lista .rz-maly{ padding: 7px 11px; font-size: 13px; }
.kl-lista .kl-tabela button.rz-cicho, .kl-lista button.rz-cicho.rz-cicho{ font: inherit; font-size: 13px; background: none !important; border: 0; padding: 0; cursor: pointer; width: auto; box-shadow: none;
  color: var(--pr-red-dark); text-decoration: underline; text-underline-offset: 3px; }
.kl-lista button.rz-cicho.rz-cicho:hover{ color: var(--pr-red-deep); }
.rz-pola-zwrot{ grid-template-columns: 160px 180px 1fr; }
@media (max-width: 860px){
.rz-pola-zwrot{ grid-template-columns: 1fr; }
}
@media (max-width: 860px){
.kl-lista .kl-szukaj{ flex-wrap: nowrap; width: 100%; }
.kl-lista .kl-szukaj input[type="search"]{ flex: 1; min-width: 0; width: auto; }
}
@media (max-width: 860px){
.kl-lista .kl-tabela td::before{ font-weight: 400; color: var(--pr-fg-2); }
}
.rz-narzedzie .card{ background: none; border: 0; box-shadow: none; padding: 4px 0 14px; border-radius: 0;
  border-bottom: 1px solid var(--pr-stroke); }
.rz-narzedzie .card h2{ font-family: var(--ff-disp); font-size: 15px !important; letter-spacing: .08em; text-transform: uppercase; }
.rz-narzedzie .card h2::after{ display: none; }
.rz-narzedzie #naliczanie-year{ width: 120px; flex: none; }
.rz-narzedzie textarea{ max-width: 1100px; }
.rz-komunikat{ margin: 10px 0 0; padding: 8px 12px; border-left: 3px solid var(--pr-ok); background: var(--pr-ok-tint); color: var(--pr-ok-text); }
.rz-komunikat-blad{ border-left-color: var(--pr-red-dark); background: var(--pr-red-tint); color: var(--pr-red-dark); }
.rz-panel{ background: #fff; border: 1px solid var(--pr-stroke); border-left: 3px solid var(--pr-red-dark); padding: 14px 18px; margin: 12px 0; }
.rz-panel h2{ text-transform: none; letter-spacing: 0; font-size: 20px; }
.rz-panel h3{ margin: 12px 0 6px; font-size: 14px; font-family: var(--ff-disp); letter-spacing: .06em; text-transform: uppercase; }
.rz-dwie{ display: grid; grid-template-columns: 3fr 2fr; gap: 24px; }
.rz-pola-pion{ grid-template-columns: 1fr; max-width: none; }
.rz-pola textarea{ font: inherit; font-size: 14px; padding: 9px 10px; border: 1px solid var(--pr-fg-2); border-radius: 2px; background: #fff; color: var(--pr-fg); resize: vertical; }
.rz-podsum{ cursor: pointer; font-family: var(--ff-disp); font-size: 15px; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
@media (max-width: 860px){
.rz-dwie{ grid-template-columns: 1fr; gap: 6px; }
}
.kl-tabela a.rz-dzialaj{ text-decoration: underline; text-underline-offset: 3px; color: var(--pr-red-dark); font-weight: 600; }
.rz-wysylka{ display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin: 4px 0 10px; }
.rz-pod{ display: block; }
.rz-akcje-zespol{ flex-wrap: wrap; gap: 4px 14px; }
.kl-lista .kl-tabela tr.rz-wygaszone td{ color: var(--pr-fg-2); }
.kl-lista .kl-tabela button.rz-dzialaj{ font-weight: 600; }
@media (max-width: 860px){
.kl-lista .kl-tabela-zespol td > span{ text-align: right; }
.kl-lista .kl-tabela-zespol td:first-child > span{ text-align: left; }
.kl-lista .kl-tabela-zespol .rz-akcje-zespol{ justify-content: flex-end; }
}
.zaw-wyniki-tabela{ width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 8px; }
.zaw-wyniki-tabela th{ text-align: left; font-size: 12px; font-weight: 600; color: var(--pr-fg-2); padding: 6px 8px; border-bottom: 1px solid var(--pr-fg); }
.zaw-wyniki-tabela td{ padding: 6px 8px; border-bottom: 1px solid var(--pr-stroke); vertical-align: top; }
.zaw-wyniki-tabela th:first-child, .zaw-wyniki-tabela td:first-child{ width: 3.5em; }
.zaw-wyniki-tabela th:nth-child(n+3), .zaw-wyniki-tabela td:nth-child(n+3){ text-align: right; width: 4.5em; font-variant-numeric: tabular-nums; }
.zaw-wyniki-tabela .rz-pod{ display: block; font-size: 12px; }
.zaw-wyniki-tabela tr.zaw-moj-wiersz td{ background: var(--pr-red-tint); }
@media (max-width: 600px){
.zaw-wyniki-tabela th, .zaw-wyniki-tabela td{ padding: 5px 4px; }
}
.zaw-tytul-wynikow{ margin: 4px 0 2px; }
.zaw-odbyte{ margin-top: 28px; }
.wn-wstep{ max-width: 46rem; margin-bottom: 18px; }
.wn-wstep p{ margin: 0 0 6px; }
.wn-kreator{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 28px; align-items: start; margin-bottom: 24px; }
.wn-pola{ display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.wn-ramka{ background: var(--pr-card); border: 1px solid var(--pr-stroke); border-radius: 12px; padding: 16px 18px 14px; margin: 0; min-width: 0; }
.wn-ramka[hidden]{ display: none; }
.wn-ramka legend{ float: left; width: 100%; padding: 0; margin: 0 0 12px; font-family: var(--ff-disp); font-weight: 600; font-size: 19px; letter-spacing: .01em; color: var(--pr-ink); }
.wn-ramka legend + *{ clear: both; }
.wn-ramka label:not(.pole-wyboru):not(.wn-kafel){ display: block; margin: 10px 0 4px; font-size: 13.5px; font-weight: 600; color: var(--pr-fg); }
.wn-ramka input[type="text"], .wn-ramka input[type="date"], .wn-ramka textarea{ width: 100%; box-sizing: border-box; }
.wn-ramka [aria-invalid="true"]{ outline: 2px solid var(--pr-red-tekst); outline-offset: 2px; border-radius: 8px; }
.wn-etykieta{ margin: 6px 0 6px; font-size: 13.5px; font-weight: 600; color: var(--pr-fg); }
.wn-opis{ display: block; margin: 6px 0; font-size: 13px; color: var(--pr-fg-2); }
.wn-wymagane{ margin-left: 6px; font-size: 11.5px; font-weight: 600; color: var(--pr-red-tekst); }
.wn-pytanie{ margin-bottom: 8px; }
.wn-wybory{ display: grid; gap: 8px; }
.wn-wybory .pole-wyboru{ grid-template-columns: auto 1fr; }
.wn-dalej{ margin-top: 8px; padding-left: 12px; border-left: 3px solid var(--pr-stroke); }
.wn-dalej[hidden]{ display: none; }
.wn-kafle{ display: grid; grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr)); gap: 8px; }
.wn-kafel{ position: relative; display: flex; flex-direction: column; gap: 3px; padding: 11px 12px 11px 38px; border: 1px solid var(--pr-stroke); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.wn-kafel:hover{ border-color: #cfccc8; }
.wn-kafel input{ position: absolute; left: 12px; top: 13px; margin: 0; accent-color: var(--pr-red-tekst); }
.wn-kafel:has(input:checked){ border-color: var(--pr-red); background: var(--pr-red-tint); }
.wn-kafel:has(input:focus-visible){ outline: 2px solid var(--pr-ink); outline-offset: 2px; }
.wn-kafel-nazwa{ font-weight: 600; color: var(--pr-ink); font-size: 14.5px; }
.wn-kafel-opis{ font-size: 12.5px; line-height: 1.35; color: var(--pr-fg-2); }
.wn-podglad{ position: sticky; top: 16px; min-width: 0; }
.wn-podglad-tytul{ margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pr-fg-2); }
.wn-pismo{ background: #fffefb; border: 1px solid #e3ded4; border-radius: 4px; box-shadow: 0 1px 2px rgba(21,23,27,.05), 0 12px 28px -18px rgba(21,23,27,.28);
  padding: 34px 38px 30px; font-family: Georgia, 'Times New Roman', serif; font-size: 14.5px; line-height: 1.55; color: #1d1d1f; min-height: 360px; }
.wn-pismo p{ margin: 0 0 10px; max-width: none; }
.wn-pismo .wn-pismo-puste{ color: var(--pr-fg-2); font-style: italic; }
.wn-p-data{ text-align: right; margin-bottom: 20px !important; }
.wn-p-nadawca{ margin-bottom: 18px !important; }
.wn-p-adresat{ margin-left: 48% !important; margin-bottom: 26px !important; font-weight: 700; }
.wn-p-tytul{ text-align: center; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 15px; margin-bottom: 18px !important; text-wrap: balance; }
.wn-p-naglowek{ font-weight: 700; margin-top: 16px !important; margin-bottom: 6px !important; }
.wn-p-akapit{ text-align: justify; hyphens: auto; }
.wn-p-podpis{ margin: 28px 0 0 48% !important; }
.wn-p-adnotacja{ margin-top: 18px !important; font-size: 12.5px; color: #666; font-family: var(--ff-body); }
.wn-brak{ color: #5f5a52; background: #f1eee8; border-radius: 3px; padding: 0 3px; font-family: var(--ff-body); font-size: .9em; }
.wn-p-tabela{ width: 100%; border-collapse: collapse; margin: 4px 0 12px; font-size: 12.5px; line-height: 1.35; }
.wn-p-tabela th, .wn-p-tabela td{ border: 1px solid #cfc9bd; padding: 4px 6px; text-align: left; vertical-align: top; text-transform: none; letter-spacing: 0; color: inherit; font-weight: 400; }
.wn-p-tabela th{ background: #f3efe7; font-weight: 700; }
.wn-braki{ margin: 12px 0 0; padding: 10px 14px; border: 1px solid var(--pr-red); border-radius: 8px; background: var(--pr-red-tint); font-size: 14px; }
.wn-braki p{ margin: 0 0 4px; font-weight: 600; }
.wn-braki ul{ margin: 0; padding-left: 18px; }
.wn-dzialania{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.wn-dzialania .btn{ width: auto; }
button.wn-link:not(.btn):not(.link-btn):not(.karta-guzik), .wn-link{ background: none; border: 0; box-shadow: none; min-height: 0; padding: 4px; color: var(--pr-fg-2); text-decoration: underline; cursor: pointer; font: inherit; font-size: 14px; }
.wn-podglad .err, .wn-podglad .ok{ margin: 12px 0 0; }
button.wn-link:not(.btn):not(.link-btn):not(.karta-guzik):hover{ background: none; color: var(--pr-ink); }
.wn-podpowiedz-adres{ margin: 0 0 10px; padding: 8px 12px; border-left: 3px solid var(--pr-warn); background: var(--pr-warn-tint); border-radius: 0 8px 8px 0; font-size: 13.5px; color: var(--pr-fg); }
.wn-szczegol-glowa{ margin-bottom: 18px; }
.wn-szczegol-glowa h1{ margin: 2px 0 8px; }
.wn-szczegol-wroc{ margin: 0; font-size: 13.5px; }
.wn-szczegol-wroc a{ color: var(--pr-fg-2); text-decoration: none; }
.wn-szczegol-wroc a:hover{ color: var(--pr-ink); text-decoration: underline; }
.wn-szczegol-meta{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 0; font-size: 13.5px; color: var(--pr-fg-2); }
.wn-szczegol{ display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); grid-template-areas: "pismo bok"; gap: 24px; align-items: start; }
.wn-szczegol-pismo{ grid-area: pismo; min-width: 0; }
.wn-szczegol-bok{ grid-area: bok; display: flex; flex-direction: column; gap: 16px; min-width: 0; position: sticky; top: 16px; }
.wn-szczegol-bok > .card, .wn-szczegol-pismo.card{ margin: 0; }
.wn-szczegol-bok h2, .wn-szczegol-pismo h2{ margin: 0 0 10px; font-size: 19px; }
.wn-szczegol-pismo-glowa{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.wn-szczegol-pismo-glowa h2{ margin: 0; }
.wn-szczegol-pismo-glowa .btn{ width: auto; }
.wn-szczegol-pismo > .podpis{ margin: 6px 0 14px; }
.wn-szczegol-pismo .wn-pismo{ min-height: 0; }
.wn-karta-osoby{ border-top: 3px solid var(--pr-red); }
.wn-osoba-nazwa{ margin: 0 0 10px; font-family: var(--ff-disp); font-size: 22px; font-weight: 600; line-height: 1.15; }
.wn-osoba-nazwa a{ color: var(--pr-ink); text-decoration: none; }
.wn-osoba-nazwa a:hover{ text-decoration: underline; }
.wn-osoba-dane{ display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 14px; }
.wn-osoba-dane dt{ color: var(--pr-fg-2); font-weight: 400; }
.wn-osoba-dane dd{ margin: 0; color: var(--pr-ink); font-weight: 500; overflow-wrap: anywhere; }
.wn-brak-adresu{ color: var(--pr-warn-text); font-weight: 400; font-style: italic; }
.wn-szczegol-bok .formularz-decyzji .btn{ margin-top: 12px; }
.wn-historia-pismo{ margin-top: 10px; }
.wn-historia-pismo > summary{ cursor: pointer; font-size: 13.5px; color: var(--pr-fg-2); }
.wn-historia-pismo .wn-pismo{ margin-top: 10px; min-height: 0; padding: 24px 26px; font-size: 13.5px; }
@media (max-width: 960px){
.wn-kreator{ grid-template-columns: minmax(0, 1fr); }
.wn-podglad{ position: static; }
.wn-szczegol{ grid-template-columns: minmax(0, 1fr); grid-template-areas: "bok" "pismo"; }
.wn-szczegol-bok{ position: static; }
}
@media (max-width: 520px){
.wn-pismo{ padding: 22px 18px; font-size: 13.5px; }
.wn-p-adresat, .wn-p-podpis{ margin-left: 0 !important; }
.wn-p-akapit{ text-align: left; }
.wn-p-tabela{ font-size: 11.5px; }
}
@media print{
body:has(.wn-pismo--druk) *{ visibility: hidden; }
body:has(.wn-pismo--druk) .wn-pismo--druk, body:has(.wn-pismo--druk) .wn-pismo--druk *{ visibility: visible; }
.wn-pismo--druk{ position: absolute; left: 0; top: 0; width: 100%; border: 0; box-shadow: none; padding: 0; background: #fff; min-height: 0; }
}
main#tresc:focus-visible{ outline: 2px solid var(--pr-red-tekst); outline-offset: -2px; }
main#tresc:focus:not(:focus-visible){ outline: none; }
@media (max-width: 860px){
.kl-lista table.kl-tabela[data-zwarta], .kl-lista table.kl-tabela[data-zwarta] > tbody{ display: block; }
.kl-lista .kl-tabela[data-zwarta] > tbody > tr{ display: flex; flex-wrap: wrap; align-items: baseline;
    gap: 3px 0; position: relative; padding: 10px 0; }
.kl-lista .kl-tabela[data-zwarta] > tbody > tr::after{ content: ''; order: 3; flex-basis: 100%; height: 0; }
.kl-lista .kl-tabela[data-zwarta] > tbody > tr > td{ display: none; padding: 0 !important; border: 0; }
.kl-lista .kl-tabela[data-zwarta] > tbody > tr > td::before{ content: none; margin: 0; }
.kl-lista .kl-tabela[data-zwarta] td[data-glowne]{ display: block; order: 1; flex: 1 1 0; min-width: 0;
    font-size: 15px !important; font-weight: 500; overflow-wrap: anywhere; }
.kl-lista .kl-tabela[data-zwarta] td[data-stan]{ display: block; order: 2; margin-left: 12px;
    text-align: right !important; white-space: nowrap; }
.kl-lista .kl-tabela[data-zwarta] td[data-drugie]{ display: block; order: 4; color: var(--pr-fg-2);
    font-size: 13px !important; }
.kl-lista .kl-tabela[data-zwarta] td[data-drugie]::before{ content: attr(data-krotko); }
.kl-lista .kl-tabela[data-zwarta] td[data-drugie] ~ td[data-drugie]::before{ content: '\00a0\00b7\00a0' attr(data-krotko); color: var(--pr-fg-2); }
.kl-lista .kl-tabela[data-zwarta] td[data-akcja]{ display: flex; order: 5; margin-left: auto; padding-left: 12px !important;
    gap: 4px 14px; flex-wrap: wrap; justify-content: flex-end; text-align: right !important; position: relative; z-index: 1; }
.kl-lista .kl-tabela[data-zwarta] td[data-akcja-pod]{ display: flex; order: 6; flex-basis: 100%; flex-wrap: wrap; gap: 4px 16px;
    position: relative; z-index: 1; padding-top: 2px !important; }
.kl-lista .kl-tabela[data-zwarta] td.kl-pusto{ display: block; flex-basis: 100%; }
.kl-lista .kl-tabela[data-zwarta] td[data-glowne] a:first-child::after{ content: ''; position: absolute; inset: 0; }
.kl-lista .kl-tabela[data-zwarta] td[data-drugie] a{ position: relative; z-index: 1; }
.kl-lista .kl-tabela[data-zwarta] td[data-akcja] a, .kl-lista .kl-tabela[data-zwarta] td[data-akcja] button,
  .kl-lista .kl-tabela[data-zwarta] td[data-akcja-pod] a, .kl-lista .kl-tabela[data-zwarta] td[data-akcja-pod] button{
    display: inline-flex; align-items: center; min-height: 44px; margin: -12px 0; }
}
@media (max-width: 700px){
table.tabela-kartowa[data-zwarta] > tbody > tr{ display: flex; flex-wrap: wrap; align-items: baseline;
    gap: 3px 0; position: relative; padding: 10px 14px; }
table.tabela-kartowa[data-zwarta] > tbody > tr::after{ content: ''; order: 3; flex-basis: 100%; height: 0; }
table.tabela-kartowa[data-zwarta] > tbody > tr > td{ display: none; }
table.tabela-kartowa[data-zwarta] > tbody > tr > td::before{ content: none; display: none; }
table.tabela-kartowa[data-zwarta] td[data-glowne]{ display: block; order: 1; flex: 1 1 0; min-width: 0;
    font-size: 15px; font-weight: 500; overflow-wrap: anywhere; }
table.tabela-kartowa[data-zwarta] td[data-stan]{ display: block; order: 2; margin-left: 12px; text-align: right; white-space: nowrap; }
table.tabela-kartowa[data-zwarta] td[data-drugie]{ display: block; order: 4; color: var(--pr-fg-2); font-size: 13px; }
table.tabela-kartowa[data-zwarta] td[data-drugie]::before{ content: attr(data-krotko); display: inline; font-size: inherit; }
table.tabela-kartowa[data-zwarta] td[data-drugie] ~ td[data-drugie]::before{ content: '\00a0\00b7\00a0' attr(data-krotko); }
table.tabela-kartowa[data-zwarta] td[data-akcja]{ display: flex; order: 5; margin-left: auto; padding-left: 12px; gap: 4px 14px;
    flex-wrap: wrap; justify-content: flex-end; position: relative; z-index: 1; }
table.tabela-kartowa[data-zwarta] td.kl-pusto, table.tabela-kartowa[data-zwarta] td[colspan]{ display: block; flex-basis: 100%; }
table.tabela-kartowa[data-zwarta] td[data-glowne] a:first-child::after{ content: ''; position: absolute; inset: 0; }
table.tabela-kartowa[data-zwarta] td[data-akcja] a, table.tabela-kartowa[data-zwarta] td[data-akcja] button{
    display: inline-flex; align-items: center; min-height: 44px; margin: -12px 0; }
}
@media (max-width: 860px){
.kl-lista .kl-tabela[data-zwarta] td[data-drugie].kl-zle{ color: var(--pr-red-dark); font-weight: 600; }
}
.kl-lista .kl-tabela button.rz-cicho, .kl-lista button.rz-cicho.rz-cicho{
  color: var(--pr-fg); text-decoration: underline; text-decoration-color: var(--pr-fg-2); }
.kl-lista button.rz-cicho.rz-cicho:hover{ color: var(--pr-red-dark); }
.kl-lista .kl-tabela button.rz-dzialaj, .kl-lista .kl-tabela a.rz-dzialaj, .kl-tabela a.rz-dzialaj{
  color: var(--pr-fg); font-weight: 600; text-decoration-color: var(--pr-fg-2); }
.kl-lista .kl-tabela button.rz-cicho.rz-niszczy, .kl-lista button.rz-cicho.rz-niszczy{
  color: var(--pr-red-dark); text-decoration-color: currentColor; }
.kl-lista button.rz-cicho.rz-niszczy:hover{ color: var(--pr-red-deep); }
.kl-lista .rz-data{ white-space: nowrap; }
@media (max-width: 860px){
.kl-lista .kl-tabela[data-zwarta] td[data-glowne] .rz-pod{ font-size: 13px; font-weight: 400; }
}
.kl-filtry-luzem{ font-size: 14px; margin: 4px 0 14px; }
.kl-filtry-luzem a{ color: var(--pr-fg); text-decoration: underline; text-decoration-color: var(--pr-fg-2); text-underline-offset: 3px; }
.kl-filtry-luzem a:hover{ color: var(--pr-red-dark); }
.kl-pola-w-rzedzie{ display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.kl-pola-w-rzedzie > label{ display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--pr-fg); font-weight: 400; }
.kl-pola-w-rzedzie input[type=date]{ width: 180px; margin: 0; }
.kl-pola-w-rzedzie input[type=number]{ width: 130px; margin: 0; }
.kl-pola-w-rzedzie select{ width: auto; max-width: 100%; margin: 0; }
.kl-pola-w-rzedzie > button, .kl-pola-w-rzedzie > .btn{ width: auto; margin: 0; }
.kl-pola-pion{ align-items: flex-end; margin-top: 4px; }
.kl-pola-pion > label{ flex-direction: column; align-items: flex-start; gap: 4px; font-size: 13px; color: var(--pr-fg-2); }
.kl-lista .kl-pola-pion > .kl-guzik{ padding-top: 12px; padding-bottom: 12px; }
code, kbd{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em;
  font-variant-ligatures: none; font-feature-settings: "liga" 0, "calt" 0; }
.podpis code, li code{ background: rgba(21, 23, 27, .06); padding: 1px 5px; border-radius: 4px; overflow-wrap: anywhere; }
@media (max-width: 560px){
body.www:has(.www-hero-dom) .www-wejscia .btn-primary{ display: none; }
body.www:has(.www-hero-dom) .www-wejscia{ justify-content: flex-end; }
}
body.www .card.karta-tabela > table:last-child{ margin-bottom: 0; }
@media (max-width: 700px){
body.www .card.karta-tabela > table.www-konkurencje{ padding-bottom: 0; }
}
body.www{ --r-karta: 2px; }
body.www .card, body.www .www-kafel, body.www .www-kafle .www-kafel, body.www .www-kafle .www-kafel-zobrazem,
body.www .www-przywilej, body.www .www-cennik-poz{ border-radius: var(--r-karta); }
body.www .www-plyta .card, body.www .www-przywilej, body.www .www-cennik-poz, body.www .www-kafle .www-kafel-zobrazem{ box-shadow: none; }
body.www .www-kafle .www-kafel{ box-shadow: inset 3px 0 0 var(--pr-stroke); }
body.www .www-kafle .www-kafel:hover{ box-shadow: inset 3px 0 0 var(--pr-red); }
body.www .www-cennik-poz-oboczna{ background: var(--pr-card); border-style: solid; }
body.www:has(.www-kontakt-wprost) .www-siatka-kart{ align-items: stretch; }
body.www .www-punkty{
  grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: repeat(10, auto);
  grid-auto-flow: column; gap: 0 28px; border-top: 1px solid var(--pr-fg);
}
body.www .www-punkty-poz{
  flex-direction: row; justify-content: space-between; align-items: baseline;
  padding: 7px 2px; border: 0; border-bottom: 1px solid var(--pr-stroke); border-radius: 0; background: none;
}
body.www .www-punkty-miejsce{ font-family: var(--ff-body); font-size: 15px; font-weight: 400; letter-spacing: 0; color: var(--pr-fg); }
body.www .www-punkty-ile{ font-family: var(--ff-body); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.www .www-punkty-poz-podium{ background: none; }
body.www .www-punkty-poz-podium .www-punkty-miejsce{ font-weight: 600; }
body.www .www-punkty-poz-podium .www-punkty-ile{ font-weight: 700; }
@media (max-width: 700px){
body.www .www-punkty{ grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(25, auto); gap: 0 20px; }
}
body.www:has(.www-zapis) .www-wezwanie, body.www:has(.www-zapis) .www-wejscia .btn-primary{ display: none; }
.www-zapis-slup{ max-width: 680px; }
body.www .www-zapis .card{ padding: 26px 30px 30px; }
.www-zapis label{ display: block; margin: 16px 0 6px; font-size: 15px; font-weight: 500; color: var(--pr-fg); }
.www-zapis .label-required::after{ content: " *"; color: var(--pr-red-tekst); }
.www-zapis input[type=checkbox]{ margin-right: 8px; }
.www-zapis .section{ margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--pr-stroke); }
.www-zapis form > .section:first-child{ margin-top: 0; padding-top: 0; border-top: 0; }
.www-zapis .section-title{ font-weight: 600; font-size: 17px; margin-bottom: 12px; color: var(--pr-ink); }
.www-zapis .checkbox-field{ display: flex; align-items: flex-start; margin: 12px 0; }
.www-zapis .checkbox-field input{ margin: 2px 10px 0 0; flex-shrink: 0; width: 20px; height: 20px; accent-color: var(--pr-red); }
.www-zapis .checkbox-field label{ margin: 0; flex: 1; font-weight: 400; cursor: pointer; }
.www-zapis .hidden{ display: none; }
.www-zapis .btn.btn-primary{ margin-top: 24px; }
.www-zapis .success{ color: var(--pr-ok-text); background: var(--pr-ok-tint); border: 1px solid var(--pr-ok-tint); border-radius: var(--r-karta, 2px); padding: 14px; }
.www-zapis .err{ color: var(--pr-red-dark); font-size: 14px; }
.www-zapis .hint{ color: var(--pr-fg-2); font-size: 14px; margin-top: 5px; }
.www-zapis .field-error{ border-color: var(--pr-red) !important; }
.www-zapis-dalej{ margin: 16px 0 0; font-size: 15px; }
@media (max-width: 560px){
body.www .www-zapis .card{ padding: 20px 16px 22px; }
.www-zapis .btn.btn-primary{ width: 100%; }
}
.www-zapis select{ width: 100%; }
@media (max-width: 700px){
table.tabela-kartowa[data-zwarta] td[data-akcja]{ order: 6; flex-basis: 100%; justify-content: flex-start; padding: 8px 0 0; margin: 0; }
table.tabela-kartowa[data-zwarta] td[data-akcja] .btn{ margin: 0; }
}
.stan-pusty{ margin: 0; color: var(--pr-fg-2); font-size: 15px; line-height: 1.6; }
.stan-bledu h1{ margin: 0 0 10px; }
.stan-bledu-akcje{ display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.dokumenty-akcje .btn{ min-height: 44px; }
.card.dokumenty-akcje{ margin-bottom: 16px; }
.dokumenty-do-potwierdzenia{ border-left: 4px solid var(--pr-warn-text, #8a5a00); margin-bottom: 20px; }
.dokumenty-do-potwierdzenia h2{ margin-top: 0; }
.dokumenty-lista-dzialan{ margin: 8px 0 0; padding-left: 1.2rem; }
.dokumenty-lista-dzialan li{ padding: 6px 0; }
.dokument-wersja, .dokument-meta{ color: var(--pr-fg-2); font-size: 14px; }
.dokument-meta{ margin: 0 0 6px; }
.dokument-tresc{ white-space: pre-wrap; overflow-wrap: anywhere; font-size: 16px; line-height: 1.65; margin-top: 16px; max-width: 72ch; }
.dokument-potwierdzenie{ margin-top: 16px; }
.dokument-potwierdzenie p{ margin: 0 0 14px; }
.dokument-powrot{ margin-top: 16px; }
.ical-adres{ word-break: break-all; font-family: ui-monospace, Consolas, monospace; font-size: 13.5px; padding: 14px 16px; background: var(--pr-bg); border: 1px solid var(--pr-stroke); border-radius: 8px; margin: 12px 0; }
.ical-akcje{ display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }
.ical-akcje .btn, .ical-nowy .btn, .terminy-ical .btn{ min-height: 44px; }
.ical-uwaga{ font-size: 14px; color: var(--pr-fg-2); }
.ical-instrukcja{ padding-left: 1.2rem; line-height: 1.6; }
.ical-instrukcja li{ margin-bottom: 6px; }
.ical-nowy{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 20px; }
.tabela-przewijana:focus-visible, .karta-tabela:focus-visible{ outline: 3px solid var(--pr-red); outline-offset: 2px; }
.www-zawody-fakty{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); gap: 12px 20px; margin: 0 0 16px; }
.www-zawody-fakty dt{ font-size: 13px; color: var(--pr-fg-2); letter-spacing: 0; text-transform: none; }
.www-zawody-fakty dd{ margin: 2px 0 0; font-weight: 600; color: var(--pr-ink); }
.odstep-gora-akapit{ margin-top: 16px; }
.www-zawody-pas{
  padding: 14px 22px; display: grid; grid-template-columns: minmax(0, var(--kadr)); justify-content: center;
  background: var(--pr-card); border-bottom: 1px solid var(--pr-stroke);
}
.www-zawody-nav ul{ display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.www-zawody-nav a{
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
  border: 1px solid var(--pr-stroke); border-radius: 999px;
  color: var(--pr-ink); text-decoration: none; font-size: 15px; font-weight: 500;
}
.www-zawody-nav a:hover{ border-color: var(--pr-red); }
.www-zawody-nav a[aria-current]{ background: var(--pr-ink); border-color: var(--pr-ink); color: #fff; font-weight: 600; }
.www-zawody-nav a:focus-visible{ outline: 3px solid var(--pr-red); outline-offset: 2px; }
.www-zawody-powrot{ margin: 0 0 20px; font-size: 15px; }
.zaw-pub-licznik{ display: flex; gap: 8px 20px; flex-wrap: wrap; margin: 0 0 8px; font-size: 14px; color: var(--pr-fg-2); }
.zaw-pub-sekcja{ margin: 24px 0 4px; font-size: 22px; }
.zaw-pub-lista > .zaw-pub-sekcja:first-child, .zaw-pub-licznik + .zaw-pub-sekcja{ margin-top: 8px; }
.zaw-pub-lata{ display: flex; gap: 6px; flex-wrap: wrap; margin-top: 20px; }
@media (forced-colors: active){
.www-zawody-nav a[aria-current]{ border: 2px solid CanvasText !important; }
}
.zaw-klasa{ font-weight: 700; color: #b8b8b8; }
.zaw-klasa-D{ color: #8fa9de; }
.zaw-klasa-C{ color: #5fbe8a; }
.zaw-klasa-B{ color: #c8a84e; }
.zaw-klasa-A{ color: #ee9a4c; }
.zaw-klasa-M{ color: #c08fd6; }
.zaw-klasa-GM{ color: #f06068; }
.zaw-klasa-opis{ font-size: 12px; color: var(--pr-frame-dim); }
.zaw-forma-wiersz{
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.08);
}
.zaw-forma-wiersz:last-child{ border-bottom: none; }
.zaw-trend-wzrost{ color: #5fbe8a; }
.zaw-trend-spadek{ color: #f06068; }
.zaw-trend-stabilna{ color: var(--pr-frame-dim); }
.zaw-bilans-opis{ font-size: 12.5px; color: var(--pr-frame-dim); margin: 0 0 10px; }
.zaw-bilans-wiersz{ margin-bottom: 10px; }
.zaw-bilans-glowa{ display: flex; justify-content: space-between; gap: 8px; font-size: 13px; margin-bottom: 4px; }
.zaw-bilans-glowna{ color: var(--pr-frame-dim); font-size: 11.5px; }
.zaw-bilans-pasek{
  display: block; width: 100%; height: 6px; border: 0; border-radius: 3px; overflow: hidden;
  background: rgba(255,255,255,.08); appearance: none; -webkit-appearance: none;
}
.zaw-bilans-pasek::-webkit-progress-bar{ background: rgba(255,255,255,.08); border-radius: 3px; }
.zaw-bilans-pasek::-webkit-progress-value{ background: var(--pr-red); border-radius: 3px; }
.zaw-bilans-pasek::-moz-progress-bar{ background: var(--pr-red); border-radius: 3px; }
.zaw-bilans-pasek.spelniony::-webkit-progress-value{ background: #5fbe8a; }
.zaw-bilans-pasek.spelniony::-moz-progress-bar{ background: #5fbe8a; }
.zaw-przyciski{ display: flex; gap: 8px; flex-wrap: wrap; }
.zaw-trening-statystyki{ margin-bottom: 12px; }
.zaw-odznaki{ display: flex; gap: 8px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.zaw-odznaka{
  display: flex; align-items: center; gap: 6px; font-size: 12.5px;
  background: rgba(196,163,90,.12); border: 1px solid rgba(196,163,90,.25); border-radius: 8px; padding: 6px 12px;
}
.zaw-odznaka-ikona{ font-size: 20px; line-height: 1; }
.zaw-protest{ margin-top: 20px; }
.zaw-protest-pole{ margin-bottom: 10px; }
.zaw-protest-pole label{ display: block; margin-bottom: 4px; }
@media (forced-colors: active){
.zaw-bilans-pasek{ border: 1px solid CanvasText; }
}
.zaw-wykres-os{ stroke: rgba(255,255,255,.18); stroke-width: 1; }
.zaw-wykres-seria polyline{ fill: none; stroke: currentColor; stroke-width: 2; }
.zaw-wykres-seria circle{ fill: currentColor; }
.zaw-wykres-pistolet{ color: #f06068; fill: #f06068; }
.zaw-wykres-rewolwer{ color: #c8a84e; fill: #c8a84e; }
.zaw-wykres-karabin{ color: #5fbe8a; fill: #5fbe8a; }
.zaw-wykres-strzelba{ color: #8fa9de; fill: #8fa9de; }
.zaw-wykres-inna{ color: #b8b8b8; fill: #b8b8b8; }
.zaw-wykres-podpis{ font-size: 11px; fill: #e0e0e0; }
.zaw-profil-najlepsze .zaw-tabela-wrap table, .zaw-historia-pelna .zaw-tabela-wrap table{ color: #e8e8e8; }
.zaw-profil-najlepsze .tabela tbody tr, .zaw-historia-pelna .tabela tbody tr{ background: transparent; }
.zaw-profil-najlepsze .tabela tbody tr:nth-child(even), .zaw-historia-pelna .tabela tbody tr:nth-child(even){ background: rgba(255,255,255,.03); }
.zaw-percentyl-wartosc{ color: #5fbe8a; }
body.member-zone, body.member-auth{
  --ff-disp: 'IBM Plex Sans', 'Segoe UI', sans-serif;
  --ff-body: 'IBM Plex Sans', 'Segoe UI', sans-serif;
  font-family: var(--ff-body);
}
body:is(.member-zone, .member-auth) :is(h1, h2, h3){ font-weight: 600; }
