
:root{
  --bg:#06111c;
  --panel:rgba(12,22,35,.82);
  --panel-strong:rgba(10,18,30,.92);
  --text:#f7fbff;
  --muted:#afc0d8;
  --muted-2:#7f96b3;
  --primary:#26d887;
  --primary-dark:#0ea56c;
  --accent:#39a7ff;
  --danger:#ea5b5b;
  --warning:#f4a71c;
  --border:rgba(116,146,184,.18);
  --shadow:0 20px 60px rgba(0,0,0,.33);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:#06111c;
  position:relative;
  overflow-x:hidden;
}
.site-bg{
  position:fixed; inset:0;
  background:url('assets/stadium-bg.png') center center / cover no-repeat;
  transform:scale(1.04);
  filter:brightness(.45) saturate(1.05) blur(2px);
  z-index:-3;
}
.site-overlay{
  position:fixed; inset:0;
  background:
    radial-gradient(circle at 15% 18%, rgba(38,216,135,.16), transparent 24%),
    radial-gradient(circle at 88% 24%, rgba(57,167,255,.16), transparent 20%),
    linear-gradient(180deg, rgba(4,10,18,.5), rgba(4,10,18,.82) 28%, rgba(5,12,20,.88));
  z-index:-2;
}
button,input,select{font:inherit}
button{
  cursor:pointer;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(26,43,66,.95), rgba(17,29,47,.95));
  color:var(--text);
  border-radius:14px;
  padding:11px 15px;
  transition:.18s ease;
}
button:hover{transform:translateY(-1px);filter:brightness(1.08)}
button.primary{background:linear-gradient(180deg,var(--primary),var(--primary-dark));border-color:transparent;color:#062115;font-weight:800}
button.success{background:linear-gradient(180deg,#2ef1a0,#13b373);border-color:transparent;color:#062115;font-weight:800}
button.danger{background:rgba(234,91,91,.12);color:#ffc2c2;border-color:rgba(234,91,91,.28)}
button.ghost{background:transparent}
button.full{width:100%;margin-top:14px}
input,select{
  width:100%;
  background:rgba(8,16,28,.92);
  border:1px solid rgba(121,151,188,.18);
  color:var(--text);
  padding:12px 13px;
  border-radius:14px;
  outline:none;
}
input:focus,select:focus{border-color:rgba(57,167,255,.55); box-shadow:0 0 0 3px rgba(57,167,255,.14)}
.topbar{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:18px 28px;
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(20px);
  background:rgba(6,14,24,.76);
  border-bottom:1px solid var(--border);
}
.brand{display:flex;align-items:center;gap:16px}
.brand-logo{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}
.topbar h1{margin:0;font-size:25px;letter-spacing:-.3px}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.language-select{width:auto;min-width:126px;background:rgba(10,19,31,.88)}
.tabs{
  display:flex;gap:10px;flex-wrap:wrap;padding:14px 28px;position:sticky;top:105px;z-index:18;
  backdrop-filter: blur(18px);
  background:rgba(7,16,28,.55);border-bottom:1px solid var(--border);
}
.tabs button{background:transparent;color:#d0dcf0;border-color:transparent;font-weight:700}
.tabs button.active{background:rgba(38,216,135,.15);color:white;border-color:rgba(38,216,135,.35);box-shadow:inset 0 0 0 1px rgba(38,216,135,.14)}
main{padding:28px;max-width:1500px;margin:0 auto}
.tab{display:none;animation:fade .22s ease}.tab.active{display:block}
@keyframes fade{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.page-hero, .tab-banner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  padding:38px 34px;
  margin-bottom:22px;
  background:
    linear-gradient(90deg, rgba(4,12,22,.88) 0%, rgba(4,12,22,.78) 44%, rgba(4,12,22,.42) 100%),
    url('assets/stadium-bg.png') center center / cover no-repeat;
  box-shadow: var(--shadow);
}
.page-hero::after,.tab-banner::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(38,216,135,.08), transparent 28%, transparent 70%, rgba(57,167,255,.08));
  pointer-events:none;
}
.page-hero-content,.tab-banner > div{position:relative;z-index:1;max-width:760px}
.page-hero{padding:24px 28px;border-radius:28px;min-height:0}
.page-hero .page-hero-content{max-width:700px}
.page-hero .eyebrow{margin-bottom:8px;font-size:11px}
.page-hero h2{font-size:30px;line-height:1.05;letter-spacing:-.8px;margin:0 0 10px}
.page-hero p{font-size:16px;line-height:1.45;max-width:680px}
.page-hero .hero-badges{margin-top:14px;gap:8px}
.page-hero .hero-badges span{padding:6px 10px;font-size:12px}
.eyebrow{display:inline-block;color:#8eeac0;font-weight:800;letter-spacing:1.4px;font-size:12px;margin-bottom:10px}
.page-hero h2,.tab-banner h2{font-size:44px;line-height:1.02;letter-spacing:-1.2px;margin:0 0 12px}
.page-hero p,.tab-banner p{color:#d6e3f5;max-width:740px;font-size:18px;line-height:1.55;margin:0}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-badges span, .overview-card span, .team-meta span, .mini-chip{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(8,17,30,.42);
  backdrop-filter: blur(10px);
  border-radius:999px;
  padding:8px 12px;
}
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 22px}
.overview-card{
  background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow)
}
.overview-card span{display:inline-block;color:#bdddca;font-size:12px;margin-bottom:10px}
.overview-card strong{display:block;font-size:18px;line-height:1.3}
.grid{display:grid;gap:20px}
.grid.two{grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr)}
.grid.three{grid-template-columns:repeat(3,1fr)}
.card{
  background:var(--panel-strong);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow)
}
.glass{backdrop-filter: blur(18px)}
.card h2,.card h3{margin-top:0}
.card h2{font-size:22px;letter-spacing:-.35px}
.card p{color:var(--muted)}
.section-kicker{color:#8eeac0;font-size:11px;letter-spacing:1.5px;font-weight:800;margin-bottom:8px}
.match-header,.section-title{display:flex;gap:14px;align-items:center;justify-content:space-between}
.match-header input{font-weight:800;font-size:18px}
.pill{padding:8px 12px;border-radius:999px;background:rgba(57,167,255,.15);color:#dff3ff;border:1px solid rgba(57,167,255,.32);white-space:nowrap;font-size:13px;font-weight:800}
.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:35px 0}
.score-center-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:110px}
.game-order-pill.in-scoreboard{font-size:15px;padding:7px 12px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.team-score{text-align:center}
.team-score select{font-size:18px;font-weight:800;text-align:center}
.score-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px}
.score-controls strong{font-size:72px;min-width:92px;letter-spacing:-3px;text-shadow:0 10px 35px rgba(0,0,0,.28)}
.score-controls button{font-size:25px;width:48px;height:48px;padding:0}
.versus{font-size:30px;color:#88a0bf}
.timer-wrap{text-align:center;padding:22px;border-radius:18px;background:rgba(8,16,28,.72);border:1px solid rgba(255,255,255,.08)}
.timer{font:800 76px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px}
.timer-controls,.period-controls,.inline{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.inline select{width:auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.15px}
.form-grid input,.form-grid select{margin-top:6px;color:var(--text);font-weight:500}
.rating-help{margin:14px 0 2px;padding:13px 14px;border:1px solid var(--border);border-radius:16px;background:rgba(8,16,28,.78);color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:8px 14px}
.rating-help strong{color:#e6f2ff}
.event-log{display:flex;flex-direction:column;gap:9px;max-height:280px;overflow:auto}
.event-item{display:flex;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;background:rgba(8,16,28,.72);border:1px solid rgba(255,255,255,.08);font-size:13px}
.event-item small{color:var(--muted)}
.stats-grid{margin-top:20px}
.stat{padding:18px}
.stat span{color:var(--muted);font-size:13px}
.stat strong{display:block;font-size:34px;margin-top:4px}
.list{display:flex;flex-direction:column;gap:10px}
.list-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.color-dot{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.04)}
.muted{color:var(--muted);font-size:12px}
.level-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:rgba(57,167,255,.12);border:1px solid rgba(57,167,255,.22);color:#d2ebff;font-size:11px;font-weight:800;margin-left:8px}
.balance-summary{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin-top:18px}
.balance-box{background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}
.balance-box strong{font-size:17px}.balance-box .big{display:block;font-size:28px;margin-top:2px}.balance-box small{color:var(--muted)}
.lineup-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:16px;margin-top:16px;overflow:auto}
.formation-panel{margin-top:18px;padding:18px;border-radius:22px;background:rgba(8,16,28,.70);border:1px solid rgba(255,255,255,.08)}
.formation-header{margin-bottom:6px}
.formation-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}
.formation-label select{width:auto;min-width:180px}
.formation-note{margin-bottom:7px}
.formation-drag-hint{margin-bottom:14px;color:#a9dbff;font-size:12px;font-weight:700}
.formation-field{position:relative;width:min(100%,760px);margin:0 auto;aspect-ratio:68/105;min-height:unset;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:repeating-linear-gradient(180deg, rgba(24,122,60,.98) 0 72px, rgba(20,110,55,.98) 72px 144px);box-shadow: inset 0 0 0 2px rgba(255,255,255,.04), inset 0 20px 60px rgba(0,0,0,.18)}
.formation-field::before{content:none}
.formation-field::after{content:none}
.formation-center-circle{position:absolute;left:50%;top:50%;width:120px;height:120px;border:3px solid rgba(255,255,255,.92);border-radius:50%;transform:translate(-50%,-50%)}
.formation-center-dot{position:absolute;left:50%;top:50%;width:12px;height:12px;background:white;border-radius:50%;transform:translate(-50%,-50%)}
.formation-penalty{position:absolute;left:50%;width:260px;height:110px;border:3px solid rgba(255,255,255,.92);transform:translateX(-50%)}
.formation-penalty.top{top:18px;border-bottom:none;border-radius:0 0 22px 22px}
.formation-penalty.bottom{bottom:18px;border-top:none;border-radius:22px 22px 0 0}
.formation-goal-box{position:absolute;left:50%;width:140px;height:52px;border:3px solid rgba(255,255,255,.92);transform:translateX(-50%)}
.formation-goal-box.top{top:18px;border-bottom:none;border-radius:0 0 18px 18px}
.formation-goal-box.bottom{bottom:18px;border-top:none;border-radius:18px 18px 0 0}
.formation-penalty-spot{position:absolute;left:50%;width:12px;height:12px;background:#fff;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.formation-penalty-spot.top{top:145px}
.formation-penalty-spot.bottom{bottom:145px}
.formation-arc{position:absolute;left:50%;width:140px;height:140px;border:3px solid rgba(255,255,255,.92);border-radius:50%;transform:translateX(-50%)}
.formation-arc.top{top:118px;clip-path:inset(50% 0 0 0)}
.formation-arc.bottom{bottom:118px;clip-path:inset(0 0 50% 0)}
.formation-goal{position:absolute;left:50%;width:90px;height:20px;border:3px solid rgba(255,255,255,.92);transform:translateX(-50%)}
.formation-goal.top{top:0;border-top:none;border-radius:0 0 8px 8px}
.formation-goal.bottom{bottom:0;border-bottom:none;border-radius:8px 8px 0 0}
.formation-corner{position:absolute;width:22px;height:22px;border:3px solid rgba(255,255,255,.92);border-radius:50%}
.formation-corner.tl{top:15px;left:15px;clip-path:inset(50% 0 0 50%)}
.formation-corner.tr{top:15px;right:15px;clip-path:inset(50% 50% 0 0)}
.formation-corner.bl{bottom:15px;left:15px;clip-path:inset(0 0 50% 50%)}
.formation-corner.br{bottom:15px;right:15px;clip-path:inset(0 50% 50% 0)}
.formation-shadow-line{position:absolute;left:18px;right:18px;height:1px;background:rgba(255,255,255,.05)}
.formation-shadow-line.l1{top:25%}
.formation-shadow-line.l2{top:75%}
.formation-player{position:absolute;transform:translate(-50%,-50%);min-width:86px;max-width:106px;padding:7px 7px 6px;border-radius:18px;text-align:center;color:white;font-size:10px;line-height:1.15;border:1px solid rgba(255,255,255,.20);background:rgba(4,15,24,.18);box-shadow:0 10px 18px rgba(0,0,0,.24);cursor:grab;touch-action:none;user-select:none;z-index:5;backdrop-filter:blur(6px)}
.formation-player.dragging{cursor:grabbing;z-index:20;box-shadow:0 16px 30px rgba(0,0,0,.38);transform:translate(-50%,-50%) scale(1.04)}
.formation-player.fx-enter{animation:fieldPulse .72s ease}
.bench-player.fx-enter{animation:benchPulse .72s ease}
.formation-player .bench-move{margin-top:6px;padding:4px 7px;border-radius:999px;font-size:9px;background:rgba(2,10,18,.58);border:1px solid rgba(255,255,255,.18)}
.formation-player strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:92px;margin:0 auto}
.formation-player small{display:block;color:rgba(255,255,255,.88);font-size:9px}
.formation-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:40px;color:#e9fff4;font-size:18px;text-align:center}
.lineup-team{min-width:240px;background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px}
.lineup-team h3{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.team-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.team-meta span{font-size:11px;color:#d3fff0;padding:5px 8px}
.player-chip{padding:10px;margin:7px 0;background:rgba(17,33,56,.9);border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;justify-content:space-between;gap:8px}
.player-chip button{padding:5px 8px}
.features{columns:2;line-height:2.0;padding-left:18px}
.toast{position:fixed;right:20px;bottom:20px;background:rgba(15,35,58,.96);border:1px solid rgba(57,167,255,.32);padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;box-shadow:var(--shadow);z-index:50}
.toast.show{opacity:1;transform:none}
@media(max-width:1100px){
  .grid.two,.grid.three,.overview-grid{grid-template-columns:1fr}
  .balance-summary{grid-template-columns:1fr 1fr}
  .lineup-board{grid-template-columns:1fr 1fr}
  .tabs{top:108px}
}
@media(max-width:780px){
  main,.topbar,.tabs{padding-left:14px;padding-right:14px}
  .topbar{align-items:flex-start;flex-direction:column}
  .tabs{top:138px}
  .form-grid{grid-template-columns:1fr}
  .score-controls strong{font-size:54px}
  .timer{font-size:48px}
  .lineup-board,.balance-summary{grid-template-columns:1fr}
  .formation-field{width:100%;max-width:100%;min-height:560px;aspect-ratio:auto;height:560px}
  .features{columns:1}
  .section-title{align-items:flex-start;flex-direction:column}
  .page-hero h2,.tab-banner h2{font-size:32px}
  .page-hero,.tab-banner{padding:28px 20px}
}

.match-header-pro{align-items:flex-end}
.match-main-fields{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:12px;flex:1}
.match-field-label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.match-field-label input{font-size:16px;font-weight:800;text-transform:none;letter-spacing:0}
.history-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.history-date{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(38,216,135,.10);border:1px solid rgba(38,216,135,.20);color:#c9ffe3;font-size:11px;font-weight:800;margin-bottom:5px}
.history-delete{background:rgba(234,91,91,.10);border-color:rgba(234,91,91,.28);color:#ffc1c1}
@media(max-width:780px){
  .match-header-pro{align-items:stretch;flex-direction:column}
  .match-main-fields{grid-template-columns:1fr}
  .match-date-field{max-width:none}
}


.bench-panel{margin-top:16px;padding:15px;border-radius:18px;background:rgba(6,14,24,.66);border:1px solid rgba(255,255,255,.08)}
.bench-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.bench-header h4{margin:0;font-size:18px}
.bench-count{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:rgba(38,216,135,.14);border:1px solid rgba(38,216,135,.28);font-weight:900;color:#b9ffdb}
.bench-list{display:flex;gap:9px;flex-wrap:wrap}
.bench-player{display:flex;align-items:center;gap:9px;background:rgba(17,32,51,.9);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:9px 10px}
.bench-player strong{font-size:12px}.bench-player small{display:block;color:var(--muted);font-size:10px}
.bench-player button{padding:6px 9px;font-size:10px;border-radius:999px;background:rgba(38,216,135,.13);border-color:rgba(38,216,135,.27);color:#d5ffea}
.bench-empty{color:var(--muted);font-size:12px;padding:5px 0}


.pitch-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pitch-line{fill:none;stroke:rgba(255,255,255,.95);stroke-width:3}
.pitch-goal{fill:none;stroke:rgba(255,255,255,.95);stroke-width:3}
.pitch-spot{fill:rgba(255,255,255,.95)}
.pitch-shadow{stroke:rgba(255,255,255,.06);stroke-width:2}


.formation-controls{align-items:flex-end;justify-content:flex-end;gap:10px 12px}
.formation-controls .formation-label{flex-direction:column;align-items:flex-start;gap:6px}
.formation-controls .formation-label select{min-width:150px}
.formation-drag-hint{margin-bottom:12px;color:#c7f7de;background:rgba(38,216,135,.09);border:1px solid rgba(38,216,135,.18);padding:10px 12px;border-radius:14px}
.formation-field{height:auto !important;min-height:unset !important;width:min(100%,820px);margin:0 auto;aspect-ratio:68/105}
.formation-field.horizontal-view{width:min(100%,1100px);aspect-ratio:105/68}
.pitch-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pitch-line,.pitch-goal,.pitch-net-line{fill:none;stroke:rgba(255,255,255,.95);stroke-width:3}
.pitch-spot{fill:rgba(255,255,255,.95)}
.pitch-shadow{stroke:rgba(255,255,255,.06);stroke-width:2}
.pitch-net{fill:rgba(255,255,255,.10);stroke:rgba(255,255,255,.72);stroke-width:2}
.bench-panel{margin-top:18px;background:rgba(8,16,28,.72);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}
.bench-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.bench-header h4{margin:0;font-size:18px}
.bench-count{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:rgba(57,167,255,.14);border:1px solid rgba(57,167,255,.24);font-weight:800}
.bench-list{display:flex;flex-direction:column;gap:10px}
.bench-player,.bench-empty{background:rgba(17,33,56,.82);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 12px}
.bench-player{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bench-player small{display:block;color:var(--muted)}
.formation-player{min-width:88px;max-width:118px;padding:8px 8px 7px}
.formation-player .bench-move{margin-top:6px;padding:4px 7px;border-radius:999px;font-size:9px;background:rgba(2,10,18,.58);border:1px solid rgba(255,255,255,.18)}
@media(max-width:900px){
  .formation-controls{justify-content:flex-start}
}
@media(max-width:780px){
  .formation-controls{flex-direction:column;align-items:stretch}
  .formation-controls .formation-label{width:100%}
  .formation-controls .formation-label select,.formation-controls button{width:100%}
  .formation-field.horizontal-view{aspect-ratio:105/78}
  .bench-player{flex-direction:column;align-items:flex-start}
}


.field-half{position:absolute;pointer-events:none;z-index:0}
.field-half.team-half{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.02)), var(--team-half-color, rgba(38,216,135,.08))}
.field-half.opponent-half{background:rgba(6,12,18,.10)}
.formation-field.vertical-mode .field-half.team-half{left:0;right:0;bottom:0;height:50%}
.formation-field.vertical-mode .field-half.opponent-half{left:0;right:0;top:0;height:50%}
.formation-field.horizontal-view .field-half.team-half{top:0;bottom:0;left:0;width:50%}
.formation-field.horizontal-view .field-half.opponent-half{top:0;bottom:0;right:0;width:50%}
.formation-field.vertical-mode .pitch-svg,.formation-field.horizontal-view .pitch-svg{z-index:1}
.formation-player{z-index:5}
.player-jersey{width:34px;height:30px;margin:0 auto 5px;display:grid;place-items:center;clip-path:polygon(18% 0, 31% 0, 40% 12%, 60% 12%, 69% 0, 82% 0, 100% 18%, 86% 36%, 86% 100%, 14% 100%, 14% 36%, 0 18%);border:1px solid rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 14px rgba(0,0,0,.18)}
.player-jersey span{font-size:10px;font-weight:900;color:#fff;letter-spacing:.3px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.player-role-line{opacity:.95}
@keyframes fieldPulse{0%{transform:translate(-50%,-50%) scale(.88);opacity:.5}55%{transform:translate(-50%,-50%) scale(1.07);opacity:1}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes benchPulse{0%{transform:scale(.94);opacity:.45}55%{transform:scale(1.03);opacity:1}100%{transform:scale(1)}}


.history-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;margin-bottom:20px}
.stats-list{display:flex;flex-direction:column;gap:10px}
.stats-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px 14px}
.stats-rank{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(57,167,255,.14);border:1px solid rgba(57,167,255,.24);font-weight:800}
.stats-rank.gold{background:rgba(244,167,28,.18);border-color:rgba(244,167,28,.34)}
.stats-rank.silver{background:rgba(196,205,221,.18);border-color:rgba(196,205,221,.34)}
.stats-rank.bronze{background:rgba(191,120,66,.22);border-color:rgba(191,120,66,.36)}
.stats-main strong{display:block}
.stats-main small{display:block;color:var(--muted);margin-top:2px}
.stats-value{text-align:right;font-weight:800}
.stats-value span{display:block;font-size:18px}
.stats-value small{display:block;color:var(--muted);font-weight:600}
.player-number-badge{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(244,167,28,.14);border:1px solid rgba(244,167,28,.26);font-size:11px;font-weight:800;margin-right:8px}
.player-stat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.player-stat-chips span{padding:4px 7px;border-radius:999px;background:rgba(57,167,255,.12);border:1px solid rgba(57,167,255,.22);font-size:10px}
.match-insight-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;align-items:center}
@media(max-width:1100px){.history-stats-grid{grid-template-columns:1fr}}
@media(max-width:780px){.stats-row,.match-insight-grid{grid-template-columns:1fr}.stats-value{text-align:left}}

.mvp-current-panel{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0 2px;padding:13px 14px;border:1px solid rgba(244,167,28,.20);background:rgba(244,167,28,.07);border-radius:16px}
.mvp-current-panel .match-field-label{min-width:240px;flex:1}
.mvp-current-panel small{color:var(--muted);padding-bottom:11px}
.history-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.stats-title-wrap{align-items:flex-end}
.stats-filter-controls{display:flex;gap:8px;flex-wrap:wrap}
.stats-filter-controls label{font-size:11px;color:var(--muted);font-weight:700}
.stats-filter-controls select{display:block;margin-top:5px;min-width:135px;padding:8px 10px}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,7,13,.76);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;z-index:100}
.modal-backdrop.hidden{display:none}
.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#101e32,#0b1728);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.48)}
.small-modal{width:min(520px,100%)}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.modal-header h3{margin:0}
.modal-close{font-size:24px;width:42px;height:42px;padding:0}
.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.list-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.mvp-chip{display:inline-flex;padding:4px 8px;margin-left:7px;border-radius:999px;background:rgba(244,167,28,.15);border:1px solid rgba(244,167,28,.30);color:#ffe2a1;font-size:10px;font-weight:800}
@media(max-width:780px){.stats-title-wrap{align-items:flex-start}.stats-filter-controls{width:100%}.stats-filter-controls label{flex:1}.stats-filter-controls select{width:100%}.history-actions,.list-actions{justify-content:flex-start}}


/* Championship */
.championship-banner{background:linear-gradient(90deg,rgba(5,14,25,.92),rgba(5,14,25,.70),rgba(5,14,25,.38)),url('assets/stadium-bg.png') center 58% / cover no-repeat}
.championship-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.championship-form-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-top:18px}
.championship-form-grid label{color:var(--muted);font-size:12px;font-weight:700}
.championship-form-grid input,.championship-form-grid select{margin-top:6px}
.championship-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.champ-summary-card{padding:16px 18px;border-radius:18px;background:rgba(10,20,33,.80);border:1px solid var(--border);box-shadow:var(--shadow)}
.champ-summary-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.champ-summary-card strong{font-size:28px}
.championship-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:20px;margin-bottom:20px}
.championship-teams{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}
.champ-team-card{background:rgba(8,16,28,.76);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.champ-team-head{display:grid;grid-template-columns:34px 1fr 54px;gap:9px;align-items:center;margin-bottom:10px}
.champ-team-head .color-dot{width:22px;height:22px}
.champ-team-head input[type="text"]{padding:9px 10px;font-weight:800}
.champ-team-head input[type="color"]{padding:3px;height:40px}
.champ-team-metrics{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.champ-team-metrics span{padding:5px 8px;border-radius:999px;background:rgba(57,167,255,.10);border:1px solid rgba(57,167,255,.18);font-size:10px;color:#d9efff}
.champ-roster{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}
.champ-player-row{display:flex;justify-content:space-between;gap:8px;align-items:center;background:rgba(17,33,56,.78);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:8px 9px}
.champ-player-row strong{font-size:12px}.champ-player-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.champ-player-row button{padding:5px 8px;font-size:10px}
.champ-add-player{margin-top:7px}
.champ-empty{color:var(--muted);font-size:12px;padding:10px 0}
.champ-standings{width:100%;border-collapse:collapse;font-size:12px}
.champ-standings th,.champ-standings td{padding:9px 7px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center;white-space:nowrap}
.champ-standings th{color:#aabbd0;font-size:10px;text-transform:uppercase;letter-spacing:.5px}
.champ-standings th:nth-child(2),.champ-standings td:nth-child(2){text-align:left}
.champ-standings .leader td{background:rgba(38,216,135,.07)}
.champ-standing-team{display:flex;align-items:center;gap:7px;font-weight:700}
.championship-schedule{display:flex;flex-direction:column;gap:16px}
.champ-round{background:rgba(8,16,28,.64);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:13px}
.champ-round-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-weight:800;color:#dcecff}
.champ-match-row{display:grid;grid-template-columns:minmax(130px,1fr) 58px auto 58px minmax(130px,1fr) auto;gap:8px;align-items:center;padding:9px;border-radius:12px;background:rgba(17,33,56,.68);border:1px solid rgba(255,255,255,.06);margin-top:7px}
.champ-match-row.completed{border-color:rgba(38,216,135,.20);background:rgba(18,58,45,.28)}
.champ-match-team{font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.champ-match-team.right{text-align:right}
.champ-score-input{padding:8px 5px;text-align:center;font-weight:800}
.champ-match-vs{text-align:center;color:var(--muted);font-weight:800}
.champ-match-row button{padding:8px 10px;font-size:10px}
.champ-bye{padding:9px 11px;border-radius:12px;background:rgba(57,167,255,.09);color:#d6eeff;font-size:12px;margin-top:7px}
.champion-banner{margin:18px 0;padding:20px 22px;border-radius:22px;text-align:center;background:linear-gradient(135deg,rgba(244,167,28,.22),rgba(38,216,135,.15));border:1px solid rgba(244,167,28,.35);box-shadow:0 16px 40px rgba(0,0,0,.22)}
.champion-banner strong{display:block;font-size:28px;margin-top:4px}.champion-banner span{font-size:12px;letter-spacing:1.2px;font-weight:800;color:#ffe8a9}
.knockout-team-list{display:flex;flex-direction:column;gap:8px}.knockout-team-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(8,16,28,.74);border:1px solid rgba(255,255,255,.07)}
.knockout-team-row strong{display:flex;align-items:center;gap:8px}.knockout-team-row small{color:var(--muted)}
@media(max-width:1200px){.championship-form-grid{grid-template-columns:repeat(3,1fr)}.championship-layout{grid-template-columns:1fr}.championship-teams{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.championship-form-grid,.championship-summary-grid,.championship-teams{grid-template-columns:1fr}.champ-match-row{grid-template-columns:1fr 48px auto 48px 1fr}.champ-match-row button{grid-column:1/-1}.championship-actions{justify-content:flex-start}}

.championship-saved-card{margin-top:20px}
.championship-saved-games{display:flex;flex-direction:column;gap:10px}
.champ-saved-row{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:15px;background:rgba(8,16,28,.76);border:1px solid rgba(255,255,255,.08)}
.champ-saved-date{font-size:11px;color:#bcd0e7;white-space:nowrap}
.champ-saved-main strong{display:block;font-size:13px}.champ-saved-main small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.champ-saved-score{font-size:15px;font-weight:850;text-align:center}
.champ-saved-score small{display:block;font-size:10px;color:var(--muted);font-weight:600;margin-top:3px}
.champ-saved-actions{display:flex;gap:7px}.champ-saved-actions button{padding:7px 9px;font-size:10px}
@media(max-width:850px){.champ-saved-row{grid-template-columns:1fr}.champ-saved-score{text-align:left}.champ-saved-actions{justify-content:flex-start}}


.roster-selector-card{margin-bottom:20px}
.roster-selector-header{align-items:flex-end}
.roster-team-select{display:flex;flex-direction:column;gap:6px;min-width:240px;color:var(--muted);font-size:12px;font-weight:700}
.roster-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.roster-summary-card{background:rgba(8,16,28,.72);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px}
.roster-summary-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px}
.roster-summary-card strong{display:block;margin-top:5px;font-size:22px}
.roster-player-list{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.roster-player{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px 12px;background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:15px}
.roster-player .player-avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(57,167,255,.13);border:1px solid rgba(57,167,255,.22);font-weight:800}
.roster-player strong{display:block}
.roster-player small{display:block;color:var(--muted);margin-top:2px}
.roster-current-team{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:999px;background:rgba(244,167,28,.11);border:1px solid rgba(244,167,28,.22);font-size:9px;color:#ffe0a3}
.roster-add{background:rgba(38,216,135,.13);border-color:rgba(38,216,135,.28);color:#d9ffec}
.roster-remove{background:rgba(234,91,91,.11);border-color:rgba(234,91,91,.26);color:#ffcaca}
.roster-empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed rgba(255,255,255,.12);border-radius:16px}
@media(max-width:900px){.roster-summary{grid-template-columns:1fr}.roster-selector-header{align-items:flex-start;flex-direction:column}.roster-team-select{width:100%}.roster-player{grid-template-columns:auto 1fr}.roster-player button{grid-column:1/-1;width:100%}}


.chosen-roster-card{margin-top:20px}
.chosen-count{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;background:rgba(38,216,135,.13);border:1px solid rgba(38,216,135,.28);color:#d9ffec;font-weight:900}
.chosen-roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.chosen-roster-player{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(310px,auto);gap:11px;align-items:center;padding:12px 13px;background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:15px}
.chosen-team-badge{display:inline-flex;align-items:center;gap:6px;margin-top:5px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);font-size:10px;font-weight:800}
.chosen-team-badge .color-dot{width:10px;height:10px}
.chosen-unassign{background:rgba(234,91,91,.11);border-color:rgba(234,91,91,.26);color:#ffcaca}
@media(max-width:900px){.chosen-roster-list{grid-template-columns:1fr}.chosen-roster-player{grid-template-columns:auto 1fr}.chosen-roster-player button{grid-column:1/-1;width:100%}}


.chosen-player-info{min-width:0}
.chosen-player-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chosen-player-info small{display:block;color:var(--muted);margin-top:2px}
.chosen-player-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.chosen-move-control{display:flex;align-items:center;gap:7px}
.chosen-move-control select{min-width:170px;max-width:220px;padding:8px 10px;font-size:12px}
.chosen-move{background:rgba(57,167,255,.14);border-color:rgba(57,167,255,.30);color:#d8efff;font-weight:800}
.chosen-delete{background:rgba(234,91,91,.18);border-color:rgba(234,91,91,.38);color:#ffd0d0;font-weight:800}
@media(max-width:1100px){
  .chosen-roster-player{grid-template-columns:auto 1fr}
  .chosen-player-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:700px){
  .chosen-player-actions,.chosen-move-control{width:100%;flex-direction:column;align-items:stretch}
  .chosen-move-control select,.chosen-player-actions button{width:100%;max-width:none}
}


/* V19 compact roster screen */
.teams-compact .tab-banner{padding:22px 26px;margin-bottom:14px;border-radius:22px}
.teams-compact .tab-banner h2{font-size:30px;margin-bottom:7px}
.teams-compact .tab-banner p{font-size:14px;line-height:1.4}
.teams-compact .roster-selector-card{padding:14px 16px;margin-bottom:14px}
.teams-compact .roster-selector-header{display:grid;grid-template-columns:1fr minmax(210px,280px);gap:14px;align-items:center}
.teams-compact .roster-selector-header h2{font-size:18px;margin-bottom:3px}
.teams-compact .roster-selector-header p{font-size:11px;margin:0}
.teams-compact .roster-summary{grid-template-columns:110px 130px 1fr;gap:8px;margin-top:10px}
.teams-compact .roster-summary-card{padding:9px 11px;border-radius:12px}
.teams-compact .roster-summary-card strong{font-size:16px;margin-top:2px}
.teams-compact .roster-summary-card span{font-size:9px}
.roster-main-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12px;align-items:start}
.roster-column-card{padding:14px;min-width:0}
.roster-column-card h2{font-size:17px;margin:0 0 5px}
.compact-title{gap:8px;align-items:flex-start}
.compact-title input{width:128px;padding:8px 9px;font-size:11px}
.compact-help{font-size:10px;line-height:1.35;margin:4px 0 8px}
.compact-scroll{max-height:430px;overflow:auto;padding-right:3px;scrollbar-width:thin}
.teams-compact .roster-player-list{gap:6px;margin-top:7px}
.teams-compact .roster-player{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;padding:7px 8px;border-radius:11px}
.teams-compact .roster-player .player-avatar{width:30px;height:30px;border-radius:9px;font-size:10px}
.teams-compact .roster-player strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teams-compact .roster-player small{font-size:9px}
.teams-compact .roster-current-team{font-size:8px;padding:2px 5px;margin-top:3px}
.teams-compact .roster-player button{padding:6px 8px;font-size:9px;border-radius:9px}
.chosen-roster-card{margin-top:0}
.chosen-count{min-width:30px;height:30px;padding:0 8px;font-size:11px}
.chosen-roster-list{display:flex;flex-direction:column;gap:6px;margin-top:7px}
.chosen-roster-player{display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;align-items:start;padding:8px;background:rgba(8,16,28,.78);border:1px solid rgba(255,255,255,.08);border-radius:11px;overflow:visible}
.chosen-roster-player .player-avatar{width:30px;height:30px;border-radius:9px;font-size:10px}
.chosen-player-info strong{font-size:11px}
.chosen-player-info small{font-size:9px}
.chosen-team-badge{font-size:8px;padding:2px 5px;margin-top:3px}
.chosen-player-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;justify-content:stretch;margin-top:2px}
.chosen-move-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;min-width:0}
.chosen-move-control select{min-width:0;width:100%;max-width:none;padding:6px 7px;font-size:9px;border-radius:8px}
.chosen-player-actions button{padding:6px 7px;font-size:9px;border-radius:8px;white-space:nowrap}
.chosen-move{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;background:linear-gradient(180deg,#39a7ff,#1976c8)!important;border-color:transparent!important;color:white!important;font-weight:900!important;min-width:58px}
.chosen-unassign{background:rgba(244,167,28,.12);border-color:rgba(244,167,28,.26);color:#ffe1a8}
.chosen-delete{background:rgba(234,91,91,.18);border-color:rgba(234,91,91,.38);color:#ffd0d0}
@media(max-width:1200px){
  .roster-main-grid{grid-template-columns:1fr 1fr}
  .chosen-roster-card{grid-column:1/-1}
  .chosen-roster-list{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .teams-compact .roster-selector-header{grid-template-columns:1fr}
  .teams-compact .roster-summary{grid-template-columns:1fr 1fr 1fr}
  .roster-main-grid,.chosen-roster-list{grid-template-columns:1fr}
  .chosen-roster-card{grid-column:auto}
  .compact-scroll{max-height:none}
  .chosen-player-actions{grid-template-columns:1fr}
  .chosen-move-control{grid-template-columns:1fr auto}
}


/* v20: actions live directly inside Team Roster */
.teams-compact .roster-column-card{min-width:0}
.teams-compact .compact-scroll{max-height:470px;overflow:auto;padding-right:3px}
.roster-assigned{grid-template-columns:30px minmax(0,1fr);align-items:start}
.roster-assigned-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(130px,1fr) auto auto auto;gap:5px;align-items:center;margin-top:2px}
.roster-assigned-actions select{min-width:0;width:100%;padding:6px 7px;font-size:9px;border-radius:8px}
.roster-assigned-actions button{padding:6px 7px!important;font-size:9px!important;border-radius:8px!important;white-space:nowrap}
.roster-move{background:linear-gradient(180deg,#3aa9ff,#2377d8)!important;color:#fff!important;border-color:transparent!important;font-weight:800}
.roster-unassign{background:rgba(244,167,28,.13)!important;border-color:rgba(244,167,28,.28)!important;color:#ffe4aa!important}
.roster-delete-player{background:rgba(234,91,91,.13)!important;border-color:rgba(234,91,91,.28)!important;color:#ffc4c4!important}
@media(max-width:980px){.roster-main-grid{grid-template-columns:1fr}.teams-compact .compact-scroll{max-height:380px}}
@media(max-width:640px){.roster-assigned-actions{grid-template-columns:1fr 1fr}.roster-assigned-actions select{grid-column:1/-1}.roster-delete-player{grid-column:1/-1}}


.team-choice-card{padding:14px 16px;margin-bottom:14px}
.team-choice-card .compact-title{align-items:flex-start}
.team-choice-card .compact-title input{width:180px}
.player-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;max-height:330px;overflow:auto;padding-right:4px}
.player-choice-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:9px;background:rgba(8,16,28,.80);border:1px solid rgba(255,255,255,.08);border-radius:12px}
.player-choice-card .player-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(57,167,255,.13);border:1px solid rgba(57,167,255,.22);font-size:10px;font-weight:800}
.player-choice-info{min-width:0}
.player-choice-info strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-choice-info small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.player-team-select-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:4px;align-items:center}
.player-team-select{min-width:0;padding:7px 8px!important;font-size:9px!important;border-radius:9px!important}
.player-team-choose{padding:7px 11px!important;font-size:9px!important;border-radius:9px!important;background:linear-gradient(180deg,var(--primary),var(--primary-dark))!important;border-color:transparent!important;color:#062115!important;font-weight:900!important;white-space:nowrap}
.teams-five-kicker{margin:4px 0 8px}
.five-team-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:8px;align-items:start;overflow-x:auto;padding-bottom:5px}
.team-roster-board{min-width:180px;background:rgba(8,16,28,.82);border:1px solid rgba(255,255,255,.09);border-radius:15px;overflow:hidden}
.team-roster-board-header{padding:10px 11px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))}
.team-board-title{display:flex;align-items:center;gap:7px;min-width:0}
.team-board-title .color-dot{flex:0 0 auto}
.team-board-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-board-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.team-board-meta span{font-size:8px;padding:3px 5px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:var(--muted)}
.team-board-players{display:flex;flex-direction:column;gap:5px;padding:7px;max-height:440px;overflow:auto}
.team-board-player{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:5px;align-items:center;padding:6px;background:rgba(17,32,51,.84);border:1px solid rgba(255,255,255,.07);border-radius:9px}
.team-board-player .player-avatar{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:800;background:rgba(57,167,255,.11);border:1px solid rgba(57,167,255,.18)}
.team-board-player strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-board-player small{display:block;font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-board-actions{display:flex;gap:3px}
.team-board-actions button{padding:4px 5px!important;font-size:8px!important;border-radius:7px!important}
.team-board-remove{background:rgba(244,167,28,.12)!important;border-color:rgba(244,167,28,.26)!important;color:#ffe1a8!important}
.team-board-delete{background:rgba(234,91,91,.12)!important;border-color:rgba(234,91,91,.26)!important;color:#ffc9c9!important}
.team-board-empty{padding:18px 8px;text-align:center;color:var(--muted);font-size:9px}
@media(max-width:1250px){.five-team-grid{grid-template-columns:repeat(3,minmax(190px,1fr))}.player-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.five-team-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.player-choice-grid{grid-template-columns:1fr}.player-team-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.five-team-grid{grid-template-columns:1fr}.team-choice-card .compact-title{flex-direction:column}.team-choice-card .compact-title input{width:100%}}

@media(max-width:620px){.player-team-select-row{grid-template-columns:1fr}.player-team-choose{width:100%}}

/* v23: Teams tab as true columns: players first, then five team columns */
.team-columns-layout{
  display:grid;
  grid-template-columns:minmax(250px,1.25fr) repeat(5,minmax(175px,1fr));
  gap:8px;
  align-items:start;
  overflow-x:auto;
  padding-bottom:6px;
}
.team-columns-layout .team-player-column{
  min-width:250px;
  margin:0;
  padding:11px;
  position:sticky;
  left:0;
  z-index:3;
  background:rgba(8,16,28,.96);
  backdrop-filter:blur(16px);
}
.team-columns-layout .team-player-column .section-title{
  display:block;
  margin-bottom:8px;
}
.team-columns-layout .team-player-column .section-title input{
  width:100%;
  margin-top:8px;
  padding:7px 9px;
  font-size:10px;
}
.team-columns-layout .team-player-column h2{
  font-size:17px;
  margin:2px 0;
}
.team-columns-layout .team-player-column .compact-help{
  font-size:9px;
  line-height:1.3;
}
.team-columns-layout .player-choice-grid{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:8px;
  max-height:610px;
  overflow:auto;
  padding-right:3px;
}
.team-columns-layout .player-choice-card{
  grid-template-columns:28px minmax(0,1fr);
  gap:6px;
  padding:7px;
  border-radius:10px;
}
.team-columns-layout .player-choice-card .player-avatar{
  width:28px;
  height:28px;
  border-radius:8px;
  font-size:9px;
}
.team-columns-layout .player-choice-info strong{font-size:10px}
.team-columns-layout .player-choice-info small{font-size:8px}
.team-columns-layout .player-team-select-row{
  grid-column:1/-1;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px;
  margin-top:2px;
}
.team-columns-layout .player-team-select{
  padding:5px 6px!important;
  font-size:8px!important;
}
.team-columns-layout .player-team-choose{
  padding:5px 7px!important;
  font-size:8px!important;
}
.team-columns-layout .team-columns-boards{
  display:contents;
}
.team-columns-layout .team-roster-board{
  min-width:175px;
  height:auto;
  max-height:690px;
}
.team-columns-layout .team-roster-board-header{padding:8px}
.team-columns-layout .team-board-title strong{font-size:11px}
.team-columns-layout .team-board-meta{gap:3px;margin-top:5px}
.team-columns-layout .team-board-meta span{font-size:7px;padding:2px 4px}
.team-columns-layout .team-board-players{
  max-height:610px;
  padding:6px;
  gap:4px;
}
.team-columns-layout .team-board-player{
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:4px;
  padding:5px;
  border-radius:8px;
}
.team-columns-layout .team-board-player .player-avatar{
  width:24px;
  height:24px;
  border-radius:7px;
  font-size:8px;
}
.team-columns-layout .team-board-player strong{font-size:8px}
.team-columns-layout .team-board-player small{font-size:7px}
.team-columns-layout .team-board-actions button{padding:3px 4px!important;font-size:7px!important}
@media(max-width:1200px){
  .team-columns-layout{grid-template-columns:minmax(235px,1.2fr) repeat(5,minmax(165px,1fr))}
  .team-columns-layout .team-player-column{min-width:235px}
  .team-columns-layout .team-roster-board{min-width:165px}
}
@media(max-width:760px){
  .team-columns-layout{
    grid-template-columns:minmax(230px,260px) repeat(5,minmax(175px,200px));
  }
  .team-columns-layout .team-player-column{min-width:230px}
}

/* v24: automatic team selection controls */
.team-player-column-tools{
  display:grid;
  gap:6px;
  margin-top:8px;
}
.team-columns-layout .team-player-column .team-player-column-tools input{
  margin-top:0;
}
.roster-auto-btn{
  width:100%;
  padding:8px 10px!important;
  font-size:9px!important;
  font-weight:800;
  letter-spacing:.03em;
}


/* v25: automatic setup modal (2-6 teams, 5-11 players per team) */
.auto-team-modal{width:min(620px,100%)}
.auto-team-hint{margin:-2px 0 16px;line-height:1.45}
.auto-team-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auto-team-options label{display:grid;gap:6px;font-size:11px;color:var(--muted);font-weight:700}
.auto-team-options select{width:100%;font-size:15px;font-weight:800;padding:11px 12px}
.auto-team-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.auto-team-summary>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:12px}
.auto-team-summary small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.auto-team-summary strong{display:block;margin-top:4px;font-size:24px}
.auto-extra-note{min-height:20px;margin-top:8px;font-size:10px}
@media(max-width:560px){.auto-team-options,.auto-team-summary{grid-template-columns:1fr}}

.auto-error-note{color:#ffb4b4!important;font-weight:800;background:rgba(180,30,30,.18);border:1px solid rgba(255,100,100,.35);padding:10px 12px;border-radius:10px;}


/* v27: in-app dialog replaces browser alert/confirm */
.app-dialog-backdrop{z-index:260}
.app-dialog-card{width:min(470px,100%);text-align:center;padding:26px 24px 22px;overflow:visible}
.app-dialog-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;font-size:31px;background:rgba(69,140,255,.12);border:1px solid rgba(100,166,255,.24);box-shadow:0 12px 34px rgba(0,0,0,.22)}
.app-dialog-card[data-type="error"] .app-dialog-icon{background:rgba(255,77,90,.12);border-color:rgba(255,95,107,.30)}
.app-dialog-card[data-type="warning"] .app-dialog-icon{background:rgba(255,187,65,.12);border-color:rgba(255,190,71,.30)}
.app-dialog-card[data-type="success"] .app-dialog-icon{background:rgba(47,201,128,.12);border-color:rgba(60,215,143,.28)}
.app-dialog-title{margin:0 0 9px;font-size:22px}
.app-dialog-message{margin:0 auto;color:#c8d5e6;line-height:1.55;white-space:pre-line;max-width:390px}
.app-dialog-actions{justify-content:center;margin-top:22px}
.app-dialog-actions button{min-width:112px}
.app-dialog-cancel.hidden{display:none}


/* Live match players panel */
.live-players-card{margin-top:20px}
.live-players-title{margin-bottom:14px}
.live-players-title p{margin:4px 0 0}
.live-match-players{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.live-team-panel{background:rgba(8,16,28,.76);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;min-width:0}
.live-team-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(16,30,50,.72)}
.live-team-name{display:flex;align-items:center;gap:9px;min-width:0}
.live-team-name strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-team-score{display:inline-grid;place-items:center;min-width:38px;height:34px;padding:0 10px;border-radius:11px;background:rgba(255,255,255,.08);font-size:19px;font-weight:900}
.live-player-list{display:flex;flex-direction:column;gap:8px;padding:10px;max-height:500px;overflow:auto}
.live-player-row{display:grid;grid-template-columns:42px minmax(125px,.8fr) minmax(160px,1.2fr);gap:10px;align-items:center;padding:9px 10px;border-radius:13px;background:rgba(17,33,56,.72);border:1px solid rgba(255,255,255,.07)}
.live-player-figure{position:relative;width:36px;height:38px;display:grid;place-items:center}
.live-player-figure .figure-head{position:absolute;top:1px;width:12px;height:12px;border-radius:50%;background:#dbe8f8;box-shadow:0 2px 5px rgba(0,0,0,.22)}
.live-player-figure .figure-body{position:absolute;top:14px;width:28px;height:22px;border-radius:10px 10px 7px 7px;background:var(--player-team-color,#39a7ff);clip-path:polygon(18% 0,35% 0,41% 12%,59% 12%,65% 0,82% 0,100% 22%,84% 38%,82% 100%,18% 100%,16% 38%,0 22%);box-shadow:0 6px 12px rgba(0,0,0,.2)}
.live-player-figure b{position:absolute;top:18px;color:#fff;font-size:9px;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.live-player-info{min-width:0}
.live-player-info strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-player-info small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.live-player-events{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start}
.player-event-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:rgba(57,167,255,.11);border:1px solid rgba(57,167,255,.20);font-size:10px;white-space:nowrap}
.player-event-chip.goal{background:rgba(38,216,135,.12);border-color:rgba(38,216,135,.24)}
.player-event-chip.yellow{background:rgba(244,197,66,.12);border-color:rgba(244,197,66,.28)}
.player-event-chip.red{background:rgba(234,91,91,.13);border-color:rgba(234,91,91,.30)}
.player-event-none{color:var(--muted);font-size:10px}
.live-team-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:980px){.live-match-players{grid-template-columns:1fr}.live-player-row{grid-template-columns:40px minmax(120px,.8fr) 1.2fr}}
@media(max-width:620px){.live-player-row{grid-template-columns:38px 1fr}.live-player-events{grid-column:2}.live-player-list{max-height:none}}

/* V28 event label readability */
.player-event-chip b{font-size:9px;font-weight:800}.player-event-chip em{font-size:8px;font-style:normal;color:var(--muted)}


/* V29: live teams beside the match timer */
.timer-live-row{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:14px;align-items:stretch;margin-top:14px}
.timer-live-row .timer-wrap{margin:0;display:flex;flex-direction:column;justify-content:center;min-height:260px;padding:18px}
.timer-live-row .timer{font-size:clamp(48px,5vw,72px)}
.live-beside-timer{min-width:0;padding:12px;border-radius:18px;background:rgba(8,16,28,.72);border:1px solid rgba(255,255,255,.08);overflow:hidden}
.live-beside-heading{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.live-beside-heading .section-kicker{margin:0}
.live-beside-heading strong{font-size:13px;line-height:1.2}
.compact-live-match-players{grid-template-columns:1fr 1fr;gap:8px}
.compact-live-match-players .live-team-panel{border-radius:13px}
.compact-live-match-players .live-team-header{padding:8px 9px}
.compact-live-match-players .live-team-name strong{font-size:12px}
.compact-live-match-players .live-team-score{min-width:30px;height:28px;font-size:15px;padding:0 7px}
.compact-live-match-players .live-player-list{gap:5px;padding:6px;max-height:235px}
.compact-live-match-players .live-player-row{grid-template-columns:30px minmax(0,1fr);gap:6px;padding:6px;border-radius:10px}
.compact-live-match-players .live-player-figure{width:28px;height:30px}
.compact-live-match-players .live-player-figure .figure-head{width:9px;height:9px}
.compact-live-match-players .live-player-figure .figure-body{top:11px;width:22px;height:18px}
.compact-live-match-players .live-player-figure b{top:14px;font-size:7px}
.compact-live-match-players .live-player-info strong{font-size:11px}
.compact-live-match-players .live-player-info small{font-size:8px}
.compact-live-match-players .live-player-events{grid-column:1 / -1;gap:3px}
.compact-live-match-players .player-event-chip{padding:2px 5px;font-size:8px}
.compact-live-match-players .player-event-chip b{font-size:8px}
.compact-live-match-players .player-event-chip em{font-size:7px}
.compact-live-match-players .player-event-none{font-size:8px}
@media(max-width:1180px){.timer-live-row{grid-template-columns:1fr}.timer-live-row .timer-wrap{min-height:auto}.compact-live-match-players .live-player-list{max-height:220px}}
@media(max-width:700px){.compact-live-match-players{grid-template-columns:1fr}.compact-live-match-players .live-player-list{max-height:none}}

/* V30: live player card cleanup — keep name and events separated */
.compact-live-match-players .live-player-row{
  grid-template-columns:30px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:7px;
  row-gap:4px;
  align-items:center;
  min-height:52px;
  overflow:hidden;
}
.compact-live-match-players .live-player-figure{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:start;
  margin-top:1px;
}
.compact-live-match-players .live-player-info{
  grid-column:2;
  grid-row:1;
  min-width:0;
  overflow:hidden;
}
.compact-live-match-players .live-player-info strong{
  line-height:1.15;
  padding-right:2px;
}
.compact-live-match-players .live-player-events{
  grid-column:2;
  grid-row:2;
  display:flex;
  flex-wrap:wrap;
  gap:3px;
  min-width:0;
  overflow:hidden;
  align-items:center;
}
.compact-live-match-players .player-event-chip{
  display:inline-flex;
  align-items:center;
  gap:3px;
  min-width:0;
  max-width:100%;
  padding:2px 5px 2px 3px;
  line-height:1;
  border-radius:7px;
  overflow:hidden;
}
.compact-live-match-players .player-event-chip .event-mark{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  min-width:18px;
  height:16px;
  padding:0 3px;
  border-radius:5px;
  background:rgba(255,255,255,.10);
  font-size:7px;
  font-weight:900;
  letter-spacing:.1px;
  color:#fff;
}
.compact-live-match-players .player-event-chip b{
  display:block;
  min-width:0;
  max-width:72px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:7px;
}
.compact-live-match-players .player-event-chip em{
  flex:0 0 auto;
  font-size:7px;
}
.compact-live-match-players .player-event-chip.goal .event-mark{background:rgba(38,216,135,.36)}
.compact-live-match-players .player-event-chip.assist .event-mark{background:rgba(57,167,255,.36)}
.compact-live-match-players .player-event-chip.yellow .event-mark{background:#d9a900;color:#111}
.compact-live-match-players .player-event-chip.red .event-mark{background:#c83b46}
.compact-live-match-players .player-event-chip.foul .event-mark{background:rgba(255,138,61,.42)}
.compact-live-match-players .player-event-chip.save .event-mark{background:rgba(151,98,255,.42)}
.compact-live-match-players .player-event-chip.sub .event-mark{background:rgba(72,197,180,.42)}
.compact-live-match-players .player-event-none{
  line-height:1.15;
  opacity:.75;
}


/* V31: compact Events panel and expand the main match workspace */
#tab-game .game-control-grid{
  grid-template-columns:minmax(0,1.72fr) minmax(255px,.48fr);
  gap:14px;
  align-items:start;
}

.game-side-stack{display:flex;flex-direction:column;gap:14px;min-width:0}
#tab-game .game-side-sunday-card{margin-top:0;padding:14px;border-radius:18px;min-width:0}
#tab-game .game-side-sunday-card .section-kicker{margin-bottom:4px;font-size:9px;letter-spacing:1.2px}
#tab-game .game-side-sunday-card h2{font-size:15px;margin:0 0 6px;line-height:1.15}
#tab-game .game-side-sunday-card .sunday-record-title{align-items:flex-start;gap:8px}
#tab-game .game-side-sunday-card .sunday-date-chip{font-size:10px;padding:6px 9px}
#tab-game .game-side-sunday-card .sunday-record-hint{font-size:10px;line-height:1.35;max-width:none}
#tab-game .game-side-sunday-card .sunday-standings-wrap{margin-top:10px;border-radius:14px}
#tab-game .game-side-sunday-card .sunday-standings-table{font-size:11px;min-width:100%}
#tab-game .game-side-sunday-card .sunday-standings-table th,.game-side-sunday-card .sunday-standings-table td{padding:8px 6px}
#tab-game .game-side-sunday-card .sunday-standings-table th{font-size:9px;letter-spacing:.35px}
#tab-game .game-side-sunday-card .sunday-standing-team{gap:6px;font-size:11px}
#tab-game .game-side-sunday-card .sunday-standing-team .color-dot{width:10px;height:10px}
#tab-game .game-side-sunday-card .sunday-empty{min-height:130px;margin-top:0}

#tab-game .game-side-games-card{margin-top:0;padding:14px;border-radius:18px;min-width:0}
#tab-game .game-side-games-title{margin-bottom:10px}
#tab-game .game-side-games-card .section-kicker{margin-bottom:4px;font-size:9px;letter-spacing:1.2px}
#tab-game .game-side-games-card h2{font-size:15px;margin:0 0 6px;line-height:1.15}
.games-control-wrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(7,17,29,.74)}
.games-control-table{width:100%;border-collapse:collapse;font-size:11px;min-width:100%}
.games-control-table th,.games-control-table td{padding:9px 7px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center;white-space:nowrap}
.games-control-table th{color:#aabbd0;font-size:9px;text-transform:uppercase;letter-spacing:.45px;font-weight:800}
.games-control-table th:nth-child(3),.games-control-table td:nth-child(3){text-align:left}
.games-control-table tbody tr:last-child td{border-bottom:none}
.games-control-table tr.current-row td{background:linear-gradient(90deg,rgba(38,216,135,.10),rgba(38,216,135,.03))}
.games-control-table tr.leader td{box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.game-status-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;border:1px solid rgba(255,255,255,.09)}
.game-status-chip.live{background:rgba(38,216,135,.14);color:#caffdf;border-color:rgba(38,216,135,.28)}
.game-status-chip.saved{background:rgba(59,130,246,.14);color:#d9eaff;border-color:rgba(59,130,246,.28)}
.game-status-chip.next{background:rgba(245,158,11,.14);color:#ffe8bf;border-color:rgba(245,158,11,.28)}
#tab-game .game-main-card{
  padding:20px;
  min-width:0;
}
#tab-game .game-events-card{
  padding:14px;
  border-radius:18px;
  min-width:0;
}
#tab-game .game-events-card .section-kicker{
  margin-bottom:4px;
  font-size:9px;
  letter-spacing:1.2px;
}
#tab-game .game-events-card h2{
  font-size:16px;
  margin:0 0 10px;
}
#tab-game .game-events-card .form-grid{
  grid-template-columns:1fr;
  gap:7px;
}
#tab-game .game-events-card .form-grid label{
  font-size:10px;
}
#tab-game .game-events-card .form-grid input,
#tab-game .game-events-card .form-grid select{
  margin-top:3px;
  min-height:34px;
  padding:7px 9px;
  font-size:11px;
}
#tab-game .game-events-card #addEventBtn{
  margin-top:9px;
  padding:9px 10px;
  font-size:11px;
}
#tab-game .game-events-card h3{
  font-size:12px;
  margin:12px 0 7px;
}
#tab-game .game-events-card .event-log{
  max-height:155px;
  gap:5px;
}
#tab-game .game-events-card .event-item{
  padding:7px 8px;
  border-radius:10px;
  font-size:10px;
  line-height:1.2;
}
#tab-game .game-events-card .event-item small{
  font-size:9px;
}

/* Give the enlarged main column more useful breathing room */
#tab-game .game-main-card .scoreboard{
  gap:26px;
  margin:24px 0 20px;
}
#tab-game .game-main-card .team-score select{
  font-size:16px;
  min-height:42px;
}
#tab-game .game-main-card .score-controls{
  margin-top:12px;
  gap:14px;
}
#tab-game .game-main-card .score-controls strong{
  font-size:68px;
  min-width:84px;
}
#tab-game .timer-live-row{
  grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);
  gap:12px;
}
#tab-game .timer-live-row .timer-wrap{
  min-height:248px;
  padding:15px;
}
#tab-game .compact-live-match-players .live-player-list{
  max-height:290px;
}
#tab-game .compact-live-match-players .live-player-row{
  min-height:50px;
}
#tab-game .live-beside-timer{
  padding:10px;
}
#tab-game .live-beside-heading{
  margin-bottom:6px;
}

@media(max-width:1150px){
  #tab-game .game-control-grid{
    grid-template-columns:minmax(0,1fr) 280px;
  }
  #tab-game .timer-live-row{
    grid-template-columns:1fr;
  }
  #tab-game .timer-live-row .timer-wrap{min-height:auto}
}
@media(max-width:880px){
  #tab-game .game-control-grid{grid-template-columns:1fr}
  #tab-game .game-events-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tab-game .game-events-card .event-log{max-height:180px}
}
@media(max-width:560px){
  #tab-game .game-events-card .form-grid{grid-template-columns:1fr}
}


