/* НКЛ — светлая спортивная тема (как в прототипе PRO CLUBS LEAGUE) */
:root{
  --bg:#FBF5E8;
  --bg-soft:#F4ECD9;
  --bg-elevated:#F4ECD9;
  --card:#FFFFFF;
  --card-2:#FAF7F2;
  --line:#E7DBC0;
  --line-soft:#EDE6DA;
  --accent:#2E7D52;
  --accent-bright:#2E7D52;
  --accent-amber:#E8A33D;
  --accent-blue:#3B7DD8;
  --text:#23291F;
  --muted:#8C8270;
  --muted-2:#A69B88;
  --live:#D6543A;
  --success:#2E7D52;
  --warning:#E8A33D;
  --danger:#D6543A;
  --zone-direct:#E8A33D;
  --zone-euro:#3B7DD8;
  --zone-promo:#2E7D52;
  --zone-rel:#D6543A;
  --zone-el:#00897B;
  --ucl:var(--zone-direct);
  --uel:var(--zone-euro);
  --rel:var(--zone-rel);
  --promo:var(--zone-promo);
  --radius:6px;
  --radius-sm:6px;
  --shadow:0 8px 28px rgba(43,36,24,.12);
  --shadow-sm:0 2px 12px rgba(43,36,24,.08);
  --header-bg:rgba(251,245,232,.92);
  --font-display:'Fraunces',serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
  line-height:1.5;
}
h1,h2,h3,.display{font-family:var(--font-display);font-weight:600;letter-spacing:-0.01em;margin:0;}
.mono{font-family:var(--font-mono);}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::-webkit-scrollbar{height:6px;width:6px;}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;}
::-webkit-scrollbar-track{background:transparent;}

/* — Ticker — */
.ticker-wrap{background:#2B2418;border-bottom:1px solid #3D3428;overflow:hidden;white-space:nowrap;}
.ticker-strip{display:inline-flex;animation:ticker-scroll 40s linear infinite;padding:9px 0;}
.ticker-strip:hover{animation-play-state:paused;}
.ticker-item{display:inline-flex;align-items:center;margin-right:52px;font-family:var(--font-mono);font-size:11.5px;color:#D8CDB3;gap:8px;}
.ticker-item b{color:var(--accent-amber);font-weight:700;}
.ticker-item b.ticker-live{color:var(--live);animation:pulse 1.4s infinite;}
@keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes pulse{50%{opacity:.35;}}

/* — Header & Nav — */
header{
  background:var(--header-bg);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90;overflow:visible;
}
.head-row{display:flex;align-items:center;justify-content:space-between;padding:6px 32px;}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;}
.brand-logo{height:80px;width:auto;display:block;flex-shrink:0;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;}
.brand-title{font-size:20px;font-weight:900;color:#111;letter-spacing:.5px;font-family:var(--font-display);}
.brand-sub{font-size:13px;color:#4a7a58;font-weight:600;letter-spacing:.2px;white-space:nowrap;}
.head-user{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:var(--text);}
.head-guest{color:var(--muted);font-size:11.5px;cursor:pointer;transition:color .15s;}
.head-guest:hover{color:var(--accent);}
.head-register{
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);
}
.head-register:hover{color:#1a5c38;}
.head-club-name,.head-user-name{
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.head-user .crest-wrap{width:28px;height:28px;}
.head-user-link{cursor:pointer;}
.head-user-link:hover{opacity:.75;}
.head-logout-btn{background:transparent;border:1px solid rgba(180,60,60,.5);color:#c0392b;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:4px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;}
.head-logout-btn:hover{background:#c0392b;color:#fff;border-color:#c0392b;}

nav.topnav{
  display:flex;gap:4px;overflow:visible;align-items:stretch;
  padding:0 28px;border-top:1px solid var(--line);position:relative;z-index:91;
}
nav.topnav>button,
.nav-dd-btn{
  background:none;border:none;color:var(--muted);font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.04em;padding:10px 16px;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;
  cursor:pointer;display:flex;align-items:center;gap:5px;
}
nav.topnav>button:hover,.nav-dd-btn:hover{color:var(--text);}
nav.topnav>button.active,.nav-dd-btn.active{color:var(--accent);border-bottom-color:var(--accent-amber);}
.nav-item{position:relative;display:flex;align-items:stretch;}
.nav-item.open{z-index:220;}
.nav-dd-btn::after{content:'▾';font-size:8px;opacity:.5;transition:transform .2s;}
.nav-item.open .nav-dd-btn::after{transform:rotate(180deg);}
.nav-dropdown{
  display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:220px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  z-index:230;box-shadow:var(--shadow);padding:6px;animation:navDrop .18s ease;
}
@keyframes navDrop{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.nav-item.open .nav-dropdown{display:block;}
.nav-dropdown button{
  display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);
  color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:500;
  padding:10px 14px;cursor:pointer;transition:background .12s,color .12s;
}
.nav-dropdown button:hover{background:rgba(46,125,82,.08);color:var(--accent);}
.nav-dropdown button.active{color:var(--accent);background:rgba(46,125,82,.12);font-weight:600;}

/* — Layout — */
main{max-width:1180px;margin:0 auto;padding:0 32px 80px;flex:1;width:100%;}
.page{display:none;}
.page.active{display:block;animation:fadeIn .25s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.section-head{display:flex;align-items:center;justify-content:space-between;margin:56px 0 20px;gap:16px;flex-wrap:wrap;}
.section-head:first-of-type{margin-top:28px;}
.section-head--spaced-sm{margin-top:36px;}
.section-head--spaced-md{margin-top:44px;}
.section-head > div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0;}
.section-head h2{font-size:22px;color:var(--text);font-weight:600;text-transform:none;margin:0;}
.section-head .sub{color:var(--muted);font-size:13px;font-family:var(--font-mono);letter-spacing:0.04em;}
.league-page-head{align-items:center;}
.dash-head{align-items:center;}
.dash-head-meta{display:flex;flex-direction:column;gap:4px;}
.dash-head-meta .sub{margin:0;}

/* — Hero — */
.hero-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;
  padding:64px 0 48px;border-bottom:1px solid var(--line);align-items:center;
}
.eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:14px;}
.hero-copy h1{font-size:54px;line-height:1.02;margin-bottom:18px;text-transform:none;font-weight:600;}
.hero-copy h1 span{color:var(--accent);}
.hero-lead{color:var(--muted);font-size:16px;line-height:1.6;max-width:480px;margin:0 0 26px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:4px;}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px;}
.audience-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;display:flex;flex-direction:column;gap:10px;
}
.audience-card.audience-players{border-left:4px solid var(--accent);}
.audience-card.audience-new{border-left:4px solid var(--accent-blue);}
.audience-tag{
  font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--muted);
}
.audience-card h3{font-size:17px;margin:0;font-family:var(--font-display);text-transform:uppercase;}
.audience-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0;}
.audience-list{margin:4px 0 12px;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.7;}
.audience-card .btn{align-self:flex-start;margin-top:auto;}
.qual-path{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;
}
.qual-step{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;display:flex;gap:12px;align-items:flex-start;
}
.qual-num{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:var(--accent);color:#E4C04A;font-family:var(--font-display);font-size:20px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.qual-step b{display:block;font-size:13px;margin-bottom:4px;font-family:var(--font-display);font-weight:600;}
.qual-step span{font-size:12px;color:var(--muted);line-height:1.5;}
.qual-notice{margin-bottom:20px;line-height:1.6;}
.qual-team-list{display:flex;flex-direction:column;gap:8px;}
.qual-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;}
.qual-team-row{
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);
}
.qual-team-row .mono{font-size:11px;color:var(--muted);min-width:20px;}
.qual-team-row b{flex:1;font-size:13px;}
.join-banner-qual{border-left-color:var(--accent-blue);}

.scorecard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:none;}
.scorecard-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin-bottom:14px;}
.scorecard-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s;border-radius:var(--radius-sm);}
.scorecard-row:last-child{border-bottom:none;}
.scorecard-row:hover{background:rgba(46,125,82,.04);}
.team-mini{display:flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;min-width:0;}
.team-mini.away{flex-direction:row-reverse;text-align:right;}
.team-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.score-display{font-family:var(--font-mono);font-weight:700;font-size:15px;text-align:center;display:flex;align-items:center;gap:6px;justify-content:center;}
.score-time{color:var(--muted);font-size:13px;}
.live-badge{color:var(--live);font-size:9px;letter-spacing:0.1em;animation:pulse 1.4s infinite;}

/* — Buttons — */
.btn{
  background:var(--accent);color:#FFFFFF;border:none;
  padding:10px 20px;font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:0.04em;border-radius:var(--radius);transition:filter .15s;
}
.btn:hover{filter:brightness(1.05);}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text);box-shadow:none;}
.btn.ghost:hover{background:var(--bg-soft);filter:none;border-color:var(--line);}

.quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;}
.qlink{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s;
  border-left:3px solid var(--accent);
}
.qlink:hover{background:var(--card-2);border-color:var(--accent);}
.qlink b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:3px;font-family:var(--font-display);}
.qlink span{font-size:11px;color:var(--muted);}

.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);margin:48px 0;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;
}
.stat-box{background:var(--bg-soft);padding:24px;text-align:left;}
.stat-box .num{font-family:var(--font-mono);font-size:32px;font-weight:700;color:var(--accent);}
.stat-box .lab{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;margin-top:6px;}

/* — Cards & Tables — */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:none;}
.card h3{font-size:16px;margin-bottom:18px;letter-spacing:0;font-family:var(--font-display);font-weight:600;color:var(--text);text-transform:none;}

.crest-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.crest-wrap svg{display:block;width:100%;height:100%;}
.crest-img{display:block;width:100%;height:100%;object-fit:contain;}
.crest-22{width:22px;height:22px;} .crest-24{width:24px;height:24px;} .crest-28{width:28px;height:28px;}
.crest-44{width:44px;height:44px;} .crest-58{width:58px;height:58px;}

table{width:100%;border-collapse:collapse;font-size:13px;}
thead th{
  text-align:left;color:var(--muted);background:transparent;
  font-size:11px;text-transform:uppercase;letter-spacing:0.06em;font-weight:600;
  padding:10px 12px;border-bottom:1px solid var(--line);
}
tbody td{padding:14px 12px;border-bottom:1px solid var(--line);}
tbody tr:hover td{background:rgba(46,125,82,.04);}
tbody tr:last-child td{border-bottom:none;}
td.mono,th.mono{font-family:var(--font-mono);text-align:center;}
.club-cell{display:flex;align-items:center;gap:9px;font-weight:600;}
.pts{color:var(--accent);font-weight:700;}
.zone-tag{display:inline-block;width:4px;height:18px;border-radius:2px;margin-right:7px;vertical-align:middle;}
.zone-ucl{background:var(--zone-direct);} .zone-uel{background:var(--zone-euro);} .zone-el{background:var(--zone-el);} .zone-rel{background:var(--zone-rel);} .zone-promo{background:var(--zone-promo);}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--muted);}
.legend span{display:inline-flex;align-items:center;gap:6px;}
.legend i{width:10px;height:10px;border-radius:2px;display:inline-block;}
.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--line-soft);}

.subtabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid var(--line);}
.subtabs button{
  background:none;border:none;color:var(--muted);padding:11px 18px;font-size:12px;
  font-weight:600;text-transform:uppercase;border-bottom:2px solid transparent;
  margin-bottom:-1px;cursor:pointer;transition:color .15s;
}
.subtabs button.active{color:var(--accent);border-bottom-color:var(--accent-amber);}

/* — Cup / Brackets — */
.flow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;}
.flow-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.flow-col h4{font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.04em;font-family:var(--font-display);}
.flow-col p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 12px;}
.flow-steps{display:flex;flex-direction:column;gap:8px;}
.flow-step{display:flex;align-items:center;gap:10px;background:var(--bg-elevated);border-radius:var(--radius-sm);padding:9px 12px;font-size:12px;font-weight:600;border-left:3px solid var(--accent);}
.flow-step .num{width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;}

