@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --bg:#0a1011; --surface:#121b1b; --surface-2:#192524; --line:rgba(229,241,230,.12); --text:#f4f7f2; --muted:#9cac9d; --lime:#c8f169; --lime-dark:#a8d14c; --orange:#ff8c5a; --shadow:0 22px 55px rgba(0,0,0,.27); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-width:320px; color:var(--text); background:radial-gradient(circle at 0 0,#243b30 0,transparent 29rem),radial-gradient(circle at 100% 100%,#263024 0,transparent 25rem),var(--bg); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; transition:filter .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease; }
button:not(:disabled):hover { filter:brightness(1.1); box-shadow:0 7px 18px rgba(0,0,0,.2); }
button:disabled { cursor:not-allowed; opacity:.55; }

/* Publiczne, zbiorcze statystyki ligi */
.ranking-page-nav{margin-left:auto}
.statistics-page{min-height:100vh}
.statistics-header{max-width:1280px;margin:0 auto;padding:1.5rem clamp(1.2rem,4vw,3rem);display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid var(--line)}
.statistics-heading{min-width:0}
.statistics-heading h1{max-width:none;font-size:clamp(1.8rem,3vw,2.7rem)}
.statistics-heading .lead{max-width:36rem}
.statistics-nav{margin-left:auto}
.statistics-content{max-width:1280px;margin:auto;padding:2rem clamp(1.2rem,4vw,3rem) 4rem}
.statistics-filter{display:grid;grid-template-columns:minmax(210px,320px) auto;align-items:end;justify-content:start;gap:.7rem;padding:1rem;margin-bottom:2rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px}
.statistics-filter label{grid-column:1/-1;color:var(--muted);font-size:.75rem;font-weight:700}
.statistics-filter select{min-height:2.7rem}
.statistics-filter button{min-height:2.7rem;padding:.65rem 1rem;border:1px solid var(--lime);border-radius:10px;background:var(--lime);color:#18220d;font:800 .9rem 'DM Sans',sans-serif}
.statistics-section-title{margin:0 0 1rem}
.statistics-section-title h2{margin:.25rem 0 0;font-size:clamp(1.55rem,3vw,2.25rem)}
.statistics-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}
.statistics-card-grid-accounts{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.statistics-card{min-width:0;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.statistics-card span{display:block;min-height:2.5em;color:var(--muted);font-size:.78rem;font-weight:700}
.statistics-card strong{display:block;margin:.2rem 0;color:var(--text);font:700 clamp(1.45rem,3vw,2rem) 'Space Grotesk',sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}
.statistics-card small{display:block;color:var(--muted);font-size:.72rem}
.statistics-card-featured{border-color:rgba(200,241,105,.4);background:linear-gradient(145deg,rgba(200,241,105,.12),transparent 60%),var(--surface)}
.statistics-card-featured strong{color:var(--lime)}
.statistics-accounts{margin-bottom:3rem}
.statistics-scopes{display:grid;gap:3rem}
.statistics-scope{min-width:0}
.statistics-details-grid{display:grid;grid-template-columns:1fr;gap:.8rem;margin-top:.8rem}
.statistics-details-grid>.statistics-panel{display:grid;}
.statistics-details-grid>.statistics-panel h3{grid-column:1/-1}
.statistics-distributions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;min-width:0;}
.statistics-panel{padding:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px}
.statistics-panel h3{margin:0 0 .8rem;font:700 1.05rem 'Space Grotesk',sans-serif}
.statistics-panel-note{margin:-.35rem 0 .9rem;color:var(--muted);font-size:.75rem}
.statistics-breakdown{display:flex;gap:.4rem;padding:.62rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}
.statistics-breakdown strong{color:var(--lime)}
.statistics-score-row{display:grid;gap:.35rem;padding:.43rem 0}
.statistics-score-row>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.78rem}
.statistics-score-row strong{color:var(--text);font-size:.76rem;white-space:nowrap}
.statistics-score-track{height:.42rem;overflow:hidden;border-radius:999px;background:#0d1616}
.statistics-score-track i{display:block;width:var(--statistics-width);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lime-dark),var(--lime))}
.statistics-boulders{margin-top:3.5rem}
.statistics-boulder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem}
.statistics-boulder-link{display:block;min-width:0;color:inherit;text-decoration:none}
.statistics-boulder-card{min-width:0;padding:1.1rem;border:1px solid var(--line);border-top:5px solid var(--boulder-stat-color);border-radius: 10px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 55%),var(--surface);box-shadow:var(--shadow)}
.statistics-boulder-link .statistics-boulder-card{height:100%;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.statistics-boulder-link:hover .statistics-boulder-card,.statistics-boulder-link:focus-visible .statistics-boulder-card{transform:translateY(-3px);border-color:rgba(200,241,105,.55);border-top-color:var(--boulder-stat-color);box-shadow:0 25px 60px rgba(0,0,0,.36)}
.statistics-boulder-link:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:10px}
.statistics-boulder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.statistics-boulder-header h3{margin:.15rem 0 0;font:700 1.55rem 'Space Grotesk',sans-serif;letter-spacing:-.04em}
.statistics-boulder-color{width:1.3rem;height:1.3rem;flex:0 0 1.3rem;border:3px solid rgba(255,255,255,.75);border-radius:50%;background:var(--boulder-stat-color);box-shadow:0 3px 10px rgba(0,0,0,.42)}
.statistics-boulder-meta{margin:.45rem 0 1rem;color:var(--muted);font-size:.8rem;font-weight:700}
.statistics-boulder-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.statistics-boulder-metrics>div{min-width:0;padding:.7rem;background:rgba(9,16,16,.58);border:1px solid var(--line);border-radius:11px}
.statistics-boulder-metrics span,.statistics-boulder-metrics small{display:block;color:var(--muted);font-size:.68rem}
.statistics-boulder-metrics strong{display:block;margin:.18rem 0;color:var(--lime);font:700 1.25rem 'Space Grotesk',sans-serif;overflow-wrap:anywhere}
.statistics-boulder-scores{display:grid;grid-template-columns:1fr;gap:.1rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--line)}
.statistics-boulder-scores .statistics-score-row{padding:.43rem 0}
.statistics-boulder-open{display:block;margin-top:.9rem;color:var(--lime);font-size:.78rem;font-weight:800;text-align:right}
.statistics-vote-results{margin-top:1rem}
.statistics-vote-label{display:inline-flex;align-items:center;gap:.45rem}
.statistics-vote-color{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;border:2px solid rgba(255,255,255,.15);border-radius:50%;background:var(--vote-color);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.admin-draw-page{max-width:980px}
.admin-draw-filter{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.8rem;align-items:end;padding:1.1rem;margin-bottom:1.25rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px}
.admin-draw-filter .field{margin:0}
.admin-draw-filter .sort-button{min-height:2.75rem}
.admin-draw-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.75rem 0 .4rem}
.admin-draw-summary h2{margin:.2rem 0 0;font-size:clamp(1.45rem,3vw,2rem)}
.admin-draw-summary>strong{padding:.55rem .75rem;border-radius:999px;background:rgba(200,241,105,.12);color:var(--lime);font:700 .9rem 'Space Grotesk',sans-serif;white-space:nowrap}
.admin-draw-users{display:grid;gap:.55rem;margin-top:1rem}
.admin-draw-user{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px}
.admin-draw-number{width:1.85rem;height:1.85rem;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:800}
.admin-draw-user>div>strong,.admin-draw-user>div>small{display:block}
.admin-draw-user>div>small{margin-top:.18rem;color:var(--muted);font-size:.75rem}
.admin-draw-user-results{text-align:right}
.admin-draw-user-results span,.admin-draw-user-results strong{font-size:.75rem}
.admin-draw-user-results span{color:var(--muted)}
.admin-draw-user-results strong{margin-top:.15rem;color:var(--lime)}
.admin-draw-box{margin-top:2rem;padding:clamp(1.3rem,4vw,2.2rem);text-align:center;border:1px solid rgba(200,241,105,.38);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(200,241,105,.14),transparent 65%),var(--surface);box-shadow:var(--shadow)}
.admin-draw-box h2{margin:.45rem 0;font-size:clamp(1.8rem,4vw,3rem)}
.admin-draw-box p{margin:.5rem auto 1rem;color:var(--muted)}
.admin-draw-box form{max-width:360px;margin:auto}
.admin-draw-button{font-size:1rem}