/* V32: save-match footer and completed matches archive */
.save-match-bar{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  padding:14px 16px;
  border:1px solid rgba(38,216,135,.24);
  background:linear-gradient(90deg,rgba(8,22,39,.72),rgba(22,93,65,.24));
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.save-match-copy{display:flex;flex-direction:column;gap:3px;text-align:right}
.save-match-copy strong{font-size:13px;color:#f3fff9}
.save-match-copy span{font-size:10px;color:#9fb6cc}
.save-match-btn{min-width:160px;padding:12px 18px;font-size:13px;font-weight:900;box-shadow:0 10px 24px rgba(38,216,135,.18)}
.completed-banner{margin-bottom:16px}
.completed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:16px 18px}
.completed-toolbar h2{margin:2px 0 0;font-size:22px}
.completed-count{display:grid;place-items:center;min-width:48px;height:48px;border-radius:15px;background:rgba(38,216,135,.14);border:1px solid rgba(38,216,135,.28);font-size:21px;font-weight:900;color:#d9ffea}
.completed-matches-list{display:grid;gap:14px}
.completed-match-card{padding:0;overflow:hidden}
.completed-match-summary{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(300px,1.25fr) auto;gap:18px;align-items:center;padding:16px 18px}
.completed-match-meta{display:flex;align-items:flex-start;gap:6px;flex-direction:column;min-width:0}
.completed-match-meta>strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.completed-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;text-align:center}
.completed-score span{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.completed-score b{font-size:28px;white-space:nowrap;color:#fff}
.completed-score b i{font-style:normal;color:#6f879f;font-size:17px;margin:0 5px}
.completed-match-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.completed-details{border-top:1px solid rgba(255,255,255,.07);background:rgba(3,11,21,.28)}
.completed-details>summary{cursor:pointer;padding:11px 18px;font-size:11px;font-weight:900;color:#cfe0f1;letter-spacing:.2px;user-select:none}
.completed-details>summary:hover{background:rgba(255,255,255,.025)}
.completed-details>h3{margin:15px 18px 8px;font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:#afc4d9}
.completed-time-meta{display:flex;gap:14px;flex-wrap:wrap;padding:0 18px 2px;color:#8199b1;font-size:10px}
.completed-teams-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px}
.completed-team-card{border:1px solid rgba(255,255,255,.08);background:rgba(7,19,34,.72);border-radius:14px;overflow:hidden}
.completed-team-head{display:flex;align-items:center;gap:8px;padding:9px 11px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.06)}
.completed-team-head strong{flex:1;font-size:12px}
.completed-team-head>span:last-child{font-size:10px;color:#8ea5bd}
.completed-roster{display:grid;gap:0;max-height:320px;overflow:auto}
.completed-player-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:start;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.045)}
.completed-player-row:last-child{border-bottom:0}
.completed-player-figure{width:30px;height:34px;transform:scale(.82);transform-origin:top left;margin-right:-5px}
.completed-player-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.completed-player-info>strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.completed-player-info>small{font-size:8px;color:#8097ae}
.completed-player-events{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
.completed-event-chip{display:inline-flex;gap:4px;align-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:6px;padding:2px 5px;font-size:7px;color:#dce8f5}
.completed-event-chip b{font-weight:800}.completed-event-chip em{font-style:normal;color:#8fa7bd}
.completed-no-events,.completed-empty{font-size:9px;color:#6f879e}
.completed-empty{padding:12px}
.completed-timeline{display:grid;gap:4px;padding:0 18px 18px}
.completed-timeline-row{display:grid;grid-template-columns:42px minmax(100px,.45fr) minmax(0,1fr);gap:9px;align-items:center;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.025);font-size:9px}
.completed-timeline-row strong{font-size:9px}.completed-timeline-row>span:last-child{color:#9db1c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.completed-minute{font-weight:900;color:#45d99a}
.completed-empty-state{padding:30px;text-align:center;color:#8ea5bd}
@media(max-width:1050px){.completed-match-summary{grid-template-columns:1fr 1fr}.completed-match-actions{grid-column:1/-1}.completed-teams-grid{grid-template-columns:1fr}}
@media(max-width:720px){.save-match-bar{align-items:stretch;flex-direction:column}.save-match-copy{text-align:left}.save-match-btn{width:100%}.completed-match-summary{grid-template-columns:1fr}.completed-score{grid-template-columns:1fr auto 1fr}.completed-match-actions{grid-column:auto;justify-content:flex-start}.completed-timeline-row{grid-template-columns:36px 1fr}.completed-timeline-row>span:last-child{grid-column:2}}

/* Attack direction indicator — lineup pitch */
.attack-direction{position:absolute;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(4,15,24,.58);border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 22px rgba(0,0,0,.22);backdrop-filter:blur(5px);color:#fff;font-weight:900;letter-spacing:.11em;text-transform:uppercase;text-shadow:0 2px 5px rgba(0,0,0,.38)}
.attack-direction span{font-size:10px;line-height:1}
.attack-direction b{font-size:27px;line-height:.75;color:#fff;font-family:Arial,sans-serif}
.formation-field.horizontal-view .attack-direction.attack-horizontal{left:50%;top:18px;transform:translateX(-50%)}
.formation-field.vertical-mode .attack-direction.attack-vertical{right:18px;top:50%;transform:translateY(-50%);flex-direction:column;padding:10px 8px}
.formation-field.vertical-mode .attack-direction.attack-vertical span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px}
.formation-field.vertical-mode .attack-direction.attack-vertical b{font-size:30px}
@media(max-width:780px){.attack-direction{padding:6px 9px}.attack-direction span{font-size:8px}.attack-direction b{font-size:22px}}


/* =========================================================
   V37 — Responsive system: phone / tablet / laptop / desktop
   ========================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overscroll-behavior-y:none}
button,a,select,input{touch-action:manipulation}
main{width:100%;max-width:1880px;padding-left:clamp(12px,2vw,30px);padding-right:clamp(12px,2vw,30px)}
.topbar,.tabs{padding-left:max(clamp(12px,2vw,30px),env(safe-area-inset-left));padding-right:max(clamp(12px,2vw,30px),env(safe-area-inset-right))}
.topbar{padding-top:max(14px,env(safe-area-inset-top))}
.brand{min-width:0}.brand>div{min-width:0}.brand h1{font-size:clamp(19px,1.7vw,27px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand p{font-size:clamp(10px,.9vw,13px)}
.brand-logo{width:clamp(54px,5vw,86px);height:clamp(54px,5vw,86px);flex:0 0 auto}
.tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity}
.tabs button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;min-height:42px}
.page-hero,.tab-banner{padding:clamp(22px,3vw,40px) clamp(18px,2.8vw,36px);border-radius:clamp(20px,2vw,30px)}
.page-hero h2,.tab-banner h2{font-size:clamp(28px,3.2vw,46px)}
.page-hero p,.tab-banner p{font-size:clamp(14px,1.25vw,18px)}
.overview-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.card{padding:clamp(14px,1.6vw,22px)}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
img,svg{max-width:100%}

/* Teams: one player column + responsive team columns; supports 2–6 teams */
.team-columns-layout{display:grid;grid-template-columns:minmax(255px,.95fr) minmax(0,4.05fr);gap:10px;overflow:visible;align-items:start}
.team-columns-layout .team-player-column{position:sticky;left:auto;top:164px;min-width:0;max-height:calc(100dvh - 185px);overflow:hidden}
.team-columns-layout .team-player-column .player-choice-grid{max-height:calc(100dvh - 390px);min-height:220px}
.team-columns-layout .team-columns-boards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px;min-width:0}
.team-columns-layout .team-roster-board{min-width:0;max-height:calc(100dvh - 185px)}
.team-columns-layout .team-board-players{max-height:calc(100dvh - 285px)}

/* Match screen scales without clipping */
#tab-game .scoreboard{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
#tab-game .team-score{min-width:0}
#tab-game .team-score select{max-width:100%}
#tab-game .score-controls strong{font-size:clamp(48px,5vw,72px);min-width:clamp(64px,6vw,92px)}
#tab-game .timer-live-row .timer{font-size:clamp(44px,5vw,76px)}
.compact-live-match-players,.live-match-players{min-width:0}
.live-player-row{min-width:0}

/* Formation remains horizontal and usable on touch devices */
.formation-panel{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.formation-field{max-width:none}
.formation-controls{flex-wrap:wrap}
.formation-controls .formation-label{min-width:145px;flex:1 1 145px}
.formation-controls button{flex:0 1 auto}

/* Tables / long data never force the whole page wider */
.championship-layout,.history-stats-grid,.completed-match-card,.card{min-width:0}
.championship-layout>*,.history-stats-grid>*{min-width:0}
.champ-standings{min-width:610px}
.championship-layout .card:has(.champ-standings){overflow-x:auto}
.completed-score span,.stats-main,.list-item>div{min-width:0}

/* Large monitors */
@media(min-width:1600px){
  main{max-width:1880px}
  #tab-game .game-control-grid{grid-template-columns:minmax(0,1.82fr) minmax(290px,.42fr)}
  #tab-game .timer-live-row{grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr)}
  .team-columns-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,5.1fr)}
  .team-columns-layout .team-columns-boards{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
  .formation-field.horizontal-view{width:min(100%,1280px)}
}

/* Laptop / landscape tablet */
@media(max-width:1200px){
  main{padding-top:20px}
  .topbar{gap:12px}
  .top-actions button{padding:10px 12px}
  .team-columns-layout{grid-template-columns:minmax(240px,.82fr) minmax(0,2.18fr)}
  .team-columns-layout .team-columns-boards{grid-template-columns:repeat(2,minmax(180px,1fr))}
  .championship-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* iPad portrait / small laptops */
@media(max-width:1024px){
  .topbar{position:relative;top:auto;flex-wrap:wrap}
  .tabs{top:0;z-index:30;background:rgba(6,14,24,.92);padding-top:9px;padding-bottom:9px}
  .top-actions{margin-left:auto}
  .page-hero,.tab-banner{margin-bottom:16px}
  .overview-grid{gap:10px;margin-bottom:16px}
  .team-columns-layout{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr)}
  .team-columns-layout .team-player-column{top:64px;max-height:calc(100dvh - 82px)}
  .team-columns-layout .team-player-column .player-choice-grid{max-height:calc(100dvh - 300px)}
  .team-columns-layout .team-columns-boards{grid-template-columns:repeat(2,minmax(165px,1fr))}
  .team-columns-layout .team-roster-board{max-height:none}
  .team-columns-layout .team-board-players{max-height:440px}
  .championship-layout{grid-template-columns:1fr}
  .championship-teams{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phones + narrow tablets */
@media(max-width:760px){
  :root{--radius:17px}
  main{padding:14px max(10px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
  .topbar{padding-bottom:12px;align-items:flex-start}
  .brand{width:100%;gap:10px}
  .brand p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
  .top-actions .language-select{grid-column:1/-1;width:100%;min-width:0}
  .top-actions button{width:100%;min-height:44px;padding:9px 10px}
  .tabs{gap:6px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));box-shadow:0 8px 20px rgba(0,0,0,.18)}
  .tabs button{min-height:44px;padding:9px 12px;font-size:12px}
  .page-hero,.tab-banner{padding:20px 17px;margin-bottom:12px}
  .page-hero h2,.tab-banner h2{font-size:clamp(25px,8vw,34px)}
  .page-hero p,.tab-banner p{font-size:14px;line-height:1.45}
  .hero-badges{gap:6px}.hero-badges span{font-size:10px;padding:6px 8px}
  .overview-grid{grid-template-columns:1fr;gap:8px}
  .overview-card{padding:12px 13px}.overview-card strong{font-size:15px}
  .card{padding:13px;border-radius:17px}
  button{min-height:42px}
  input,select{font-size:16px;min-height:44px;padding:10px 11px} /* prevents iOS focus zoom */

  /* Match */
  #tab-game .game-main-card{padding:13px}
  .match-main-fields{grid-template-columns:1fr}
  .mvp-current-panel{padding:10px}
  #tab-game .scoreboard{gap:7px;margin:18px 0 14px}
  #tab-game .team-score select{font-size:13px;padding:8px 6px;min-height:40px}
  #tab-game .score-controls{gap:7px;margin-top:9px}
  #tab-game .score-controls button{width:42px;height:42px;min-height:42px;font-size:21px}
  #tab-game .score-controls strong{font-size:46px;min-width:48px;letter-spacing:-2px}
  #tab-game .versus{font-size:21px}
  #tab-game .timer-live-row{grid-template-columns:1fr}
  #tab-game .timer-live-row .timer-wrap{padding:12px;min-height:auto}
  #tab-game .timer-live-row .timer{font-size:clamp(42px,15vw,62px)}
  .timer-controls,.period-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .timer-controls button,.period-controls button{width:100%;margin:0}
  .compact-live-match-players{grid-template-columns:1fr}
  .compact-live-match-players .live-player-list{max-height:none}
  #tab-game .game-events-card .form-grid{grid-template-columns:1fr}
  .save-match-bar{padding:12px;gap:10px}

  /* Teams: available players first, team cards swipe horizontally below */
  .teams-compact .tab-banner{padding:18px 16px}
  .teams-compact .tab-banner h2{font-size:25px}
  .team-columns-layout{display:grid;grid-template-columns:1fr;gap:10px;overflow:visible}
  .team-columns-layout .team-player-column{position:relative;top:auto;left:auto;max-height:none;min-width:0}
  .team-columns-layout .team-player-column .player-choice-grid{max-height:380px;min-height:0}
  .team-columns-layout .team-columns-boards{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(220px,82vw);grid-template-columns:none;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .team-columns-layout .team-roster-board{scroll-snap-align:start;max-height:none;min-width:0}
  .team-columns-layout .team-board-players{max-height:430px}
  .team-columns-layout .player-choice-card{grid-template-columns:36px minmax(0,1fr)}
  .team-columns-layout .player-choice-card .player-avatar{width:36px;height:36px}
  .team-columns-layout .player-choice-info strong{font-size:12px}
  .team-columns-layout .player-choice-info small{font-size:10px}
  .team-columns-layout .player-team-select-row{grid-template-columns:1fr auto}
  .team-columns-layout .player-team-select{font-size:14px!important;min-height:40px}
  .team-columns-layout .player-team-choose{font-size:11px!important;min-height:40px}

  /* Players / generic forms */
  .form-grid{grid-template-columns:1fr}
  .list-item{grid-template-columns:auto minmax(0,1fr);gap:9px}
  .list-actions,.list-item>button{grid-column:1/-1}
  .features{columns:1}

  /* Lineup: preserve a readable horizontal pitch, swipe it on phones */
  .formation-panel{padding:10px;overflow-x:auto}
  .formation-controls{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8px}
  .formation-controls .formation-label{min-width:0;width:100%}
  .formation-controls .formation-label select{min-width:0;width:100%;font-size:14px}
  .formation-controls button{width:100%;min-height:42px}
  .formation-drag-hint{font-size:10px;padding:8px 9px}
  .formation-field.horizontal-view{width:680px;min-width:680px;aspect-ratio:105/68}
  .formation-player{min-width:62px;max-width:74px;padding:5px 4px;border-radius:12px;font-size:8px}
  .formation-player strong{font-size:8px;max-width:66px}.formation-player small{font-size:7px}
  .player-jersey{width:27px;height:24px;margin-bottom:3px}.player-jersey span{font-size:8px}
  .formation-player .bench-move{font-size:7px;padding:3px 5px;margin-top:3px;min-height:0}
  .bench-list{gap:7px}.bench-player{padding:8px;flex-direction:row;align-items:center}

  /* History */
  .history-stats-grid{grid-template-columns:1fr;gap:10px}
  .stats-row{grid-template-columns:auto minmax(0,1fr);gap:9px}
  .stats-value{grid-column:2;text-align:left}
  .completed-match-summary{grid-template-columns:1fr;gap:10px;padding:13px}
  .completed-score{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .completed-score span{white-space:normal;font-size:11px}
  .completed-score b{font-size:23px}
  .completed-teams-grid{grid-template-columns:1fr;padding:0 12px}
  .completed-details>h3,.completed-time-meta,.completed-timeline{margin-left:0;margin-right:0;padding-left:12px;padding-right:12px}
  .completed-match-actions{justify-content:stretch}.completed-match-actions button{flex:1 1 130px}

  /* Championship */
  .championship-form-grid,.championship-summary-grid,.championship-teams{grid-template-columns:1fr}
  .championship-actions{display:grid;grid-template-columns:1fr 1fr}.championship-actions button{width:100%}
  .champ-summary-card strong{font-size:22px}
  .champ-match-row{grid-template-columns:minmax(0,1fr) 48px auto 48px minmax(0,1fr);gap:5px;padding:8px 6px}
  .champ-match-row button{grid-column:1/-1;width:100%}
  .champ-match-row input{min-width:0;padding:7px 4px;text-align:center}

  /* Modal = phone-friendly sheet */
  .modal-backdrop{padding:8px;align-items:end}
  .modal-card{width:100%;max-height:92dvh;border-radius:20px 20px 12px 12px;padding:15px}
  .modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions button{width:100%}
}

/* Very small phones */
@media(max-width:420px){
  main{padding-left:8px;padding-right:8px}
  .brand h1{font-size:18px}.brand-logo{width:48px;height:48px}
  .topbar p{font-size:9px}
  .page-hero,.tab-banner{border-radius:18px;padding:17px 14px}
  .page-hero h2,.tab-banner h2{font-size:24px}
  #tab-game .scoreboard{gap:4px}
  #tab-game .team-score select{font-size:11px}
  #tab-game .score-controls button{width:38px;height:38px;min-height:38px}
  #tab-game .score-controls strong{font-size:40px;min-width:42px}
  .timer-controls,.period-controls{grid-template-columns:1fr}
  .formation-controls{grid-template-columns:1fr}
  .team-columns-layout .team-columns-boards{grid-auto-columns:minmax(210px,88vw)}
  .championship-actions{grid-template-columns:1fr}
  .modal-actions{grid-template-columns:1fr}
}

/* Landscape phones: favor horizontal match workspace */
@media(max-height:520px) and (orientation:landscape){
  .page-hero{display:none}
  main{padding-top:10px}
  .topbar{position:relative;padding-top:8px;padding-bottom:8px}
  .brand-logo{width:46px;height:46px}.topbar p{display:none}
  .tabs{top:0}
  #tab-game .timer-live-row{grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr)}
  #tab-game .timer-live-row .timer-wrap{min-height:auto}
  .compact-live-match-players{grid-template-columns:1fr 1fr}
}

/* v38 - non-blocking floating match timer */
.floating-timer-popup{
  position:fixed;
  top:clamp(78px,9vh,116px);
  left:50%;
  transform:translateX(-50%);
  z-index:999;
  min-width:220px;
  padding:12px 22px 14px;
  border-radius:18px;
  background:rgba(4,13,24,.93);
  border:1px solid rgba(95,231,171,.42);
  box-shadow:0 18px 48px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  text-align:center;
  pointer-events:none; /* page below remains fully interactive */
  user-select:none;
  animation:floatingTimerIn .18s ease-out;
}
.floating-timer-popup.hidden{display:none}
.floating-timer-status{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  color:#83f3bf;
}
.floating-timer-dot{
  width:8px;height:8px;border-radius:50%;
  background:#45e69b;
  box-shadow:0 0 0 5px rgba(69,230,155,.11);
  animation:floatingTimerPulse 1.25s infinite;
}
.floating-timer-period{margin-top:5px;color:#b8c7d8;font-size:12px;font-weight:700}
.floating-timer-value{
  margin-top:1px;
  font-variant-numeric:tabular-nums;
  font-size:clamp(40px,5vw,62px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.045em;
  color:#fff;
  text-shadow:0 5px 24px rgba(0,0,0,.35);
}
@keyframes floatingTimerIn{from{opacity:0;transform:translate(-50%,-10px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes floatingTimerPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
@media(max-width:700px){
  .floating-timer-popup{top:74px;min-width:178px;padding:9px 16px 11px;border-radius:15px}
  .floating-timer-value{font-size:42px}
  .floating-timer-period{font-size:11px}
}
@media(max-height:620px) and (orientation:landscape){
  .floating-timer-popup{top:58px;left:auto;right:12px;transform:none;min-width:164px;padding:8px 14px 9px}
  .floating-timer-value{font-size:36px}
  @keyframes floatingTimerIn{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
}

/* v39 — keep team columns wide; compact row height only */
.team-columns-layout{
  grid-template-columns:minmax(285px,1fr) minmax(0,5fr);
}
.team-columns-layout .team-player-column{
  min-width:285px;
}
.team-columns-layout .team-columns-boards{
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;
}
.team-columns-layout .team-roster-board{
  min-width:205px;
}

/* Compact available-player rows without narrowing the column */
.team-columns-layout .player-choice-grid{gap:3px}
.team-columns-layout .player-choice-card{
  grid-template-columns:24px minmax(0,1fr);
  gap:5px;
  padding:4px 6px;
  border-radius:8px;
  min-height:0;
}
.team-columns-layout .player-choice-card .player-avatar{
  width:24px;
  height:24px;
  border-radius:7px;
  font-size:8px;
}
.team-columns-layout .player-choice-info{line-height:1.05}
.team-columns-layout .player-choice-info strong{font-size:10px;line-height:1.05}
.team-columns-layout .player-choice-info small{font-size:7px;line-height:1.05;margin-top:1px}
.team-columns-layout .player-team-select-row{gap:3px;margin-top:1px}
.team-columns-layout .player-team-select{
  min-height:28px!important;
  height:28px;
  padding:3px 6px!important;
  font-size:8px!important;
}
.team-columns-layout .player-team-choose{
  min-height:28px!important;
  height:28px;
  padding:3px 7px!important;
  font-size:8px!important;
}

/* Compact team roster rows while keeping cards/columns wide */
.team-columns-layout .team-board-players{gap:2px;padding:5px}
.team-columns-layout .team-board-player{
  grid-template-columns:21px minmax(0,1fr) auto;
  gap:4px;
  padding:3px 5px;
  border-radius:7px;
  min-height:0;
}
.team-columns-layout .team-board-player .player-avatar{
  width:21px;
  height:21px;
  border-radius:6px;
  font-size:7px;
}
.team-columns-layout .team-board-player>div{line-height:1.05}
.team-columns-layout .team-board-player strong{font-size:8px;line-height:1.05}
.team-columns-layout .team-board-player small{font-size:6.5px;line-height:1.05;margin-top:0}
.team-columns-layout .team-board-actions{gap:2px}
.team-columns-layout .team-board-actions button{
  min-height:24px!important;
  height:24px;
  padding:2px 4px!important;
  font-size:7px!important;
  border-radius:6px!important;
}

@media(min-width:1600px){
  .team-columns-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,5.1fr)}
  .team-columns-layout .team-player-column{min-width:320px}
  .team-columns-layout .team-columns-boards{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))!important}
  .team-columns-layout .team-roster-board{min-width:225px}
}

@media(max-width:1200px) and (min-width:761px){
  .team-columns-layout{grid-template-columns:minmax(275px,.88fr) minmax(0,2.12fr)}
  .team-columns-layout .team-player-column{min-width:275px}
  .team-columns-layout .team-columns-boards{grid-template-columns:repeat(2,minmax(205px,1fr))!important}
  .team-columns-layout .team-roster-board{min-width:205px}
}

@media(max-width:760px){
  .team-columns-layout{grid-template-columns:1fr}
  .team-columns-layout .team-player-column{min-width:0}
  .team-columns-layout .team-columns-boards{
    grid-template-columns:none!important;
    grid-auto-columns:minmax(265px,86vw)!important;
  }
  .team-columns-layout .team-roster-board{min-width:0}
  .team-columns-layout .player-choice-card{
    grid-template-columns:28px minmax(0,1fr);
    padding:5px 7px;
  }
  .team-columns-layout .player-choice-card .player-avatar{width:28px;height:28px}
  .team-columns-layout .player-team-select{min-height:34px!important;height:34px;font-size:12px!important}
  .team-columns-layout .player-team-choose{min-height:34px!important;height:34px;font-size:10px!important}
  .team-columns-layout .team-board-player{grid-template-columns:24px minmax(0,1fr) auto;padding:4px 6px}
  .team-columns-layout .team-board-player .player-avatar{width:24px;height:24px}
  .team-columns-layout .team-board-actions button{min-height:30px!important;height:30px}
}


@media (max-width: 900px){
  .page-hero{padding:20px 20px}
  .page-hero h2{font-size:26px}
  .page-hero p{font-size:15px}
}
@media (max-width: 640px){
  .page-hero{padding:18px 16px;border-radius:22px}
  .page-hero h2{font-size:22px}
  .page-hero p{font-size:14px;line-height:1.4}
  .page-hero .hero-badges span{padding:6px 9px;font-size:11px}
}


.match-status-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.game-order-pill{background:rgba(38,216,135,.15);color:#caffdf;border-color:rgba(38,216,135,.38);font-size:14px}
.history-game-order{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(38,216,135,.12);border:1px solid rgba(38,216,135,.3);color:#caffdf;font-size:12px;font-weight:800;margin-left:6px}
@media (max-width:640px){.match-status-pills{justify-content:flex-start}.game-order-pill{font-size:13px}.score-center-info{min-width:88px;gap:7px}.game-order-pill.in-scoreboard{font-size:12px;padding:6px 10px}}


/* v43: Teams tab uses the available screen area: player list at left, team cards in a 2-column grid at right */
.team-columns-layout{
  display:grid !important;
  grid-template-columns:minmax(285px,320px) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
  overflow:visible !important;
}
.team-columns-layout .team-player-column{
  min-width:0 !important;
  width:100% !important;
  position:sticky;
  top:92px;
  left:auto !important;
  align-self:start;
}
.team-columns-layout .team-columns-boards{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(300px,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
  min-width:0 !important;
  overflow:visible !important;
}
.team-columns-layout .team-roster-board{
  min-width:0 !important;
  width:100% !important;
  max-height:none !important;
  min-height:245px;
}
.team-columns-layout .team-roster-board-header{
  padding:11px 12px !important;
}
.team-columns-layout .team-board-title strong{
  font-size:12px !important;
}
.team-columns-layout .team-board-meta span{
  font-size:8px !important;
  padding:3px 5px !important;
}
.team-columns-layout .team-board-players{
  max-height:330px !important;
  min-height:185px;
  padding:8px !important;
  gap:5px !important;
}
.team-columns-layout .team-board-player{
  grid-template-columns:27px minmax(0,1fr) auto !important;
  gap:6px !important;
  padding:6px !important;
}
.team-columns-layout .team-board-player .player-avatar{
  width:27px !important;
  height:27px !important;
  font-size:8px !important;
}
.team-columns-layout .team-board-player strong{font-size:9px !important}
.team-columns-layout .team-board-player small{font-size:8px !important}
.team-columns-layout .team-board-actions button{padding:4px 5px !important;font-size:8px !important}

@media (max-width:1100px){
  .team-columns-layout{
    grid-template-columns:minmax(250px,285px) minmax(0,1fr) !important;
  }
  .team-columns-layout .team-columns-boards{
    grid-template-columns:1fr !important;
  }
  .team-columns-layout .team-player-column{top:82px}
}
@media (max-width:760px){
  .team-columns-layout{
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }
  .team-columns-layout .team-player-column{
    position:relative !important;
    top:auto !important;
  }
  .team-columns-layout .team-columns-boards{
    grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
    overflow-x:auto !important;
    padding-bottom:8px;
  }
}
@media (max-width:560px){
  .team-columns-layout .team-columns-boards{
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }
}


/* v44 — Sunday wins/losses control */
.sunday-record-card,.sunday-history-card{margin-top:20px}
.sunday-record-title{align-items:flex-end}
.sunday-record-title h2{margin-bottom:5px}
.sunday-record-hint{margin:0;max-width:760px}
.sunday-date-chip{white-space:nowrap;border:1px solid rgba(38,216,135,.28);background:rgba(38,216,135,.08);color:#caffdf;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;text-transform:capitalize}
.sunday-date-filter{min-width:230px;color:var(--muted);font-size:12px;font-weight:800}
.sunday-date-filter select{margin-top:6px}
.sunday-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin-top:16px}
.sunday-standings-wrap{margin-top:16px;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(7,17,29,.74)}
.sunday-standings-table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
.sunday-standings-table th,.sunday-standings-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center;white-space:nowrap}
.sunday-standings-table th{color:#aabbd0;font-size:11px;text-transform:uppercase;letter-spacing:.55px;font-weight:800}
.sunday-standings-table th:nth-child(2),.sunday-standings-table td:nth-child(2){text-align:left}
.sunday-standings-table tbody tr:last-child td{border-bottom:none}
.sunday-standings-table tr.leader td{background:linear-gradient(90deg,rgba(38,216,135,.1),rgba(38,216,135,.03))}
.sunday-standing-team{display:flex;align-items:center;gap:9px;font-weight:800;color:#eaf4ff}
.current-sunday-record-card .sunday-record-grid{display:block}
.sunday-team-record{min-width:0;border:1px solid rgba(255,255,255,.08);background:rgba(7,17,29,.74);border-radius:16px;padding:13px}
.sunday-team-record.sunday-leader{border-color:rgba(38,216,135,.3);background:linear-gradient(180deg,rgba(38,216,135,.08),rgba(7,17,29,.76))}
.sunday-team-head{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:10px}
.sunday-team-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sunday-leader-chip{margin-left:auto;font-size:10px;font-weight:900;color:#caffdf;background:rgba(38,216,135,.12);border:1px solid rgba(38,216,135,.25);border-radius:999px;padding:4px 7px}
.sunday-record-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sunday-record-numbers span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}
.sunday-record-numbers b{font-size:20px;line-height:1}
.sunday-record-numbers small{margin-top:5px;color:var(--muted);font-size:10px;font-weight:800}
.sunday-record-numbers .win b{color:#72e7aa}.sunday-record-numbers .loss b{color:#ff8a91}
.sunday-record-extra{display:flex;gap:8px 12px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:11px}
.sunday-record-extra b{color:var(--text)}
.sunday-summary-strip{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.sunday-summary-strip span{min-width:105px;display:flex;align-items:baseline;gap:7px;border:1px solid rgba(255,255,255,.07);background:rgba(8,17,30,.45);border-radius:12px;padding:8px 10px}
.sunday-summary-strip b{font-size:18px}.sunday-summary-strip small{color:var(--muted);font-size:10px;font-weight:800}
.sunday-empty{grid-column:1/-1;border:1px dashed rgba(255,255,255,.12);border-radius:14px;padding:18px;text-align:center;color:var(--muted)}
.sunday-empty strong,.sunday-empty small{display:block}.sunday-empty small{margin-top:5px}
@media (max-width:800px){.sunday-record-title{align-items:stretch;flex-direction:column}.sunday-date-filter{min-width:0;width:100%}.sunday-date-chip{align-self:flex-start}.sunday-record-grid{grid-template-columns:1fr}}


@media (max-width: 900px){
  #tab-game .game-side-sunday-card .sunday-standings-table{min-width:620px}
}


/* v48 — Permanent player database + game-day attendance */
.game-day-player-picker{margin-bottom:20px;padding:20px}
.game-day-player-picker-head{align-items:flex-start}
.game-day-selection-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.game-day-selection-tools button{min-height:38px;padding:8px 12px}
.danger-soft{border-color:rgba(239,68,68,.25)!important;background:rgba(239,68,68,.08)!important;color:#ffd2d2!important}
.game-day-player-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}
.game-day-player-summary>div{padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(7,17,29,.64)}
.game-day-player-summary small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}
.game-day-player-summary strong{display:block;margin-top:3px;font-size:25px;line-height:1}
.game-day-selected-players{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;min-height:38px;align-items:center}
.selected-player-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border-radius:999px;background:rgba(38,216,135,.10);border:1px solid rgba(38,216,135,.26);color:#d9ffea;font-size:11px;font-weight:800}
.selected-player-chip b{font-size:15px;color:#ffb7b7;line-height:1}
.game-day-selection-empty{width:100%;padding:11px 13px;border:1px dashed rgba(255,255,255,.12);border-radius:13px;color:var(--muted);font-size:12px;text-align:center}
.player-database-grid{align-items:start}
.player-database-row{transition:border-color .18s ease,background .18s ease}
.player-database-row.selected-for-game{border-color:rgba(38,216,135,.24);background:linear-gradient(90deg,rgba(38,216,135,.06),rgba(8,16,28,.78))}
.player-database-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.player-database-actions .attendance-btn{min-width:118px}
.player-database-actions .attendance-btn.selected{background:rgba(38,216,135,.14);border-color:rgba(38,216,135,.30);color:#d9ffea}
@media (max-width:900px){
  .game-day-player-picker-head{flex-direction:column;align-items:stretch}
  .game-day-selection-tools{justify-content:flex-start}
  .player-database-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .game-day-player-picker{padding:14px}
  .game-day-player-summary{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .game-day-player-summary>div{padding:9px 8px}
  .game-day-player-summary small{font-size:8px}
  .game-day-player-summary strong{font-size:21px}
  .player-database-row{grid-template-columns:auto minmax(0,1fr)}
  .player-database-actions{grid-column:1/-1;justify-content:flex-start}
  .player-database-actions .attendance-btn{flex:1 1 150px}
}


/* v49 — Teams: quick player registration + game-day selection; Players: maintenance */
.teams-player-entry-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:14px;margin-bottom:14px;align-items:stretch}
.teams-quick-player-card,.teams-game-day-picker{margin:0;min-width:0}
.teams-quick-player-card{padding:16px}
.teams-quick-player-card h2{font-size:18px;margin:0 0 5px}
.quick-player-form{display:grid;grid-template-columns:1.2fr .6fr .65fr 1fr .75fr;gap:8px;align-items:end;margin-top:12px}
.quick-player-form label{font-size:10px;color:var(--muted);font-weight:700;min-width:0}
.quick-player-form input,.quick-player-form select{margin-top:4px;min-height:38px;padding:8px 9px;font-size:12px}
.quick-player-add-btn{grid-column:1/-1;min-height:40px}
.teams-game-day-picker{padding:16px}
.teams-game-day-picker .game-day-player-picker-head{align-items:flex-start}
.game-day-pool-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;margin-bottom:7px}
.game-day-pool-head strong{font-size:12px}
.game-day-pool-head input{width:min(240px,45%);min-height:36px;padding:7px 9px;font-size:12px}
.game-day-player-pool{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;max-height:250px;overflow:auto;padding-right:3px}
.game-day-pool-player{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 7px;border-radius:11px;border:1px solid rgba(255,255,255,.07);background:rgba(7,17,29,.6)}
.game-day-pool-player.selected{border-color:rgba(38,216,135,.27);background:rgba(38,216,135,.07)}
.game-day-pool-player .player-avatar{width:30px;height:30px;border-radius:9px;font-size:9px}
.game-day-pool-info{min-width:0;line-height:1.15}
.game-day-pool-info strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-day-pool-info small{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-day-pool-player .attendance-btn{padding:6px 8px!important;font-size:9px!important;white-space:nowrap}
.player-maintenance-card .player-database-row{grid-template-columns:auto minmax(0,1fr) auto}
.player-maintenance-card .player-database-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1180px){
  .teams-player-entry-grid{grid-template-columns:1fr}
  .quick-player-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick-player-add-btn{grid-column:auto}
}
@media(max-width:760px){
  .quick-player-form{grid-template-columns:1fr 1fr}
  .quick-player-add-btn{grid-column:1/-1}
  .game-day-player-picker-head{flex-direction:column;align-items:stretch}
  .game-day-selection-tools{justify-content:flex-start}
  .game-day-pool-head{align-items:stretch;flex-direction:column}
  .game-day-pool-head input{width:100%}
  .game-day-player-pool{grid-template-columns:1fr;max-height:320px}
}
@media(max-width:480px){
  .quick-player-form{grid-template-columns:1fr}
  .quick-player-add-btn{grid-column:auto}
  .game-day-player-summary{grid-template-columns:1fr 1fr 1fr}
  .game-day-pool-player{grid-template-columns:32px minmax(0,1fr)}
  .game-day-pool-player .attendance-btn{grid-column:1/-1;width:100%}
}


/* v50 — permanent player identity fields */
.player-full-name{margin-top:3px;color:#c7d7e8;font-size:12px;font-weight:700}
.quick-player-form{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.quick-player-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.quick-player-form{grid-template-columns:1fr}}


/* v51 — compact section banners throughout the application */
#tab-game .page-hero,
.tab .tab-banner{
  padding:14px 20px !important;
  margin-bottom:12px !important;
  border-radius:20px !important;
  min-height:0 !important;
  background-position:center 44% !important;
}
#tab-game .page-hero-content,
.tab .tab-banner > div{
  max-width:980px !important;
}
#tab-game .page-hero .eyebrow,
.tab .tab-banner .eyebrow{
  font-size:9px !important;
  line-height:1.1 !important;
  letter-spacing:1.15px !important;
  margin:0 0 5px !important;
}
#tab-game .page-hero h2,
.tab .tab-banner h2{
  font-size:clamp(22px,2vw,30px) !important;
  line-height:1.04 !important;
  letter-spacing:-.55px !important;
  margin:0 0 6px !important;
  max-width:900px !important;
}
#tab-game .page-hero p,
.tab .tab-banner p{
  font-size:13px !important;
  line-height:1.35 !important;
  max-width:960px !important;
  margin:0 !important;
}
#tab-game .page-hero .hero-badges{
  gap:6px !important;
  margin-top:8px !important;
}
#tab-game .page-hero .hero-badges span{
  padding:4px 8px !important;
  font-size:10px !important;
}

@media (max-width:900px){
  #tab-game .page-hero,
  .tab .tab-banner{
    padding:12px 16px !important;
    margin-bottom:10px !important;
    border-radius:18px !important;
  }
  #tab-game .page-hero h2,
  .tab .tab-banner h2{font-size:22px !important}
  #tab-game .page-hero p,
  .tab .tab-banner p{font-size:12px !important}
}
@media (max-width:640px){
  #tab-game .page-hero,
  .tab .tab-banner{
    padding:11px 13px !important;
    border-radius:16px !important;
  }
  #tab-game .page-hero h2,
  .tab .tab-banner h2{font-size:19px !important}
  #tab-game .page-hero p,
  .tab .tab-banner p{font-size:11px !important;line-height:1.3 !important}
  #tab-game .page-hero .hero-badges{margin-top:6px !important}
  #tab-game .page-hero .hero-badges span{font-size:9px !important;padding:3px 7px !important}
}


/* v52 - static integrated navigation bar (no floating/sticky menu) */
.tabs{
  position:relative !important;
  top:auto !important;
  z-index:5 !important;
  padding:8px max(clamp(12px,2vw,30px),env(safe-area-inset-right)) 8px max(clamp(12px,2vw,30px),env(safe-area-inset-left)) !important;
  gap:6px !important;
  background:#07111d !important;
  border-top:1px solid rgba(255,255,255,.035) !important;
  border-bottom:1px solid var(--border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
.tabs button{
  min-height:38px !important;
  padding:8px 13px !important;
  border-radius:11px !important;
  box-shadow:none !important;
}
.tabs button.active{
  background:rgba(38,216,135,.12) !important;
  border-color:rgba(38,216,135,.28) !important;
  box-shadow:inset 0 0 0 1px rgba(38,216,135,.08) !important;
}
@media (max-width:780px){
  .tabs{padding-top:7px !important;padding-bottom:7px !important;}
  .tabs button{min-height:40px !important;padding:8px 11px !important;font-size:12px !important;}
}

/* v53: lineup uses only rosters defined in Teams */
.lineup-readonly-player{grid-template-columns:1fr!important;padding-right:12px}
.lineup-readonly-player button{display:none!important}
.lineup-empty-team{padding:16px 10px;text-align:center;color:var(--muted);border:1px dashed rgba(255,255,255,.1);border-radius:12px;font-size:12px}


/* v54 — consolidated responsive layer: prevent controls/buttons from overlapping */
html,body{width:100%;max-width:100%;overflow-x:hidden}
main,.tab,.card,.grid,.section-title,.match-header,.topbar,.top-actions,.team-columns-layout,.team-columns-boards,.lineup-board,.championship-layout{min-width:0}
button,input,select,textarea{max-width:100%;min-width:0}
button{white-space:normal;line-height:1.15;height:auto}
img,svg{max-width:100%}

/* shared action groups */
.top-actions,.timer-controls,.period-controls,.championship-actions,.modal-actions,.history-actions,.list-actions,.player-database-actions,.game-day-selection-tools,.team-board-actions,.formation-controls{
  flex-wrap:wrap;
}
.top-actions>*{min-width:0}
.timer-controls button,.period-controls button,.championship-actions button,.modal-actions button,.history-actions button,.list-actions button{
  flex:0 1 auto;
}

/* Match: flexible main/side columns */
#tab-game .game-control-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.55fr);gap:14px;align-items:start}
.game-side-stack{min-width:0}
#tab-game .game-main-card,#tab-game .game-events-card,#tab-game .game-side-sunday-card,#tab-game .game-side-games-card{min-width:0}
#tab-game .match-main-fields{min-width:0}
#tab-game .match-field-label{min-width:0}
#tab-game .scoreboard>*{min-width:0}
#tab-game .team-score select{width:100%;min-width:0}
#tab-game .timer-controls,#tab-game .period-controls{justify-content:center}
#tab-game .timer-controls button,#tab-game .period-controls button{min-width:110px}

/* Teams: robust responsive cards */
.teams-player-entry-grid>*{min-width:0}
.quick-player-form>*{min-width:0}
.game-day-selection-tools button{flex:1 1 130px}
.game-day-pool-player{min-width:0}
.game-day-pool-player>*{min-width:0}
.team-columns-layout .team-player-column,.team-columns-layout .team-columns-boards,.team-columns-layout .team-roster-board{min-width:0}
.team-columns-layout .team-board-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
.team-columns-layout .team-board-actions button{flex:0 1 auto}

/* Players maintenance */
.player-database-row{min-width:0}
.player-database-row>*{min-width:0}
.player-database-actions{display:flex;flex-wrap:wrap;gap:6px}
.player-database-actions button{flex:1 1 110px;min-width:0}
.player-full-name{overflow-wrap:anywhere}

/* Lineup controls */
.formation-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end}
.formation-controls .formation-label{min-width:0!important;width:100%}
.formation-controls .formation-label select{width:100%!important;min-width:0!important}
.formation-controls button{width:100%;min-width:0}
.lineup-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));overflow:visible}
.lineup-team{min-width:0}
.player-chip{align-items:center;flex-wrap:wrap}
.player-chip>*{min-width:0}

/* History / tables / championship */
.sunday-standings-wrap,.games-control-wrap,.championship-layout .card:has(.champ-standings),.history-stats-grid .card{max-width:100%}
.completed-match-actions,.champ-saved-actions{flex-wrap:wrap}
.completed-match-actions button,.champ-saved-actions button{flex:1 1 130px;min-width:0}
.championship-actions button{min-width:150px}

/* Desktop/laptop refinement */
@media (max-width:1280px){
  main{padding-left:20px;padding-right:20px}
  .topbar{padding-left:20px;padding-right:20px}
  #tab-game .game-control-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.62fr)}
  .teams-player-entry-grid{grid-template-columns:1fr}
  .team-columns-layout{grid-template-columns:minmax(260px,310px) minmax(0,1fr)!important}
}

/* iPad landscape / small laptop: no squeezed sidebars */
@media (max-width:1100px){
  #tab-game .game-control-grid{grid-template-columns:1fr}
  .game-side-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #tab-game .game-events-card{grid-column:1/-1}
  .team-columns-layout{grid-template-columns:1fr!important;gap:12px!important}
  .team-columns-layout .team-player-column{position:relative!important;top:auto!important;max-height:none!important}
  .team-columns-layout .team-player-column .player-choice-grid{max-height:420px!important}
  .team-columns-layout .team-columns-boards{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .team-columns-layout .team-roster-board{min-width:0!important}
  .lineup-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .championship-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .top-actions{justify-content:flex-end}
}

/* iPad portrait / large phones */
@media (max-width:820px){
  main{padding:12px}
  .topbar{position:relative!important;display:grid;grid-template-columns:1fr;gap:10px;padding:12px}
  .brand{width:100%;min-width:0}
  .brand h1{font-size:clamp(18px,4vw,23px);white-space:normal;line-height:1.1}
  .brand p{white-space:normal;line-height:1.25}
  .brand-logo{width:58px;height:58px}
  .top-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:7px;margin:0}
  .top-actions>*{width:100%!important;min-width:0!important;min-height:42px}
  .language-select{min-width:0!important}

  /* static nav becomes a clean multi-row grid instead of squeezing */
  .tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;overflow:visible!important;padding:8px 12px!important}
  .tabs button{width:100%;min-width:0!important;min-height:40px!important;padding:8px 6px!important;font-size:11px!important;white-space:normal!important}

  .overview-grid{grid-template-columns:1fr!important}
  .game-side-stack{grid-template-columns:1fr}
  #tab-game .game-events-card{grid-column:auto}
  #tab-game .match-header-pro{align-items:stretch;flex-direction:column}
  #tab-game .match-main-fields{grid-template-columns:1fr!important}
  #tab-game .match-status-pills{justify-content:flex-start}
  #tab-game .timer-controls,#tab-game .period-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  #tab-game .timer-controls button,#tab-game .period-controls button{width:100%;min-width:0;margin:0}

  .quick-player-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quick-player-add-btn{grid-column:1/-1!important}
  .game-day-selection-tools{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .game-day-selection-tools button{width:100%;min-width:0}
  .game-day-pool-head{align-items:stretch;flex-direction:column}
  .game-day-pool-head input{width:100%}
  .game-day-player-pool{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px}

  .team-columns-layout .team-columns-boards{grid-template-columns:1fr!important}
  .team-columns-layout .team-board-actions{justify-content:flex-start}
  .team-columns-layout .team-board-actions button{flex:1 1 90px}

  .player-maintenance-card .player-database-row,.player-database-row{grid-template-columns:auto minmax(0,1fr)!important}
  .player-database-actions{grid-column:1/-1;justify-content:flex-start;width:100%}
  .player-database-actions button{flex:1 1 130px}

  .lineup-board{grid-template-columns:1fr}
  .formation-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formation-panel{max-width:100%;overflow-x:auto}

  .championship-form-grid,.championship-summary-grid,.championship-teams{grid-template-columns:1fr!important}
  .championship-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .championship-actions button{width:100%;min-width:0}
}

/* Phones */
@media (max-width:560px){
  main{padding:8px}
  .topbar{padding:10px 9px}
  .brand{gap:8px}
  .brand-logo{width:48px;height:48px}
  .brand h1{font-size:18px}
  .brand p{font-size:10px}
  .top-actions{grid-template-columns:1fr 1fr}
  .top-actions .language-select{grid-column:1/-1}
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:7px 8px!important}
  .tabs button{font-size:11px!important;min-height:38px!important}

  .card{padding:11px}
  #tab-game .scoreboard{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0}
  #tab-game .score-center-info{grid-row:2;min-width:0;gap:4px}
  #tab-game .team-score:first-child{grid-row:1}
  #tab-game .team-score:last-child{grid-row:3}
  #tab-game .team-score select{font-size:14px;min-height:40px}
  #tab-game .score-controls{gap:10px;margin-top:8px}
  #tab-game .score-controls button{width:42px;height:42px;min-height:42px}
  #tab-game .score-controls strong{font-size:48px;min-width:58px}
  #tab-game .timer-controls,#tab-game .period-controls{grid-template-columns:1fr}
  #tab-game .timer-controls button,#tab-game .period-controls button{min-height:42px}

  .quick-player-form{grid-template-columns:1fr!important}
  .quick-player-add-btn{grid-column:auto!important}
  .game-day-selection-tools{grid-template-columns:1fr}
  .game-day-player-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .game-day-player-pool{grid-template-columns:1fr}
  .game-day-pool-player{grid-template-columns:30px minmax(0,1fr)}
  .game-day-pool-player .attendance-btn{grid-column:1/-1;width:100%}

  .team-columns-layout .player-team-select-row{grid-template-columns:1fr!important}
  .team-columns-layout .player-team-choose{width:100%}
  .team-columns-layout .team-board-player{grid-template-columns:24px minmax(0,1fr)!important}
  .team-columns-layout .team-board-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .team-columns-layout .team-board-actions button{width:100%!important;min-width:0!important}

  .player-database-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .player-database-actions button{width:100%;min-width:0}
  .formation-controls{grid-template-columns:1fr}

  .completed-match-actions,.champ-saved-actions{display:grid;grid-template-columns:1fr;width:100%}
  .championship-actions{grid-template-columns:1fr}
  .modal-actions{display:grid!important;grid-template-columns:1fr!important}
}

/* Very narrow phones */
@media (max-width:380px){
  .tabs{grid-template-columns:1fr 1fr!important}
  .top-actions{grid-template-columns:1fr}
  .top-actions .language-select{grid-column:auto}
  .game-day-player-summary{grid-template-columns:1fr}
  .player-database-actions{grid-template-columns:1fr}
  .team-columns-layout .team-board-actions{grid-template-columns:1fr}
}


/* v55 — scrolling fix: keep page and nested panels naturally scrollable */
html{
  height:auto !important;
  min-height:100% !important;
  overflow-x:hidden !important;
  overflow-y:scroll !important;
  overscroll-behavior-y:auto !important;
  -webkit-overflow-scrolling:touch;
}
body{
  height:auto !important;
  min-height:100vh !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  overscroll-behavior-y:auto !important;
  touch-action:pan-y pinch-zoom;
}
main,.tab,.tab.active{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  touch-action:pan-y;
}
/* The static navigation must never become a scroll container. */
.tabs{
  overscroll-behavior:auto !important;
}
/* Internal lists may scroll, but should hand scrolling back to the page at their edges. */
.event-log,
.player-choice-grid,
.team-board-players,
.game-day-player-pool,
.sunday-standings-wrap,
.games-control-wrap,
.modal-card,
.championship-layout .card:has(.champ-standings){
  overflow-y:auto;
  overscroll-behavior:auto !important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
/* Horizontal tactical/table areas keep horizontal pan without blocking page vertical scroll. */
.formation-panel,
.lineup-board,
.team-columns-layout .team-columns-boards{
  overscroll-behavior:auto !important;
  touch-action:pan-x pan-y;
}
/* Avoid a sticky roster column trapping wheel/touch scrolling on laptops/tablets. */
@media (max-width:1280px){
  .team-columns-layout .team-player-column{
    position:relative !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}


/* Sunday attendance frequency + priority */
.attendance-priority-hint{margin:7px 0 0;color:#b8c9dc;font-size:11px;line-height:1.35}
.attendance-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px;min-width:0}
.attendance-meta.compact{margin-top:4px;gap:4px}
.attendance-meta.maintenance{margin:6px 0 1px}
.attendance-priority-chip,.attendance-frequency-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);font-size:9px;font-weight:800;line-height:1.2;white-space:nowrap}
.attendance-priority-chip.high{color:#caffdf;background:rgba(38,216,135,.12);border-color:rgba(38,216,135,.28)}
.attendance-priority-chip.medium{color:#ffe7b5;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.28)}
.attendance-priority-chip.low{color:#d9e7f8;background:rgba(100,116,139,.15);border-color:rgba(148,163,184,.22)}
.attendance-frequency-chip{color:#b9cae0}
.attendance-frequency-chip.none{font-weight:700;color:#8fa2b8}
.game-day-pool-info{min-width:0}
.game-day-pool-player{align-items:center}
.player-choice-info{min-width:0}
@media (max-width:700px){
  .attendance-priority-chip,.attendance-frequency-chip{font-size:8.5px;padding:3px 6px}
  .game-day-pool-player .attendance-btn{width:100%;grid-column:1/-1}
}


/* v58 - improved responsive lineup formation header */
.formation-panel{
  padding:20px;
}
.formation-header{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(320px,460px);
  align-items:start;
  gap:18px 24px;
  margin-bottom:12px;
}
.formation-header > div:first-child{
  min-width:0;
}
.formation-header h3{
  margin:4px 0 0;
  font-size:32px;
  line-height:1.08;
  letter-spacing:-.7px;
}
.formation-header .section-kicker{
  margin-bottom:8px;
}
.formation-controls{
  margin-top:0;
  width:100%;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  justify-content:stretch;
  align-items:end;
  padding:16px;
  border-radius:20px;
  background:rgba(8,16,28,.72);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
}
.formation-controls .formation-label{
  width:100%;
  min-width:0;
}
.formation-controls .formation-label span{
  display:block;
  margin-bottom:2px;
}
.formation-controls .formation-label select,
.formation-controls .formation-label input{
  width:100%;
  min-width:0;
}
#applyFormationBtn{
  width:100%;
  min-height:52px;
  grid-column:1 / -1;
  align-self:stretch;
}
.formation-note{
  margin:0 0 10px;
  font-size:13px;
}
.formation-drag-hint{
  margin-bottom:14px;
  font-size:13px;
}

@media (max-width: 1180px){
  .formation-header{
    grid-template-columns:1fr;
  }
  .formation-header h3{
    font-size:28px;
  }
  .formation-controls{
    max-width:none;
  }
}

@media (max-width: 760px){
  .formation-panel{
    padding:16px;
    border-radius:18px;
  }
  .formation-header{
    gap:14px;
  }
  .formation-header h3{
    font-size:24px;
  }
  .formation-controls{
    grid-template-columns:1fr;
    padding:14px;
    border-radius:16px;
  }
  .formation-controls .formation-label{
    gap:5px;
  }
  .formation-note,
  .formation-drag-hint{
    font-size:12px;
  }
  #applyFormationBtn{
    min-height:48px;
  }
}


/* v59 - lineup fields in a single row */
.formation-controls{
  grid-template-columns:repeat(4, minmax(0,1fr));
  align-items:end;
}
#applyFormationBtn{
  grid-column:1 / -1;
}
@media (max-width: 1180px){
  .formation-controls{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 760px){
  .formation-controls{
    grid-template-columns:1fr;
  }
}


/* v60 - lower and align the lineup controls with the visual guide */
@media (min-width: 1181px){
  .formation-header{
    grid-template-columns:minmax(280px,1fr) minmax(760px,1.45fr);
    align-items:start;
    gap:18px 28px;
  }
  .formation-controls{
    margin-top:72px;
    padding:14px 16px 16px;
  }
  .formation-controls .formation-label span{
    min-height:44px;
    display:flex;
    align-items:flex-end;
  }
}


/* v61 - permanent player barcode + game-day check-in */
.barcode-checkin-card{margin-bottom:16px;padding:18px;border-radius:22px}
.barcode-checkin-head{align-items:flex-start;gap:16px}
.barcode-checkin-head h2{margin:3px 0 6px}
.barcode-checkin-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:14px}
.barcode-reader-input-wrap{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}
.barcode-reader-input-wrap label{color:var(--muted);font-size:12px;font-weight:700}
.barcode-reader-input-wrap input{margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:1px}
.barcode-camera-actions{display:flex;gap:8px;flex-wrap:wrap}
.barcode-checkin-status{min-height:24px;margin-top:10px;padding:0 2px;font-size:13px;font-weight:800}
.barcode-checkin-status.success{color:#8ef0bd}.barcode-checkin-status.error{color:#ff9da6}.barcode-checkin-status.warning{color:#ffd88a}
.barcode-camera-panel{position:relative;margin-top:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#02070d;padding:12px}
.barcode-camera-panel video{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:12px;background:#000}
.barcode-camera-panel small{display:block;margin-top:9px;color:var(--muted)}
.barcode-camera-guide{position:absolute;left:10%;right:10%;top:50%;height:110px;transform:translateY(-50%);border:2px solid rgba(38,216,135,.75);border-radius:16px;pointer-events:none;box-shadow:0 0 0 999px rgba(0,0,0,.18)}
.barcode-camera-guide span{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#26d887;box-shadow:0 0 14px #26d887}
.barcode-modal-card{width:min(760px,94vw)}
.barcode-modal-preview{margin:14px 0;border-radius:18px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.12)}
.barcode-modal-preview svg{display:block;width:100%;height:auto}
.barcode-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:14px;background:rgba(8,16,28,.72);border:1px solid rgba(255,255,255,.08)}
.barcode-code-row span{color:var(--muted);font-size:12px}.barcode-code-row strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}
.barcode-modal-actions{flex-wrap:wrap}
.player-database-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.barcode-checkin-grid{grid-template-columns:1fr}.barcode-camera-actions>*{flex:1 1 190px}}
@media(max-width:620px){.barcode-checkin-card{padding:14px}.barcode-checkin-head{display:block}.barcode-checkin-head .sunday-date-chip{display:inline-flex;margin-top:10px}.barcode-reader-input-wrap{grid-template-columns:1fr}.barcode-reader-input-wrap button{width:100%}.barcode-camera-actions{display:grid;grid-template-columns:1fr}.barcode-code-row{align-items:flex-start;flex-direction:column}.barcode-modal-actions button{width:100%}.player-database-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.player-database-actions button{width:100%}}


/* v64 - Rules tab */
.rules-location-card{display:flex;align-items:center;gap:18px;margin-bottom:18px;padding:20px 22px}
.rules-location-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(38,216,135,.12);border:1px solid rgba(38,216,135,.24);font-size:26px;flex:0 0 auto}
.rules-location-card h2{margin:2px 0 4px;font-size:24px}
.rules-location-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.rules-grid{display:grid;grid-template-columns:1fr;gap:18px}
.rule-section-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:22px}
.rule-section-number{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,rgba(38,216,135,.22),rgba(57,167,255,.14));border:1px solid rgba(38,216,135,.30);font-size:26px;font-weight:900;color:#d6ffea}
.rule-section-content h2{margin:3px 0 16px;font-size:24px}
.rule-list{display:flex;flex-direction:column;gap:10px}
.rule-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;padding:12px 14px;border-radius:14px;background:rgba(7,17,29,.62);border:1px solid rgba(255,255,255,.07)}
.rule-item p{margin:0;color:#d6e3f5;font-size:14px;line-height:1.55}
.rule-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(57,167,255,.14);border:1px solid rgba(57,167,255,.24);color:#e4f4ff;font-size:12px;font-weight:900}
@media (max-width:760px){
  .rules-location-card{padding:16px;gap:12px}
  .rules-location-icon{width:44px;height:44px;font-size:22px}
  .rules-location-card h2{font-size:20px}
  .rule-section-card{grid-template-columns:1fr;padding:16px;gap:12px}
  .rule-section-number{width:44px;height:44px;border-radius:13px;font-size:20px}
  .rule-section-content h2{font-size:20px;margin-bottom:12px}
  .rule-item{grid-template-columns:30px minmax(0,1fr);padding:11px 12px}
  .rule-item p{font-size:13px}
  .rule-letter{width:28px;height:28px}
}


/* v65 - Rules PDF / WhatsApp / editor */
.settings-rules-block{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;gap:18px}
.settings-rules-block h3{margin:3px 0 5px;font-size:18px}.settings-rules-block p{margin:0;max-width:520px}.settings-rules-block button{flex:0 0 auto}
.rules-location-copy{min-width:0;flex:1}.rules-location-card{flex-wrap:wrap}.rules-location-card #rulesLocationAddress{white-space:pre-line}
.rules-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.rules-actions button{white-space:nowrap}
.rules-edit-modal-card{width:min(1100px,94vw);max-height:92vh;overflow:auto}.rules-editor-hint{margin:0 0 16px}
.rules-editor-top-grid{display:grid;grid-template-columns:220px 1fr 1.4fr;gap:12px;margin-bottom:14px}.rules-editor-top-grid label,.rules-editor-section label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.rules-editor-top-grid input,.rules-editor-top-grid select,.rules-editor-top-grid textarea,.rules-editor-section input,.rules-editor-section textarea{width:100%}
.rules-editor-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rules-editor-section{padding:14px;border-radius:16px;background:rgba(7,17,29,.72);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:12px}.rules-editor-section textarea{min-height:190px;resize:vertical;line-height:1.45}.rules-editor-actions{position:sticky;bottom:-1px;padding-top:14px;background:linear-gradient(180deg,rgba(8,16,28,0),rgba(8,16,28,.98) 28%)}
@media(max-width:900px){.rules-editor-top-grid{grid-template-columns:1fr 1fr}.rules-editor-address{grid-column:1/-1}.rules-editor-sections{grid-template-columns:1fr}.settings-rules-block{align-items:flex-start;flex-direction:column}.settings-rules-block button{width:100%}.rules-actions{width:100%;margin-left:0;justify-content:stretch}.rules-actions button{flex:1 1 220px}}
@media(max-width:620px){.rules-editor-top-grid{grid-template-columns:1fr}.rules-editor-address{grid-column:auto}.rules-location-card{align-items:flex-start}.rules-location-copy{flex:1 1 calc(100% - 60px)}.rules-actions{display:grid;grid-template-columns:1fr}.rules-actions button{width:100%}.rules-editor-actions{display:grid;grid-template-columns:1fr}.rules-editor-actions button{width:100%}}


/* v69 - show all live players without scroll and enlarge text */
#tab-game .live-beside-timer{overflow:visible}
#tab-game .compact-live-match-players .live-team-panel{overflow:visible}
#tab-game .compact-live-match-players .live-player-list{
  max-height:none !important;
  overflow:visible !important;
  gap:8px;
  padding:8px;
}
#tab-game .compact-live-match-players .live-team-header{
  padding:10px 11px;
}
#tab-game .compact-live-match-players .live-team-name strong{
  font-size:14px;
}
#tab-game .compact-live-match-players .live-team-score{
  min-width:34px;
  height:30px;
  font-size:16px;
}
#tab-game .compact-live-match-players .live-player-row{
  min-height:60px;
  padding:8px 9px;
  row-gap:5px;
}
#tab-game .compact-live-match-players .live-player-figure{
  width:30px;
  height:32px;
}
#tab-game .compact-live-match-players .live-player-figure .figure-head{
  width:10px;
  height:10px;
}
#tab-game .compact-live-match-players .live-player-figure .figure-body{
  top:11px;
  width:24px;
  height:19px;
}
#tab-game .compact-live-match-players .live-player-figure b{
  top:14px;
  font-size:8px;
}
#tab-game .compact-live-match-players .live-player-info strong{
  font-size:13px;
}
#tab-game .compact-live-match-players .live-player-info small{
  font-size:10px;
  margin-top:2px;
}
#tab-game .compact-live-match-players .player-event-chip{
  padding:3px 6px;
  font-size:9px;
}
#tab-game .compact-live-match-players .player-event-chip b{
  font-size:9px;
}
#tab-game .compact-live-match-players .player-event-chip em,
#tab-game .compact-live-match-players .player-event-none{
  font-size:8px;
}


/* v70 - Times tab roster boards without scroll and with larger text */
#tab-teams .team-roster-board,
#tab-teams .team-columns-layout .team-roster-board{
  max-height:none !important;
  overflow:visible !important;
}
#tab-teams .team-board-players,
#tab-teams .team-columns-layout .team-board-players{
  max-height:none !important;
  min-height:0 !important;
  overflow:visible !important;
  padding:10px !important;
  gap:7px !important;
}
#tab-teams .team-roster-board-header,
#tab-teams .team-columns-layout .team-roster-board-header{
  padding:12px 13px !important;
}
#tab-teams .team-board-title strong,
#tab-teams .team-columns-layout .team-board-title strong{
  font-size:14px !important;
}
#tab-teams .team-board-meta span,
#tab-teams .team-columns-layout .team-board-meta span{
  font-size:9px !important;
  padding:4px 6px !important;
}
#tab-teams .team-board-player,
#tab-teams .team-columns-layout .team-board-player{
  grid-template-columns:31px minmax(0,1fr) auto !important;
  gap:7px !important;
  padding:8px !important;
  min-height:48px;
}
#tab-teams .team-board-player .player-avatar,
#tab-teams .team-columns-layout .team-board-player .player-avatar{
  width:31px !important;
  height:31px !important;
  font-size:10px !important;
}
#tab-teams .team-board-player strong,
#tab-teams .team-columns-layout .team-board-player strong{
  font-size:11px !important;
  line-height:1.15 !important;
}
#tab-teams .team-board-player small,
#tab-teams .team-columns-layout .team-board-player small{
  font-size:9px !important;
  line-height:1.15 !important;
}
#tab-teams .team-board-actions button,
#tab-teams .team-columns-layout .team-board-actions button{
  padding:5px 6px !important;
  font-size:9px !important;
}