.zone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:10px;}
.zone-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.zone-card .zname{font-weight:700;font-size:11px;padding:10px 14px;background:var(--bg-elevated);color:var(--accent-bright);text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid var(--line);}
.zone-card .zteam{display:flex;justify-content:space-between;font-size:12px;padding:8px 14px;border-bottom:1px solid var(--line-soft);}
.zone-card .zteam:last-child{border-bottom:none;}
.zone-card .zteam.qual{color:var(--success);font-weight:700;}
.zone-card .zteam.qual-upper{color:var(--accent-bright);font-weight:700;}
.zone-card .zteam.qual-lower{color:var(--accent-blue);font-weight:600;}
.zone-card .zteam.elim{opacity:.45;}
.group-legend{font-size:10px;color:var(--muted);padding:8px 14px 12px;border-top:1px solid var(--line-soft);}
.group-legend span{font-weight:700;margin-right:4px;}
.group-legend .qual-upper{color:var(--accent-bright);}
.group-legend .qual-lower{color:var(--accent-blue);}
.cup-notice{margin:0 0 20px;}
.cup-tabs{margin-bottom:16px;}
.cup-panel{margin-bottom:24px;}
.two-leg-tag{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;padding:4px 10px 0;font-family:var(--font-mono);}
.agg-line{font-size:10px;color:var(--muted);text-align:center;padding:4px 8px 8px;border-top:1px dashed var(--line-soft);}
.bracket-super .match{border-color:var(--accent);box-shadow:0 0 0 1px rgba(201,162,39,.2);}

.bracket{display:flex;gap:24px;overflow-x:auto;padding-bottom:12px;}
.bracket.bracket-compact{display:block;overflow:visible;padding-bottom:0;}
.bracket.bracket-compact .round{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:10px;min-width:0;width:100%;justify-content:unset;
}
.bracket.bracket-compact .round-title{grid-column:1/-1;margin-bottom:2px;}
.bracket.bracket-compact .match{min-width:0;}
.round{display:flex;flex-direction:column;justify-content:space-around;gap:14px;min-width:190px;}
.round-title{color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px;font-weight:600;}
.match{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-sm);}
.match.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.match.clickable:hover{border-color:var(--accent-blue);box-shadow:0 0 0 2px rgba(75,158,255,.15);}
.match .team{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:12px;font-weight:600;}
.match .team:first-child{border-bottom:1px solid var(--line-soft);}
.match .team.winner{color:var(--accent-bright);background:rgba(201,162,39,.08);}

/* — Clubs — */
.club-filter{display:flex;gap:4px;margin-bottom:18px;flex-wrap:wrap;}
.club-filter button{
  background:var(--card);border:1px solid var(--line);color:var(--muted);
  padding:8px 16px;font-size:11px;font-weight:600;text-transform:uppercase;
  border-radius:999px;cursor:pointer;transition:all .15s;
}
.club-filter button:hover{color:var(--text);border-color:var(--muted);}
.club-filter button.active{color:#fff;background:var(--accent);border-color:var(--accent);}
.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.club-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;cursor:pointer;transition:border-color .15s,transform .15s;
}
.club-card:hover{border-color:var(--accent-blue);transform:translateY(-2px);}
.club-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(201,162,39,.2);}
.club-card-top{display:flex;gap:12px;align-items:center;margin-bottom:10px;}
.club-card b{font-size:13px;display:block;}
.club-card .div-tag{font-size:10px;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;}
.club-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line-soft);padding-top:10px;}
.club-card-meta b{color:var(--text);font-weight:700;}

.roster-panel{margin-top:24px;}
.roster-head{
  display:flex;align-items:flex-start;gap:16px;margin-bottom:0;padding:16px 20px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
}
.roster-head-body{flex:1;min-width:0;}
.roster-head h3{font-size:22px;color:var(--text);text-transform:none;font-family:var(--font-display);font-weight:600;margin:0 0 4px;}
.roster-head .div-tag2{font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.roster-desc{margin-top:8px;}
.roster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}

/* — Player cards (EA FC style) — */
.fc-wrap{display:inline-block;transition:transform .15s;vertical-align:top;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));}
.fc-wrap[onclick]:hover{transform:translateY(-4px);}
.fc-card{
  position:relative;width:340px;aspect-ratio:644/894;
  container-type:inline-size;
  overflow:visible;
}
.fc-card-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:fill;pointer-events:none;user-select:none;
  -webkit-mask-image:url(/assets/images/cards/card-mask.png);
  mask-image:url(/assets/images/cards/card-mask.png);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.fc-card-overlay{
  position:absolute;inset:0;color:var(--fc-text,#3D2E08);
  overflow:hidden;pointer-events:none;
}
/* Rating + position — top-left, over photo */
.fc-card-top{
  position:absolute;top:22%;left:17%;
  display:flex;flex-direction:column;align-items:center;gap:0;z-index:10;
}
.fc-rating{
  font-family:var(--font-display);font-size:12cqi;font-weight:900;line-height:.9;
  text-shadow:0 2px 8px rgba(0,0,0,.4);
}
.fc-pos{
  font-size:5cqi;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-top:1%;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
}
.fc-pos-block{display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin-top:2%;}
.fc-pos-alt{
  font-size:4.5cqi;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1.1;opacity:.88;
}
/* Photo — full card width, top 68% */
.fc-photo-zone{
  position:absolute;top:20%;left:15%;right:15%;height:44%;
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
}
.fc-photo{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  -webkit-mask-image:linear-gradient(to bottom,#000 75%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 75%,transparent 100%);
}
/* Divider line before name */
.fc-name{
  position:absolute;top:65%;left:0;right:0;z-index:5;
  text-align:center;font-size:5.5cqi;font-weight:900;font-family:var(--font-display);letter-spacing:.04em;
  text-transform:uppercase;line-height:1;padding:0 4%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* Stats row */
.fc-stats{
  position:absolute;top:74%;left:0;right:0;
  display:flex;justify-content:center;gap:4.2cqi;text-align:center;
}
.fc-stat span{
  display:block;font-size:3.6cqi;font-weight:800;text-transform:uppercase;letter-spacing:0;opacity:.7;line-height:1.2;
}
.fc-stat b{display:block;font-size:5.2cqi;font-weight:900;margin-top:0.8cqi;color:var(--fc-text-bold,#1A1204);line-height:1;-webkit-text-stroke:0.3px currentColor;}
/* Footer: flag + crest */
.fc-card-foot{
  position:absolute;bottom:10%;left:0;right:0;height:8%;
  display:flex;align-items:center;justify-content:center;gap:3cqi;
}
.fc-flag-img{
  width:9cqi;height:auto;
  border-radius:2px;
  filter:drop-shadow(0 0 3px rgba(0,0,0,.5)) drop-shadow(0 1px 4px rgba(0,0,0,.35));
  display:inline-block;vertical-align:middle;
  object-fit:cover;
}
.fc-club-crest{
  display:inline-flex;width:10cqi;height:10cqi;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4));
}
.card-style-picker{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:8px;
}
.card-style-opt{
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;
  border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--card);
  cursor:pointer;transition:border-color .15s,box-shadow .15s;
}
.card-style-opt img{width:auto;max-width:68px;height:92px;object-fit:contain;object-position:top center;}
.card-style-opt span{font-size:9px;font-weight:700;text-align:center;line-height:1.2;color:var(--muted);}
.card-style-opt:hover{border-color:var(--muted);}
.card-style-opt.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.card-preview-wrap{display:flex;justify-content:center;padding:32px 0 12px;overflow:visible;}
.card-preview-wrap .fc-card{width:220px;}
.roster-grid .fc-wrap{width:100%;max-width:200px;margin:0 auto;}
.roster-grid .fc-card{width:100%;}
.pp-card-wrap .fc-card{transform:scale(1);margin:0 auto;}

/* — Admin tournament editor — */
.admin-tour-tabs{display:flex;gap:6px;margin:16px 0 12px;flex-wrap:wrap;}
.admin-tour-tab{
  border:1px solid var(--line);background:var(--card);color:var(--muted);
  padding:8px 16px;border-radius:999px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .15s;
}
.admin-tour-tab:hover{color:var(--text);border-color:var(--muted);}
.admin-tour-tab.active{color:#fff;background:var(--accent);border-color:var(--accent);}
.admin-tour-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;align-items:center;}
.admin-tour-controls label{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;}
.admin-tour-controls select{padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);}
.admin-tour-panel{margin-top:8px;}
.admin-tour-sub{font-size:14px;font-weight:700;margin:0 0 8px;}
.admin-tour-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.admin-tour-label{font-family:var(--font-display);font-weight:600;font-size:15px;}
.admin-table-wrap{margin-bottom:8px;}
.admin-edit-table .admin-inp{
  padding:4px 6px;border:1px solid var(--line);border-radius:4px;
  background:var(--bg-elevated);font-size:12px;width:100%;box-sizing:border-box;
}
.admin-fixture-row,.admin-bracket-row{
  display:grid;grid-template-columns:auto 1fr 42px 12px 42px 1fr auto auto;
  gap:8px;align-items:center;padding:10px 12px;margin-bottom:8px;
  background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);
}
.admin-bracket-row{grid-template-columns:1fr 42px 12px 42px 1fr auto auto;}
.admin-fixture-meta{color:var(--muted);font-size:10px;}
.admin-score-inp{width:42px!important;text-align:center;}
.admin-winner-tag{
  font-size:10px;font-weight:700;color:var(--accent);white-space:nowrap;
  max-width:100px;overflow:hidden;text-overflow:ellipsis;
}
@media(max-width:900px){
  .admin-fixture-row,.admin-bracket-row{grid-template-columns:1fr 1fr;gap:6px;}
  .admin-fixture-row .admin-fixture-meta,.admin-bracket-row .admin-winner-tag{grid-column:1/-1;}
}
.club-roster-head{margin-top:28px;margin-bottom:14px;}
.club-roster-head h2{font-size:18px;}

.club-profile-dash{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:20px 0 8px;}
.club-dash-panel{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px 16px 18px;min-width:0;
}
.club-dash-title{
  display:inline-block;margin-bottom:14px;padding:8px 16px;border-radius:999px;
  background:var(--bg-soft);border:1px solid var(--line);
  font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text);
}
.club-dash-empty{
  padding:20px 14px;text-align:center;color:var(--muted);font-size:13px;
  background:var(--bg-soft);border-radius:999px;border:1px dashed var(--line);
}
.club-recent-list{display:flex;flex-direction:column;gap:8px;}
.club-match-pill{
  display:grid;grid-template-columns:auto 1fr auto 1fr;gap:10px;align-items:center;
  padding:10px 14px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line-soft);
  cursor:pointer;transition:background .15s,border-color .15s,transform .12s;
}
.club-match-pill:hover{background:#fff;border-color:var(--line);transform:translateY(-1px);}
.club-match-tour{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  background:var(--card);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--muted);
}
.club-match-side{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:600;}
.club-match-side.home{justify-content:flex-start;}
.club-match-side.away{justify-content:flex-end;text-align:right;}
.club-match-side span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.club-match-center{text-align:center;line-height:1.2;min-width:56px;}
.club-match-date{display:block;font-size:10px;color:var(--muted);font-family:var(--font-mono);margin-bottom:2px;}
.club-match-score{display:block;font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--text);}