@media(max-width:620px){
    .statistics-header{align-items:flex-start;flex-direction:column}
    .ranking-page-nav,.statistics-nav{margin-left:0;width:100%}
    .ranking-page-nav .nav-link,.statistics-nav .nav-link{flex:1;text-align:center}
    .statistics-content{padding-top:1.25rem}
    .statistics-filter{grid-template-columns:1fr}
    .statistics-filter label{grid-column:auto}
    .statistics-filter button{width:100%}
	    .statistics-details-grid{grid-template-columns:1fr}
	    .statistics-details-grid>.statistics-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
	    .statistics-distributions{grid-template-columns:1fr}
    .statistics-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .statistics-boulder-grid{grid-template-columns:1fr}
    .admin-draw-filter{grid-template-columns:1fr}
    .admin-draw-filter .sort-button{width:100%}
}
@media(max-width:420px){
    .statistics-card{padding:.85rem}
    .statistics-card span{min-height:0}
    .statistics-card strong{font-size:1.45rem}
	    .statistics-nav{display:grid;grid-template-columns:1fr}
	    .statistics-details-grid>.statistics-panel{grid-template-columns:1fr}
	    .statistics-boulder-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-draw-user{grid-template-columns:auto minmax(0,1fr)}
    .admin-draw-user-results{grid-column:2;text-align:left}
}
.brand { font:700 clamp(1.3rem,2vw,1.7rem)/1 'Space Grotesk',sans-serif; letter-spacing:-.06em; display:flex; align-items:center; gap:.65rem; }
.brand-mark { width:2.2rem; height:2.2rem; display:grid; place-items:center; border-radius:11px; background:var(--lime); color:#15200c; font-size:1.1rem; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:300px; flex:0 0 300px; padding:1.65rem; border-right:1px solid var(--line); background:rgba(9,15,15,.6); }
.logo-image { display:block; width:100%; max-width:205px; margin:1.6rem 0 .75rem; }
.edition { color:var(--muted); font-size:.93rem; margin:0; }
.round { color:var(--lime); font:600 1rem 'Space Grotesk',sans-serif; margin:.45rem 0 1.5rem; }
.side-section { border-top:1px solid var(--line); padding-top:1.1rem; margin-top:1.1rem; }
.side-label, .eyebrow { display:block; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; font-size:.68rem; font-weight:700; }
.metrics { display:grid; gap:.65rem; margin-top:.8rem; }
.metric { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem .9rem; background:var(--surface); border:1px solid var(--line); border-radius: 10px; font-size:.87rem; }
.metric strong { color:var(--lime); font:600 1rem 'Space Grotesk',sans-serif; white-space:nowrap; }
.profile { display:grid; gap:.45rem; color:var(--muted); font-size:.88rem; }
.profile b { color:var(--text); font-weight:600; }
.main { flex:1; min-width:0; padding:clamp(1.2rem,3vw,3rem); }
.page-header { display:flex; gap:1rem; justify-content:space-between; align-items:end; margin-bottom:2rem; }
h1,h2 { font-family:'Space Grotesk',sans-serif; letter-spacing:-.055em; margin:0; }
h1 { font-size:clamp(2rem,4vw,3.4rem); max-width:14ch; }
.lead { color:var(--muted); margin:.5rem 0 0; }
.top-nav { display:flex; flex-wrap:wrap; gap:.5rem; }
.nav-link, .sort-button {transition: .3s all; border:1px solid var(--line); color:var(--muted); background:var(--surface); padding:.66rem .85rem; border-radius:10px; cursor:pointer; font:600 .8rem 'DM Sans',sans-serif; }
.nav-link:hover, .sort-button:hover { border-color:rgba(200,241,105,.6); color:var(--lime); }
.boulder-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; }
.boulder-card { position:relative; min-height:185px; padding:1.1rem; border:1px solid var(--line); border-top:5px solid var(--accent,#526260); border-radius: 10px; background:linear-gradient(150deg,rgba(255,255,255,.045),transparent 55%),var(--surface); box-shadow:var(--shadow); transition:transform .18s ease,border-color .18s ease; }
.boulder-card:hover { transform:translateY(-3px); border-color:rgba(200,241,105,.32); }
.boulder-number { display:flex; align-items:center; justify-content:space-between; font:600 1.12rem 'Space Grotesk',sans-serif; }
.difficulty { margin:.45rem 0 1.3rem; color:var(--muted); font-size:.86rem; }
.joker-tag { display:inline-flex; background:var(--orange); color:#351409; border-radius:999px; padding:.28rem .58rem; font:700 .72rem 'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.score-buttons { display:grid; grid-template-columns:repeat(5,1fr); gap:.35rem; }
.score-button { border:1px solid var(--line); border-radius: 10px; min-height:2.35rem; background:var(--surface-2); color:var(--text); cursor:pointer; font-weight:700; transition:.15s; }
.score-button:hover { background:#263534; }
.score-button.active { background:var(--lime); border-color:var(--lime); color:#18220d; box-shadow:0 6px 16px rgba(200,241,105,.2); }
.joker-input { width:100%; border:1px solid var(--line); background:var(--surface-2); color:var(--text); border-radius:10px; padding:.75rem; font:700 1.1rem 'Space Grotesk',sans-serif; }
.joker-input:focus { outline:2px solid var(--lime); outline-offset:0px; }
.bulk-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; padding:1rem; margin-top:1.2rem; background:rgba(18,27,27,.86); border:1px solid var(--line); border-radius: 10px; }
.bulk-actions p { width:100%; margin:0 .1rem .25rem; color:var(--muted); font-size:.87rem; }
.notice { min-height:1.25em; margin-top:1rem; color:var(--muted); font-size:.85rem; }
.auth-page { min-height:100vh; min-height:100dvh; display:grid; place-items:center; padding:1.2rem; }
.auth-card { width:min(100%,450px); padding:clamp(1.5rem,5vw,2.4rem); background:rgba(18,27,27,.94); border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); }
.auth-logo { display:block; width:min(220px,75%); height:auto; margin:0 0 1.8rem; }
.auth-card .brand { margin-bottom:2.3rem; }.auth-card h1{font-size:2.2rem;}.auth-card .lead{}
.field { display:grid; gap:.45rem; margin-top:1rem; color:var(--muted); font-size:.85rem; font-weight:600; }
input,select { width:100%; padding:.82rem .9rem; border-radius:10px; border:1px solid var(--line); background:#0d1616; color:var(--text); font:inherit; }
input:focus,select:focus { outline:2px solid var(--lime); outline-offset:0px; border-color:var(--lime); }
input[type="checkbox"] { outline:0;}
.primary-button { width:100%; border:0; border-radius:10px; padding:.9rem 1rem; background:var(--lime); color:#18220d; font-weight:800; cursor:pointer; margin-top:1rem; }.primary-button:hover{background:#d7fb85;}
.form-error { padding:.7rem .85rem; background:rgba(255,105,105,.12); border:1px solid rgba(255,105,105,.35); color:#ffb1a5; border-radius:10px; font-size:.88rem; }.form-footer{text-align:center;color:var(--muted);font-size:.88rem;margin:1.3rem 0 0;}.form-footer a{color:var(--lime);font-weight:700;}
.form-success{padding:.7rem .85rem;background:rgba(200,241,105,.1);border:1px solid rgba(200,241,105,.35);color:var(--lime);border-radius:10px;font-size:.88rem;}.admin-page{min-height:100vh}.admin-header{max-width:1180px;margin:auto;padding:1.5rem clamp(1.2rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.admin-content{max-width:1180px;margin:auto;padding:clamp(2rem,5vw,4rem) clamp(1.2rem,4vw,3rem)}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:1rem;align-items:start}.admin-form-column{min-width:0}.admin-form,.admin-list{padding:1.3rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px;box-shadow:var(--shadow)}.admin-form .form-error,.admin-form .form-success{margin:0 0 1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.check-field{display:flex;align-items:center;gap:.55rem;margin:1rem 0;color:var(--text);font-size:.9rem;font-weight:600}.check-field input{width:1rem;height:1rem;accent-color:var(--lime)}.admin-list h2{font-size:1.35rem;margin:.65rem 0 1rem}.admin-boulder-list{display:grid;gap:.55rem}.admin-boulder-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.65rem;align-items:center;padding:.75rem .2rem;border-bottom:1px solid var(--line);font-weight:600}.admin-boulder-row small{color:var(--muted)}.color-dot{width:.8rem;height:.8rem;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.08)}.month-status{border-bottom:1px solid var(--line);}.row-action,.cancel-link{color:var(--lime);font-weight:700;font-size:.8rem}.cancel-link{display:block;text-align:center;margin:1rem}.delete-form{margin-top:.7rem}.delete-form button{width:100%;padding:.7rem;border:1px solid rgba(255,105,105,.45);border-radius:10px;background:rgba(255,105,105,.12);color:#ffb1a5;font-weight:700;cursor:pointer}
.nav-logo{display:block;width:150px;max-height:56px;object-fit:contain;object-position:left center}.form-note{color:var(--muted);font-size:.85rem}.form-note strong{color:var(--lime)}
.admin-period-filter{display:grid;grid-template-columns:1fr;gap:.6rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.admin-period-filter .field{margin:0}.admin-period-filter .sort-button{width:100%}
.admin-score-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(190px,1fr) auto;gap:.8rem;align-items:end;padding:1.1rem;margin-bottom:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px}.admin-score-filters .field{margin:0}.admin-score-filters .sort-button{min-height:2.75rem}.admin-scores-page>h2{margin:1.5rem 0 1rem}.admin-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.admin-score-card{position:relative;padding:1rem;border:1px solid var(--line);border-top:5px solid var(--boulder-color);border-radius: 10px;background:var(--surface);box-shadow:var(--shadow)}.admin-score-card .color-dot{position:absolute;top:1rem;right:1rem}.admin-score-card h3{padding-right:1.5rem;margin:0;font-family:'Space Grotesk',sans-serif}.admin-score-card p{margin:.45rem 0;color:var(--muted);font-size:.85rem}.admin-score-submit{max-width:420px;margin:1.2rem 0 0}.admin-override-note{padding:.8rem 1rem;border:1px solid rgba(255,140,90,.45);border-radius:10px;background:rgba(255,140,90,.12);color:#ffd1bc;font-weight:700}
.history-page{min-height:100vh}.history-content{max-width:1180px;margin:auto;padding:clamp(2rem,5vw,4rem) clamp(1.2rem,4vw,3rem)}.history-content h1{font-size:clamp(2rem,4vw,3.4rem);margin:.3rem 0}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:2rem}.history-card{padding:1.2rem;background:var(--surface);border:1px solid var(--line);border-radius: 10px;box-shadow:var(--shadow)}.history-card h2{font-size:1.3rem;margin:0 0 1rem}.history-card div{display:flex;justify-content:space-between;padding:.45rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.history-card strong{color:var(--lime);font-family:'Space Grotesk',sans-serif}.history-card a{display:block;margin-top:1rem;color:var(--lime);font-size:.86rem;font-weight:700}.empty-state{margin-top:2rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted)}
.ranking-page { min-height:100vh; }.ranking-header { max-width:1280px; margin:auto; padding:1.5rem clamp(1.2rem,4vw,3rem); display:flex; justify-content:space-between; align-items:center; gap:1rem; }.ranking-wrap{max-width:1280px;margin:auto;padding:0 clamp(1.2rem,4vw,3rem) 3rem;}.ranking-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0;}.table-frame{overflow:auto;border:1px solid var(--line);border-radius: 10px;background:var(--surface);}.ranking-table{width:100%;border-collapse:collapse;min-width:860px;}.ranking-table th{background:#0f1918;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;}.ranking-table th,.ranking-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--line);}.ranking-table tbody tr:hover{background:rgba(255,255,255,.035);}.podium-1{background:rgba(255,210,85,.08);}.podium-2{background:rgba(220,230,232,.06);}.podium-3{background:rgba(225,151,95,.08);}.me{box-shadow:inset 3px 0 var(--lime);}.badge{display:inline-flex;padding:.25rem .5rem;border-radius:7px;background:var(--surface-2);font-weight:700;font-size:.8rem;}
.ranking-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;padding:1rem;margin:0 0 1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px}.ranking-filters label{display:grid;gap:.3rem;color:var(--muted);font-size:.75rem;font-weight:700}.ranking-filters input,.ranking-filters select{width:auto;min-width:8rem;padding:.55rem .65rem}.ranking-filters button,.ranking-filters a{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;min-height:2.55rem;padding:.6rem .8rem;border:1px solid transparent;border-radius: 10px;background:var(--lime);color:#18220d;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;font-size:15px;}.ranking-filters button:hover{background:#d7fb85;transform:translateY(-1px)}.ranking-filters a{background:var(--surface-2);border-color:var(--line);color:var(--text)}.ranking-filters a:hover{border-color:rgba(200,241,105,.55);color:var(--lime);transform:translateY(-1px)}
.ranking-page-header{max-width:1280px;margin:0 auto 1.5rem;padding:1.5rem clamp(1.2rem,4vw,3rem);display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid var(--line)}.ranking-page-header h1{font-size:clamp(1.8rem,3vw,2.7rem);max-width:none}.ranking-logo{display:block;width:165px;height:auto}.ranking-sort{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.legacy .ranking-sort button{cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.legacy .ranking-sort button:hover{background:var(--surface-2);border-color:rgba(200,241,105,.55);color:var(--lime);transform:translateY(-1px)}.ranking-table-wrap{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.legacy .ranking-table-wrap table{border-top-left-radius: 12px;border-top-right-radius: 12px;border:0;border-collapse:separate;border-spacing:0;margin:0}.legacy .ranking-table-wrap1 thead th:first-child{border-top-left-radius:12px}.legacy .ranking-table-wrap1 thead th:last-child{border-top-right-radius:12px}
.ranking-user-row{cursor:pointer}.ranking-user-row:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}

/* Publiczny podgląd wyników zawodnika */
.competitor-page{min-height:100vh}
.competitor-content{max-width:1180px;margin:auto;padding:2rem clamp(1.2rem,4vw,3rem) 4rem}
.competitor-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.competitor-intro h1{margin:.25rem 0;font-size:clamp(1.8rem,4vw,3rem)}
.competitor-intro p{margin:.3rem 0 0;color:var(--muted)}
.competitor-filter{display:grid;grid-template-columns:minmax(220px,340px) auto;align-items:end;justify-content:start;gap:.7rem;margin-bottom:1.25rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.competitor-filter label{display:grid;gap:.35rem;color:var(--muted);font-size:.76rem;font-weight:700}
.competitor-filter select{min-height:2.7rem}
.competitor-filter button{min-height:2.7rem;padding:.65rem 1rem;border:1px solid var(--lime);border-radius:10px;background:var(--lime);color:#18220d;font-weight:800}
.competitor-summary{margin-bottom:1.5rem}
.competitor-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.8rem}
.competitor-result{position:relative;min-width:0;padding:1rem 3.2rem 1rem 1rem;border:1px solid var(--line);border-top:4px solid var(--competitor-color);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 55%),var(--surface);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.competitor-result h2{margin:.15rem 0;font:700 1.35rem 'Space Grotesk',sans-serif}
.competitor-result p{margin:.25rem 0;color:var(--muted);font-size:.78rem;font-weight:700}
.competitor-result-score{display:flex;align-items:baseline;gap:.35rem;margin-top:.85rem;color:var(--lime)}
.competitor-result-score strong{font:700 2rem 'Space Grotesk',sans-serif}
.competitor-result-score span{font-size:.78rem;font-weight:700}
.competitor-result-score-empty{color:var(--muted)}
.competitor-result-score-empty strong{color:var(--muted)}
.competitor-result-status{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.competitor-result-status span{padding:.3rem .5rem;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}
.competitor-color{position:absolute;top:1rem;right:1rem;width:1.35rem;height:1.35rem;border:3px solid rgba(255,255,255,.75);border-radius:50%;background:var(--competitor-color);box-shadow:0 3px 10px rgba(0,0,0,.42)}

/* Publiczne szczegóły pojedynczego bouldera */
.boulder-details-page{min-height:100vh}
.boulder-details-content{max-width:1280px;margin:auto;padding:2rem clamp(1.2rem,4vw,3rem) 4rem}
.boulder-details-filter{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,1.4fr) auto;align-items:end;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.boulder-details-filter label{display:grid;gap:.35rem;color:var(--muted);font-size:.76rem;font-weight:700}
.boulder-details-filter select{min-height:2.7rem}
.boulder-details-filter button{min-height:2.7rem;padding:.65rem 1rem;border:1px solid var(--lime);border-radius:10px;background:var(--lime);color:#18220d;font-weight:800;white-space:nowrap}
.boulder-details-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem;border:1px solid var(--line);border-top:5px solid var(--boulder-detail-color);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 55%),var(--surface)}
.boulder-details-intro h1{max-width:none;margin:.25rem 0;font-size:clamp(1.8rem,4vw,3rem)}
.boulder-details-intro p{margin:.25rem 0 0;color:var(--muted);font-size:.86rem;font-weight:700}
.boulder-details-color{width:1.65rem;height:1.65rem;flex:0 0 1.65rem;border:3px solid rgba(255,255,255,.75);border-radius:50%;background:var(--boulder-detail-color);box-shadow:0 3px 10px rgba(0,0,0,.42)}
.boulder-details-summary{margin-bottom:1rem}
.boulder-details-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.6fr);gap:1rem;align-items:start}
.boulder-details-distribution h2{margin:0 0 .8rem;font-size:1.15rem}
.boulder-details-results{min-width:0;padding:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.boulder-details-results-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.boulder-details-results-heading h2{margin:.2rem 0 0;font-size:1.35rem}
.boulder-details-results-heading>strong{padding:.4rem .65rem;border-radius:999px;background:rgba(200,241,105,.12);color:var(--lime);font:700 .85rem 'Space Grotesk',sans-serif}
.boulder-details-results .empty-state{margin-top:0}
.boulder-details-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.boulder-details-table{width:100%;min-width:620px;border-collapse:collapse;background:#0f1918}
.boulder-details-table th,.boulder-details-table td{padding:.8rem .9rem;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.boulder-details-table th{color:var(--muted);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}
.boulder-details-table td{font-size:.84rem;color:var(--muted)}
.boulder-details-table tbody tr:last-child td{border-bottom:0}
.boulder-details-table tbody tr:hover{background:rgba(255,255,255,.035)}
.boulder-details-table td strong{color:var(--text)}
.boulder-details-points{color:var(--lime)!important;font:700 1rem 'Space Grotesk',sans-serif}
.boulder-result-badge{display:inline-flex;padding:.3rem .5rem;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}
.boulder-result-badge.is-top{background:rgba(200,241,105,.12);color:var(--lime)}
.boulder-result-badge.is-flash{background:var(--lime);color:#18220d}
@media(max-width:860px){.app-shell{display:block}.sidebar{width:auto}.page-header{align-items:start;flex-direction:column}.main{padding:1.4rem}.logo-image{max-width:155px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.side-section{margin-top:.8rem}.profile{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.boulder-details-layout{grid-template-columns:1fr}.boulder-details-filter{grid-template-columns:1fr 1fr}.boulder-details-filter button{grid-column:1/-1}}
@media(max-width:480px){.metrics,.profile{grid-template-columns:1fr}.boulder-grid{grid-template-columns:1fr}.score-button{min-height:2.7rem}.auth-card{padding:1.4rem}.ranking-header{align-items:start;flex-direction:column}}
@media(max-width:760px){.admin-header{align-items:start;flex-direction:column}.admin-layout{grid-template-columns:1fr}.form-grid,.admin-period-filter,.admin-score-filters{grid-template-columns:1fr}.admin-score-filters .sort-button{width:100%}}
@media(max-width:620px){.statistics-card-grid-accounts > :first-child:nth-child(1n + 1) {grid-column: 1 / -1;} .ranking-page-header{align-items:flex-start;flex-direction:column}.ranking-filters{align-items:stretch}.ranking-filters label,.ranking-filters select,.ranking-filters button,.ranking-filters a{width:100%}}
@media(max-width:620px){.competitor-intro{align-items:flex-start;flex-direction:column}.competitor-filter{grid-template-columns:1fr}.competitor-filter button{width:100%}.competitor-results{grid-template-columns:1fr}}
@media(max-width:620px){.boulder-details-content{padding-top:1.25rem}.boulder-details-filter{grid-template-columns:1fr}.boulder-details-filter button{grid-column:auto;width:100%}.boulder-details-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

.legacy a.stat{width:100%;align-items:center;color:var(--lime);text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.legacy a.stat:hover{background:var(--surface-2);border-color:rgba(200,241,105,.45);transform:translateX(2px)}

body.legacy .card{padding:1.1rem}
body.legacy .card .name{padding-right:2.3rem;line-height:1.4;}
body.legacy .card:hover{border-color:var(--boulder-color)!important}

body.legacy{font-family:'DM Sans',Arial,sans-serif;background:radial-gradient(circle at 0 0,#243b30 0,transparent 29rem),var(--bg);}
.legacy .wrapper{min-height:100vh}.legacy .sidebar{padding:1.65rem;background:rgba(9,15,15,.6);border-color:var(--line)}.legacy .logo{font-family:'Space Grotesk',sans-serif}.legacy .logo img{display:block;max-width:205px!important;margin:1.4rem 0 .8rem}.legacy .logo p{margin:.45rem 0;color:var(--muted);font-size:.94rem}.legacy .logo p:last-child{color:var(--lime);font-weight:700}.legacy .main{padding:clamp(1rem,2vw,2rem)}.legacy .grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1rem}.legacy .card{position:relative;padding:1.1rem 3.5rem 1.1rem 1.1rem;background:linear-gradient(150deg,rgba(255,255,255,.045),transparent 55%),var(--surface);border-radius: 10px!important;box-shadow:var(--shadow)}.legacy .card:hover{transform:translateY(-3px);border-color:var(--lime)!important}.legacy .boulder-color-indicator{position:absolute;top:1rem;right:1rem;width:1.5rem;height:1.5rem;border:3px solid rgba(255,255,255,.78);border-radius:50%;box-shadow:0 3px 10px rgba(0,0,0,.4)}.legacy .name{font-family:'Space Grotesk',sans-serif}.legacy .name p{margin:.05rem 0}.legacy .btn{font-size: 14px;font-family: inherit;margin-top:10px;padding:10px;background:var(--surface-2);border:1px solid var(--line);border-radius: 10px;min-height:2.35rem;color:var(--text)}.legacy button.btn{cursor:pointer}.legacy .btn:hover{transform:none;background:#263534}.legacy .btn.active{background:var(--lime);border-color:var(--lime);color:#18220d;transform:none;box-shadow:0 6px 16px rgba(200,241,105,.2)}.legacy .stat{display:flex;padding:.85rem .9rem;background:var(--surface);border-color:var(--line);border-radius: 10px;color:var(--muted);font-size:.87rem}.legacy .stat span{color:var(--lime);margin:0 5px;font-family:'Space Grotesk',sans-serif}.legacy hr{border-color:var(--line)!important}.legacy .main>p{color:var(--muted);font-size:.85rem;margin:1.4rem 0 .5rem}.legacy .main>div[style]{padding:1rem!important;background:var(--surface);border:1px solid var(--line);border-radius: 10px}.legacy .main>div[style] .btn{padding:.3rem .6rem}.legacy input.btn{padding:.7rem;width:100%;font-family:'Space Grotesk',sans-serif}.legacy .box{width:min(100%,450px);padding:clamp(1.5rem,5vw,2.4rem);background:rgba(18,27,27,.94);border-color:var(--line);border-radius:22px;box-shadow:var(--shadow)}.legacy .box h2{font:700 2.2rem 'Space Grotesk',sans-serif;letter-spacing:-.05em;text-align:left}.legacy input,.legacy select{background:#0d1616;border-color:var(--line);}.legacy input:focus,.legacy select:focus{outline:2px solid var(--lime);outline-offset:0px;border-color:var(--lime)}.legacy button:not(.btn){background:var(--lime);color:#18220d}.legacy .link{color:var(--muted);font-size:.88rem}.legacy a{color:var(--lime);font-weight:700}.legacy .error{color:#ffb1a5}.legacy .header{padding:1.5rem clamp(1.2rem,4vw,3rem);background:transparent;border-color:var(--line);font:700 clamp(1.7rem,3vw,2.5rem) 'Space Grotesk',sans-serif;letter-spacing:-.05em}.legacy .container{max-width:1280px;margin:auto;padding:0 clamp(1.2rem,4vw,3rem) 3rem}.legacy .container>div:first-child{display:flex;gap:.5rem;flex-wrap:wrap}.legacy .container button{background:var(--surface);border:1px solid var(--line);color:var(--muted);padding:.66rem .85rem;border-radius:10px;font-family: inherit;}.legacy table{border:1px solid var(--line);border-radius: 10px;background:var(--surface)}.legacy th{background:#0f1918;color:var(--muted)}.legacy tr{border-color:var(--line)}.legacy tr:hover{background:rgba(255,255,255,.035)}.legacy .rank-1{background:rgba(255,215,0,.3);}.legacy .rank-2{background:rgba(220,230,232,.2);}.legacy .rank-3{background:rgba(225,151,95,.2);}.legacy .me{border-left-color:var(--lime);background:rgba(200,241,105,.08)!important}.legacy .badge{background:var(--surface-2)}