/* v71 - 12-player main roster, 13th+ displayed as reserves */
#tab-teams .team-reserve-separator{
  display:flex;
  align-items:center;
  gap:8px;
  margin:7px 1px 3px;
  color:#ffd88a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
}
#tab-teams .team-reserve-separator::before,
#tab-teams .team-reserve-separator::after{
  content:'';
  height:1px;
  flex:1;
  background:rgba(245,158,11,.30);
}
#tab-teams .team-reserve-separator strong{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(245,158,11,.13);
  border:1px solid rgba(245,158,11,.30);
  color:#ffe7b1;
  font-size:10px;
}
#tab-teams .team-board-reserve-player{
  background:linear-gradient(90deg,rgba(245,158,11,.10),rgba(17,32,51,.84)) !important;
  border-color:rgba(245,158,11,.24) !important;
}
#tab-teams .roster-reserve-inline{
  color:#ffd88a;
  font-weight:800;
}


/* v72 - move timer into the players-on-field panel */
#tab-game .timer-live-row{
  grid-template-columns:1fr !important;
}
#tab-game .full-width-live-panel{
  padding:12px;
}
#tab-game .inline-timer-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:10px 12px 14px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
#tab-game .inline-timer-wrap .timer{
  font-size:clamp(44px,4.3vw,68px);
  line-height:1;
  min-width:170px;
  text-align:center;
}
#tab-game .inline-timer-controls{
  margin-top:0;
  justify-content:center;
}
#tab-game .inline-timer-controls button{
  min-width:110px;
}
#tab-game .full-width-live-panel .live-beside-heading{
  margin-bottom:4px;
}
@media (max-width: 900px){
  #tab-game .inline-timer-wrap{
    flex-direction:column;
    gap:12px;
  }
  #tab-game .inline-timer-wrap .timer{
    min-width:0;
  }
}