.club-table-snippet{display:flex;flex-direction:column;gap:6px;}
.club-table-head,.club-table-row{
  display:grid;grid-template-columns:32px 1fr 36px 40px;gap:8px;align-items:center;padding:0 12px;
}
.club-table-head{
  font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  font-weight:600;padding-bottom:4px;
}
.club-table-row{
  padding:10px 12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line-soft);
  font-size:12.5px;transition:background .12s,border-color .12s;
}
.club-table-row:not(.current){cursor:pointer;}
.club-table-row:not(.current):hover{background:#fff;border-color:var(--line);}
.club-table-row.current{background:#fff;border-color:var(--accent);box-shadow:0 0 0 1px rgba(46,125,82,.15);}
.club-table-club{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600;}
.club-table-club span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.club-table-more{width:100%;margin-top:12px;}

.admin-danger-card{border-color:rgba(198,40,40,.25);background:linear-gradient(180deg,#fff 0%,#fff8f8 100%);}
.admin-reset-result{margin-top:16px;padding:14px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);}
.admin-accounts-list{display:grid;gap:10px;margin-top:10px;}
.admin-account-row{padding:10px 12px;border-radius:8px;background:var(--bg-soft);font-size:13px;line-height:1.5;}
.club-register-fields.is-locked{opacity:.55;pointer-events:none;user-select:none;}
.register-lock-notice{
  margin-bottom:14px;padding:12px 14px;border-radius:var(--radius-sm);
  background:rgba(46,125,82,.08);border:1px solid rgba(46,125,82,.2);
  font-size:13px;color:var(--text);
}
.register-lock-notice[hidden]{display:none;}

.reg-wizard-steps{
  display:flex;gap:0;margin-bottom:20px;border-radius:var(--radius);
  border:1px solid var(--line);overflow:hidden;background:var(--card);
}
.reg-wizard-step{
  flex:1;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 12px;font-size:12px;font-weight:600;color:var(--muted);
  border-right:1px solid var(--line);transition:background .15s,color .15s;
}
.reg-wizard-step:last-child{border-right:none;}
.reg-wizard-step span{
  width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--bg-soft);font-family:var(--font-mono);font-size:11px;
}
.reg-wizard-step.active{background:rgba(46,125,82,.08);color:var(--accent);}
.reg-wizard-step.active span{background:var(--accent);color:#fff;}
.reg-wizard-step.done{color:var(--text);}
.reg-wizard-step.done span{background:rgba(46,125,82,.2);color:var(--accent);}
.reg-step-card{max-width:560px;}
.reg-step-panel[hidden]{display:none!important;}
.reg-profile-grid{align-items:start;}
.reg-card-panel{position:sticky;top:80px;}
.reg-photo-box{margin:12px 0;}

.club-logo-edit{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.club-logo-edit .control{flex:1;min-width:180px;}

.club-profile-tabs-wrap{
  margin:16px 0 18px;padding:8px;border-radius:14px;
  background:linear-gradient(180deg,#1c2230 0%,#141a24 100%);
  border:1px solid rgba(255,255,255,.06);overflow-x:auto;
}
.club-profile-tabs{display:flex;gap:6px;min-width:max-content;padding:2px;}
.club-profile-tab{
  border:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(255,255,255,.5);
  padding:10px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;
  font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  transition:color .15s,background .15s,border-color .15s;display:inline-flex;align-items:center;gap:6px;
}
.club-profile-tab:hover{color:rgba(255,255,255,.85);}
.club-profile-tab.active{
  color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);
}
.club-profile-tab .tab-new{
  font-size:8px;font-weight:800;padding:2px 6px;border-radius:4px;
  background:var(--accent);color:#fff;letter-spacing:.04em;
}
#club-profile-content{min-height:120px;}
.club-section-title{
  font-family:var(--font-display);font-size:16px;font-weight:600;margin:20px 0 12px;
  display:flex;align-items:center;gap:8px;
}
.club-section-meta{
  font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--muted);
  padding:3px 8px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);
}
.club-section-block{margin-bottom:24px;}
.club-match-pill-upcoming{border-color:rgba(46,125,82,.25);background:rgba(46,125,82,.06);}
.club-match-time{color:var(--accent);font-size:14px;}
.club-match-vs-hint{display:block;font-size:9px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.06em;}

.club-stat-hero{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;
}
.club-stat-tile{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;
}
.club-stat-tile span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;}
.club-stat-tile b{font-size:22px;font-weight:700;color:var(--text);}
.club-stat-tile.accent{border-color:var(--accent);background:rgba(46,125,82,.06);}
.club-stat-tile.accent b{color:var(--accent);}

.club-leaders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.club-leader-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0;
}
.club-leader-card h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;}
.club-leader-table{width:100%;font-size:12.5px;}
.club-leader-table th{padding:6px 4px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;color:var(--muted);}
.club-leader-table td{padding:8px 4px;border-bottom:1px solid var(--line-soft);}
.club-leader-rank{color:var(--muted);margin-right:6px;}
.club-leader-pos{font-size:10px;color:var(--muted);margin-left:4px;}

.club-transfer-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.club-transfer-row{
  display:grid;grid-template-columns:1.1fr 1.4fr auto auto;gap:10px;align-items:center;
  padding:12px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);
  font-size:12.5px;
}
.club-transfer-row.clickable{cursor:pointer;}
.club-transfer-row.clickable:hover{border-color:var(--accent);}
.club-transfer-player{display:flex;align-items:center;gap:8px;}
.club-transfer-dir{
  width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;background:var(--bg-soft);color:var(--muted);
}
.club-transfer-dir.in{background:rgba(46,125,82,.15);color:var(--accent);}
.club-transfer-dir.out{background:rgba(214,84,58,.12);color:var(--danger);}
.club-transfer-route{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;flex-wrap:wrap;}
.club-transfer-type{font-family:var(--font-mono);font-size:10px;color:var(--muted);text-align:right;}

.club-trophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.club-trophy-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 16px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;
}
.club-trophy-card b{font-size:14px;font-family:var(--font-display);}
.club-trophy-card span{font-size:12px;color:var(--muted);}
.club-trophy-card em{font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--muted);}
.club-trophy-icon{font-size:28px;line-height:1;}
.club-trophy-league{border-top:3px solid var(--zone-direct);}
.club-trophy-ucl{border-top:3px solid var(--zone-euro);}
.club-trophy-uel{border-top:3px solid #6b8fbf;}
.club-trophy-cup{border-top:3px solid var(--accent-amber);}
.club-trophy-empty{
  text-align:center;padding:40px 24px;background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);
}
.club-trophy-icon-lg{font-size:48px;display:block;margin-bottom:12px;opacity:.5;}
.club-trophy-empty p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;max-width:360px;margin-inline:auto;}

.club-tournament-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.club-tournament-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 16px;cursor:pointer;transition:border-color .15s,transform .12s;
}
.club-tournament-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.club-tournament-type{
  font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--accent);display:block;margin-bottom:6px;
}
.club-tournament-card b{display:block;font-size:15px;font-family:var(--font-display);margin-bottom:4px;}
.club-tournament-sub{font-size:12px;color:var(--muted);display:block;margin-bottom:10px;}
.club-tournament-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.club-tournament-stats div span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
.club-tournament-stats b{font-size:14px;}

#club-profile-content .roster-grid{margin-top:4px;}

