/* FREETOPLAY 3.0 — wspólna warstwa wizualna; nie zmienia logiki PHP ani plików data/ */
:root{--ft3-bg:#080d09;--ft3-surface:#111a12;--ft3-surface2:#172319;--ft3-line:rgba(174,222,125,.19);--ft3-green:#b9ef76;--ft3-green2:#78c348;--ft3-text:#f4f8ef;--ft3-muted:#a7b5a0;--ft3-shadow:0 18px 55px rgba(0,0,0,.25)}
html{scroll-behavior:smooth}body{accent-color:var(--ft3-green)}
body:has(.wrap),body:has(.container),body:has(.navbar){background-color:var(--ft3-bg)}
::selection{background:rgba(185,239,118,.28);color:#fff}
a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
button,.btn,.tab-btn,input[type=submit]{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
button:hover,.btn:hover,.tab-btn:hover,input[type=submit]:hover{filter:brightness(1.09);transform:translateY(-1px)}
:where(.panel,.stat,.stat-card,.stat-box,.hero-panel,.hero,.card,.person,.reward,.topbar,.tabs-shell){box-shadow:var(--ft3-shadow)}
:where(.panel,.stat,.stat-card,.stat-box,.hero-panel,.hero,.card,.person,.reward){backdrop-filter:blur(8px)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){max-width:100%;transition:border-color .18s ease,box-shadow .18s ease}
:where(input,select,textarea):focus-visible{outline:none;border-color:var(--ft3-green)!important;box-shadow:0 0 0 3px rgba(185,239,118,.14)}
:where(table){width:100%;border-collapse:collapse}th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ft3-muted)}
:where(td,th){padding:11px 12px;border-bottom:1px solid var(--ft3-line);text-align:left}tbody tr:hover{background:rgba(185,239,118,.035)}
:where(.navbar,.topbar,.top,.tabs-shell){position:relative} .navbar,.topbar,.top{z-index:5}
.navbar{backdrop-filter:blur(16px)}
/* Panel administracyjny: szybkie przejście pomiędzy istniejącymi sekcjami */
.ft3-admin-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px;padding:12px;border:1px solid var(--ft3-line);border-radius:16px;background:linear-gradient(120deg,rgba(25,43,23,.92),rgba(13,22,14,.92))}
.ft3-admin-links .ft3-label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ft3-muted);padding:0 8px 0 2px}
.ft3-admin-links a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border:1px solid var(--ft3-line);border-radius:10px;padding:9px 12px;background:rgba(255,255,255,.025);font-weight:700;font-size:13px;color:var(--ft3-text)}
.ft3-admin-links a:hover,.ft3-admin-links a[aria-current=page]{background:rgba(185,239,118,.13);border-color:rgba(185,239,118,.42);color:var(--ft3-green)}
.ft3-version{display:inline-flex;align-items:center;border:1px solid rgba(185,239,118,.35);border-radius:99px;padding:4px 8px;color:var(--ft3-green);font-size:10px;font-weight:900;letter-spacing:.1em}
:where(.notice,.success,.error,.error-message){border-radius:12px}
@media(max-width:650px){.ft3-admin-links{gap:6px}.ft3-admin-links .ft3-label{width:100%;padding:0 0 4px}.ft3-admin-links a{flex:1 1 calc(50% - 6px);justify-content:center;font-size:12px;padding:10px 7px}:where(td,th){padding:8px 7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* FREETOPLAY 3.1 — pełna warstwa wizualna dla strony, administracji i CLUB */
:root{
 --ft3-bg:#080d0a;--ft3-surface:#101912;--ft3-surface2:#152318;--ft3-line:rgba(173,224,123,.18);
 --ft3-green:#c2f477;--ft3-green2:#83cf4f;--ft3-text:#f4f8f1;--ft3-muted:#a4b39e;
 --ft3-shadow:0 18px 48px rgba(0,0,0,.28);--ft3-radius:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:24px}
body{color:var(--ft3-text);background-color:var(--ft3-bg);background-image:radial-gradient(ellipse at 8% -10%,rgba(112,172,63,.15),transparent 36%),radial-gradient(ellipse at 95% 8%,rgba(44,95,45,.14),transparent 32%)}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
::selection{background:rgba(194,244,119,.3);color:#fff}
:where(.container,.wrap){width:min(100% - 36px,1400px);margin-inline:auto}
:where(.container,.wrap) :where(img,video,canvas,svg){max-width:100%}
:where(.topbar,.top,.navbar){backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
:where(.topbar,.top){border-bottom:1px solid var(--ft3-line)}
:where(.topbar,.top,.navbar){position:relative;z-index:10}
:where(.panel,.stat,.stat-card,.stat-box,.hero-panel,.hero,.card,.person,.reward,.tabs-shell,.log-panel){border:1px solid var(--ft3-line)!important;border-radius:var(--ft3-radius)!important;box-shadow:var(--ft3-shadow);background:linear-gradient(145deg,rgba(22,35,24,.96),rgba(13,21,15,.96))}
:where(.panel,.hero-panel,.hero,.card,.person,.reward){transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
:where(.card,.person,.reward):hover{border-color:rgba(194,244,119,.34)!important;box-shadow:0 22px 54px rgba(0,0,0,.34)}
:where(.panel,.hero-panel,.hero){padding:clamp(16px,2.2vw,28px)}
:where(h1,h2,h3,h4){line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(1.8rem,4vw,3rem)}
h2{font-size:clamp(1.15rem,2vw,1.55rem)}
:where(.muted,.panel-desc,.eyebrow){color:var(--ft3-muted)}
:where(.btn,button,.tab-btn,input[type=submit],input[type=button]){border-radius:12px;min-height:40px;font-weight:750;cursor:pointer}
:where(.btn,button,.tab-btn,input[type=submit],input[type=button]):focus-visible,a:focus-visible{outline:3px solid rgba(194,244,119,.65);outline-offset:3px}
:where(.btn,.primary,input[type=submit]){box-shadow:0 7px 20px rgba(0,0,0,.16)}
:where(.btn,.tab-btn){text-decoration:none}
:where(.btn,button,.tab-btn,input[type=submit]):active{transform:translateY(0) scale(.99)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;min-height:42px;border:1px solid rgba(173,224,123,.2);border-radius:12px;background:rgba(5,11,7,.72);color:var(--ft3-text);padding:11px 13px}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#74856e}
:where(input,select,textarea):focus{border-color:var(--ft3-green)!important;box-shadow:0 0 0 3px rgba(194,244,119,.12)!important;outline:0}
:where(label){display:block;font-size:.88rem;font-weight:700;color:#dbe7d5;margin-bottom:5px}
:where(table){width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--ft3-line);border-radius:14px;overflow:hidden}
th{background:rgba(194,244,119,.07);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:#b8c9ae}
:where(td,th){padding:12px 14px;border-bottom:1px solid rgba(173,224,123,.11);text-align:left}
tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:rgba(194,244,119,.045)}
:where(.badge,.role-badge,.ft3-version){display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(194,244,119,.25);border-radius:999px;background:rgba(194,244,119,.08);padding:6px 10px;font-size:.76rem;font-weight:800;color:var(--ft3-green)}
:where(.notice,.success,.error,.error-message){border:1px solid var(--ft3-line);border-radius:14px;padding:13px 16px}
:where(.notice,.success){background:rgba(105,165,63,.12);border-color:rgba(151,218,100,.28)}
:where(.error,.error-message){background:rgba(160,54,42,.13);border-color:rgba(255,128,108,.28)}
/* Główna strona i pasek nawigacji */
.navbar{border-bottom:1px solid var(--ft3-line);background:rgba(7,13,9,.86)}
:where(.navbar,.nav-links){gap:clamp(8px,1.5vw,20px)}
.nav-links a{border-radius:10px;transition:background .2s ease,color .2s ease,transform .2s ease}
.nav-links a:hover{background:rgba(194,244,119,.09);color:var(--ft3-green);transform:translateY(-1px)}
:where(.hero-content,.hero-logos){gap:clamp(16px,3vw,36px)}
.hero-logo{filter:drop-shadow(0 12px 22px rgba(0,0,0,.3))}
:where(.vip-card,.admin-card){overflow:hidden;position:relative}
:where(.vip-card,.admin-card)::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--ft3-green2),transparent);opacity:.8;pointer-events:none}
/* Administracja: górny pasek, hero, zakładki i karty statystyk */
.topbar{background:rgba(10,17,11,.88);padding:14px clamp(16px,3vw,36px)}
.topbar .top-user{border:1px solid var(--ft3-line);border-radius:14px;padding:8px 12px;background:rgba(255,255,255,.025)}
.hero-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0,rgba(130,204,76,.16),transparent 42%),linear-gradient(135deg,#17281a,#0d160f 70%)}
.hero-panel::after{content:"";position:absolute;right:-90px;top:-110px;width:270px;height:270px;border:1px solid rgba(194,244,119,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(194,244,119,.025),0 0 0 58px rgba(194,244,119,.018);pointer-events:none}
.tabs-shell{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:rgba(12,19,13,.9);position:sticky;top:8px;z-index:8}
:where(.tabs-shell,.tabs-shell a,.tabs-shell button){scroll-margin-top:80px}
.tabs-shell :where(a,button){border:1px solid transparent;border-radius:11px;padding:10px 14px;background:transparent;color:#c8d6c0;font-weight:750}
.tabs-shell :where(a,button):hover,.tabs-shell :where(.active,[aria-selected=true]){border-color:var(--ft3-line);background:rgba(194,244,119,.1);color:var(--ft3-green)}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid rgba(173,224,123,.12)}
.panel-title{font-size:1.15rem;font-weight:850;letter-spacing:-.02em}
.panel-title span{color:var(--ft3-green)}
.panel-desc{font-size:.88rem;line-height:1.6;margin-top:5px}
.ft3-admin-links{position:sticky;top:0;z-index:9;box-shadow:0 12px 32px rgba(0,0,0,.2);backdrop-filter:blur(16px)}
.ft3-admin-links a{border-radius:11px}
/* CLUB i zarządzanie społecznością */
.wrap{padding-top:clamp(14px,3vw,30px);padding-bottom:34px}
.top{padding:0 0 16px;margin-bottom:20px}
.brand{font-weight:900;letter-spacing:-.035em}
.layout{align-items:start;gap:18px}
.layout>main,.layout>aside{min-width:0}
.rewardgrid{gap:14px}
.reward{display:flex;flex-direction:column;gap:8px}
.reward .emoji{font-size:2rem}
.person{position:relative;overflow:hidden}
.person h3{margin:.6rem 0}
.levelbar{height:12px;border:1px solid rgba(194,244,119,.22);border-radius:999px;background:#080f09;overflow:hidden}
.levelbar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#75b943,#d0ff8b);box-shadow:0 0 18px rgba(194,244,119,.22)}
:where(.row,.userrow,.ledgerrow,.log){border-bottom:1px solid rgba(173,224,123,.11);padding-block:12px}
:where(.row,.userrow,.ledgerrow,.log):last-child{border-bottom:0}
:where(.plus){color:#c7f99a!important}:where(.minus){color:#ff9d91!important}
/* Formularze i układy administracyjne */
:where(.formgrid,.admin-grid,.stats-grid,.grid){min-width:0}
.formgrid>*{min-width:0}
:where(.permissions,.userrow,.ledgerrow){gap:12px;align-items:center}
:where(.permissions){overflow-wrap:anywhere}
:where(.log-panel){align-self:start}
:where(.admin-list){padding-left:1.2rem}
:where(.admin-list li){padding:5px 0}
footer.foot,footer.muted{line-height:1.7}
/* Płynne skalowanie na telefonach i tabletach */
@media(max-width:900px){:where(.container,.wrap){width:min(100% - 24px,1400px)}.tabs-shell{position:static}.panel-header{flex-direction:column}.layout{grid-template-columns:minmax(0,1fr)!important}.cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){:where(.container,.wrap){width:calc(100% - 20px);padding-left:0;padding-right:0}.topbar{padding:12px 10px}.top,.topbar,.top-actions{align-items:flex-start;flex-wrap:wrap}.ft3-admin-links{position:relative;padding:9px}.ft3-admin-links a{flex:1 1 calc(50% - 8px);justify-content:center;text-align:center}.cards,.formgrid,.admin-grid{grid-template-columns:minmax(0,1fr)!important}.panel{padding:15px!important}.hero-panel,.hero{padding:18px!important}.permissions{grid-template-columns:1fr 1fr!important}.userrow{grid-template-columns:44px minmax(0,1fr)!important}.ledgerrow{grid-template-columns:minmax(0,1fr) auto!important}.ledgerrow>*:last-child{grid-column:1/-1}.rewardgrid{grid-template-columns:minmax(0,1fr)!important}table{display:block;overflow-x:auto;white-space:nowrap}:where(td,th){padding:9px 10px;font-size:.84rem}.profile{align-items:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