/* v73 - compact tactical header area */
#tab-lineup .formation-panel{
  margin-top:12px;
  padding:14px 16px;
}
#tab-lineup .formation-header{
  grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr) !important;
  align-items:center !important;
  gap:12px 18px !important;
  margin-bottom:8px !important;
}
#tab-lineup .formation-header h3{
  font-size:28px;
  margin:2px 0 0;
}
#tab-lineup .formation-header .section-kicker{
  margin-bottom:4px;
}
#tab-lineup .formation-controls{
  margin-top:0 !important;
  padding:10px 12px !important;
  gap:8px !important;
  border-radius:16px;
}
#tab-lineup .formation-controls .formation-label{
  gap:4px;
}
#tab-lineup .formation-controls .formation-label span{
  min-height:0 !important;
  font-size:10px;
  line-height:1.15;
}
#tab-lineup .formation-controls .formation-label select{
  min-height:42px;
  padding:8px 10px;
  font-size:12px;
}
#tab-lineup #applyFormationBtn{
  min-height:44px;
  padding:9px 12px;
  font-size:14px;
}
#tab-lineup .formation-note{
  margin:4px 0 8px;
}
#tab-lineup .formation-drag-hint{
  margin-bottom:10px;
  padding:8px 10px;
}
@media (max-width:1180px){
  #tab-lineup .formation-header{
    grid-template-columns:1fr !important;
  }
}