/* — Regulations page — */
.rules-hero{
  position:relative;margin-bottom:24px;padding:28px 32px;border-radius:var(--radius);
  background:linear-gradient(135deg,#FAF7F2 0%,#F0EBE3 48%,#E8E0D4 100%);
  border:1px solid #E8E0D4;overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}
.rules-hero-glow{
  position:absolute;top:-40px;right:-20px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,39,.28),transparent 68%);
  pointer-events:none;
}
.rules-hero-inner{position:relative;z-index:1;}
.rules-hero-tag{
  display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:999px;
  background:rgba(13,27,62,.08);color:#0D1B3E;
  font-family:var(--font-mono);font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:0.08em;
}
.rules-hero h2{
  margin:0 0 8px;font-family:var(--font-display);font-size:clamp(28px,4vw,38px);
  font-weight:800;text-transform:uppercase;letter-spacing:0.02em;color:#0D1B3E;
}
.rules-hero-sub{margin:0;font-size:13px;color:#6B5E4E;font-family:var(--font-mono);}

.rules-layout{display:grid;grid-template-columns:minmax(220px,260px) 1fr;gap:22px;align-items:start;}
.rules-toc{position:sticky;top:88px;}
.rules-toc-inner{
  background:#FAF7F2;border:1px solid #E8E0D4;border-radius:var(--radius);
  padding:18px 16px;color:#1c1408;box-shadow:0 8px 28px rgba(0,0,0,.14);
}
.rules-toc-top{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #EDE6DA;
}
.rules-toc-title{
  font-family:var(--font-display);font-size:11px;text-transform:uppercase;
  letter-spacing:0.08em;color:#6B5E4E;
}
.rules-toc-count{font-family:var(--font-mono);font-size:10px;color:#9CA3AF;}
.rules-toc-list{list-style:none;margin:0;padding:0;}
.rules-toc-list li{margin-bottom:4px;}
.rules-toc-list a{
  display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);
  color:#374151;text-decoration:none;font-size:12.5px;line-height:1.35;
  transition:background .15s,color .15s,border-color .15s;
  border:1px solid transparent;
}
.rules-toc-list a:hover{background:#fff;border-color:#E8E0D4;color:#0D1B3E;}
.rules-toc-list a.active{
  background:#fff;border-color:#C9A227;color:#0D1B3E;
  box-shadow:0 2px 10px rgba(201,162,39,.15);
}
.rules-toc-num{
  flex-shrink:0;width:26px;font-family:var(--font-mono);font-size:10px;font-weight:700;
  color:#C9A227;padding-top:1px;
}
.rules-toc-list a.active .rules-toc-num{color:#A77A16;}
.rules-toc-label{font-weight:600;}
.rules-toc-foot{margin-top:14px;padding-top:12px;border-top:1px solid #EDE6DA;}
.rules-toc-badge{
  display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;
  background:linear-gradient(135deg,rgba(46,204,113,.18),rgba(46,204,113,.08));
  color:#1E8449;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;
}
.rules-toc-badge::before{
  content:'';width:6px;height:6px;border-radius:50%;background:#2ECC71;
  box-shadow:0 0 0 3px rgba(46,204,113,.25);
}

.rules-intro{
  display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;padding:20px 22px;
  background:linear-gradient(145deg,#FAF7F2,#F5F0E8);
  border:1px solid #E8E0D4;border-left:4px solid #C9A227;border-radius:var(--radius);
  box-shadow:0 6px 22px rgba(0,0,0,.1);
}
.rules-intro-icon{
  flex-shrink:0;width:44px;height:44px;border-radius:12px;
  background:linear-gradient(145deg,#0D1B3E,#1A2740);color:#E4C04A;
  font-family:var(--font-display);font-size:22px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(13,27,62,.25);
}
.rules-intro-text b{
  display:block;margin-bottom:8px;font-family:var(--font-display);font-size:12px;
  text-transform:uppercase;letter-spacing:0.06em;color:#6B5E4E;
}
.rules-intro-text p{margin:0;font-size:14px;line-height:1.75;color:#374151;}

.rules-main{display:flex;flex-direction:column;gap:12px;}
.rules-blocks{display:flex;flex-direction:column;gap:10px;}

.rules-acc-panel{
  background:#FAF7F2;border:1px solid #E8E0D4;border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .2s,border-color .2s;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.rules-acc-panel:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);}
.rules-acc-panel.open{
  border-color:#D4C4A0;box-shadow:0 10px 32px rgba(0,0,0,.12);
}
.rules-acc-head{
  width:100%;display:flex;align-items:center;gap:14px;
  padding:16px 20px;border:none;background:transparent;cursor:pointer;text-align:left;
  transition:background .15s;min-height:60px;
}
.rules-acc-panel.open .rules-acc-head{background:rgba(255,255,255,.55);}
.rules-acc-num{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;padding:0;text-align:center;
  font-family:var(--font-mono);font-size:11px;font-weight:700;color:#C9A227;
  background:rgba(201,162,39,.12);border-radius:var(--radius-sm);
}
.rules-acc-panel.open .rules-acc-num{background:#C9A227;color:#0D1B3E;}
.rules-acc-title{
  flex:1;min-width:0;font-family:var(--font-display);font-size:14px;font-weight:800;
  text-transform:uppercase;letter-spacing:0.03em;color:#1c1408;line-height:1.3;
}
.rules-acc-chevron{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:#EDE6DA;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.rules-acc-chevron::after{
  content:'';display:block;width:10px;height:6px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B5E4E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;background-position:center;
  transition:transform .22s ease;
}
.rules-acc-panel.open .rules-acc-chevron{background:#0D1B3E;}
.rules-acc-panel.open .rules-acc-chevron::after{
  transform:rotate(180deg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23E4C04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}

.rules-acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease;}
.rules-acc-panel.open .rules-acc-body{grid-template-rows:1fr;}
.rules-acc-body > .rules-content{min-height:0;overflow:hidden;}
.rules-acc-panel.open .rules-acc-body > .rules-content{padding:4px 20px 22px 70px;}

.rules-content{font-size:13.5px;line-height:1.75;color:#374151;}
.rules-content p{margin:0 0 12px;}
.rules-content p:last-child{margin-bottom:0;}
.rules-clause{display:flex;gap:12px;align-items:flex-start;}
.rules-clause-num{
  flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:700;
  color:#A77A16;min-width:32px;padding-top:2px;
}
.rules-h4{
  font-size:11px;text-transform:uppercase;letter-spacing:0.06em;
  color:#6B5E4E;margin:16px 0 8px;font-family:var(--font-display);
}
.rules-list{margin:0 0 12px;padding-left:20px;}
.rules-list li{margin-bottom:8px;padding-left:4px;}
.rules-list li::marker{color:#C9A227;}

.rules-faq-section{margin-top:36px;}
.rules-faq-head{margin-bottom:16px;}
.rules-faq-head h3{
  margin:0 0 6px;font-family:var(--font-display);font-size:20px;
  text-transform:uppercase;letter-spacing:0.03em;color:var(--text);
}
.rules-faq-sub{font-size:12px;color:var(--muted);}
.rules-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-items:start;}
.rules-faq .rules-faq-item{
  background:#FAF7F2;border:1px solid #E8E0D4;border-radius:var(--radius);
  margin:0;box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition:box-shadow .15s,border-color .15s;
  align-self:start;height:auto;min-height:0;
}
.rules-faq .rules-faq-item:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);}
.rules-faq .rules-faq-item.open{border-color:#D4C4A0;box-shadow:0 8px 24px rgba(0,0,0,.1);}
.rules-faq .accordion-q{
  padding:16px 18px;color:#1c1408;font-weight:600;font-size:13px;
  background:transparent;align-items:center;gap:12px;
}
.rules-faq .accordion-q:hover{background:rgba(255,255,255,.5);}
.rules-faq-q{display:flex;align-items:center;gap:10px;flex:1;min-width:0;line-height:1.45;}
.rules-faq-num{
  flex-shrink:0;font-family:var(--font-mono);font-size:10px;font-weight:700;
  color:#C9A227;
}
.rules-faq .accordion-q .plus{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:#EDE6DA;color:#0D1B3E;font-size:14px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.rules-faq .rules-faq-item.open .accordion-q .plus{background:#0D1B3E;color:#E4C04A;}
.rules-faq .accordion-a{
  color:#4B5563;font-size:13px;padding:0 18px;max-height:0;overflow:hidden;
  transition:max-height .25s ease,padding .2s ease;
}
.rules-faq .rules-faq-item.open .accordion-a{padding-bottom:18px;}

/* — Player profile — */
.pp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.pp-tab{
  background:var(--card);border:1px solid var(--line);color:var(--muted);
  padding:10px 18px;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.05em;border-radius:999px;cursor:pointer;transition:all .15s;
}
.pp-tab:hover{color:var(--text);border-color:var(--muted);}
.pp-tab.active{color:#1c1408;background:#FAF7F2;border-color:#E8E0D4;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.pp-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:start;
}
.pp-col-card{grid-column:span 3;}
.pp-col-info{grid-column:span 4;}
.pp-col-club{grid-column:span 5;}
.pp-col-wide{grid-column:span 5;}
.pp-col-mid{grid-column:span 4;}
.pp-col-pitch{grid-column:span 3;}
.pp-panel-cream{
  background:#FAF7F2;border:1px solid #E8E0D4;border-radius:var(--radius);
  padding:18px;color:#1c1408;box-shadow:0 4px 18px rgba(0,0,0,.12);
}
.pp-panel-cream+.pp-panel-cream{margin-top:14px;}
.pp-panel-title{
  font-family:var(--font-display);font-size:12px;text-transform:uppercase;
  letter-spacing:0.06em;color:#6B5E4E;margin:0 0 14px;font-weight:800;
}
.pp-card-wrap{display:flex;justify-content:center;padding:4px 0 10px;}
.pp-card-actions{display:flex;flex-direction:column;gap:8px;}
.pp-btn{
  width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid #D4C9B8;
  background:#fff;color:#1c1408;font-size:11px;font-weight:700;cursor:pointer;
  text-transform:uppercase;letter-spacing:0.03em;
}
.pp-btn.ghost{background:transparent;}
.pp-btn:hover{background:#F0EBE3;}
.pp-info-row{
  display:flex;justify-content:space-between;gap:12px;padding:9px 0;
  border-bottom:1px solid #EDE6DA;font-size:12.5px;
}
.pp-info-row:last-of-type{border-bottom:none;}
.pp-info-row span{color:#6B7280;}
.pp-info-row b,.pp-info-row a{color:#11151F;font-weight:700;}
.pp-info-row a{color:#164D9A;text-decoration:underline;}
.pp-socials{display:flex;justify-content:center;gap:10px;padding-top:12px;border-top:1px solid #EDE6DA;}
.pp-social{
  width:34px;height:34px;border-radius:50%;background:#0D1B3E;color:#FAF7F2;
  display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;
}
.pp-contact-text{font-size:12px;color:#6B7280;}
.pp-empty{font-size:13px;color:#6B7280;margin:0;line-height:1.5;}
.pp-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.pp-stat-tile{
  background:#fff;border:1px solid #EDE6DA;border-radius:var(--radius-sm);
  padding:12px 10px;text-align:center;min-height:78px;
}
.pp-stat-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:#6B7280;margin-bottom:6px;}
.pp-stat-val{display:block;font-family:var(--font-mono);font-size:20px;font-weight:800;color:#11151F;line-height:1;}
.pp-stat-rank{display:block;font-size:10px;color:#9CA3AF;margin-top:4px;font-family:var(--font-mono);}
.pp-pos-bars{display:flex;flex-direction:column;gap:8px;}
.pp-pos-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;align-items:center;font-size:11px;}
.pp-pos-name{color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pp-pos-track{height:7px;background:#EDE6DA;border-radius:999px;overflow:hidden;}
.pp-pos-track i{display:block;height:100%;background:linear-gradient(90deg,#C9956B,#A77A16);border-radius:999px;}
.pp-pos-pct{font-family:var(--font-mono);font-size:10px;color:#6B7280;min-width:36px;text-align:right;}
.pp-nick-history{margin-top:16px;padding-top:14px;border-top:1px solid #EDE6DA;}
.pp-nick-history>b{display:block;font-size:11px;text-transform:uppercase;color:#6B5E4E;margin-bottom:8px;}
.pp-nick-item{display:flex;justify-content:space-between;font-size:12px;color:#6B7280;}
.pp-nick-item b{color:#11151F;}
.pp-pitch{
  position:relative;height:280px;border-radius:var(--radius-sm);
  background:linear-gradient(180deg,#3d8f4a 0%,#2f7a3c 45%,#287234 100%);
  border:2px solid rgba(255,255,255,.35);overflow:hidden;
}
.pp-pitch-mid{
  position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(255,255,255,.35);
  transform:translateY(-50%);
}
.pp-pitch-mid::before{
  content:'';position:absolute;left:50%;top:50%;width:56px;height:56px;
  border:2px solid rgba(255,255,255,.35);border-radius:50%;
  transform:translate(-50%,-50%);
}
.pp-pitch-box{position:absolute;left:28%;right:28%;height:18%;border:2px solid rgba(255,255,255,.3);}
.pp-pitch-box-top{top:0;border-top:none;}
.pp-pitch-box-bottom{bottom:0;border-bottom:none;}
.pp-pitch-dot{
  position:absolute;transform:translate(-50%,-50%);
  min-width:44px;padding:4px 6px;border-radius:999px;text-align:center;
  background:rgba(200,49,43,.92);color:#fff;font-size:8px;line-height:1.15;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.pp-pitch-dot.main{background:#0D1B3E;outline:2px solid #E4C25C;}
.pp-pitch-dot.alt{background:#1a4d35;outline:2px solid rgba(46,125,82,.55);}
.pp-pitch-dot b{display:block;font-family:var(--font-mono);font-size:10px;margin-top:1px;}
.pp-detail-stats .pp-info-row{border-color:#EDE6DA;}
.pp-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.pp-table th,.pp-table td{padding:10px 8px;border-bottom:1px solid #EDE6DA;text-align:left;}
.pp-table th{font-size:10px;text-transform:uppercase;letter-spacing:0.05em;color:#6B7280;font-weight:700;}
.pp-table td{color:#11151F;}
.pp-tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;text-transform:uppercase;}
.pp-tag.done{background:rgba(46,204,113,.15);color:#1E8449;}
.pp-tag.pending{background:rgba(245,166,35,.15);color:#A77A16;}
.pp-tag.rejected{background:rgba(200,49,43,.12);color:#C8312B;}

/* — Transfers — */
.transfer-board{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start;}
.transfer-policy{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;}
.policy-card{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:16px;border-left:3px solid var(--accent-blue);}
.policy-card b{font-size:13px;display:block;margin-bottom:6px;font-family:var(--font-display);color:var(--text);}
.policy-card span{font-size:12px;color:var(--muted);line-height:1.5;}
.transfer-head{align-items:center;}
.transfer-head>div{display:flex;flex-direction:column;gap:4px;}
.transfer-badge{
  font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;
  letter-spacing:0.08em;padding:8px 14px;border-radius:999px;
  border:1px solid rgba(46,204,113,.4);color:var(--success);background:rgba(46,204,113,.1);
}
.transfer-badge.closed{border-color:rgba(255,107,107,.4);color:var(--danger);background:rgba(255,107,107,.1);}
.transfer-feed-card{padding:0;overflow:hidden;}
.transfer-form-card{padding:22px 24px;position:sticky;top:100px;}
.transfer-form-head{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line-soft);}
.transfer-form-head h3{font-size:13px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;font-family:var(--font-display);color:var(--text);}
.transfer-form-head p{margin:0;font-size:13px;color:var(--muted);line-height:1.5;}
.card-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line-soft);background:var(--bg-elevated);}
.card-toolbar h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--font-display);color:var(--text);}
.transfer-toolbar{align-items:center;}
.transfer-toolbar-head{display:flex;flex-direction:column;gap:4px;min-width:140px;}
.transfer-toolbar-count{font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.transfer-filter-groups{display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.filter-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.filter-group-label{
  font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;
  color:var(--muted);min-width:52px;text-align:right;
}
.transfer-filters{display:flex;gap:6px;flex-wrap:wrap;border:none;padding:0;margin:0;}
.transfer-filters button{
  background:var(--card);border:1px solid var(--line);color:var(--muted);
  padding:7px 15px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;
  border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
  margin:0;line-height:1.2;white-space:nowrap;font-family:var(--font-body);
}
.transfer-filters button:hover{color:var(--text);border-color:var(--muted);background:var(--card-2);}
.transfer-filters button.active{
  color:#fff;background:var(--accent);border-color:var(--accent);
  font-weight:700;box-shadow:none;
}
.transfer-filters button.active:hover{color:#fff;background:var(--accent);}
.transfer-list{padding:12px 16px 16px;min-height:100px;}
.transfer-mode-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.transfer-mode-tabs button{
  flex:1;min-width:0;background:var(--bg-elevated);border:1px solid var(--line);
  color:var(--muted);padding:9px 10px;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.04em;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;
}
.transfer-mode-tabs button:hover{color:var(--text);border-color:var(--muted);}
.transfer-mode-tabs button.active{color:#fff;background:var(--accent);border-color:var(--accent);}
.transfer-mode-notice{margin-bottom:14px;font-size:12.5px;line-height:1.55;}
.transfer-check{width:100%;margin:0;}
.transfer-row-seeking{border-left:3px solid var(--accent-blue);}
.from-to.seeking{align-items:center;}
.seeking-tag{
  font-family:var(--font-mono);font-size:9px;font-weight:700;padding:3px 6px;border-radius:4px;
  background:rgba(75,158,255,.15);color:var(--accent-blue);letter-spacing:0.06em;
}
.seeking-tag.loan{background:rgba(201,162,39,.15);color:var(--accent-bright);}
.transfer-row{
  display:grid;grid-template-columns:minmax(100px,1fr) 1.4fr auto auto;gap:10px 14px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:13px 15px;margin-bottom:8px;transition:border-color .15s;
}
.transfer-row:hover{border-color:var(--muted);}
.transfer-row-done{cursor:pointer;border-color:rgba(46,125,82,.35);}
.transfer-row-done:hover{border-color:var(--accent);box-shadow:0 0 0 1px rgba(46,125,82,.12);}
.transfer-row .pname{font-weight:700;font-size:13.5px;}
.transfer-row .from-to{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;flex-wrap:wrap;}
.transfer-row .from-to b{color:var(--text);font-weight:600;}
.transfer-row .arr{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(46,125,82,.12);color:var(--accent);font-weight:700;font-size:11px;}
.transfer-row .type-label{font-family:var(--font-mono);font-size:10px;color:var(--muted);text-align:right;}
.t-status{font-family:var(--font-mono);font-size:10px;padding:4px 10px;border-radius:999px;text-transform:uppercase;font-weight:600;}
.t-status.done{color:var(--success);background:rgba(46,125,82,.1);border:1px solid rgba(46,125,82,.25);}
.t-status.pending{color:var(--warning);background:rgba(232,163,61,.12);border:1px solid rgba(232,163,61,.3);}
.transfer-row .contract-link{font-style:normal;color:var(--accent);font-weight:600;margin-left:4px;}

body.contract-open{overflow:hidden;}
.contract-overlay{
  position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;
  padding:24px 16px;background:rgba(4,8,16,.82);backdrop-filter:blur(6px);
}
.contract-overlay[hidden]{display:none!important;}
.contract-modal{
  width:min(920px,100%);max-height:min(92vh,720px);overflow:auto;
  background:linear-gradient(165deg,#1e2630 0%,#151a22 55%,#12161d 100%);
  border:1px solid rgba(255,255,255,.08);border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.55);color:#eef2f8;
}
.contract-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.07);
}
.contract-head h2{
  margin:0;font-family:var(--font-mono);font-size:15px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:#a8b4c4;
}
.contract-close{
  width:34px;height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.06);
  color:#c8d2de;font-size:22px;line-height:1;cursor:pointer;transition:background .15s;
}
.contract-close:hover{background:rgba(255,255,255,.12);}
.contract-body{
  display:grid;grid-template-columns:1.15fr .85fr;gap:0;min-height:420px;
}
.contract-col{padding:22px 24px 28px;}
.contract-col-player{border-right:1px solid rgba(255,255,255,.06);}
.contract-identity{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.contract-avatar{
  width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid rgba(127,255,212,.35);background:#0d1218;
}
.contract-avatar-ph{
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:20px;color:#7fffd4;
}
.contract-nick{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:.02em;line-height:1.15;}
.contract-role{font-size:12.5px;color:#9aa8b8;margin-top:3px;}
.contract-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.contract-pos-tag{
  font-family:var(--font-mono);font-size:9px;font-weight:700;padding:4px 7px;border-radius:5px;
  background:rgba(255,255,255,.06);color:#b8c4d0;border:1px solid rgba(255,255,255,.08);
}
.contract-section{margin-bottom:20px;}
.contract-section-title{
  font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#7a8898;margin-bottom:10px;
}
.contract-days{display:flex;gap:6px;flex-wrap:wrap;}
.contract-day{
  min-width:34px;text-align:center;padding:7px 0;border-radius:6px;font-size:11px;font-weight:700;
  background:rgba(255,255,255,.04);color:#5c6a78;border:1px solid rgba(255,255,255,.06);
}
.contract-day.active{background:#2e7d32;border-color:#3d9a42;color:#e8f5e9;}
.contract-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin-top:8px;
}
.contract-stat{display:flex;flex-direction:column;gap:4px;}
.contract-stat-val{
  font-family:var(--font-display);font-size:28px;font-weight:800;line-height:1;color:#7fffd4;
}
.contract-stat-lbl{
  font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:#8a96a4;line-height:1.25;
}
.contract-club-head{display:flex;gap:14px;align-items:center;margin-bottom:24px;}
.contract-club-head .crest-wrap{width:56px;height:64px;flex-shrink:0;}
.contract-club-name{font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:.03em;}
.contract-club-abbr{font-family:var(--font-mono);font-size:11px;color:#8f9bab;margin-top:2px;letter-spacing:.1em;}
.contract-terms{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;
  padding:16px 18px;margin-bottom:20px;
}
.contract-terms-title{
  font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#8a96a4;margin-bottom:12px;
}
.contract-term{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px;
}
.contract-term:last-child{border-bottom:0;}
.contract-term span{color:#8f9bab;}
.contract-term b{font-weight:600;color:#eef2f8;text-align:right;}
.contract-stamp{
  display:flex;justify-content:flex-end;align-items:flex-end;min-height:120px;padding-top:8px;
}
.contract-stamp-inner{
  transform:rotate(-12deg);border:4px solid #4a7694;border-radius:10px;padding:14px 22px 12px;
  text-align:center;background:rgba(74,118,148,.12);box-shadow:inset 0 0 0 2px rgba(74,118,148,.25);
}
.contract-stamp-main{
  display:block;font-family:var(--font-display);font-size:26px;font-weight:900;letter-spacing:.08em;
  color:#6fa3c4;text-transform:uppercase;line-height:1;
}
.contract-stamp-club{
  display:block;margin-top:6px;font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:.12em;color:#8fb5cc;text-transform:uppercase;
}
@media(max-width:760px){
  .contract-body{grid-template-columns:1fr;}
  .contract-col-player{border-right:0;border-bottom:1px solid rgba(255,255,255,.06);}
  .contract-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .contract-stamp{justify-content:center;}
}

/* — Rules — */
.reg-block{margin-bottom:18px;border-left:3px solid var(--accent);padding-left:16px;}
.reg-block h4{font-size:13px;margin-bottom:6px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;font-family:var(--font-display);}
.reg-block p{color:var(--muted);font-size:13px;line-height:1.65;margin:0;}
.accordion-item{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--card);overflow:hidden;}
.accordion-q{padding:14px 16px;font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;transition:background .12s;}
.accordion-q:hover{background:var(--bg-elevated);}
.accordion-q .plus{color:var(--accent);font-family:var(--font-mono);}
.accordion-a{padding:0 16px;max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--muted);font-size:13px;line-height:1.6;}
.accordion-item.open .accordion-a{padding-bottom:15px;}

/* — Dashboard — */
.role-switch{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.role-switch button{background:var(--card);border:1px solid var(--line);color:var(--muted);padding:8px 16px;font-size:11px;font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;}
.role-switch button.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.dash-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;}
.dash-grid>*,.ops-grid>*,.cards-row>*,.queue-item>*,.transfer-board>*{min-width:0;}
.dash-side a{display:block;padding:10px 14px;font-size:12px;color:var(--muted);border-radius:var(--radius-sm);margin-bottom:2px;font-weight:500;border-left:3px solid transparent;transition:all .12s;cursor:pointer;text-decoration:none;}
.dash-side a:hover{color:var(--text);background:var(--bg-soft);}
.dash-side a.active{background:var(--card);color:var(--accent);border-left-color:var(--accent);}
.dash-section-card{margin-bottom:16px;}
.cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
.dash-stats-hero{display:flex;gap:28px;align-items:flex-start;margin-bottom:20px;}
.dash-hero-card{flex-shrink:0;}
.dash-hero-card .fc-card{width:300px;}
.dash-hero-stats{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.mini-card{background:var(--card);border:1px solid var(--line);padding:16px;border-radius:var(--radius);}
.mini-card .num{font-family:var(--font-mono);font-size:26px;color:var(--accent-bright);font-weight:700;}
.mini-card .lab{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-top:4px;}
.req-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:13px;}
.small-btn{font-size:10px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:transparent;font-weight:600;text-transform:uppercase;cursor:pointer;color:var(--muted);transition:all .12s;}
.small-btn:hover{color:var(--text);border-color:var(--muted);}
.small-btn.approve{border-color:var(--success);color:var(--success);}
.small-btn.decline{border-color:var(--danger);color:var(--danger);}

/* — Forms — */
.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.ops-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.ops-panel h3{font-size:12px;text-transform:uppercase;margin-bottom:16px;color:var(--muted);letter-spacing:0.06em;font-family:var(--font-display);}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.form-grid-stack{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}
.control,.field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),.field select,.field textarea{
  width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 14px;
  background:var(--bg-elevated);color:var(--text);font:inherit;font-size:14px;line-height:1.4;
  transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;
}
.field input[type="color"]{height:44px;padding:4px 6px;cursor:pointer;background:var(--bg-elevated);}
.field input[type="file"]{font-size:12px;padding:10px;background:var(--bg-soft);border-style:dashed;}
.control::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--muted-2);opacity:1;}
.control:hover,.field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):hover,.field select:hover,.field textarea:hover{border-color:var(--muted);}
.control:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,125,82,.12);}
.field textarea,.control[rows]{min-height:90px;resize:vertical;}
.control-wrap{position:relative;display:flex;align-items:center;}
.control-wrap .control,.control-wrap select{padding-right:38px;background-image:none;}
.control-wrap::after{content:'';position:absolute;right:14px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--muted);pointer-events:none;}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1.5 2.5 6 6.5 10.5 2.5' fill='none' stroke='%237D8FA8' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
.hint{font-size:12px;color:var(--muted);line-height:1.55;margin-top:8px;}
.check-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px;}
.check-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;font-size:12px;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s;}
.check-pill:has(input:checked){border-color:var(--accent);color:var(--accent);background:rgba(46,125,82,.08);}
.check-pill input{width:auto;accent-color:var(--accent);}
.upload-box{border:1px dashed var(--line);border-radius:var(--radius);padding:18px;background:var(--bg-elevated);text-align:center;}
.preview-avatar{width:86px;height:86px;border-radius:50%;border:2px solid var(--line);background:var(--bg-soft);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.club-preview{display:flex;align-items:center;gap:14px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:14px;}
.club-preview .club-colors{display:flex;gap:4px;margin-top:6px;}
.club-preview .club-colors i{width:22px;height:8px;border-radius:2px;display:block;}
.timeline{display:flex;flex-direction:column;gap:8px;}
.timeline-step{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);}
.timeline-step b{font-size:12px;display:block;margin-bottom:3px;}
.timeline-step span{font-size:11.5px;color:var(--muted);}
.step-dot{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-family:var(--font-mono);font-weight:700;}
.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}

/* — Accordion panels — */
.acc-stack{display:flex;flex-direction:column;gap:10px;}
.acc-panel{
  background:#FAF7F2;border:1px solid #E8E0D4;border-radius:var(--radius);
  overflow:hidden;margin-bottom:0;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:box-shadow .2s,border-color .2s;
}
.acc-panel--home{margin-top:20px;}
.acc-panel:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);}
.acc-panel.open{border-color:#D4C4A0;box-shadow:0 10px 32px rgba(0,0,0,.12);}
.acc-head{
  display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;
  font-family:var(--font-display);font-weight:800;font-size:14px;text-transform:uppercase;
  letter-spacing:0.03em;background:transparent;border:none;width:100%;text-align:left;
  color:#1c1408;transition:background .15s;min-height:60px;
}
.acc-head:hover{background:rgba(255,255,255,.45);}
.acc-panel.open>.acc-head{background:rgba(255,255,255,.55);}
.acc-meta{
  margin-left:auto;color:#6B5E4E;font-family:var(--font-mono);font-size:10px;
  font-weight:600;text-transform:none;letter-spacing:0;
}
.acc-chevron{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:#EDE6DA;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.acc-chevron::after{
  content:'';display:block;width:10px;height:6px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B5E4E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;background-position:center;
  transition:transform .22s ease;
}
.acc-panel.open>.acc-head .acc-chevron{background:#0D1B3E;}
.acc-panel.open>.acc-head .acc-chevron::after{
  transform:rotate(180deg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23E4C04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
}
.acc-body{display:none;padding:16px 18px 18px;background:transparent;}
.acc-panel.open>.acc-body{display:block;}

/* — Stats page — */
.stats-page-head{margin-bottom:8px;}
.stat-metric-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px;
}
.stat-metric-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 14px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;
  font-family:inherit;color:var(--text);width:100%;
}
.stat-metric-card:hover{border-color:var(--accent-blue);background:var(--card-2);transform:translateY(-2px);}
.stat-metric-card.active{
  border-color:var(--accent);background:linear-gradient(145deg,rgba(46,125,82,.08),var(--card));
  box-shadow:0 0 0 1px rgba(46,125,82,.2),0 6px 18px rgba(43,36,24,.08);
}
.stat-metric-icon{
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.06em;
  color:var(--accent);background:rgba(46,125,82,.1);padding:4px 8px;border-radius:6px;
}
.stat-metric-card.active .stat-metric-icon{background:rgba(46,125,82,.18);color:var(--accent);}
.stat-metric-name{
  font-family:var(--font-display);font-size:14px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.04em;line-height:1.1;
}
.stat-metric-desc{font-size:11px;color:var(--muted);line-height:1.3;}

.stats-panel-card{padding:0;overflow:hidden;margin-top:0;}
.stats-panel-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 20px;border-bottom:1px solid var(--line-soft);background:var(--bg-elevated);
}
.stats-panel-title-wrap{display:flex;flex-direction:column;gap:4px;}
.stats-panel-toolbar h3{margin:0;font-size:15px;text-transform:uppercase;letter-spacing:0.05em;font-family:var(--font-display);}
.stats-panel-count{font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.stats-filter-group{margin:0;}
.stats-filters{display:flex;gap:6px;flex-wrap:wrap;}
.stats-filters button{
  background:var(--card);border:1px solid var(--line);color:var(--muted);
  padding:7px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;
  border-radius:999px;cursor:pointer;transition:all .15s;margin:0;font-family:var(--font-body);line-height:1.2;
}
.stats-filters button:hover{color:var(--text);border-color:var(--muted);background:var(--card-2);}
.stats-filters button.active{color:#fff;background:var(--accent);border-color:var(--accent);font-weight:700;}

.stats-table-wrap{border:none;border-radius:0;}
.stats-table tbody tr.stats-row{cursor:pointer;transition:background .12s;}
.stats-table tbody tr.stats-row:hover td{background:rgba(75,158,255,.06);}
.stats-player{font-weight:600;}
.stats-club,.stats-role{color:var(--muted);font-size:12.5px;}
.stats-value{color:var(--accent);font-weight:700;font-size:14px;}
.stats-rank{
  display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;
  border-radius:8px;background:var(--bg-elevated);font-weight:700;font-size:12px;
}
.stats-rank.rank-gold{background:rgba(228,192,74,.2);color:var(--accent-bright);}
.stats-rank.rank-silver{background:rgba(180,190,210,.15);color:#C8D4E8;}
.stats-rank.rank-bronze{background:rgba(205,140,80,.15);color:#E8B080;}
.stats-empty{text-align:center;padding:28px;color:var(--muted);font-size:13px;}

/* legacy stat-cats alias */
.stat-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;}
.stat-cats button{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 16px;text-align:left;font-family:var(--font-display);font-weight:700;
  font-size:14px;text-transform:uppercase;letter-spacing:0.04em;transition:all .15s;
  color:var(--text);width:100%;cursor:pointer;
}
.stat-cats button:hover{border-color:var(--accent-blue);background:var(--card-2);}
.stat-cats button.active{background:var(--accent);color:#fff;border-color:var(--accent);}
#stats-panel .table-wrap{margin-top:0;}

/* — Home extras — */
.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:20px;}
.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .15s;}
.feature-card:hover{border-color:var(--line);}
.feature-tag{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-blue);margin-bottom:8px;}
.feature-card h3{font-size:15px;margin-bottom:8px;font-family:var(--font-display);text-transform:uppercase;}
.feature-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:0;}
.join-banner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:linear-gradient(135deg,var(--card-2),var(--card));border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 28px;margin:28px 0;
  border-left:4px solid var(--accent);
}
.join-banner b{display:block;font-size:16px;margin-bottom:4px;font-family:var(--font-display);text-transform:uppercase;}
.join-banner span{color:var(--muted);font-size:13px;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.news-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:border-color .15s;}
.news-item:hover{border-color:var(--accent-blue);}
.news-date{font-family:var(--font-mono);font-size:10px;color:var(--muted);}
.news-item h4{margin:8px 0 6px;font-size:14px;font-weight:700;font-family:var(--font-display);text-transform:uppercase;}
.news-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}

/* — Match detail — */
.match-scoreline{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px;font-family:var(--font-display);font-size:32px;font-weight:700;}
.match-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;}
.match-meta-grid div{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;}
.match-meta-grid b{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;margin-bottom:4px;}
.fixture-row{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;gap:0;padding:11px 4px;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer;transition:background .12s;border-radius:var(--radius-sm);}
.fixture-row:hover{background:rgba(46,125,82,.04);}
.fixture-team{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;min-width:0;overflow:hidden;}
.fixture-team-away{justify-content:flex-start;flex-direction:row-reverse;}
.fixture-score{color:var(--muted);font-family:var(--font-mono);text-align:center;padding:0 10px;flex-shrink:0;}
.club-stats-grid{margin-top:12px;grid-template-columns:repeat(4,1fr);}
.profile-page-head{align-items:center;justify-content:space-between;gap:16px;}
.profile-page-head > div{flex:1;min-width:0;}
.club-back-btn{margin-bottom:14px;}
.club-profile-panel{margin-top:0;}
.profile-link{color:var(--accent);text-decoration:none;font-weight:600;cursor:pointer;}
.profile-link:hover{text-decoration:underline;}
.profile-link-wrap{cursor:pointer;}
.profile-link-wrap:hover span{text-decoration:underline;}
.crest-link{display:inline-flex;cursor:pointer;border-radius:50%;transition:transform .15s,box-shadow .15s;}
.crest-link:hover{transform:scale(1.06);box-shadow:0 0 0 2px rgba(46,125,82,.2);}
.club-cell.clickable{cursor:pointer;transition:opacity .12s;}
.club-cell.clickable:hover{opacity:.85;}
.pname.profile-link{cursor:pointer;color:var(--accent);font-weight:700;}
.pname.profile-link:hover{text-decoration:underline;}
.league-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.league-view-tabs{
  display:flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg-elevated);
}
.league-view-tab{
  border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:999px;cursor:pointer;transition:all .15s;
}
.league-view-tab:hover{color:var(--text);}
.league-view-tab.active{color:#fff;background:var(--accent);box-shadow:0 2px 8px rgba(46,125,82,.2);}
.league-view-panel{display:none;}
.league-view-panel.active{display:block;}
.ucl-notice{margin-bottom:18px;}
.ucl-direct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ucl-div-card{padding:0;overflow:hidden;}
.ucl-div-head{
  padding:12px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--line-soft);
  font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted);
}
.ucl-div-card .qual-team-list{padding:8px 10px 12px;}
.ucl-div-card .qual-team-row{background:transparent;border:none;box-shadow:none;padding:8px 6px;}
.ucl-div-empty{padding:12px 16px;color:var(--muted);font-size:12px;}
.ucl-qual-layout{display:flex;flex-direction:column;gap:14px;}
.ucl-panel-card{padding:0;overflow:hidden;}
.ucl-panel-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px 18px;border-bottom:1px solid var(--line-soft);background:var(--bg-elevated);
}
.ucl-panel-head h3{margin:0;font-size:14px;font-weight:700;}
.ucl-panel-meta{font-family:var(--font-mono);font-size:10px;color:var(--muted);}
.ucl-panel-card .qual-team-grid,
.ucl-panel-card > .bracket{padding:16px 18px;}
.ucl-bye-tag{
  font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--accent);background:rgba(46,125,82,.1);
  padding:3px 7px;border-radius:999px;flex-shrink:0;
}
.league-clubs-badge{
  font-family:var(--font-mono);font-size:11px;color:var(--muted);
  padding:8px 14px;border:1px solid var(--line);border-radius:999px;
}
.league-table-card{padding:0;overflow:hidden;}
.league-table-card .legend{padding:12px 18px 16px;border-top:1px solid var(--line-soft);}
.league-stats-card{margin-top:0;border:none;box-shadow:none;}
.league-fixtures-card{padding:0;overflow:hidden;}
.league-panel-head{
  padding:14px 18px;border-bottom:1px solid var(--line-soft);background:var(--bg-elevated);
}
.league-panel-head h3{margin:0;font-size:15px;font-weight:700;}
.stats-panel-meta{font-family:var(--font-mono);font-size:10px;color:var(--muted);text-transform:lowercase;}
#league-view-stats .stat-metric-grid{margin-bottom:14px;}
.league-loading,.league-empty{text-align:center;padding:20px;color:var(--muted);}
tbody tr.clickable-row{cursor:pointer;}
@media(max-width:620px){.club-stats-grid{grid-template-columns:repeat(2,1fr);}}

/* — Misc — */
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;}
.metric,.comp-summary div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;}
.metric b,.comp-summary b{font-family:var(--font-mono);font-size:20px;color:var(--accent-bright);}
.comp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 8px;}
.metric span,.comp-summary span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;margin-top:3px;}
.notice{border:1px solid var(--line);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:var(--muted);}
.queue-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.queue-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;}
.queue-item b{font-size:13px;display:block;margin-bottom:3px;}
.queue-item span{font-size:11.5px;color:var(--muted);}
.queue-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.admin-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft);}
.empty-state{border:1px dashed var(--line);border-radius:var(--radius);padding:24px;background:var(--bg-elevated);color:var(--muted);font-size:13px;text-align:center;}
.toast{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9999;
  background:var(--card-2);color:var(--text);border:1px solid var(--line);
  border-left:4px solid var(--accent);border-radius:var(--radius-sm);
  padding:18px 32px;font-size:15px;font-weight:500;min-width:220px;text-align:center;
  box-shadow:0 8px 32px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .25s;
}
.toast.show{opacity:1;}

footer{
  background:var(--bg-soft);color:var(--muted);padding:32px 28px;font-size:12px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;
  border-top:1px solid var(--line-soft);margin-top:auto;
}
footer b{display:block;color:var(--text);margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--font-display);}

/* — Responsive — */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:24px;padding:32px 0 24px;}
  .audience-grid{grid-template-columns:1fr;}
  .qual-path{grid-template-columns:1fr 1fr;}
  .hero-copy h1{font-size:38px;}
  .stat-metric-grid{grid-template-columns:repeat(3,1fr);}
  .quicklinks,.club-grid,.roster-grid,.zone-grid,.stats-strip,.cards-row,.flow,.ops-grid,.metric-grid,.comp-summary,.transfer-board,.transfer-policy,.stat-cats,.features-grid,.news-grid{grid-template-columns:repeat(2,1fr);}
  .club-profile-dash{grid-template-columns:1fr;}
  .dash-grid{grid-template-columns:1fr;}
  .pp-col-card,.pp-col-info,.pp-col-club,.pp-col-wide,.pp-col-mid,.pp-col-pitch{grid-column:span 12;}
  .pp-stat-grid{grid-template-columns:repeat(2,1fr);}
  .rules-layout{grid-template-columns:1fr;}
  .rules-toc{position:static;}
  .rules-faq{grid-template-columns:1fr;}
  .rules-acc-panel.open .rules-acc-body > .rules-content{padding-left:20px;padding-right:16px;}
  .join-banner{flex-direction:column;align-items:flex-start;}
  nav.topnav{overflow-x:auto;padding-bottom:2px;}
}
@media(max-width:620px){
  main{padding:0 16px 60px;}
  .head-row{padding-left:16px;padding-right:16px;}
  .hero-copy h1{font-size:30px;}
  .qual-path{grid-template-columns:1fr;}
  .stat-metric-grid{grid-template-columns:repeat(2,1fr);}
  .stats-panel-toolbar{align-items:flex-start;flex-direction:column;}
  .quicklinks,.club-grid,.roster-grid,.zone-grid,.stats-strip,.cards-row,.flow,.ops-grid,.form-grid,.check-row,.metric-grid,.comp-summary,.transfer-board,.transfer-policy,.stat-cats,.features-grid,.news-grid{grid-template-columns:1fr;}
  .scorecard-row{grid-template-columns:1fr;gap:6px;text-align:center;}
  .team-mini.away{flex-direction:row;text-align:left;}
  .transfer-row{grid-template-columns:1fr;gap:8px;}
  .transfer-form-card{position:static;}
  .transfer-toolbar{align-items:flex-start;flex-direction:column;}
  .transfer-filter-groups{align-items:flex-start;width:100%;}
  .filter-group{justify-content:flex-start;}
  .filter-group-label{text-align:left;min-width:auto;}
  .card-toolbar{align-items:flex-start;flex-direction:column;}
  .pp-stat-grid{grid-template-columns:1fr;}
  .pp-tabs{gap:6px;}
  .pp-tab{padding:8px 12px;font-size:10px;}
  .league-page-head{align-items:flex-start;}
  .league-head-actions{width:100%;justify-content:space-between;}
  .club-leaders-grid,.club-trophy-grid{grid-template-columns:1fr;}
  .club-tournament-grid{grid-template-columns:1fr;}
  .club-stat-hero{grid-template-columns:repeat(2,1fr);}
  .club-transfer-row{grid-template-columns:1fr;gap:8px;border-radius:var(--radius);}
  .club-match-pill{grid-template-columns:1fr;gap:8px;border-radius:var(--radius);text-align:center;}
  .club-match-side,.club-match-side.away{justify-content:center;text-align:center;}
  .club-match-tour{margin:0 auto;}
  .league-view-tabs{flex:1;justify-content:center;}
  .ucl-direct-grid{grid-template-columns:1fr;}
}

/* ===== PLAYERS PAGE ===== */
.players-toolbar {
  display: flex; gap: 12px; margin-bottom: 24px; flex-wrap: wrap;
}
.players-toolbar .control {
  flex: 1; min-width: 160px; max-width: 260px;
  padding: 9px 14px; border: 1.5px solid #d6cfc0; border-radius: 8px;
  font-size: 14px; background: #fff; color: #1a1a2e;
}
.players-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px; padding-bottom: 60px;
}
.pl-card {
  background: #f9f6f0; border-radius: 14px;
  border: 1.5px solid #e0d9cc; overflow: hidden;
  transition: transform .18s, box-shadow .18s; cursor: pointer;
}
.pl-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.13); }
.pl-card.in-compare { border-color: #2d6a4f; box-shadow: 0 0 0 2px #2d6a4f44; }
.pl-card-fut { padding: 12px 12px 4px; display: flex; justify-content: center; overflow: visible; }
.pl-card-fut .fc-card { width:240px; }
.pl-card-info { padding: 12px 14px 14px; }
.pl-card-name { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 2px; }
.pl-card-meta { font-size: 12px; color: #888; margin-bottom: 8px; }
.pl-card-stats { display: flex; gap: 10px; font-size: 13px; margin-bottom: 10px; color: #555; }
.pl-card-stats b { color: #1a1a2e; font-weight: 700; margin-right: 2px; }
.pl-card-actions { display: flex; gap: 8px; }
.pl-btn-profile, .pl-btn-compare {
  flex: 1; padding: 7px 4px; border-radius: 7px; font-size: 12px; font-weight: 600;
  border: 1.5px solid #1a1a2e; cursor: pointer; transition: all .15s; text-align: center;
}
.pl-btn-profile { background: #1a1a2e; color: #fff; }
.pl-btn-profile:hover { background: #2d3561; }
.pl-btn-compare { background: transparent; color: #1a1a2e; }
.pl-btn-compare:hover { background: #1a1a2e; color: #fff; }
.pl-btn-compare.active { background: #2d6a4f; color: #fff; border-color: #2d6a4f; }

/* Compare bar */
.compare-bar {
  position: fixed; bottom: -80px; left: 50%; transform: translateX(-50%);
  background: #1a1a2e; color: #fff; padding: 14px 24px;
  border-radius: 40px; display: flex; align-items: center; gap: 16px;
  font-size: 14px; transition: bottom .3s; box-shadow: 0 8px 24px rgba(0,0,0,.3); z-index: 200;
}
.compare-bar.visible { bottom: 28px; }
.compare-bar .btn { color: #fff; border-color: rgba(255,255,255,.4); font-size: 12px; padding: 5px 14px; }
.compare-bar .btn:hover { background: rgba(255,255,255,.15); }

/* ===== PLAYER STATS TAB ===== */
.ps-overview {
  display: flex; align-items: center; gap: 20px;
  background: linear-gradient(135deg, #1C6B31 0%, #145226 100%);
  border-radius: 16px; padding: 22px 28px; margin-bottom: 28px;
  border: none; flex-wrap: wrap;
  box-shadow: 0 4px 20px rgba(28,107,49,0.25);
}
.ps-overview-main { display: flex; align-items: center; gap: 18px; }
.ps-ring { width: 72px; height: 72px; flex-shrink: 0; }
.ps-overview-label { font-size: 12px; color: rgba(255,255,255,0.65); letter-spacing: .5px; text-transform: uppercase; }
.ps-overview-meta { font-size: 15px; font-weight: 700; color: #fff; margin-top: 5px; }
.ps-overview-quick { display: flex; gap: 20px; margin-left: auto; flex-wrap: wrap; }
.ps-quick { text-align: center; padding: 0 12px; border-left: 1px solid rgba(255,255,255,0.15); }
.ps-quick span { display: block; font-size: 26px; font-weight: 800; color: #fff; line-height: 1; font-family: var(--font-mono); }
.ps-quick small { font-size: 10px; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: .8px; margin-top: 3px; display: block; }

.ps-section { margin-bottom: 24px; }
.ps-section-title {
  font-size: 10.5px; font-weight: 800; color: #1C6B31; text-transform: uppercase;
  letter-spacing: 1.8px; margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 2px solid #1C6B31; display: flex; align-items: center; gap: 8px;
}
.ps-section-title::before { content: ''; display: inline-block; width: 6px; height: 6px; background: #1C6B31; border-radius: 50%; flex-shrink: 0; }
.ps-blocks {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px;
}
.ps-block {
  background: #fff; border-radius: 12px; padding: 16px 12px;
  border: 1.5px solid #e8ede9; border-top: 3px solid #1C6B31;
  text-align: center; transition: transform .18s, box-shadow .18s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.ps-block:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(28,107,49,0.14); }
.ps-block-icon { display: none; }
.ps-block-val { font-size: 34px; font-weight: 800; color: #1a1a2e; line-height: 1; font-family: var(--font-mono); }
.ps-block-label { font-size: 11px; color: #666; margin-top: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; }
.ps-block-sub { font-size: 11px; color: #1C6B31; margin-top: 6px; font-weight: 700; background: rgba(28,107,49,0.09); padding: 2px 8px; border-radius: 20px; display: inline-block; }

/* ===== COMPARE PAGE ===== */
.cmp-header {
  display: flex; align-items: flex-start; gap: 0; margin-bottom: 32px;
  background: #f9f6f0; border-radius: 16px; border: 1.5px solid #e0d9cc; overflow: hidden;
}
.cmp-player {
  flex: 1; padding: 24px 20px; text-align: center; cursor: pointer;
  transition: background .15s;
}
.cmp-player:hover { background: #f0ece2; }
.cmp-player-card { display: flex; justify-content: center; margin-bottom: 12px; }
.cmp-player-card .fc-card { width: 160px; }
.cmp-player-name { font-size: 18px; font-weight: 700; color: #1a1a2e; }
.cmp-player-sub { font-size: 13px; color: #888; margin-top: 4px; }
.cmp-vs {
  width: 60px; display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 800; color: #c9a227; background: #1a1a2e;
  flex-shrink: 0;
}
.cmp-body { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.cmp-section {
  background: #f9f6f0; border-radius: 14px; border: 1.5px solid #e0d9cc; overflow: hidden;
}
.cmp-section-title {
  font-size: 12px; font-weight: 700; color: #888; text-transform: uppercase;
  letter-spacing: .8px; padding: 10px 16px; border-bottom: 1.5px solid #e0d9cc;
  background: #f0ece2;
}
.cmp-row {
  display: grid; grid-template-columns: 52px 1fr 52px;
  align-items: center; gap: 8px; padding: 7px 14px;
  border-bottom: 1px solid #eee8da;
}
.cmp-row:last-child { border-bottom: none; }
.cmp-val { font-size: 15px; font-weight: 700; color: #999; text-align: center; }
.cmp-val.win { color: #2d6a4f; }
.cmp-val.lose { color: #999; }
.cmp-bars { display: flex; align-items: center; gap: 6px; }
.cmp-bar-wrap { flex: 1; height: 8px; background: #e8e3d9; border-radius: 4px; overflow: hidden; }
.cmp-bar-wrap.cmp-bar-left { display: flex; justify-content: flex-end; }
.cmp-bar { height: 100%; background: #c0bdb5; border-radius: 4px; }
.cmp-bar.win { background: #2d6a4f; }
.cmp-label { font-size: 11px; color: #888; text-align: center; white-space: nowrap; min-width: 100px; flex-shrink: 0; }
.cmp-actions { text-align: center; padding: 8px 0 20px; }

@media(max-width:600px) {
  .ps-blocks { grid-template-columns: repeat(2, 1fr); }
  .cmp-label { min-width: 70px; font-size: 10px; }
  .cmp-val { font-size: 13px; }
  .players-grid { grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); }
}

/* Photo upload button */
.pp-btn-upload {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  background: #f0ece2; border: 1.5px solid #c9a227; color: #1a1a2e;
  padding: 8px 14px; border-radius: 8px; font-size: 13px; font-weight: 600;
  transition: background .15s;
}
.pp-btn-upload:hover { background: #e8e0cc; }

/* VK social login */
.social-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--muted);font-size:12px;}
.social-divider::before,.social-divider::after{content:'';flex:1;height:1px;background:var(--line);}
.social-login-row{display:flex;gap:8px;flex-wrap:wrap;}
.btn-social{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:filter .15s,opacity .15s;position:relative;}
.btn-vk{background:#0077FF;color:#fff;}
.btn-vk:hover:not(:disabled){filter:brightness(1.1);}
.btn-social:disabled{opacity:.6;cursor:not-allowed;}
.social-soon{font-size:10px;font-weight:700;background:rgba(255,255,255,.25);padding:2px 6px;border-radius:20px;letter-spacing:.03em;text-transform:uppercase;}

/* ═══ MOBILE ADAPTATION ═══════════════════════════════════════ */

/* ── 480px and below ── */
@media(max-width:480px){
  /* Container */
  main{padding:0 12px 56px;}
  .head-row{padding-left:12px;padding-right:12px;}

  /* Navigation */
  nav.topnav{gap:0;padding:0 8px;}
  nav.topnav>button,.nav-dd-btn{font-size:11px;padding:0 8px;height:44px;}
  .nav-dropdown{min-width:180px;}

  /* Header / hero */
  .section-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .hero-copy h1{font-size:26px;}
  .hero-lead{font-size:14px;}

  /* Dashboard grid */
  .dash-grid{grid-template-columns:1fr;gap:12px;}
  .dash-side{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;}
  .dash-side a{padding:8px 12px;font-size:11px;border-left:none;border-bottom:2px solid transparent;}
  .dash-side a.active{border-left:none;border-bottom-color:var(--accent);}

  /* Cards mini-row */
  .cards-row{grid-template-columns:repeat(2,1fr);gap:8px;}
  .dash-hero-card .fc-card{width:250px;}
  .mini-card .num{font-size:20px;}

  /* Ops grid */
  .ops-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}

  /* Player cards */
  .pl-card-fut{height:220px;padding:8px 8px 0;}
  .pl-card-fut .fc-card{width:150px;}
  .cmp-player-card .fc-card{width:140px;}
  .roster-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
  .roster-grid .fc-wrap{max-width:160px;}

  /* Players page search/filter */
  .pl-filters{flex-direction:column;gap:8px;}
  .pl-filters input,.pl-filters select{width:100%;max-width:100%;}
  .players-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}

  /* Comparison */
  .cmp-grid{gap:12px;}
  .cmp-selectors{flex-direction:column;gap:8px;}
  .cmp-cards{flex-direction:column;align-items:center;gap:14px;}

  /* Tables */
  .table-wrap,.pp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{min-width:480px;}
  .pp-table{min-width:360px;}

  /* Player profile */
  .pp-panel{padding:14px;}
  .pp-card-actions{flex-direction:column;gap:6px;align-items:flex-start;}
  .pp-stat-grid{grid-template-columns:repeat(2,1fr);}

  /* Registration form */
  .reg-step-card{padding:16px;}
  .reg-step-card .ops-grid{grid-template-columns:1fr;}
  .ops-panel.reg-card-panel{display:none;}

  /* Transfers */
  .transfer-row{grid-template-columns:1fr;}
  .transfer-toolbar{flex-direction:column;align-items:flex-start;}

  /* Section head */
  .section-head{flex-wrap:wrap;}
  .section-head .btn{font-size:12px;padding:8px 14px;}

  /* Club page */
  .club-profile-dash{grid-template-columns:1fr;}
  .club-stat-hero{grid-template-columns:repeat(2,1fr);}

  /* Bracket */
  .bracket-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .round{min-width:160px;}

  /* FIFA card in players list: slightly smaller */
  .pl-card-fut .fc-card{width:145px;}
}

/* ── 380px and below ── */
@media(max-width:380px){
  main{padding:0 10px 56px;}
  nav.topnav>button,.nav-dd-btn{font-size:10px;padding:0 6px;}
  .cards-row{grid-template-columns:1fr;}
  .dash-stats-hero{flex-direction:column;align-items:center;}
  .dash-hero-stats{width:100%;grid-template-columns:repeat(2,1fr);}
  .dash-hero-card .fc-card{width:280px;}
  .pl-card-fut .fc-card{width:130px;}
  .players-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
}

.h2h-section{margin-top:20px;}
.h2h-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);margin-bottom:10px;}
.h2h-row{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px;}
.h2h-row:last-child{border-bottom:none;}
.h2h-home{display:flex;align-items:center;gap:6px;font-weight:600;}
.h2h-away{display:flex;align-items:center;gap:6px;font-weight:600;justify-content:flex-end;flex-direction:row-reverse;}
.h2h-score{text-align:center;font-family:var(--font-mono);font-weight:700;font-size:13px;}
.h2h-score.home-win{color:var(--accent);}
.h2h-score.away-win{color:var(--accent-blue);}
.h2h-score.draw{color:var(--muted);}
.h2h-date{font-size:11px;color:var(--muted);text-align:center;margin-top:2px;}
.h2h-tournament{font-size:10.5px;color:var(--muted);}
.h2h-stats{display:flex;gap:16px;margin-bottom:14px;padding:12px;background:var(--bg-elevated);border-radius:var(--radius-sm);}
.h2h-stat-item{flex:1;text-align:center;}
.h2h-stat-num{font-size:20px;font-weight:800;font-family:var(--font-display);}
.h2h-stat-num.home{color:var(--accent);}
.h2h-stat-num.draw{color:var(--muted);}
.h2h-empty{text-align:center;padding:16px;color:var(--muted);font-size:13px;font-style:italic;}
.h2h-stat-num.away{color:var(--accent-blue);}
.h2h-stat-label{font-size:11px;color:var(--muted);margin-top:2px;}
.match-players{margin-top:20px;border-radius:12px;overflow:hidden;border:1px solid var(--line);}
.match-players-header{display:grid;grid-template-columns:1fr auto 1fr;background:var(--text);padding:10px 16px;gap:8px;}
.match-players-header .mph-home{text-align:right;font-size:11px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.match-players-header .mph-mid{font-size:9px;font-weight:800;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:0.08em;white-space:nowrap;align-self:center;}
.match-players-header .mph-away{text-align:left;font-size:11px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.match-players-row{display:grid;grid-template-columns:1fr 90px 1fr;border-bottom:1px solid var(--line);background:var(--card);}
.match-players-row:last-child{border-bottom:none;}
.match-players-row:hover{background:var(--bg-soft);}
.mp-home{padding:10px 12px 10px 16px;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;}
.mp-away{padding:10px 16px 10px 12px;text-align:left;display:flex;align-items:center;gap:6px;min-width:0;}
.mp-label{padding:10px 8px;text-align:center;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);background:var(--bg-soft);border-left:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap;}
.mp-name{font-size:12px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mp-name:hover{color:var(--accent);text-decoration:underline;}
.mp-val{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent);flex-shrink:0;}
.mp-empty{color:var(--muted);font-size:12px;}
/* Club role badges */
.club-role-badge{position:absolute;top:6px;left:6px;z-index:10;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.4);line-height:1;}
.badge-coach{background:#1a1a2e;color:#f5c842;border:2px solid #f5c842;}
.badge-captain{background:#0d3b6e;color:#fff;border:2px solid #4a9eff;font-size:11px;}
.badge-assistant{background:#2d2d2d;color:#aaa;border:2px solid #666;font-size:11px;}
.club-role-select{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;}
.club-role-select button{font-size:10px;padding:4px 8px;border-radius:4px;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--muted);transition:all .12s;}
.club-role-select button:hover{color:var(--text);border-color:var(--muted);}
.club-role-select button.active-coach{border-color:#f5c842;color:#f5c842;}
.club-role-select button.active-captain{border-color:#4a9eff;color:#4a9eff;}
.club-role-select button.active-assistant{border-color:#aaa;color:#aaa;}

/* Contact links */
.contact-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:20px;font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.04em;transition:opacity .15s;}
.contact-link:hover{opacity:.8;}
.vk-link{background:#0077FF;color:#fff;}
.tg-link{background:#26A5E4;color:#fff;}

/* City autocomplete */
.city-ac-wrap{position:relative;}
.city-ac-wrap .control{width:100%;}
.city-ac-flag{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;pointer-events:none;
}
.city-ac-flag img{height:18px;border-radius:2px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.25));}
.city-dropdown{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:999;
  background:var(--card,#fff);border:1.5px solid var(--line,#e5e0d5);
  border-radius:var(--radius,10px);
  box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);
  max-height:240px;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:var(--line,#ddd) transparent;
}
.city-dropdown:empty{display:none;}
.city-dropdown-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;cursor:pointer;
  font-size:14px;color:var(--text,#222);
  transition:background .1s;border-radius:0;
  user-select:none;
}
.city-dropdown-item:first-child{border-radius:var(--radius,10px) var(--radius,10px) 0 0;}
.city-dropdown-item:last-child{border-radius:0 0 var(--radius,10px) var(--radius,10px);}
.city-dropdown-item:only-child{border-radius:var(--radius,10px);}
.city-dropdown-item:hover,.city-dropdown-item.active{
  background:var(--bg,#faf6ed);color:var(--accent,#1C6B31);
}
.city-dropdown-item img{
  width:22px;height:auto;border-radius:2px;
  filter:drop-shadow(0 0 2px rgba(0,0,0,.2));flex-shrink:0;
}
.city-dropdown-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.fc-pos-alts{position:absolute;top:50cqi;right:3%;display:flex;flex-direction:column;align-items:flex-end;gap:1.5cqi;z-index:10;pointer-events:none;}
.fc-pos-alt-tag{font-family:var(--font-display,"Arial Black",sans-serif);font-size:4cqi;font-weight:900;color:#fff;background:rgba(0,0,0,0.6);border:1.5px solid rgba(255,255,255,0.25);border-radius:5px;padding:1cqi 2.5cqi;text-transform:uppercase;letter-spacing:.05em;line-height:1.15;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,0.8);}

/* Auth tabs */
.auth-tabs{display:flex;gap:8px;padding:24px 24px 0;max-width:800px;}
.auth-tab{background:transparent;border:2px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 28px;border-radius:6px;cursor:pointer;transition:all .15s;}
.auth-tab.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.auth-tab:hover:not(.active){border-color:var(--text);color:var(--text);}
.auth-panel{margin:24px auto;max-width:480px;}

/* Guest header buttons */
.head-guest-row{display:flex;align-items:center;gap:8px;}
.head-login-btn{font-size:11px!important;padding:5px 14px!important;}
.head-reg-btn{font-size:11px!important;padding:5px 14px!important;}

/* Social icon buttons on player profile */
.pp-socials-row{display:flex;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);}
.pp-social-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;text-decoration:none;transition:opacity .2s,transform .15s;flex-shrink:0;}
.pp-social-btn:hover{opacity:.85;transform:scale(1.08);}
.pp-social-vk{background:#0077FF;}
.pp-social-tg{background:#26A5E4;}
.pp-social-btn svg{display:block;}

/* ── PlayStyle icons on card ── */
.fc-playstyles{
  position:absolute;left:10cqi;top:55cqi;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:0.6cqi;
  z-index:10;pointer-events:none;
}
.fc-ps-icon{
  width:12cqi;height:auto;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.5));
}

/* ── PlayStyle picker in admin panel ── */
.ps-picker-grid{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0;max-height:280px;overflow-y:auto;}
.ps-picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:72px;padding:6px 4px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface-alt,rgba(255,255,255,.05));}
.ps-picker-item:hover{border-color:var(--accent,#d4af37);background:rgba(212,175,55,.1);}
.ps-picker-item.active{border-color:var(--accent,#d4af37);background:rgba(212,175,55,.18);}
.ps-picker-item img{width:40px;height:40px;object-fit:contain;}
.ps-picker-item span{font-size:9px;text-align:center;line-height:1.2;color:var(--txt-muted,#aaa);word-break:break-word;}
.ps-picker-item.active span{color:var(--accent,#d4af37);font-weight:700;}

/* ═══════════════════════════════════════
   MOBILE ADAPTIVE — 768px and below
   ═══════════════════════════════════════ */

/* Burger button — hidden on desktop */
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;padding:8px;margin-left:auto;
  width:40px;height:40px;flex-shrink:0;
}
.nav-burger span{
  display:block;height:2px;width:24px;background:var(--text);
  border-radius:2px;transition:all .2s;
}
.nav-close{
  display:none;position:absolute;top:12px;right:16px;
  background:none;border:none;font-size:28px;cursor:pointer;
  color:var(--text);line-height:1;padding:6px;z-index:10;
}

@media(max-width:768px){
  /* ── Header ── */
  .head-row{padding:6px 14px;gap:8px;}
  .brand-logo{height:44px;}
  .brand-sub{display:none;}
  .brand-title{font-size:16px;}
  .head-reg-btn{font-size:10px!important;padding:4px 10px!important;}
  .head-login-btn{display:none;}

  /* ── Hamburger ── */
  .nav-burger{display:flex;}

  /* ── Nav: full-screen overlay ── */
  nav.topnav{
    display:none;
    flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;overflow-x:hidden;
    position:fixed;top:0;left:0;right:0;bottom:0;
    background:var(--header-bg,#fff);
    z-index:300;padding:64px 0 24px;
    border-top:none;
  }
  header.nav-open nav.topnav{display:flex;}
  header.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.nav-open .nav-burger span:nth-child(2){opacity:0;}
  header.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .nav-close{display:block;}

  nav.topnav > button,
  .nav-dd-btn{
    width:100%;text-align:left;padding:16px 20px;font-size:15px;font-weight:600;
    height:auto;border-bottom:1px solid var(--line);border-radius:0;
    justify-content:space-between;
  }
  nav.topnav > button:hover,.nav-dd-btn:hover{background:var(--bg-soft);}

  /* Dropdowns: always visible as section in mobile */
  .nav-item{display:flex;flex-direction:column;}
  .nav-dropdown{
    position:static;box-shadow:none;border:none;border-radius:0;
    display:block!important;opacity:1!important;pointer-events:auto!important;
    background:var(--bg-elevated);padding:4px 0;
  }
  .nav-dropdown button{
    padding:12px 20px 12px 36px;font-size:14px;text-align:left;
    border-bottom:1px solid var(--line-soft);color:var(--muted);
  }
  .nav-dd-btn::after{content:none;}

  /* ── Main content ── */
  main{padding:0 14px 72px;}
  .head-row-page{padding:0 14px;}

  /* ── Player profile ── */
  .pp-col-card{display:flex;justify-content:center;padding:16px 0 8px;}
  .pp-card-wrap .fc-card{width:240px;}
  .pp-tabs{flex-wrap:wrap;gap:4px;}
  .pp-tab{font-size:12px;padding:8px 12px;}
  .pp-stat-grid{grid-template-columns:repeat(2,1fr);}

  /* ── Players list ── */
  .players-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
  .pl-card-fut{height:auto;padding:8px 4px;}
  .pl-card-fut .fc-card{width:160px;}

  /* ── Club page ── */
  .roster-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
  .club-profile-tabs{flex-wrap:wrap;}

  /* ── Dashboard ── */
  .dash-grid{grid-template-columns:1fr;}
  .dash-hero-card .fc-card{width:220px;}
  .dash-stats-hero{flex-direction:column;align-items:center;}
  .card-preview-wrap .fc-card{width:200px;}
  .admin-card-edit{flex-direction:column;}
  .ps-picker-grid{max-height:200px;}

  /* ── Comparison ── */
  .cmp-cards{flex-direction:column;align-items:center;gap:12px;}
  .cmp-player-card .fc-card{width:200px;}

  /* ── Tables ── */
  .table-wrap,table{max-width:100%;overflow-x:auto;}

  /* ── Footer-like padding ── */
  section,.section-head{margin-bottom:16px;}
}

/* ── 480px tweaks ── */
@media(max-width:480px){
  .pp-card-wrap .fc-card{width:210px;}
  .pl-card-fut .fc-card{width:145px;}
  .players-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
}