/* v74 - compact selected rosters header area in Lineup tab */
#tab-lineup > .card.glass{
  padding:16px 18px;
}
#tab-lineup > .card.glass .section-title{
  align-items:flex-start;
  gap:10px;
  margin-bottom:2px;
}
#tab-lineup > .card.glass .section-title .section-kicker{
  margin-bottom:4px;
}
#tab-lineup > .card.glass .section-title h2{
  margin-bottom:6px;
}
#tab-lineup > .card.glass .section-title p{
  margin:0;
}
#tab-lineup > .card.glass .inline{
  margin-top:0;
}
#tab-lineup #lineupTeamsCount{
  min-width:88px;
  padding:8px 10px;
}
#tab-lineup .balance-summary{
  grid-template-columns:repeat(auto-fit,minmax(170px,220px));
  gap:8px;
  margin-top:10px;
}
#tab-lineup .balance-box{
  padding:10px 12px;
  border-radius:14px;
}
#tab-lineup .balance-box strong{
  font-size:15px;
}
#tab-lineup .balance-box .big{
  font-size:22px;
  margin-top:1px;
}
#tab-lineup .balance-box small{
  font-size:11px;
}
@media(max-width:780px){
  #tab-lineup > .card.glass{
    padding:14px;
  }
  #tab-lineup .balance-summary{
    grid-template-columns:1fr;
  }
}


/* v75 - remove lineup balance cards and collapse the selected rosters strip */
#tab-lineup > .card.glass{
  padding:12px 16px 14px;
}
#tab-lineup > .card.glass > .section-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px 18px;
  margin:0;
}
#tab-lineup > .card.glass > .section-title .section-kicker{
  margin-bottom:3px;
}
#tab-lineup > .card.glass > .section-title h2{
  font-size:19px;
  margin:0 0 3px;
}
#tab-lineup > .card.glass > .section-title p{
  font-size:11px;
  line-height:1.3;
  margin:0;
}
#tab-lineup > .card.glass > .section-title .inline{
  margin:0;
}
#tab-lineup #lineupTeamsCount{
  min-height:38px;
  padding:7px 10px;
}
#tab-lineup > .card.glass > .formation-panel{
  margin-top:10px;
}
@media(max-width:780px){
  #tab-lineup > .card.glass > .section-title{
    grid-template-columns:1fr;
    align-items:start;
  }
  #tab-lineup > .card.glass > .section-title .inline{
    justify-content:flex-start;
  }
}


/* v76 - major Players tab visual redesign */
#tab-players .tab-banner{margin-bottom:14px !important}
.players-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.players-overview-card{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(10,24,40,.9),rgba(6,14,25,.86));
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.players-overview-card small{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.25px;
  margin-bottom:6px;
}
.players-overview-card strong{
  display:block;
  font-size:30px;
  line-height:1;
}
.player-database-grid{
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
  gap:16px;
  align-items:start;
}
.player-profile-card{
  position:sticky;
  top:92px;
  padding:18px;
}
.player-profile-card h2{margin-bottom:6px}
.player-profile-card .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  margin-top:12px;
}
.player-profile-card .form-grid label span{
  display:block;
  margin-bottom:5px;
}
.player-profile-card .form-grid input,
.player-profile-card .form-grid select{
  margin-top:0;
  min-height:42px;
  padding:11px 12px;
}
.player-profile-card .rating-help{
  margin:14px 0 14px;
}
.player-profile-card #addPlayerBtn{
  width:100%;
  min-height:46px;
  font-size:15px;
}
.player-maintenance-card{
  padding:16px;
}
.player-maintenance-card .section-title{
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.player-maintenance-card .section-title input{
  min-width:250px;
  max-width:320px;
  min-height:42px;
}
#playersList.list{
  display:grid;
  gap:12px;
}
.player-database-card{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(9,20,35,.92),rgba(7,16,28,.86));
  border-radius:20px;
  padding:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.player-database-card:hover{
  transform:translateY(-2px);
  border-color:rgba(57,167,255,.18);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}
.player-database-card.selected-for-game{
  border-color:rgba(38,216,135,.26);
  background:linear-gradient(180deg,rgba(16,34,52,.95),rgba(8,19,31,.9));
}
.player-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.player-card-identity{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  flex:1 1 auto;
}
.player-avatar.large{
  width:48px;
  height:48px;
  border-radius:14px;
  font-size:14px;
  flex:0 0 48px;
}
.player-card-text{min-width:0;flex:1 1 auto}
.player-card-name-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.player-card-name-row strong{
  font-size:18px;
  color:#f5f9ff;
}
.player-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
}
.player-card-meta span{
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.player-day-badge{
  padding:5px 9px;
  border-radius:999px;
  background:rgba(38,216,135,.12);
  border:1px solid rgba(38,216,135,.25);
  color:#d9ffea;
  font-size:10px;
  font-weight:800;
}
.player-card-actions-pro{
  width:min(280px,36%);
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.player-card-actions-pro button{
  min-height:36px;
  padding:8px 10px;
  font-size:11px;
}
.player-card-bottom{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.06);
}
.player-stat-chips-pro span{
  padding:6px 9px;
  font-size:11px;
}
.player-empty-state{
  padding:24px 16px;
  border-radius:18px;
  text-align:center;
  color:var(--muted);
  border:1px dashed rgba(255,255,255,.12);
  background:rgba(8,16,28,.5);
}
.player-empty-state strong{display:block;color:#e9f3ff;font-size:16px}
@media(max-width:1180px){
  .players-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .player-database-grid{grid-template-columns:1fr}
  .player-profile-card{position:static}
}
@media(max-width:900px){
  .player-card-top{flex-direction:column}
  .player-card-actions-pro{width:100%;justify-content:flex-start}
  .player-maintenance-card .section-title{flex-direction:column}
  .player-maintenance-card .section-title input{min-width:0;max-width:none;width:100%}
}
@media(max-width:640px){
  .players-overview-grid{grid-template-columns:1fr 1fr;gap:10px}
  .players-overview-card{padding:12px}
  .players-overview-card strong{font-size:24px}
  .player-profile-card .form-grid{grid-template-columns:1fr}
  .player-card-name-row strong{font-size:17px}
  .player-avatar.large{width:42px;height:42px;flex-basis:42px}
}


/* v77 - premium Players tab with standard avatars */
#tab-players .tab-banner{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(75,170,255,.12);
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}
#tab-players .tab-banner::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(38,216,135,.5),transparent);
}
.players-overview-card.premium{
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(12,27,45,.96),rgba(7,17,31,.92));
}
.players-overview-card.premium::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,#26d887,#3aa7ff);
  opacity:.9;
}
.players-overview-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:20px;
  background:linear-gradient(180deg,rgba(58,167,255,.18),rgba(38,216,135,.10));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 18px rgba(0,0,0,.18);
}
.player-profile-card,
.player-maintenance-card{
  border:1px solid rgba(77,170,255,.10);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.player-profile-card{
  background:linear-gradient(180deg,rgba(10,22,38,.96),rgba(6,15,26,.90));
}
.player-maintenance-card{
  background:linear-gradient(180deg,rgba(8,19,33,.95),rgba(6,15,26,.92));
}
.player-profile-card .section-kicker,
.player-maintenance-card .section-kicker{
  letter-spacing:1.2px;
}
.player-maintenance-card .section-title{
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.player-maintenance-card .section-title input{
  background:rgba(3,12,22,.82);
}
.player-database-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(85,173,255,.09);
  background:linear-gradient(180deg,rgba(11,22,38,.98),rgba(8,18,31,.94));
}
.player-database-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,rgba(58,167,255,.88),rgba(38,216,135,.88));
  opacity:.95;
}
.player-database-card.selected-for-game::before{
  background:linear-gradient(180deg,rgba(38,216,135,.95),rgba(235,255,120,.8));
}
.player-database-card.selected-for-game{
  box-shadow:0 18px 38px rgba(7,90,54,.18);
}
.player-card-top{gap:16px}
.player-card-identity{gap:14px}
.player-portrait{
  flex:0 0 74px;
  width:74px;
}
.player-portrait-stage{
  position:relative;
  width:74px;
  height:82px;
  border-radius:22px;
  background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.16),transparent 46%),linear-gradient(180deg,rgba(25,47,72,.96),rgba(9,18,31,.98));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 14px 24px rgba(0,0,0,.22);
  overflow:hidden;
}
.player-portrait-glow{
  position:absolute;
  inset:auto -15px -18px -15px;
  height:40px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(58,167,255,.34),transparent 70%);
}
.player-portrait-head{
  position:absolute;
  left:50%; top:14px;
  width:20px; height:20px;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(180deg,#f5f9ff,#bccada);
  box-shadow:0 1px 0 rgba(255,255,255,.3);
}
.player-portrait-body{
  position:absolute;
  left:50%; top:35px;
  width:34px; height:26px;
  transform:translateX(-50%);
  border-radius:16px 16px 10px 10px;
  background:linear-gradient(180deg,rgba(58,167,255,.9),rgba(28,96,182,.95));
}
.player-portrait-role,
.player-portrait-number{
  position:absolute;
  display:inline-grid;
  place-items:center;
  font-weight:900;
  letter-spacing:.3px;
  z-index:2;
}
.player-portrait-role{
  left:8px; top:8px;
  min-width:28px; height:22px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(4,11,18,.72);
  border:1px solid rgba(255,255,255,.12);
  font-size:9px;
  color:#f4fbff;
}
.player-portrait-number{
  right:8px; bottom:8px;
  min-width:26px; height:26px;
  padding:0 6px;
  border-radius:10px;
  background:rgba(4,11,18,.82);
  border:1px solid rgba(255,255,255,.12);
  font-size:11px;
  color:#fff;
}
.player-portrait.role-gk .player-portrait-body{background:linear-gradient(180deg,#ffb15f,#ff7d35)}
.player-portrait.role-cb .player-portrait-body{background:linear-gradient(180deg,#5c8cff,#315dde)}
.player-portrait.role-fb .player-portrait-body{background:linear-gradient(180deg,#49d0ff,#2187d9)}
.player-portrait.role-dm .player-portrait-body{background:linear-gradient(180deg,#37d6a2,#12936d)}
.player-portrait.role-mid .player-portrait-body{background:linear-gradient(180deg,#5ce18d,#2ab75b)}
.player-portrait.role-wg .player-portrait-body{background:linear-gradient(180deg,#c16bff,#7d3fe7)}
.player-portrait.role-st .player-portrait-body{background:linear-gradient(180deg,#ff6d87,#d93559)}
.player-portrait.role-pl .player-portrait-body{background:linear-gradient(180deg,#8aa1ba,#53687e)}
.player-card-name-row{margin-top:2px}
.player-card-name-row strong{font-size:19px}
.player-full-name{margin-top:5px;font-size:12px;color:#a8bfd8}
.player-card-meta{margin-top:9px}
.player-card-actions-pro{
  width:min(300px,38%);
  align-content:flex-start;
}
.player-card-actions-pro button{
  border-radius:12px;
  background:rgba(8,19,32,.82);
  border:1px solid rgba(255,255,255,.07);
}
.player-card-actions-pro button:hover{
  border-color:rgba(58,167,255,.24);
  transform:translateY(-1px);
}
.player-card-bottom{
  margin-top:12px;
  padding-top:12px;
}
.player-stat-chips-pro{
  gap:8px;
}
.player-stat-chips-pro span{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.07);
}
#playersList.list{gap:14px}
.player-empty-state{
  background:linear-gradient(180deg,rgba(10,22,38,.85),rgba(7,17,31,.75));
}
@media(max-width:900px){
  .player-portrait{width:68px;flex-basis:68px}
  .player-portrait-stage{width:68px;height:78px}
  .player-card-actions-pro{width:100%}
}
@media(max-width:640px){
  .players-overview-card.premium{gap:10px}
  .players-overview-icon{width:40px;height:40px;font-size:17px}
  .player-portrait{width:60px;flex-basis:60px}
  .player-portrait-stage{width:60px;height:72px;border-radius:18px}
  .player-portrait-head{width:18px;height:18px;top:12px}
  .player-portrait-body{width:30px;height:24px;top:31px}
  .player-card-name-row strong{font-size:17px}
}


/* v78 - move player form fields into a single left-side column */
#tab-players .player-profile-card{
  padding:20px 22px;
}
#tab-players .player-profile-card .form-grid{
  grid-template-columns:minmax(280px, 440px) !important;
  justify-content:flex-start;
  max-width:440px;
  gap:12px;
}
#tab-players .player-profile-card .form-grid label,
#tab-players .player-profile-card .rating-help,
#tab-players .player-profile-card #addPlayerBtn{
  max-width:440px;
}
#tab-players .player-profile-card .rating-help{
  width:100%;
}
#tab-players .player-profile-card #addPlayerBtn{
  width:100%;
  max-width:440px;
}
#tab-players .player-profile-card .section-title,
#tab-players .player-profile-card h2,
#tab-players .player-profile-card p{
  max-width:520px;
}
@media(max-width:640px){
  #tab-players .player-profile-card{
    padding:16px;
  }
  #tab-players .player-profile-card .form-grid,
  #tab-players .player-profile-card .form-grid label,
  #tab-players .player-profile-card .rating-help,
  #tab-players .player-profile-card #addPlayerBtn{
    max-width:none;
    width:100%;
  }
}


/* v79 - players tab: top form in 1-2 rows and database cards below in multiple columns */
#tab-players .player-database-grid{
  grid-template-columns:1fr !important;
  gap:16px;
}
#tab-players .player-profile-card{
  position:static;
  padding:18px 18px 16px;
}
#tab-players .player-profile-card h2{
  margin-bottom:12px;
}
#tab-players .player-profile-card .form-grid{
  grid-template-columns:repeat(4,minmax(170px,1fr)) !important;
  max-width:none !important;
  gap:12px 14px;
  width:100%;
}
#tab-players .player-profile-card .form-grid label,
#tab-players .player-profile-card .rating-help,
#tab-players .player-profile-card #addPlayerBtn{
  max-width:none !important;
  width:100%;
}
#tab-players .player-profile-card .rating-help{
  margin:12px 0 12px;
}
#tab-players .player-profile-card #addPlayerBtn{
  width:100%;
}
#tab-players .player-maintenance-card{
  padding:16px;
}
#tab-players .player-maintenance-card .section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
#tab-players .player-maintenance-card .section-title > div{
  flex:1 1 460px;
  min-width:280px;
}
#tab-players .player-maintenance-card .section-title input{
  flex:0 1 340px;
  width:min(100%,340px);
  max-width:340px;
}
#tab-players #playersList.list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(380px,1fr));
  gap:14px;
  align-items:start;
}
#tab-players .player-database-card{
  height:100%;
}
@media(max-width:1200px){
  #tab-players .player-profile-card .form-grid{
    grid-template-columns:repeat(3,minmax(170px,1fr)) !important;
  }
}
@media(max-width:900px){
  #tab-players .player-profile-card .form-grid{
    grid-template-columns:repeat(2,minmax(170px,1fr)) !important;
  }
  #tab-players #playersList.list{
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  }
}
@media(max-width:640px){
  #tab-players .player-profile-card .form-grid{
    grid-template-columns:1fr !important;
  }
  #tab-players .player-maintenance-card .section-title input{
    width:100%;
    max-width:none;
    flex-basis:100%;
  }
  #tab-players #playersList.list{
    grid-template-columns:1fr;
  }
}


/* v80 - teams tab redesigned like players tab: top quick form and broader multi-column content */
#tab-teams .teams-player-entry-grid{
  grid-template-columns:1fr !important;
  gap:14px;
  align-items:start;
}
#tab-teams .teams-quick-player-card,
#tab-teams .teams-game-day-picker{
  padding:16px 18px;
}
#tab-teams .teams-quick-player-card h2,
#tab-teams .teams-game-day-picker h2{
  margin-bottom:6px;
}
#tab-teams .quick-player-form{
  grid-template-columns:repeat(4,minmax(170px,1fr)) !important;
  gap:12px 14px;
  align-items:end;
}
#tab-teams .quick-player-form label{
  font-size:11px;
}
#tab-teams .quick-player-form input,
#tab-teams .quick-player-form select{
  min-height:40px;
  font-size:13px;
}
#tab-teams .quick-player-add-btn{
  grid-column:1 / -1;
  width:100%;
  min-height:44px;
  margin-top:2px;
}
#tab-teams .teams-game-day-picker .game-day-player-picker-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
#tab-teams .teams-game-day-picker .game-day-player-picker-head > div:first-child{
  flex:1 1 420px;
  min-width:280px;
}
#tab-teams .game-day-selection-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#tab-teams .game-day-player-summary{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
#tab-teams .game-day-player-pool{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important;
  max-height:none !important;
  overflow:visible !important;
  padding-right:0;
}
#tab-teams .game-day-pool-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
#tab-teams .game-day-pool-head input{
  width:min(100%,320px);
  max-width:320px;
}
#tab-teams .team-columns-layout{
  grid-template-columns:1fr !important;
  gap:14px !important;
}
#tab-teams .team-columns-layout .team-player-column{
  position:relative !important;
  top:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#tab-teams .team-columns-layout .team-player-column .section-title{
  align-items:flex-start;
  flex-wrap:wrap;
  gap:12px;
}
#tab-teams .team-columns-layout .team-player-column .section-title > div{
  flex:1 1 340px;
}
#tab-teams .team-player-column-tools{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
#tab-teams .team-player-column-tools input{
  width:min(100%,280px);
  max-width:280px;
}
#tab-teams .team-columns-layout .player-choice-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  max-height:none !important;
  min-height:0 !important;
  gap:10px;
}
#tab-teams .team-columns-layout .player-choice-card{
  min-height:unset;
}
#tab-teams .team-columns-layout .team-columns-boards{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  overflow:visible !important;
  grid-auto-flow:unset !important;
  grid-auto-columns:unset !important;
  padding:0 !important;
}
#tab-teams .team-columns-layout .team-roster-board,
#tab-teams .team-columns-layout .team-board-players{
  max-height:none !important;
}
@media(max-width:1200px){
  #tab-teams .quick-player-form{
    grid-template-columns:repeat(3,minmax(170px,1fr)) !important;
  }
  #tab-teams .team-columns-layout .player-choice-grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  }
}
@media(max-width:900px){
  #tab-teams .quick-player-form{
    grid-template-columns:repeat(2,minmax(170px,1fr)) !important;
  }
  #tab-teams .game-day-player-summary{
    grid-template-columns:1fr 1fr 1fr;
  }
  #tab-teams .game-day-player-pool{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  }
  #tab-teams .team-columns-layout .player-choice-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  }
}
@media(max-width:640px){
  #tab-teams .quick-player-form{
    grid-template-columns:1fr !important;
  }
  #tab-teams .game-day-selection-tools,
  #tab-teams .game-day-pool-head,
  #tab-teams .team-player-column-tools{
    width:100%;
    justify-content:flex-start;
  }
  #tab-teams .game-day-pool-head input,
  #tab-teams .team-player-column-tools input{
    width:100%;
    max-width:none;
  }
  #tab-teams .game-day-player-summary{
    grid-template-columns:1fr;
  }
  #tab-teams .game-day-player-pool,
  #tab-teams .team-columns-layout .player-choice-grid,
  #tab-teams .team-columns-layout .team-columns-boards{
    grid-template-columns:1fr !important;
  }
}


/* v82 - reliable horizontal / vertical field orientation */
#tab-lineup .formation-field.horizontal-view{
  width:min(100%,1280px) !important;
  max-width:1280px !important;
  min-width:0;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:105 / 68 !important;
}
#tab-lineup .formation-field.vertical-mode{
  width:min(100%,760px) !important;
  max-width:760px !important;
  min-width:0;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:68 / 105 !important;
}
#tab-lineup .formation-field.horizontal-view .pitch-svg,
#tab-lineup .formation-field.vertical-mode .pitch-svg{
  width:100% !important;
  height:100% !important;
}
@media(max-width:780px){
  #tab-lineup .formation-panel{overflow-x:auto}
  #tab-lineup .formation-field.horizontal-view{
    width:680px !important;
    min-width:680px !important;
    max-width:none !important;
    aspect-ratio:105 / 68 !important;
  }
  #tab-lineup .formation-field.vertical-mode{
    width:min(100%,460px) !important;
    min-width:320px !important;
    max-width:460px !important;
    aspect-ratio:68 / 105 !important;
  }
}


/* v86 - arrival order + Top 22 priority */
#tab-teams .game-day-player-summary{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
.arrival-priority-explanation{margin:10px 0 4px;padding:9px 11px;border-radius:12px;border:1px solid rgba(58,167,255,.12);background:rgba(58,167,255,.055);color:#b8cbe0;font-size:11px;line-height:1.35}
.arrival-priority-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.arrival-priority-meta.compact{margin-top:3px;gap:3px}
.arrival-chip,.top22-chip{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#c9d9e9;font-size:9px;font-weight:800;white-space:nowrap}
.arrival-chip.none{opacity:.7}
.top22-chip.top{border-color:rgba(38,216,135,.28);background:rgba(38,216,135,.12);color:#d8ffea}
.top22-chip.waiting{border-color:rgba(255,187,78,.26);background:rgba(255,187,78,.10);color:#ffe2aa}
.game-day-pool-player.top22-player,.player-choice-card.top22-player{border-color:rgba(38,216,135,.25) !important;box-shadow:inset 3px 0 0 rgba(38,216,135,.75)}
.game-day-pool-player.waiting-player,.player-choice-card.waiting-player{border-color:rgba(255,187,78,.19) !important;box-shadow:inset 3px 0 0 rgba(255,187,78,.55)}
.priority-selected-chip{min-height:38px;padding:6px 9px;border-radius:12px;display:inline-grid;grid-template-columns:auto auto auto auto auto;align-items:center;gap:6px}
.priority-selected-chip small{color:#a9bed3;font-size:9px;font-weight:700}
.priority-selected-chip em{font-style:normal;font-size:8px;font-weight:900;padding:3px 6px;border-radius:999px}
.priority-selected-chip.top22-selected em{color:#d8ffea;background:rgba(38,216,135,.13);border:1px solid rgba(38,216,135,.25)}
.priority-selected-chip.waiting-selected em{color:#ffe1a6;background:rgba(255,187,78,.10);border:1px solid rgba(255,187,78,.22)}
.selected-priority-rank{display:grid;place-items:center;min-width:28px;height:26px;padding:0 5px;border-radius:9px;background:rgba(58,167,255,.12);border:1px solid rgba(58,167,255,.20);font-size:9px;font-weight:900}
@media(max-width:900px){#tab-teams .game-day-player-summary{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:640px){#tab-teams .game-day-player-summary{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.priority-selected-chip{grid-template-columns:auto 1fr auto}.priority-selected-chip small{grid-column:2/-1}}


/* v87 - login and user/password management */
body.auth-locked{overflow:hidden}
body.auth-locked>.topbar,
body.auth-locked>.tabs,
body.auth-locked>main,
body.auth-locked>#floatingTimerPopup,
body.auth-locked>#toast{display:none!important}
.auth-gate{
  position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;
  background:radial-gradient(circle at 50% 18%,rgba(29,107,166,.24),transparent 34%),linear-gradient(180deg,rgba(3,11,20,.82),rgba(2,8,14,.96));
  backdrop-filter:blur(8px)
}
.auth-gate.hidden{display:none!important}
.auth-card{
  width:min(460px,100%);padding:28px;border-radius:26px;
  background:linear-gradient(180deg,rgba(11,27,45,.98),rgba(5,15,27,.98));
  border:1px solid rgba(85,180,255,.20);box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.06)
}
.auth-brand{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.auth-logo{width:78px;height:78px;object-fit:contain;flex:0 0 78px}
.auth-kicker{display:block;font-size:9px;letter-spacing:1.5px;font-weight:900;color:#55d99c;margin-bottom:5px}
.auth-card h2{margin:0 0 5px;font-size:28px}
.auth-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}
.auth-field{margin-top:13px}
.auth-field label{display:block;margin-bottom:6px;color:#b9cbe0;font-size:11px;font-weight:800}
.auth-field input{width:100%;min-height:46px;background:rgba(3,12,22,.88)}
.auth-submit{width:100%;min-height:48px;margin-top:16px;font-size:15px}
.auth-message{min-height:20px;margin-top:10px;font-size:12px;font-weight:800;color:#ff9e9e}
.auth-message[data-type="success"]{color:#7cf0b2}
.auth-security-note{display:block;margin-top:13px;color:#6f849b;font-size:9px;line-height:1.4;text-align:center}
.current-user-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;background:rgba(38,216,135,.09);border:1px solid rgba(38,216,135,.20);color:#d9ffea;font-size:10px;font-weight:800;white-space:nowrap}
.user-management-card{margin-top:16px;padding:18px}
.user-management-head{align-items:flex-start;margin-bottom:14px}
.user-role-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(58,167,255,.11);border:1px solid rgba(58,167,255,.22);font-size:10px;font-weight:900;color:#d9edff}
.user-security-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:14px;align-items:start}
.user-security-panel{padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(5,15,27,.52)}
.user-security-panel h3{margin:0 0 11px;font-size:15px}
.user-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:end}
.user-form-grid label{font-size:10px;color:var(--muted);font-weight:800;min-width:0}
.user-form-grid label span{display:block;margin-bottom:5px}
.user-form-grid input,.user-form-grid select{min-height:39px;padding:8px 9px;font-size:12px}
.user-form-grid button{min-height:39px}
.password-change-grid{grid-template-columns:1fr 1fr 1fr}
.password-change-grid button{grid-column:1/-1}
.user-panel-disabled{opacity:.52}
.registered-users-block{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.registered-users-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;flex-wrap:wrap}
.registered-users-title h3{margin:0;font-size:16px}
.system-users-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:9px}
.system-user-card{padding:11px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:rgba(8,19,32,.72)}
.system-user-card.inactive{opacity:.56}
.system-user-main{display:flex;align-items:center;gap:10px;min-width:0}
.system-user-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(58,167,255,.20),rgba(38,216,135,.12));border:1px solid rgba(255,255,255,.09);font-weight:900}
.system-user-main strong{display:block;font-size:13px}
.system-user-main small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.system-user-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.system-user-controls select,.system-user-controls button{min-height:32px;padding:6px 8px;font-size:9px}
.inline-user-reset{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06)}
.inline-user-reset input,.inline-user-reset button{min-height:34px;font-size:10px;padding:7px 8px}
@media(max-width:1050px){.user-security-grid{grid-template-columns:1fr}.user-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.password-change-grid button{grid-column:auto}}
@media(max-width:700px){.auth-card{padding:20px}.auth-logo{width:62px;height:62px;flex-basis:62px}.auth-card h2{font-size:23px}.current-user-chip{width:100%;justify-content:center}.user-form-grid,.password-change-grid{grid-template-columns:1fr}.inline-user-reset{grid-template-columns:1fr}.system-users-list{grid-template-columns:1fr}}


/* v89 - login correction: confirmation only on account registration */
.auth-field.hidden,
.auth-field[hidden],
.inline-user-reset.hidden{
  display:none !important;
}


/* v95 - login app installer + Teams arrival dropdown, permanent database hidden from Teams */
.auth-app-install{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.auth-install-btn{width:100%;min-height:44px;border-radius:13px;border:1px solid rgba(58,167,255,.28);background:rgba(58,167,255,.10);color:#eaf6ff;font-weight:800}
.auth-install-btn.install-ready{border-color:rgba(38,216,135,.40);background:rgba(38,216,135,.12);color:#ddffed}
.auth-app-install small{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.35;text-align:center}
.registered-arrival-picker{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.45fr);gap:12px 18px;align-items:end;margin-top:14px;padding:14px;border:1px solid rgba(38,216,135,.16);border-radius:16px;background:linear-gradient(180deg,rgba(9,25,37,.78),rgba(5,16,27,.72))}
.registered-arrival-copy strong{display:block;font-size:15px;margin:3px 0 4px}.registered-arrival-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.35}
.registered-arrival-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.registered-arrival-controls label{min-width:0;color:var(--muted);font-size:10px;font-weight:800}.registered-arrival-controls label span{display:block;margin-bottom:5px}.registered-arrival-controls select{width:100%;min-height:42px}.registered-arrival-controls button{min-height:42px;white-space:nowrap}
.arrival-player-frequency{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:0}.arrival-player-frequency:empty{display:none}.arrival-player-frequency>strong{font-size:12px}.arrival-player-frequency .attendance-meta{display:flex;gap:6px;flex-wrap:wrap}
#tab-teams .teams-game-day-picker{min-height:0}
@media(max-width:850px){.registered-arrival-picker{grid-template-columns:1fr}.registered-arrival-controls{grid-template-columns:1fr}.registered-arrival-controls button{width:100%}}


/* v96 - full player registration inside Championship */
#tab-championship .championship-player-register-card{
  margin:14px 0;
  padding:16px 18px;
}
#tab-championship .championship-player-register-card .section-title{
  margin-bottom:12px;
  align-items:flex-start;
}
#tab-championship .championship-player-register-card h2{
  margin:2px 0 5px;
}
#tab-championship .champ-player-register-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:11px 13px;
  align-items:end;
}
#tab-championship .champ-player-register-grid label{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  min-width:0;
}
#tab-championship .champ-player-register-grid label span{
  display:block;
  margin-bottom:5px;
}
#tab-championship .champ-player-register-grid input,
#tab-championship .champ-player-register-grid select{
  width:100%;
  min-height:40px;
  margin:0;
  padding:9px 10px;
  font-size:12px;
}
#tab-championship .champ-player-register-btn{
  min-height:40px;
  width:100%;
}
@media(max-width:1180px){
  #tab-championship .champ-player-register-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
  #tab-championship .champ-player-register-btn{grid-column:1/-1}
}
@media(max-width:820px){
  #tab-championship .champ-player-register-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  #tab-championship .champ-player-register-grid{grid-template-columns:1fr}
  #tab-championship .champ-player-register-btn{grid-column:auto}
}


/* v97 - independent Championship scoreboard and match timers */
#tab-championship .championship-form-grid{grid-template-columns:repeat(6,minmax(145px,1fr))}
.champ-independent-note{
  padding:10px 12px;margin-bottom:10px;border-radius:13px;
  border:1px solid rgba(57,167,255,.18);background:rgba(57,167,255,.07);
  color:#cfe8ff;font-size:11px;font-weight:700;
}
.champ-match-control{
  margin-top:9px;padding:12px;border-radius:15px;
  background:linear-gradient(180deg,rgba(17,33,56,.80),rgba(9,21,37,.78));
  border:1px solid rgba(255,255,255,.07);
}
.champ-match-control.completed{border-color:rgba(38,216,135,.25);background:linear-gradient(180deg,rgba(19,61,47,.34),rgba(8,27,23,.28))}
.champ-scoreboard-row{
  display:grid;grid-template-columns:minmax(140px,1fr) 132px 28px 132px minmax(140px,1fr);
  align-items:center;gap:10px;
}
.champ-score-stepper{display:grid;grid-template-columns:34px 1fr 34px;gap:4px;align-items:center}
.champ-score-stepper button{min-height:38px;padding:5px;font-size:17px;font-weight:900;border-radius:10px}
.champ-score-stepper .champ-score-input{min-width:0;min-height:40px;font-size:18px;border-radius:10px}
.champ-match-clock-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);
}
.champ-match-clock{display:flex;align-items:center;gap:10px;min-width:150px}
.champ-match-clock small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:800}
.champ-match-clock strong{
  display:inline-grid;place-items:center;min-width:82px;padding:8px 10px;border-radius:12px;
  background:#07111e;border:1px solid rgba(57,167,255,.22);font-size:21px;letter-spacing:1px;
}
.champ-match-clock-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.champ-match-clock-actions button{min-height:38px;padding:8px 11px;font-size:10px}
@media(max-width:1200px){
  #tab-championship .championship-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .champ-scoreboard-row{grid-template-columns:minmax(120px,1fr) 118px 24px 118px minmax(120px,1fr)}
}
@media(max-width:760px){
  #tab-championship .championship-form-grid{grid-template-columns:1fr 1fr}
  .champ-scoreboard-row{grid-template-columns:1fr 105px 20px 105px 1fr;gap:5px}
  .champ-match-team{font-size:10px}
  .champ-match-clock-row{align-items:stretch}
  .champ-match-clock-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .champ-match-clock-actions button{width:100%}
}
@media(max-width:520px){
  #tab-championship .championship-form-grid{grid-template-columns:1fr}
  .champ-scoreboard-row{grid-template-columns:1fr 94px 16px 94px 1fr}
  .champ-score-stepper{grid-template-columns:28px 1fr 28px}
  .champ-score-stepper button{font-size:14px;padding:3px}
}


/* v98 - player phone / WhatsApp integration */
.player-phone-chip{color:#d7f8e6!important;border-color:rgba(38,216,135,.17)!important;background:rgba(38,216,135,.06)!important}
.player-whatsapp-btn:not(:disabled){border-color:rgba(38,216,135,.22)!important;color:#d9ffea!important}
.player-whatsapp-btn:disabled{opacity:.42;cursor:not-allowed}
.barcode-phone-row{margin:10px 0 2px;padding:9px 11px;border-radius:12px;border:1px solid rgba(38,216,135,.14);background:rgba(38,216,135,.05);font-size:12px;color:#d9ffea}
#tab-players .player-profile-card .form-grid{grid-template-columns:repeat(4,minmax(160px,1fr))!important}
#tab-teams .quick-player-form{grid-template-columns:repeat(4,minmax(160px,1fr))!important}
#tab-championship .champ-player-register-grid{grid-template-columns:repeat(4,minmax(150px,1fr))!important}
@media(max-width:1100px){#tab-players .player-profile-card .form-grid,#tab-teams .quick-player-form,#tab-championship .champ-player-register-grid{grid-template-columns:repeat(2,minmax(160px,1fr))!important}}
@media(max-width:640px){#tab-players .player-profile-card .form-grid,#tab-teams .quick-player-form,#tab-championship .champ-player-register-grid{grid-template-columns:1fr!important}}


/* v99 - Championship full match events, separate from Sunday match events */
#tab-championship .champ-match-events-panel{
  margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);
}
#tab-championship .champ-events-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;
}
#tab-championship .champ-events-head h4{margin:2px 0 0;font-size:15px}
#tab-championship .champ-events-head>strong{
  display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;
  background:rgba(57,167,255,.11);border:1px solid rgba(57,167,255,.20);font-size:11px;
}
#tab-championship .champ-event-form{
  display:grid;grid-template-columns:1fr 1.25fr 1fr 1.35fr auto;gap:8px;align-items:end;
  padding:10px;border-radius:13px;background:rgba(3,12,22,.48);border:1px solid rgba(255,255,255,.06);
}
#tab-championship .champ-event-form label{min-width:0;color:var(--muted);font-size:9px;font-weight:800}
#tab-championship .champ-event-form label>span{display:block;margin:0 0 4px}
#tab-championship .champ-event-form input,
#tab-championship .champ-event-form select{width:100%;min-width:0;min-height:36px;padding:7px 8px;font-size:11px}
#tab-championship .champ-add-event-btn{min-height:36px;padding:8px 12px;white-space:nowrap}
#tab-championship .champ-event-log{display:grid;gap:6px;margin-top:8px}
#tab-championship .champ-event-empty{
  padding:9px 11px;border-radius:11px;border:1px dashed rgba(255,255,255,.08);color:var(--muted);font-size:10px;text-align:center;
}
#tab-championship .champ-event-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:11px;
  border:1px solid rgba(255,255,255,.06);background:rgba(6,16,28,.62);
}
#tab-championship .champ-event-main{display:flex;align-items:center;gap:8px;min-width:0}
#tab-championship .champ-event-icon{font-size:15px;line-height:1}
#tab-championship .champ-event-main>div{min-width:0}
#tab-championship .champ-event-main strong{display:block;font-size:11px}
#tab-championship .champ-event-main small{display:block;color:var(--muted);font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:700px}
#tab-championship .champ-event-tail{display:flex;align-items:center;gap:7px;flex:0 0 auto}
#tab-championship .champ-event-tail>span{font-size:11px;font-weight:900;color:#dcecff}
#tab-championship .champ-event-tail button{min-height:28px;padding:5px 8px;font-size:9px}
#tab-championship .champ-event-goal{border-left:3px solid rgba(38,216,135,.8)}
#tab-championship .champ-event-assist{border-left:3px solid rgba(57,167,255,.8)}
#tab-championship .champ-event-yellow{border-left:3px solid rgba(245,199,65,.9)}
#tab-championship .champ-event-red{border-left:3px solid rgba(235,75,75,.9)}
#tab-championship .champ-event-foul{border-left:3px solid rgba(255,145,75,.8)}
#tab-championship .champ-event-save{border-left:3px solid rgba(153,110,255,.8)}
#tab-championship .champ-event-sub{border-left:3px solid rgba(85,210,210,.8)}
@media(max-width:1100px){
  #tab-championship .champ-event-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tab-championship .champ-add-event-btn{grid-column:1/-1;width:100%}
}
@media(max-width:620px){
  #tab-championship .champ-event-form{grid-template-columns:1fr}
  #tab-championship .champ-add-event-btn{grid-column:auto}
  #tab-championship .champ-event-item{align-items:flex-start}
  #tab-championship .champ-event-main small{white-space:normal}
}


/* v100 - prominent Championship scoreboard + timer console */
#tab-championship .champ-live-console-card{margin:14px 0 16px;padding:18px;border:1px solid rgba(57,167,255,.18);background:linear-gradient(180deg,rgba(10,25,43,.98),rgba(5,14,26,.96));box-shadow:0 22px 50px rgba(0,0,0,.24)}
#tab-championship .champ-live-console-head{align-items:flex-end;gap:16px;margin-bottom:14px}
#tab-championship .champ-live-match-picker{min-width:320px;color:var(--muted);font-size:10px;font-weight:800}
#tab-championship .champ-live-match-picker span{display:block;margin:0 0 5px}
#tab-championship .champ-live-match-picker select{width:100%;min-height:42px}
#tab-championship .champ-live-empty{padding:28px 18px;text-align:center;border-radius:18px;border:1px dashed rgba(255,255,255,.12);color:var(--muted);background:rgba(4,13,24,.45)}
#tab-championship .champ-live-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);gap:16px;align-items:stretch;padding:16px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 50% 20%,rgba(57,167,255,.10),transparent 38%),rgba(3,11,20,.72)}
#tab-championship .champ-live-scoreboard.completed{border-color:rgba(38,216,135,.26)}
#tab-championship .champ-live-team{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
#tab-championship .champ-live-team>strong{font-size:clamp(18px,2vw,27px);text-align:center;overflow-wrap:anywhere}
#tab-championship .champ-live-team>.color-dot{width:16px;height:16px}
#tab-championship .champ-live-score-controls{display:grid;grid-template-columns:44px 96px 44px;gap:8px;align-items:center}
#tab-championship .champ-live-score-controls button{height:44px;padding:0;font-size:24px;font-weight:900;border-radius:13px}
#tab-championship .champ-live-score-controls span{display:grid;place-items:center;height:76px;border-radius:18px;background:#020a12;border:1px solid rgba(255,255,255,.09);font-size:50px;font-weight:950;line-height:1;color:#fff;text-shadow:0 0 22px rgba(57,167,255,.25)}
#tab-championship .champ-live-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:20px;background:linear-gradient(180deg,rgba(6,18,32,.95),rgba(2,9,17,.96));border:1px solid rgba(57,167,255,.18)}
#tab-championship .champ-live-center>small{font-size:10px;font-weight:900;letter-spacing:1.3px;color:var(--muted);text-transform:uppercase}
#tab-championship .champ-live-center>strong{font-variant-numeric:tabular-nums;display:block;font-size:clamp(42px,5vw,68px);line-height:1;font-weight:950;letter-spacing:3px;color:#f5fbff;text-shadow:0 0 28px rgba(57,167,255,.27)}
#tab-championship .champ-live-timer-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%;margin-top:6px}
#tab-championship .champ-live-timer-actions button{min-height:40px;padding:8px 7px;font-size:10px}
@media(max-width:1000px){#tab-championship .champ-live-scoreboard{grid-template-columns:1fr 240px 1fr;gap:10px}#tab-championship .champ-live-score-controls{grid-template-columns:36px 74px 36px;gap:5px}#tab-championship .champ-live-score-controls span{height:64px;font-size:42px}}
@media(max-width:760px){#tab-championship .champ-live-console-head{align-items:stretch;flex-direction:column}#tab-championship .champ-live-match-picker{min-width:0;width:100%}#tab-championship .champ-live-scoreboard{grid-template-columns:1fr 1fr}#tab-championship .champ-live-center{grid-column:1/-1;grid-row:1}#tab-championship .champ-live-team{grid-row:2}}
@media(max-width:480px){#tab-championship .champ-live-console-card{padding:12px}#tab-championship .champ-live-scoreboard{padding:9px;gap:7px}#tab-championship .champ-live-team{padding:10px 6px}#tab-championship .champ-live-score-controls{grid-template-columns:30px 58px 30px}#tab-championship .champ-live-score-controls span{height:56px;font-size:34px}#tab-championship .champ-live-score-controls button{height:38px;font-size:20px}#tab-championship .champ-live-timer-actions{grid-template-columns:1fr}}


/* v101 - championship scoreboard/timer is permanently visible at top of Championship tab */
#tab-championship .championship-scoreboard-primary{
  margin:0 0 14px !important;
  padding:18px !important;
  border:1px solid rgba(57,167,255,.22) !important;
  background:linear-gradient(180deg,rgba(8,22,39,.98),rgba(4,13,24,.96)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);
}
#tab-championship .championship-scoreboard-primary .champ-live-console-head{
  margin-bottom:12px !important;
}
#tab-championship .championship-scoreboard-static{
  display:grid !important;
  visibility:visible !important;
  min-height:190px;
}
#tab-championship .championship-scoreboard-static .champ-live-team > strong{
  font-size:clamp(17px,1.5vw,24px);
  text-align:center;
}
#tab-championship .championship-scoreboard-static .champ-live-center > strong{
  font-size:clamp(52px,6vw,82px) !important;
  line-height:1 !important;
  letter-spacing:2px;
}
#tab-championship #champLiveEmptyNote{
  margin-top:10px;
  padding:10px 12px;
  border:1px dashed rgba(255,255,255,.12);
  border-radius:12px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}
#tab-championship #champLiveEmptyNote[hidden]{display:none !important}
@media(max-width:760px){
  #tab-championship .championship-scoreboard-primary{padding:12px !important}
  #tab-championship .championship-scoreboard-static{min-height:0}
}
