/* ── Match Overview Card ── */
.match-overview-card{background:var(--surf);border:1px solid var(--bdr);border-radius:18px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05);}
.mov-row{display:flex;align-items:center;gap:8px;padding:14px 14px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s;}
.mov-row:active{background:var(--surf2);}
.mov-row--g.mov-row--active{background:rgba(21,128,61,.07);}
.mov-row--w.mov-row--active{background:rgba(148,163,184,.07);}
.mov-left{display:flex;align-items:center;gap:7px;flex-shrink:0;}
.mov-team-name{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;}
.mov-row--g .mov-team-name{color:var(--green);}
.mov-row--w .mov-team-name{color:#475569;}
.mov-our-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:24px;font-weight:800;color:var(--cream);flex-shrink:0;letter-spacing:.5px;}
.mov-sep{font-size:11px;color:var(--muted);font-weight:700;flex-shrink:0;}
.mov-right{display:flex;align-items:center;gap:5px;flex:1;min-width:0;}
.mov-opp-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--muted);flex-shrink:0;}
.mov-opp-name{font-size:11px;font-weight:700;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;}
.mov-meta{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-left:2px;}
.mov-timer{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:13px;font-weight:700;color:var(--muted);background:var(--surf2);border-radius:6px;padding:3px 8px;transition:color .3s,background .3s;}
.mov-timer.timer-live{color:var(--bright);background:rgba(21,128,61,.1);}
.mov-timer.timer-overtime{color:#f59e0b;background:rgba(245,158,11,.1);}
.mov-timer.timer-fulltime{color:#e53935;background:rgba(229,57,53,.1);animation:live-pulse 1.2s ease-in-out infinite;}
.mov-half-badge{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:var(--surf2);border-radius:5px;padding:2px 6px;flex-shrink:0;}
.mov-divider{height:1px;background:var(--bdr);}

/* ════════════════════════════════════════
   LIVE PAGE — Match Cards
   ════════════════════════════════════════ */

/* (header and nav pills removed — static two-card layout) */

/* Live page fills viewport, cards split space equally */
/* 52px = sticky header, 74px = floating nav + offset, safe-area = iPhone home bar */
#pg-live.on{display:flex;flex-direction:column;height:calc(100dvh - 74px - env(safe-area-inset-bottom,0px));overflow:hidden;}
#pg-live .pitch-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;padding:10px 12px 0;overflow:hidden;max-width:560px;width:100%;margin:0 auto;}
#pg-live .ltc-card{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:6px;overflow:hidden;}
#pg-live .ltc-status-bar,#pg-live .ltc-score-section{flex-shrink:0;}
#pg-live .ltc-timeline{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;padding-bottom:6px;}

/* Card shell — fix 3: top accent border per team */
.ltc-card{background:var(--surf);border:1px solid var(--bdr);border-radius:18px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);}
.ltc-card--g{border-top:3px solid var(--green);}
.ltc-card--w{border-top:3px solid #94a3b8;}

/* Status bar — fix 4: stronger contrast when live */
.ltc-status-bar{display:flex;align-items:center;padding:7px 12px 6px;border-bottom:1px solid var(--bdr);background:var(--surf2);transition:background .3s;}
.ltc-status-bar:has(.ltc-status--live){background:rgba(21,128,61,.1);}
.ltc-status-bar:has(.ltc-status--ht){background:rgba(245,158,11,.08);}
.ltc-status-bar:has(.ltc-status--ft){background:rgba(229,57,53,.07);}
.ltc-status-left{display:flex;align-items:center;gap:7px;}
.ltc-status-text{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);}
.ltc-status--live{font-size:11px;color:var(--bright);}
.ltc-status--ht{font-size:11px;color:#d97706;}
.ltc-status--ft{font-size:11px;color:#e53935;}
.ltc-status--stopped{color:var(--muted);}

/* Score section — 3-row layout: names / scores+vs / pts */
.ltc-score-section{display:flex;flex-direction:column;padding:8px 14px 8px;gap:1px;}
.ltc-srow{display:flex;align-items:center;}
.ltc-sc-side{flex:1;display:flex;align-items:center;gap:4px;}
.ltc-sc-side:last-child{justify-content:flex-end;}
.ltc-sc-mid{width:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ltc-score-team-name{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--cream);}
.ltc-score-team-name--opp{color:var(--muted);}
.ltc-team-pip{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.ltc-team-pip--g{background:var(--green);}
.ltc-team-pip--w{background:#94a3b8;border:1.5px solid #cbd5e1;}
.ltc-score-big{font-size:34px;font-weight:800;color:var(--cream);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:1px;}
.ltc-score-pts{font-size:10px;font-weight:700;color:var(--muted);margin-top:1px;}
.ltc-score-vs{font-size:13px;font-weight:700;color:var(--muted);}
.ltc-diff{font-size:10px;font-weight:800;letter-spacing:.3px;padding:2px 5px;border-radius:6px;white-space:nowrap;}
.ltc-diff--ahead{color:#15803d;background:rgba(22,163,74,.12);}
.ltc-diff--behind{color:#dc2626;background:rgba(220,38,38,.1);}
.ltc-diff--level{color:var(--muted);}

/* Empty state */
.ltc-empty{font-size:11px;color:var(--muted);text-align:center;padding:10px 0 14px;font-style:italic;}

/* Timeline entries — compact */
.ltc-timeline{padding:0 14px 6px;display:flex;flex-direction:column;border-top:1px solid var(--bdr);}
.ltc-evt{display:flex;align-items:flex-start;gap:8px;padding:6px 0;}
.ltc-evt+.ltc-evt{border-top:1px solid var(--bdr);}

/* Time column — fix 2: minutes + prime only */
.ltc-evt-time{font-size:11px;font-weight:700;color:var(--muted);font-family:-apple-system,'Roboto Condensed',sans-serif;min-width:28px;flex-shrink:0;padding-top:2px;}

/* Icon column — CSS shapes only, vertical connector line */
.ltc-evt-icon{width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:2px;position:relative;}
.ltc-evt+.ltc-evt .ltc-evt-icon::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:1px;height:6px;background:var(--bdr);}
.ltc-evt-icon--goal{background:var(--green);}
.ltc-evt-icon--point{background:transparent;border:2px solid #94a3b8;}
.ltc-milestone-break{display:flex;align-items:center;gap:6px;padding:6px 0 4px;}
.ltc-milestone-break-time{font-size:10px;font-weight:700;color:var(--muted);min-width:24px;flex-shrink:0;}
.ltc-milestone-break-line{flex:1;height:1px;background:var(--bdr);}
.ltc-milestone-break-lbl{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:3px;}
.ltc-milestone-icon{width:10px;height:10px;color:var(--muted);display:block;flex-shrink:0;}

/* Content column — fix 2: scorer-led text */
.ltc-evt-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.ltc-evt-label{font-size:12px;font-weight:700;color:var(--cream);line-height:1.3;}
.ltc-evt-type{font-size:11px;font-weight:600;margin-left:1px;}
.ltc-evt-type--goal{color:#dc2626;}
.ltc-evt-type--point{color:var(--green);}
.ltc-evt-sub{font-size:10px;font-weight:600;color:var(--muted);}
.ltc-score-big--opp{color:var(--muted);font-size:34px;}

/* ── Game Toggle ── */
.game-toggle-row{display:flex;gap:8px;margin-bottom:10px;}
.game-toggle-row .btn{flex:1;justify-content:center;}
/* ── Game Detail Card ── */
.game-detail-card{background:var(--surf);border:1.5px solid var(--bdr);border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:background .2s,border-color .2s;}
.game-detail-card--g{background:rgba(22,163,74,.04);border-color:rgba(22,163,74,.25);}
.game-detail-card--w{background:rgba(148,163,184,.05);border-color:rgba(148,163,184,.3);}
.game-timer-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--bdr);}
.mov-live-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;}
.mov-live-dot--on{background:var(--bright);animation:live-pulse 1.2s ease-in-out infinite;}
.mov-live-dot--off{background:#e53935;}
.live-status-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin-left:4px;}
.live-status-badge--on{color:var(--green);}
.live-status-badge--off{color:#e53935;}
.live-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;flex-shrink:0;}
.live-status-badge--on .live-status-dot{animation:live-pulse 1.2s ease-in-out infinite;}
@keyframes live-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.3;transform:scale(.7);}}
.game-score-row{display:flex;align-items:center;gap:8px;}
.sb-side{display:flex;flex-direction:column;gap:2px;flex:1;}
.sb-side--ours{align-items:flex-start;}
.sb-side--opp{align-items:flex-end;}
.sb-vs{font-size:14px;font-weight:800;color:var(--muted);flex-shrink:0;padding:0 2px;}
.sb-name{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:flex;align-items:center;gap:4px;}
.sb-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:40px;font-weight:800;color:var(--cream);line-height:1;}
.sb-score--opp{color:var(--muted);}
.sb-total{font-size:11px;color:var(--muted);font-weight:600;}
.score-add-row{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;}
.score-add-team{display:flex;align-items:center;gap:6px;}
.score-add-label{font-size:12px;font-weight:700;color:var(--cream);display:flex;align-items:center;gap:4px;min-width:60px;}
.score-add-label--opp{color:var(--muted);}
.score-add-btn--undo{opacity:.6;}
.score-add-btn{font-size:12px;padding:5px 10px;}

/* Score events log */
.score-log{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.score-evt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--bdr);background:var(--surf);}
.score-evt--g{border-left:3px solid var(--green);}
.score-evt--w{border-left:3px solid #94a3b8;}
.score-evt-icon{font-size:16px;flex-shrink:0;}
.score-evt-badge{font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:2px 6px;border-radius:5px;flex-shrink:0;}
.score-evt-badge--goal{background:rgba(220,38,38,.1);color:#dc2626;}
.score-evt-badge--point{background:rgba(22,163,74,.1);color:var(--green);}
.score-evt-run{font-size:12px;font-weight:800;color:var(--cream);font-family:-apple-system,'Roboto Condensed',sans-serif;flex-shrink:0;opacity:.7;}
.score-evt-info{flex:1;min-width:0;}
.score-evt-team{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;display:block;}
.score-evt-scorer{font-size:13px;font-weight:700;color:var(--cream);}
.score-evt-min{font-size:11px;color:var(--muted);font-weight:700;flex-shrink:0;font-family:-apple-system,'Roboto Condensed',sans-serif;min-width:38px;}
.score-evt-del{background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:8px 10px;border-radius:8px;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.score-evt-del:hover{background:rgba(220,38,38,.08);color:var(--red);}

/* Pitch section header */
.pitch-section-hd{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;padding:10px 2px 6px;border-top:1px solid var(--bdr);margin-bottom:6px;}

/* ── Parent Live View ── */
#parentView{background:var(--bg);min-height:100vh;}
.parent-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;background:var(--surf);border-bottom:1px solid var(--bdr);position:sticky;top:0;z-index:10;}
.parent-club{font-size:17px;font-weight:800;color:var(--cream);}
.parent-tagline{font-size:11px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:1px;}
.parent-body{max-width:480px;margin:0 auto;}
.parent-section-hd{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;padding:10px 2px 6px;display:flex;align-items:center;gap:5px;}
.parent-squad{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.parent-player-chip{display:flex;align-items:center;gap:6px;background:var(--surf);border:1px solid var(--bdr);border-radius:10px;padding:7px 12px;}
.parent-player-name{font-size:13px;font-weight:700;color:var(--cream);}
.parent-player-pos{font-size:11px;color:var(--muted);font-weight:600;}
.parent-updated{font-size:11px;color:var(--muted);text-align:center;margin-top:20px;padding-bottom:20px;}

/* ── Parent Overview: team picker ── */
.pov-section-hd{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;padding:6px 2px 14px;}
.pov-no-live{padding:48px 0;text-align:center;color:var(--muted);font-size:14px;}
/* Rich game picker card */
.pov-game-card{display:block;width:100%;background:var(--surf);border:1.5px solid var(--bdr);border-radius:18px;padding:16px 18px 14px;margin-bottom:14px;text-align:left;cursor:pointer;border-left-width:4px;transition:background .15s;-webkit-tap-highlight-color:transparent;}
.pov-game-card--g{border-left-color:var(--green);}
.pov-game-card--w{border-left-color:#94a3b8;}
.pov-game-card:active{background:var(--surf2);}
.pgc-top{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.pgc-status{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;}
.pgc-status--live{color:var(--bright);animation:pov-pulse 1.4s ease-in-out infinite;}
.pgc-status--off{color:var(--muted);}
.pgc-label{flex:1;font-size:15px;font-weight:800;color:var(--cream);}
.pgc-arrow{font-size:20px;color:var(--muted);line-height:1;}
.pgc-scores{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px;}
.pgc-side{flex:1;}
.pgc-side--opp{text-align:right;}
.pgc-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:34px;font-weight:800;color:var(--cream);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.5px;}
.pgc-side--opp .pgc-score{color:var(--muted);}
.pgc-name{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;}
.pgc-vs{font-size:13px;font-weight:700;color:var(--muted);padding:0 4px;padding-bottom:6px;flex-shrink:0;}
.pgc-footer{display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--bdr);padding-top:10px;}
.pgc-timer{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:13px;font-weight:700;color:var(--muted);background:var(--surf2);border-radius:6px;padding:3px 10px;}
/* ── Back button ── */
.pov-back-btn{background:none;border:none;color:var(--green);font-size:13px;font-weight:700;padding:0 0 12px;cursor:pointer;display:block;}
/* ── Score hero card ── */
.pov-score-hero{background:var(--surf);border-radius:18px;padding:20px 16px 18px;margin-bottom:16px;border-left:4px solid var(--green);}
.pov-hero--w{border-left-color:#999;}
.pov-hero-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pov-hero-status{display:flex;align-items:center;gap:8px;}
.pov-hero-live{font-size:12px;font-weight:800;color:var(--bright);letter-spacing:.5px;animation:pov-pulse 1.4s ease-in-out infinite;}
.pov-hero-stopped{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.5px;}
.pov-half-badge{font-size:10px;font-weight:800;color:var(--muted);background:var(--surf2);border-radius:6px;padding:3px 8px;letter-spacing:.5px;text-transform:uppercase;}
.pov-sub-count{font-size:10px;font-weight:700;color:var(--muted);background:var(--surf2);border-radius:5px;padding:1px 7px;margin-left:6px;}
.pov-hero-timer{font-size:26px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:2px;transition:color .4s;}
.pov-hero-timer--live{color:var(--cream);}
.pov-hero-timer.timer-overtime{color:#f59e0b !important;}
.pov-hero-timer.timer-fulltime{color:#e53935 !important;animation:live-pulse 1.2s ease-in-out infinite;}
@keyframes pov-pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.pov-hero-scores{display:flex;align-items:center;justify-content:space-between;}
.pov-hero-side{flex:1;text-align:center;}
.pov-hero-side--opp .pov-hero-num{color:var(--muted);}
.pov-hero-num{font-size:42px;font-weight:800;color:var(--cream);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:1px;}
.pov-hero-team{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:5px;display:flex;align-items:center;justify-content:center;gap:4px;}
.pov-hero-pts{font-size:11px;color:var(--muted);margin-top:2px;}
.pov-hero-sep{font-size:15px;color:var(--muted);font-weight:700;padding:0 6px;padding-bottom:20px;}
/* ── Pitch grid ── */
.pov-pitch-hd{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;padding-top:14px;border-top:1px solid var(--bdr);}
.pov-pitch{
  background:linear-gradient(175deg,#1e4d1e 0%,#276227 35%,#2e6e2e 50%,#276227 65%,#1e4d1e 100%);
  border:2px solid #163d16;border-radius:16px;padding:16px 6px 14px;
  margin-bottom:14px;display:flex;flex-direction:column;gap:9px;
  position:relative;overflow:hidden;
}
/* Centre line marking */
.pov-pitch::before{content:'';position:absolute;top:50%;left:8%;right:8%;height:1px;background:rgba(255,255,255,.12);pointer-events:none;}
/* Hourglass: HF/HB spread wide, MF is the waist */
.pov-pitch-row{display:flex;justify-content:center;gap:8px;}
.pov-pitch-row.pr-hfwd,.pov-pitch-row.pr-hbk{justify-content:space-between;padding:0 4px;}
.pov-pitch-row.pr-mid{padding:0 20px;}
/* Player slots */
.pov-pitch-player{width:60px;height:54px;border-radius:10px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.pov-team-g{background:rgba(46,140,80,.8);border-color:rgba(255,255,255,.3);}
.pov-team-w{background:rgba(235,235,235,.88);border-color:rgba(255,255,255,.6);}
.pov-pitch-player--empty{opacity:.18;}
.pov-pp-pos{font-size:8px;font-weight:800;color:rgba(255,255,255,.65);text-transform:uppercase;}
.pov-pp-name{font-size:9px;font-weight:700;color:#fff;text-align:center;padding:0 3px;line-height:1.25;word-break:break-word;}
.pov-team-w .pov-pp-pos{color:rgba(0,0,0,.5);}
.pov-team-w .pov-pp-name{color:#111;}
/* ── Score Feed (parent + live view) ── */
.pov-scorers{
  margin:10px 0 14px;
  display:flex;flex-direction:column;gap:4px;
}
.pov-scorers-hd{
  font-size:10px;font-weight:800;color:var(--muted);
  text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:5px;display:flex;align-items:center;gap:6px;
}
.pov-scorers-hd::after{content:'';flex:1;height:1px;background:var(--bdr);}
.pov-scorer-row{
  display:flex;align-items:center;gap:9px;
  padding:7px 12px;border-radius:11px;
  background:var(--surf);border:1px solid var(--bdr);
}
.pov-scorer-row--goal{
  background:rgba(220,38,38,.05);
  border-color:rgba(220,38,38,.2);
  border-left:3px solid #dc2626;
}
.pov-scorer-row--point{
  border-left:3px solid var(--green);
}
.pov-scorer-icon{font-size:16px;flex-shrink:0;line-height:1;}
.pov-scorer-name{flex:1;font-size:14px;font-weight:700;color:var(--cream);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pov-scorer-name--unattr{color:var(--muted);font-style:italic;font-weight:600;}
.pov-scorer-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;}
.pov-scorer-row--goal .pov-scorer-type{color:#dc2626;}
.pov-scorer-row--point .pov-scorer-type{color:var(--green);}
.pov-scorer-time{font-size:11px;font-weight:700;color:var(--muted);flex-shrink:0;
  font-family:-apple-system,'Roboto Condensed',sans-serif;
  background:var(--surf2);border-radius:5px;padding:2px 6px;min-width:38px;text-align:center;}
.pov-scorers-empty{font-size:13px;color:var(--muted);padding:6px 0;text-align:center;}

/* ── Bench / Subs ── */
.pov-bench-hd{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;display:flex;align-items:center;}
.pov-bench{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:28px;}
.pov-bench-chip{display:flex;align-items:center;gap:6px;background:var(--surf);border:1px solid var(--bdr);border-radius:10px;padding:7px 12px;}
.pov-bench-pos{font-size:10px;font-weight:700;color:var(--muted);}
.pov-bench-name{font-size:13px;font-weight:700;color:var(--cream);}
.pov-bench-empty{font-size:13px;color:var(--muted);}

/* ── Parent/Live view mode segmented control ── */
.pov-mode-seg{display:flex;background:var(--surf2);border:1px solid var(--bdr);border-radius:14px;padding:4px;gap:4px;margin:0 0 14px;}
.pov-ms-btn{flex:1;padding:9px 4px;border:none;border-radius:10px;background:transparent;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s;}
.pov-ms-btn--on{background:var(--surf);color:var(--green);box-shadow:0 0 0 1px var(--bdr);}
/* ── Larger pitch tiles in Team Sheet tab ── */
.pov-pitch--lg .pov-pitch-player{width:72px;height:64px;border-radius:12px;}
.pov-pitch--lg .pov-pp-pos{font-size:9px;}
.pov-pitch--lg .pov-pp-name{font-size:10px;}

/* Score picker modal */
.score-picker-modal{padding:0;max-height:70vh;display:flex;flex-direction:column;}
.score-picker-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--bdr);flex-shrink:0;}
.score-picker-title{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:17px;font-weight:800;color:var(--cream);}
.score-picker-body{overflow-y:scroll;-webkit-overflow-scrolling:touch;flex:1;}
.score-picker-row{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--bdr);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .12s;}
.score-picker-row:last-child{border-bottom:none;}
.score-picker-row:active{background:var(--surf2);}
.score-picker-jsy{font-size:11px;font-weight:800;color:var(--green);background:rgba(22,163,74,.12);border-radius:6px;padding:2px 7px;min-width:32px;text-align:center;flex-shrink:0;}
.score-picker-name{font-size:15px;font-weight:700;color:var(--cream);flex:1;}
.score-picker-pos{font-size:12px;color:var(--muted);font-family:-apple-system,'Roboto Condensed',sans-serif;flex-shrink:0;}

/* ── Pitch page ── */
.pitch-wrapper{padding:12px 12px 110px;max-width:560px;margin:0 auto;}
.pitch-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
/* ── Pitch page match info banner ── */
.pitch-match-info{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;
  background:var(--surf);border:1px solid var(--bdr);border-radius:12px;
  padding:8px 14px;margin-bottom:10px;
}
/* Inline variant — sits above the timer inside the score panel */
.pitch-match-info--inline{
  background:none;border:none;border-radius:0;
  padding:4px 0 2px;margin-bottom:0;
}
.pmi-opp{font-size:13px;font-weight:800;color:var(--cream);}
.pmi-sep{font-size:12px;color:var(--bdr);}
.pmi-diff{font-size:12px;font-weight:800;}
.pmi-diff--ahead{color:var(--green);}
.pmi-diff--behind{color:var(--red);}
.pmi-diff--level{color:var(--muted);}
.pitch-team-toggle{display:flex;gap:6px;}
.match-timer-wrap{display:flex;align-items:center;gap:6px;}
.timer-display{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:26px;font-weight:700;color:var(--green);min-width:72px;letter-spacing:1px;transition:color .4s;}
.timer-display.timer-overtime{color:#f59e0b;}
.timer-display.timer-fulltime{color:#e53935;animation:live-pulse 1.2s ease-in-out infinite;}
/* ── GAA Visual Pitch ── */
.pitch-field{
  position:relative;
  width:calc(100% - 24px);max-width:420px;margin:8px auto 0;
  aspect-ratio:9/12;
  background-color:#2d7a32;
  background-image:linear-gradient(90deg,transparent 50%,#358a3a 50%);
  background-size:10% 100%;
  border:2.5px solid rgba(255,255,255,.85);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.18),0 1px 6px rgba(0,0,0,.1);
  display:block;padding:0;gap:0;
}
.pitch-field::before,.pitch-field::after{display:none;}

/* Hourglass rows — padding creates the inward/outward shape */
.pitch-row{display:flex;justify-content:center;gap:5px;position:relative;z-index:1;}
.pr-fwd {padding:0 2px;}                                      /* 3 — full forwards: widest */
.pr-hfwd{padding:0 18%;justify-content:space-between;}       /* 2 — half forwards */
.pr-mid {padding:0 22%;}                                      /* 2 — midfield: narrowest (waist) */
.pr-hbk {padding:0 18%;justify-content:space-between;}       /* 2 — half backs */
.pr-fbk {padding:0 22px;}                                      /* 3 — full backs: widest */
.pr-gk  {padding:0 34%;}                                      /* 1 — goalkeeper: centered */

/* Player tile */
.pitch-player{
  background:rgba(0,0,0,.5);
  border:2px solid rgba(255,255,255,.2);
  border-radius:12px;padding:9px 5px 8px;
  text-align:center;cursor:pointer;flex:1;
  min-width:66px;max-width:80px;
  transition:all .15s;user-select:none;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.pitch-player:active{transform:scale(.95);}
.pitch-player:hover{border-color:rgba(255,255,255,.6);background:rgba(0,0,0,.7);}
.pitch-player--empty{opacity:.2;cursor:default;pointer-events:none;}
.pitch-player.team-G{border-color:rgba(134,239,172,.75);background:rgba(22,163,74,.2);}
.pitch-player.team-G:hover{background:rgba(22,163,74,.35);}
.pitch-player.team-W{border-color:rgba(220,220,230,.6);background:rgba(200,200,220,.12);}
.pitch-player.team-W:hover{background:rgba(200,200,220,.25);}
.pitch-player.swap-target{border-color:#ff6b35;background:rgba(255,80,0,.22);animation:pulse-swap .7s ease-in-out infinite alternate;}
.pitch-player.pos-selected{border-color:#f5a623;background:rgba(245,166,35,.28);box-shadow:0 0 0 3px rgba(245,166,35,.3);}
.pitch-player.urgent{border-color:var(--amber);animation:pitch-urgent .8s ease-in-out infinite;}
@keyframes pitch-urgent{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4);}50%{box-shadow:0 0 0 6px rgba(245,158,11,0);}}
@keyframes pulse-swap{from{box-shadow:0 0 0 0 rgba(255,100,0,.4);}to{box-shadow:0 0 0 5px rgba(255,100,0,0);}}
.pp-pos{
  font-size:8px;color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.8px;
  margin-bottom:4px;font-weight:700;
}
.pp-name{
  color:#fff;font-weight:800;font-size:11px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  max-width:70px;line-height:1.2;
}
.sub-pending{background:rgba(234,179,8,.12);border:2px solid rgba(234,179,8,.5);border-radius:14px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;margin:8px 0;font-size:13px;font-weight:700;color:var(--cream);gap:10px;}
.bench-section{margin-top:10px;margin-bottom:10px;}
.bench-title{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px;font-family:-apple-system,'Roboto Condensed',sans-serif;font-weight:700;transition:color .2s;}
.bench-players{display:flex;flex-direction:column;gap:2px;}
.bench-player{
  display:flex;align-items:center;gap:9px;
  background:var(--surf);border:1px solid var(--bdr);border-radius:10px;
  padding:8px 11px;cursor:pointer;transition:background .12s,border-color .12s;
  user-select:none;
}
.bench-player:hover{border-color:rgba(22,163,74,.4);background:var(--surf2);}
.bench-player.selected{border-color:var(--green);background:rgba(22,163,74,.08);box-shadow:0 0 0 2px rgba(22,163,74,.2);}
.bench-player.inactive{opacity:.4;cursor:default;}
.bp-pos{
  flex-shrink:0;font-size:9px;font-weight:800;
  color:var(--green);background:rgba(22,163,74,.1);
  border:1px solid rgba(22,163,74,.25);border-radius:5px;
  padding:2px 5px;letter-spacing:.4px;text-transform:uppercase;
  font-family:-apple-system,'Roboto Condensed',sans-serif;min-width:28px;text-align:center;
}
.bp-name{flex:1;font-size:13px;font-weight:700;color:var(--cream);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bp-win-lbl{flex-shrink:0;font-size:11px;color:var(--muted);font-weight:600;}
.sub-log{margin-top:12px;}
.sub-log-hd{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:5px;font-family:-apple-system,'Roboto Condensed',sans-serif;font-weight:700;}
.sub-log-entry{display:flex;align-items:center;gap:7px;padding:6px 8px;border-bottom:1px solid var(--bdr);font-size:12px;}
.sub-log-time{font-weight:700;color:var(--green);min-width:32px;font-family:-apple-system,'Roboto Condensed',sans-serif;}
.sub-log-off{color:#dc2626;}
.sub-log-on{color:var(--green);}
.sub-log-pos{margin-left:auto;font-size:10px;color:var(--muted);}
/* Live window bar */
.live-win-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surf);border:1px solid var(--bdr);border-radius:12px;margin-bottom:8px;box-shadow:0 2px 5px rgba(0,0,0,.04);}
.lwb-label{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:18px;font-weight:800;color:var(--green);}
.lwb-time{font-size:12px;color:var(--cream);flex:1;}
.lwb-half{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;}
.lwb-ht{font-size:10px;font-weight:800;color:#ca8a04;background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.3);border-radius:6px;padding:2px 7px;letter-spacing:.5px;}
/* Next window panel */
.next-window-section{margin-top:10px;background:var(--surf);border:1px solid var(--bdr);border-radius:14px;overflow:hidden;box-shadow:0 2px 5px rgba(0,0,0,.04);}
.nwp-bar{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--bdr);cursor:pointer;user-select:none;}
.nwp-bar:hover{background:rgba(0,0,0,.025);}
.nwp-bar-label{display:flex;align-items:center;gap:6px;}
.nwp-win-chip{font-size:13px;font-weight:800;color:var(--surf);background:var(--green);border-radius:6px;padding:2px 8px;font-family:-apple-system,'Roboto Condensed',sans-serif;}
.nwp-at-time{font-size:12px;font-weight:600;color:var(--cream);}
.nwp-sub-count{font-size:11px;color:var(--muted);}
.nwp-bar-actions{display:flex;align-items:center;gap:7px;}
.nwp-confirm-btn{font-size:12px;padding:6px 12px;border-radius:9px;}
.nwp-chevron{font-size:10px;color:var(--muted);}
/* Future window rows (not the immediately next) */
.nwp-window-row{border-top:1px solid var(--bdr);}
.nwp-window-row:first-child{border-top:none;}
.nwp-bar--future{opacity:.72;}
.nwp-win-chip--future{background:var(--muted);}
.nwp-same-row--future{opacity:.65;}
.nwp-swap-list{padding:6px 10px 8px;display:flex;flex-direction:column;gap:4px;}
.nwp-swap-row{border-radius:9px;padding:4px 6px;}
.nwp-swap-row.is-editing{background:rgba(0,0,0,.03);border:1px solid var(--bdr);}
.nwp-swap-line{display:flex;align-items:center;gap:5px;font-size:12px;flex-wrap:wrap;}
.nwp-pos-tag{font-size:10px;font-weight:800;color:var(--surf);background:var(--muted);border-radius:4px;padding:1px 5px;flex-shrink:0;font-family:-apple-system,'Roboto Condensed',sans-serif;}
.nwp-off{color:#dc2626;font-weight:600;}
.nwp-arrow{color:var(--muted);font-size:11px;}
.nwp-on{color:var(--green);font-weight:600;flex:1;}
.btn-xs{font-size:10px;padding:2px 7px;border-radius:6px;}
.nwp-adj-btn{flex-shrink:0;}
.nwp-adj-btn.active{color:#dc2626;border-color:#dc2626;}
.nwp-same-row{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:12px;}
.nwp-win-lbl{font-weight:700;color:var(--cream);}
.nwp-same{color:var(--muted);}
.nwp-done{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:11px;color:var(--muted);}
.nwp-done [data-lucide]{width:14px;height:14px;}
/* Inline player picker */
.swap-editor{background:var(--surf2);border:1px solid var(--bdr);border-radius:10px;padding:9px 11px;}
.swap-picker{margin:0;}
.picker-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-weight:700;}
.picker-chips{display:flex;flex-wrap:wrap;gap:5px;}
.picker-chip{background:var(--surf);border:1px solid var(--bdr);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:all .12s;user-select:none;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.picker-chip:hover{border-color:var(--green);background:rgba(22,163,74,.08);color:var(--green);}
/* Bench upcoming badge */
.bench-player.upcoming{border-color:rgba(22,163,74,.4);background:rgba(22,163,74,.06);}
.bp-next-badge{flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.4px;color:var(--green);background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.3);border-radius:5px;padding:2px 6px;font-family:-apple-system,'Roboto Condensed',sans-serif;}

/* ── Auth / login screen ── */
/* ── Auth screens ── */
.auth-screen{
  position:fixed;inset:0;z-index:999;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.login-card{
  background:var(--surf);
  border:1px solid var(--bdr);
  border-radius:24px;
  padding:36px 28px 30px;
  width:100%;max-width:340px;
  text-align:center;
  box-shadow:0 8px 40px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);
}
/* Logo */
.login-logo-wrap{
  width:96px;height:96px;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto 20px;
  border:3px solid var(--bdr);
  box-shadow:0 4px 16px rgba(21,128,61,.15);
  background:var(--surf);
}
.login-logo-wrap--denied{
  border-color:#fecaca;
  box-shadow:0 4px 16px rgba(220,38,38,.1);
  opacity:.8;
}
.login-logo{
  width:100%;height:100%;
  object-fit:contain;object-position:center center;
  display:block;
}
/* Text */
.login-club{
  font-size:11px;font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--green);margin-bottom:4px;
}
.login-title{
  font-size:22px;font-weight:800;color:var(--cream);
  margin-bottom:24px;letter-spacing:-.4px;line-height:1.2;
}
.login-title--denied{color:#dc2626;margin-bottom:6px;}
.login-sub{font-size:13px;color:var(--muted);margin-bottom:20px;font-weight:500;line-height:1.5;}
/* Sign-in button */
.login-google-btn{
  width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 20px;border-radius:12px;font-size:14px;font-weight:700;
  letter-spacing:.1px;margin-bottom:14px;cursor:pointer;
  background:var(--cream);color:#fff;border:none;
  transition:background .15s,box-shadow .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.login-google-btn:hover{background:#2d2f32;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.login-google-btn--ghost{
  background:transparent;color:var(--muted);
  border:1px solid var(--bdr);box-shadow:none;
}
.login-google-btn--ghost:hover{background:var(--surf2);box-shadow:none;}
.login-note{font-size:11px;color:var(--muted);line-height:1.6;opacity:.7;}
.login-powered{position:absolute;bottom:16px;left:0;right:0;font-size:10px;color:var(--muted);opacity:.35;text-align:center;letter-spacing:.3px;}
.login-powered-link{color:inherit;text-decoration:none;}

/* ── Sport Source Pill (replaces globalTog) (L1303) ── */
.sport-source-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,0.85);border:1.5px solid var(--bdr);
  border-radius:22px;padding:6px 12px 6px 10px;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.07);transition:border-color .15s;
  user-select:none;-webkit-tap-highlight-color:transparent;
}
.sport-source-pill:hover{border-color:var(--green);}
.ssp-icon{font-size:17px;line-height:1;flex-shrink:0;}
.ssp-label{font-size:12px;font-weight:800;color:var(--cream);white-space:nowrap;}
.ssp-chevron{width:12px;height:12px;color:var(--muted);flex-shrink:0;}

/* Sport day badge on match-day-bar */
.sport-day-badge{padding:5px 9px;font-size:16px;line-height:1;border-radius:10px;}

/* ── Header restructure ── */
header{justify-content:space-between;}
.header-left,.header-right{flex-shrink:0;}
.header-center{flex:1;display:flex;justify-content:center;}

/* ── Sport Picker Bottom Sheet (L1319) ── */
.sport-picker-sheet{
  background:var(--surf);border-radius:24px 24px 0 0;
  padding:12px 18px 32px;width:100%;max-width:480px;
  box-shadow:0 -4px 32px rgba(0,0,0,.12);
}
.sps-handle{width:36px;height:4px;background:var(--bdr);border-radius:4px;margin:0 auto 16px;}
.sps-title{font-size:18px;font-weight:800;color:var(--cream);margin-bottom:4px;}
.sps-sub{font-size:13px;color:var(--muted);margin-bottom:18px;line-height:1.5;}
.sps-options{display:flex;flex-direction:column;gap:10px;}
.sps-opt{
  display:flex;align-items:center;gap:14px;padding:16px 16px;
  background:var(--surf2);border:1.5px solid var(--bdr);border-radius:16px;
  cursor:pointer;text-align:left;transition:border-color .15s,background .15s;
  -webkit-tap-highlight-color:transparent;width:100%;
}
.sps-opt:active{background:var(--dim);}
.sps-opt--active{border-color:var(--green);background:rgba(22,163,74,.06);}
.sps-opt-icon{font-size:30px;line-height:1;flex-shrink:0;}
.sps-opt-info{flex:1;min-width:0;}
.sps-opt-name{display:block;font-size:16px;font-weight:800;color:var(--cream);margin-bottom:2px;}
.sps-opt-desc{display:block;font-size:12px;color:var(--muted);font-weight:500;}
.sps-check{width:20px;height:20px;color:var(--green);flex-shrink:0;display:none;}
.sps-opt--active .sps-check{display:block;}

/* ── Pitch Sticky Header (L1344) ── */
.pitch-sticky-header{
  position:sticky;top:0;z-index:50;
  background:rgba(242,244,247,0.96);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--bdr);
  padding:10px 12px 0;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.psh-scores{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:8px;margin-bottom:10px;
}
.psh-game{
  display:flex;flex-direction:column;gap:3px;
  cursor:pointer;padding:8px 10px;border-radius:12px;
  border:1.5px solid transparent;transition:border-color .15s,background .15s;
  -webkit-tap-highlight-color:transparent;
}
.psh-game--g{align-items:flex-start;}
.psh-game--w{align-items:flex-end;}
.psh-game--active-g{border-color:rgba(22,163,74,.3);background:rgba(22,163,74,.05);}
.psh-game--active-w{border-color:rgba(148,163,184,.35);background:rgba(148,163,184,.06);}
.psh-team-row{display:flex;align-items:center;gap:4px;}
.psh-team-row--right{flex-direction:row-reverse;}
.psh-team-name{font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);}
.psh-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:26px;font-weight:800;color:var(--cream);line-height:1;letter-spacing:.5px;}
.psh-score--right{text-align:right;}
.psh-total{font-size:11px;font-weight:700;color:var(--green);letter-spacing:.2px;line-height:1;}
.psh-opp-score{font-size:14px;font-weight:700;color:var(--muted);letter-spacing:.3px;}
.psh-opp-name{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}

/* Timer centre column */
.psh-timer-center{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  cursor:pointer;padding:6px 8px;border-radius:14px;
  border:1.5px solid var(--bdr);background:var(--surf);
  transition:border-color .15s;min-width:80px;
}
.psh-timer-center:hover{border-color:var(--green);}
.psh-timer-display{
  font-family:-apple-system,'Roboto Condensed',sans-serif;
  font-size:24px;font-weight:800;color:var(--green);
  letter-spacing:2px;line-height:1;
  transition:color .4s;
}
.psh-timer-display.timer-overtime{color:#f59e0b;}
.psh-timer-display.timer-fulltime{color:#e53935;animation:live-pulse 1.2s ease-in-out infinite;}
.psh-timer-controls{display:flex;align-items:center;gap:5px;}
.psh-timer-btn{
  background:var(--green);color:#fff;border:none;
  border-radius:8px;padding:4px 10px;font-size:13px;font-weight:800;cursor:pointer;
}
.psh-timer-reset{background:none;border:none;cursor:pointer;color:var(--muted);display:flex;padding:2px;}
.psh-timer-reset [data-lucide]{width:14px;height:14px;}
.psh-sync-hint{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px;}

/* ── Pitch mode segmented control (L1401) ── */
.pitch-mode-seg{
  display:flex;background:var(--surf2);border:1px solid var(--bdr);
  border-radius:14px 14px 0 0;border-bottom:none;
  margin:0 -12px;padding:4px 12px 0;gap:4px;
}
.pms-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 4px 10px;border:none;border-radius:10px 10px 0 0;
  background:transparent;color:var(--muted);font-size:13px;font-weight:700;
  cursor:pointer;transition:all .18s;font-family:-apple-system,sans-serif;
  -webkit-tap-highlight-color:transparent;
}
.pms-btn [data-lucide]{width:15px;height:15px;}
.pms-btn--on{background:var(--surf);color:var(--green);box-shadow:0 -1px 0 var(--green) inset;}

/* ── Score Mode (L1417) ── */
.pitch-game-sel{
  display:flex;gap:8px;padding:12px 0 8px;
}
.pgs-btn{
  flex:1;display:flex;align-items:center;gap:7px;justify-content:center;
  padding:10px 14px;border:1.5px solid var(--bdr);border-radius:14px;
  background:var(--surf);font-size:13px;font-weight:700;cursor:pointer;
  transition:all .15s;-webkit-tap-highlight-color:transparent;
}
.pgs-btn--active{border-color:var(--green);background:rgba(22,163,74,.07);color:var(--green);}
.pgs-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:16px;font-weight:800;margin-left:auto;}

/* ── Fat-Finger Score Buttons (L1430) ── */
.score-fat-panel{
  background:var(--surf);border:1px solid var(--bdr);border-radius:18px;
  padding:14px 14px 12px;margin-bottom:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.sfp-team-label{
  display:flex;align-items:center;gap:8px;
  margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--bdr);
}
.sfp-team-label span:nth-child(2){font-size:13px;font-weight:800;color:var(--cream);letter-spacing:.5px;text-transform:uppercase;}
.sfp-score-display{
  margin-left:auto;
  font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--cream);
}
.sfp-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.sfp-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:18px 10px 16px;border:none;border-radius:16px;cursor:pointer;
  font-family:-apple-system,sans-serif;
  transition:transform .1s,box-shadow .1s;
  -webkit-tap-highlight-color:transparent;
  min-height:100px;
}
.sfp-btn:active{transform:scale(.96);}
.sfp-btn--goal{
  background:linear-gradient(145deg,#0f5c2e,var(--green));
  box-shadow:0 4px 16px rgba(21,128,61,.4),0 2px 4px rgba(0,0,0,.12);
}
.sfp-btn--goal:active{box-shadow:0 2px 8px rgba(21,128,61,.3);}
/* Whites team goal button */
.sfp-btn--goal--whites{
  background:linear-gradient(145deg,#1e293b,#334155);
  box-shadow:0 4px 16px rgba(51,65,85,.35),0 2px 4px rgba(0,0,0,.12);
}
.sfp-btn--goal--whites:active{box-shadow:0 2px 8px rgba(51,65,85,.3);}
.sfp-btn--point{
  background:linear-gradient(145deg,var(--bright),var(--green));
  box-shadow:0 4px 16px rgba(22,163,74,.35),0 2px 4px rgba(0,0,0,.12);
}
.sfp-btn--point:active{box-shadow:0 2px 8px rgba(22,163,74,.3);}
.sfp-btn-icon{font-size:28px;line-height:1;}
.sfp-btn-label{font-size:16px;font-weight:800;color:#fff;letter-spacing:.5px;}
.sfp-btn-value{font-size:11px;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.4px;}

/* Opposition compact row */
.sfp-opp-row{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;background:var(--surf2);border:1px solid var(--bdr);
  border-radius:12px;flex-wrap:wrap;
}
.sfp-opp-label{font-size:12px;font-weight:700;color:var(--muted);min-width:80px;}
.sfp-opp-btns{display:flex;gap:5px;flex-wrap:wrap;}
.sfp-opp-btn{
  padding:6px 12px;border:1px solid var(--bdr);border-radius:8px;
  background:var(--surf);color:var(--cream);font-size:12px;font-weight:700;
  cursor:pointer;transition:background .12s;-webkit-tap-highlight-color:transparent;
  font-family:-apple-system,sans-serif;
}
.sfp-opp-btn:active{background:var(--surf2);}

/* ── Subs Mode — team segmented control (L1491) ── */
.pitch-team-seg{
  display:flex;background:var(--surf2);border:1px solid var(--bdr);border-radius:14px;
  padding:4px;gap:4px;margin:12px 0 10px;
}
.pts-seg-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 4px;border:none;border-radius:10px;
  background:transparent;font-size:14px;font-weight:700;color:var(--muted);
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:background .15s,color .15s,box-shadow .15s;
  font-family:-apple-system,sans-serif;
}
.pts-seg-btn--on{background:var(--surf);box-shadow:0 0 0 1px var(--bdr);}
.pts-seg-btn--g.pts-seg-btn--on{color:var(--green);}
.pts-seg-btn--w.pts-seg-btn--on{color:#334155;}

/* ── Sub Schedule Timeline (L1508) ── */
.sub-schedule{margin:14px 0 8px;}
.sub-schedule-hd{
  font-size:10px;font-weight:800;color:var(--muted);
  text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;
  display:flex;align-items:center;gap:6px;
}
.sub-schedule-hd::after{content:'';flex:1;height:1px;background:var(--bdr);}
.ss-timeline{display:flex;flex-direction:column;gap:0;}
.ss-entry{
  display:flex;gap:10px;align-items:flex-start;
  padding:10px 0;border-bottom:1px solid rgba(226,232,240,.6);
}
.ss-entry:last-child{border-bottom:none;}
/* Done entries are visually recessed */
.ss-entry--done{opacity:.7;}
.ss-min{
  font-family:-apple-system,'Roboto Condensed',sans-serif;
  font-size:13px;font-weight:800;color:var(--green);min-width:36px;
  padding-top:1px;
}
.ss-min--done{color:var(--muted);}
.ss-dot-col{display:flex;flex-direction:column;align-items:center;padding-top:3px;}
.ss-dot{
  width:10px;height:10px;border-radius:50%;border:2px solid var(--green);
  background:var(--surf);flex-shrink:0;
}
.ss-dot--done{background:var(--green);border-color:var(--green);}
.ss-dot--ht{border-color:#ca8a04;background:rgba(202,138,4,.2);}
.ss-line{width:2px;flex:1;background:var(--bdr);min-height:16px;margin:3px 0;}
.ss-content{flex:1;min-width:0;}
.ss-win-hd{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px;}
.ss-window-label{font-size:11px;font-weight:700;color:var(--cream);}
.ss-window-label--ht{color:#ca8a04;}
.ss-exec-btn{
  font-size:12px;font-weight:700;color:#fff;background:var(--green);
  border:none;border-radius:9px;padding:6px 14px;
  cursor:pointer;white-space:nowrap;line-height:1.4;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  min-height:32px;
}
.ss-exec-btn:active{opacity:.7;}
.ss-swap{display:flex;align-items:center;gap:5px;font-size:12px;padding:3px 0;}
.ss-off{color:#dc2626;font-weight:700;}
.ss-on{color:var(--green);font-weight:700;}
.ss-arrow{color:var(--muted);font-size:10px;}
.ss-pos{font-size:10px;color:var(--muted);background:var(--surf2);border:1px solid var(--bdr);border-radius:4px;padding:1px 5px;font-family:-apple-system,'Roboto Condensed',sans-serif;font-weight:700;flex-shrink:0;}
.ss-done-badge{font-size:10px;color:var(--muted);font-style:italic;}
.ss-no-subs{font-size:12px;color:var(--muted);}

/* ── Timer Sync Modal (L1558) ── */
.timer-sync-modal{max-width:340px;padding:0;}
.tsm-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--bdr);font-size:15px;font-weight:800;color:var(--cream);}
.tsm-body{padding:20px 18px;}
.tsm-current{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:48px;font-weight:800;color:var(--green);text-align:center;letter-spacing:3px;margin-bottom:8px;}
.tsm-hint{font-size:13px;color:var(--muted);text-align:center;margin-bottom:18px;}
.tsm-inputs{display:flex;align-items:center;justify-content:center;gap:8px;}
.tsm-field{display:flex;flex-direction:column;align-items:center;gap:5px;}
.tsm-field label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.tsm-colon{font-size:32px;font-weight:800;color:var(--muted);padding-bottom:18px;}
.tsm-footer{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--bdr);}

/* ── Hide legacy score add row (replaced by fat panel) ── */
.score-add-row{display:none;}

@media(max-width:480px){
  .psh-score{font-size:22px;}
  .psh-timer-display{font-size:20px;}
  .sfp-btn{min-height:88px;padding:14px 8px 12px;}
  .sfp-btn-icon{font-size:24px;}
  .sfp-btn-label{font-size:14px;}
  .sps-opt{padding:12px 14px;}
  .sps-opt-icon{font-size:24px;}
}

/* hide old game toggle (replaced) */
.game-toggle-row{display:none;}
.game-detail-card{display:none;}
/* old score add buttons no longer used */
.score-add-btn{display:none;}

/* ── G/P labels in sticky header score ── */
.psh-gp{font-size:9px;font-weight:800;color:var(--muted);vertical-align:2px;margin:0 1px;}

/* ── Live tab badge (score update indicator) ── */
.live-tab-badge{
  position:absolute;top:-3px;right:-5px;
  width:9px;height:9px;border-radius:50%;
  background:var(--red);border:1.5px solid var(--bg);
  animation:live-pulse 1.2s ease-in-out infinite;
}

/* ── Team segmented control for parent/coach score views ── */
.pov-mode-seg{display:flex;background:var(--surf2);border:1px solid var(--bdr);border-radius:14px;padding:4px;gap:4px;margin:0 0 14px;}
.pov-ms-btn{flex:1;padding:9px 4px;border:none;border-radius:10px;background:transparent;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s;font-family:-apple-system,sans-serif;}
.pov-ms-btn--on{background:var(--surf);color:var(--green);box-shadow:0 0 0 1px var(--bdr);}
/* Larger pitch tiles in Team Sheet tab */
.pov-pitch--lg .pov-pitch-player{width:72px;height:64px;border-radius:12px;}
.pov-pitch--lg .pov-pp-pos{font-size:9px;}
.pov-pitch--lg .pov-pp-name{font-size:10px;}

/* ── Score Dual Panel ── */
.score-dual-panel{display:flex;flex-direction:column;gap:6px;padding:8px 12px 4px;}
.sdp-row{
  display:flex;align-items:center;gap:4px;
  padding:10px 10px;background:var(--surf);
}
.sdp-row--g{border-left:4px solid var(--green);}
.sdp-row--w{border-left:4px solid #94a3b8;}
.sdp-col{display:flex;flex-direction:column;align-items:center;gap:5px;width:66px;flex-shrink:0;}
.sdp-mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 4px;}
.sdp-name-row{display:flex;align-items:center;gap:5px;}
.sdp-name{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;}
.sdp-big-score{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:42px;font-weight:800;color:var(--cream);line-height:1;letter-spacing:2px;}
.sdp-type-lbl{font-size:8px;font-weight:800;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;}
.sdp-btn{border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s,box-shadow .1s;font-family:-apple-system,sans-serif;}
.sdp-btn:active{transform:scale(.91);}
.sdp-btn--undo{width:40px;height:40px;background:var(--surf2);border:1.5px solid var(--bdr);color:var(--muted);}
.sdp-btn--undo [data-lucide]{width:15px;height:15px;}
.sdp-btn--plus{width:52px;height:52px;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.1);}
.sdp-btn--plus [data-lucide]{width:22px;height:22px;}
.sdp-btn--clr-g{background:var(--green);}
.sdp-btn--clr-g:active{box-shadow:0 2px 8px rgba(21,128,61,.4);}
.sdp-btn--clr-w{background:#64748b;}
.sdp-btn--clr-w:active{box-shadow:0 2px 8px rgba(100,116,139,.4);}
.score-evt-team-lbl{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.5px;background:var(--surf2);padding:1px 5px;border-radius:4px;margin-left:4px;}
@media(max-width:380px){.sdp-big-score{font-size:34px;}.sdp-btn--plus{width:44px;height:44px;}.sdp-col{width:56px;}}

/* ── Score panel: match selector + mode toggle row ── */
.sdp-top-row{display:flex;gap:8px;align-items:stretch;}
.sdp-top-row .sdp-match-sel{flex:1.25;}
.sdp-top-row .sdp-mode-seg{flex:1;margin-top:0;}
.sdp-match-sel{display:flex;background:var(--surf2);border:1px solid var(--bdr);border-radius:12px;padding:3px;gap:3px;}
.sdp-ms-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 6px;border:none;border-radius:9px;background:transparent;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s;font-family:-apple-system,sans-serif;}
.sdp-ms-btn--on{background:var(--surf);color:var(--cream);box-shadow:0 0 0 1px var(--bdr);}

/* ── Score panel: timer ── */
.sdp-timer-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:2px 0;}
.sdp-timer-reset{width:32px;height:32px;border-radius:50%;background:var(--surf2);border:1.5px solid var(--bdr);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s;}
.sdp-timer-reset:active{transform:scale(.91);}
.sdp-timer-reset [data-lucide]{width:14px;height:14px;}
.sdp-timer-time{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:52px;font-weight:800;color:var(--cream);line-height:1;letter-spacing:2px;min-width:130px;text-align:center;}
.sdp-timer-play{width:48px;height:48px;border-radius:50%;background:var(--green);border:none;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px rgba(21,128,61,.3);-webkit-tap-highlight-color:transparent;transition:transform .1s,box-shadow .1s;}
.sdp-timer-play:active{transform:scale(.91);box-shadow:0 1px 6px rgba(21,128,61,.3);}

/* ── Full Time state ── */
.ft-saved-chip{display:flex;align-items:center;gap:5px;justify-content:center;font-size:11px;font-weight:700;color:var(--bright);letter-spacing:.4px;padding:2px 0;}
.ft-saved-chip [data-lucide]{width:13px;height:13px;}
.score-dual-panel--ft .sdp-btn--plus{opacity:.3;pointer-events:none;}
.sdp-timer-play--ft{background:#94a3b8 !important;box-shadow:none !important;font-size:10px !important;font-weight:800;letter-spacing:.5px;cursor:default;}
.sdp-timer-play--ft:active{transform:none !important;box-shadow:none !important;}

/* ── Score panel: opposition row ── */
.sdp-row--opp{border-left:4px solid var(--muted);}
.sdp-name--opp{color:var(--muted);}
.sdp-score--opp{color:var(--muted);}
.sdp-btn--clr-opp{background:#475569;}
.sdp-btn--clr-opp:active{box-shadow:0 2px 8px rgba(71,85,105,.4);}

/* ── Phase context line ── */
.sdp-phase-ctx{font-size:10px;font-weight:700;color:var(--muted);text-align:center;letter-spacing:.5px;padding:1px 0 4px;min-height:15px;}

/* ── Stepper pods ── */
.sdp-pods{display:flex;flex-direction:column;gap:7px;flex-shrink:0;}
.sdp-pod{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 10px 8px;border-radius:14px;background:var(--surf);min-width:84px;box-shadow:3px 3px 8px rgba(0,0,0,.07),-2px -2px 6px rgba(255,255,255,.85);transition:box-shadow .15s;}
.sdp-pod--active{box-shadow:inset 2px 2px 5px rgba(0,0,0,.09),inset -1px -1px 4px rgba(255,255,255,.85),0 0 0 1.5px var(--green),0 0 14px rgba(21,128,61,.22);}
.sdp-pod--opp.sdp-pod--active{box-shadow:inset 2px 2px 5px rgba(0,0,0,.09),inset -1px -1px 4px rgba(255,255,255,.85),0 0 0 1.5px #64748b,0 0 12px rgba(100,116,139,.18);}
.sdp-pod-lbl{font-size:8px;font-weight:800;color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;}
.sdp-pod-stepper{display:flex;align-items:center;gap:7px;}
.sdp-pod-val{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--cream);min-width:26px;text-align:center;line-height:1;}
.sdp-pod-btn{width:32px;height:32px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:19px;font-weight:700;font-family:-apple-system,sans-serif;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s,box-shadow .1s;}
.sdp-pod-btn:active{transform:scale(.87);}
.sdp-pod-btn--minus{background:var(--surf2);color:var(--muted);box-shadow:2px 2px 5px rgba(0,0,0,.07),-1px -1px 3px rgba(255,255,255,.9);}
.sdp-pod-btn--minus:active{box-shadow:inset 1px 1px 3px rgba(0,0,0,.1),inset -1px -1px 3px rgba(255,255,255,.7);}
.sdp-pod-btn--plus.sdp-pod-btn--goal{background:var(--green);color:#fff;box-shadow:0 3px 9px rgba(21,128,61,.32);}
.sdp-pod-btn--plus.sdp-pod-btn--point{background:var(--bright);color:#fff;box-shadow:0 3px 9px rgba(22,163,74,.28);}
.sdp-pod-btn--plus.sdp-pod-btn--opp{background:#475569;color:#fff;box-shadow:0 3px 9px rgba(71,85,105,.25);}
.sdp-pod-btn--plus:active{box-shadow:inset 1px 1px 4px rgba(0,0,0,.18),inset -1px -1px 3px rgba(255,255,255,.25);}

/* ── QuickScorer ── */
.quick-scorer{padding:10px 12px 8px;background:var(--surf);border-radius:14px;margin:2px 0 4px;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.qs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.qs-label{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;}
.qs-dismiss{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:0 2px;-webkit-tap-highlight-color:transparent;line-height:1;}
.qs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:8px;}
.qs-scroll::-webkit-scrollbar{display:none;}
.qs-list{display:flex;gap:6px;padding:2px 1px;min-width:max-content;}
.qs-chip{padding:8px 16px;border:1.5px solid var(--bdr);border-radius:22px;font-size:14px;font-weight:800;color:var(--cream);cursor:pointer;background:var(--surf);font-family:-apple-system,'Roboto Condensed',sans-serif;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:2px 2px 5px rgba(0,0,0,.06),-1px -1px 4px rgba(255,255,255,.9);transition:box-shadow .1s,transform .1s;}
.qs-chip:active{transform:scale(.92);box-shadow:inset 1px 1px 3px rgba(0,0,0,.1),inset -1px -1px 3px rgba(255,255,255,.7);}
.qs-unattr{display:block;width:100%;padding:6px 4px;background:none;border:1px dashed var(--bdr);border-radius:8px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:-apple-system,sans-serif;}
.qs-unattr:active{opacity:.7;}

/* ── Score timeline (scrollable area below score controls) ── */
.score-timeline-area{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 80px;border-top:1px solid var(--bdr);}
.stl-row{display:flex;align-items:center;gap:7px;padding:9px 14px;font-size:13px;}
.stl-row+.stl-row{border-top:1px solid var(--bdr);}
.stl-time{min-width:38px;color:var(--muted);font-weight:700;font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:11px;flex-shrink:0;}
.stl-badge{font-size:9px;font-weight:800;letter-spacing:.5px;padding:2px 6px;border-radius:4px;flex-shrink:0;text-transform:uppercase;}
.stl-badge--g{background:rgba(220,38,38,.1);color:#dc2626;}
.stl-badge--p{background:rgba(22,163,74,.1);color:var(--green);}
.stl-badge--ms{background:rgba(100,116,139,.15);color:var(--muted);}
.stl-name{flex:1;min-width:0;color:var(--cream);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stl-name--unattr{color:var(--muted);font-style:italic;cursor:pointer;text-decoration:underline dotted;}
.stl-run{font-size:11px;font-weight:800;color:var(--muted);font-family:-apple-system,'Roboto Condensed',sans-serif;flex-shrink:0;}
.stl-del{background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;padding:4px 6px;border-radius:6px;-webkit-tap-highlight-color:transparent;line-height:1;flex-shrink:0;}
.stl-del:active{color:var(--red);background:rgba(220,38,38,.08);}

/* ── Pitch page: static input + scrollable log ── */
#pg-pitch.on{display:flex;flex-direction:column;height:100dvh;overflow:hidden;}
.pitch-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0;max-width:560px;width:100%;margin:0 auto;}
.score-dual-panel{flex-shrink:0;}
.pitch-scroll-area{flex:1;min-height:0;overflow-y:auto;padding:0 0 80px;}
.score-log{padding:6px 14px 0;}

/* ── Score / Subs mode toggle (inside panel) ── */
.sdp-mode-seg{display:flex;background:var(--surf2);border:1px solid var(--bdr);border-radius:12px;padding:3px;gap:3px;}
.sdp-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 4px;border:none;border-radius:9px;background:transparent;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s;font-family:-apple-system,sans-serif;}
.sdp-mode-btn [data-lucide]{width:13px;height:13px;}
.sdp-mode-btn--on{background:var(--surf);color:var(--cream);box-shadow:0 0 0 1px var(--bdr);}

/* ── Timer: smaller + tappable ── */
.sdp-timer-time{font-size:34px;cursor:pointer;user-select:none;}
.sdp-timer-time:active{opacity:.7;}

/* ── Score log: opposition events ── */
.score-evt-opp-divider{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;padding:6px 0 4px;border-top:1px solid var(--bdr);margin-top:4px;}
.score-evt--opp{opacity:.75;}
.score-evt-scorer--opp{color:var(--muted);font-style:italic;}
/* ── Score log: match milestones (half time / full time) ── */
.score-evt--milestone{border-left:3px solid var(--muted);background:rgba(100,116,139,.06);}
.score-evt-badge--milestone{background:rgba(100,116,139,.15);color:var(--muted);}
.score-evt-attr{background:none;border:1px dashed var(--bdr);border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700;color:var(--green);cursor:pointer;-webkit-tap-highlight-color:transparent;}
.score-evt-attr:active{opacity:.7;}

/* ── Team lock overlay ── */
.ptl-wrap{display:flex;align-items:center;justify-content:center;min-height:100%;padding:40px 24px;}
.ptl-card{background:var(--surf);border:1px solid var(--bdr);border-radius:20px;padding:32px 24px;text-align:center;max-width:320px;width:100%;box-shadow:0 4px 20px rgba(0,0,0,.07);}
.ptl-icon [data-lucide]{width:40px;height:40px;color:var(--green);margin-bottom:12px;}
.ptl-title{font-size:18px;font-weight:800;color:var(--cream);margin-bottom:6px;}
.ptl-sub{font-size:13px;color:var(--muted);margin-bottom:24px;}
.ptl-btns{display:flex;flex-direction:column;gap:10px;}
.ptl-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;border:2px solid var(--bdr);border-radius:14px;background:var(--surf2);font-size:15px;font-weight:700;color:var(--cream);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s;font-family:-apple-system,sans-serif;}
.ptl-btn:active{transform:scale(.97);}
.ptl-btn--g{border-color:var(--green);} .ptl-btn--g:active{background:rgba(21,128,61,.07);}
.ptl-btn--w{border-color:#94a3b8;} .ptl-btn--w:active{background:rgba(148,163,184,.1);}
.ptl-btn .team-dot{width:12px;height:12px;}

/* ── Locked team header ── */
.sdp-top-row--locked{justify-content:space-between;align-items:center;padding:4px 2px 2px;}
.sdp-team-locked{display:flex;align-items:center;gap:7px;}
.sdp-team-locked .team-dot{width:10px;height:10px;}
.sdp-locked-name{font-size:14px;font-weight:800;color:var(--cream);letter-spacing:.5px;}
.sdp-locked-badge{font-size:9px;font-weight:800;color:var(--green);background:rgba(21,128,61,.1);border:1px solid rgba(21,128,61,.2);border-radius:5px;padding:1px 5px;letter-spacing:.8px;text-transform:uppercase;}
.sdp-switch-btn{display:flex;align-items:center;gap:5px;background:none;border:1px solid var(--bdr);border-radius:8px;padding:5px 10px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:-apple-system,sans-serif;}
.sdp-switch-btn:active{opacity:.7;}
.sdp-switch-btn [data-lucide]{width:12px;height:12px;}

/* ── Score log section (at bottom of unified scroll) ── */
.score-log-section{margin-top:16px;padding-top:12px;}

/* ── Sub window pulse alert ── */
@keyframes subWindowPulse{0%{box-shadow:0 0 0 0 rgba(21,128,61,.5);}50%{box-shadow:0 0 0 8px rgba(21,128,61,.15);}100%{box-shadow:0 0 0 0 rgba(21,128,61,0);}}
.sub-window-pulse{animation:subWindowPulse .8s ease 3;border-color:var(--green)!important;}

/* ── GAA Pitch markings ── */
.gaa-line{position:absolute;width:100%;height:1.5px;background:#fff;z-index:1;}
.gaa-dashed{background:transparent!important;border-top:1.5px dashed rgba(255,255,255,.65);height:0;}
.gaa-halfway{top:50%;height:2.5px;background:#fff;transform:translateY(-50%);z-index:2;}
.gaa-b13{bottom:9.5%;} .gaa-t13{top:9.5%;}
.gaa-b20{bottom:15.5%;} .gaa-t20{top:15.5%;}
.gaa-b45{bottom:33%;} .gaa-t45{top:33%;}
.gaa-b65{bottom:44.5%;} .gaa-t65{top:44.5%;}
.gaa-box{position:absolute;left:50%;transform:translateX(-50%);border:1.5px solid rgba(255,255,255,.9);}
.gaa-small-box{width:18%;height:4%;}
.gaa-large-box{width:44%;height:9.5%;}
.gaa-box-bottom{bottom:0;border-bottom:none;}
.gaa-box-top{top:0;border-top:none;}
.gaa-arc{position:absolute;left:50%;width:28%;aspect-ratio:1;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;z-index:1;}
.gaa-arc-bottom{bottom:15.5%;transform:translate(-50%,50%);clip-path:inset(0 0 50% 0);}
.gaa-arc-top{top:15.5%;transform:translate(-50%,-50%);clip-path:inset(50% 0 0 0);}

/* ── GAA Player pins ── */
.gaa-pin{
  position:absolute;transform:translate(-50%,-50%);z-index:10;
  background:rgba(240,245,240,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1.5px solid rgba(255,255,255,.9);border-radius:9px;
  padding:5px 10px;display:flex;flex-direction:column;align-items:center;gap:1px;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
  transition:transform .1s,box-shadow .1s;
  -webkit-tap-highlight-color:transparent;user-select:none;
  min-width:68px;
}
.gaa-pin:active{transform:translate(-50%,-50%) scale(.9);}
.gaa-pin-pos{font-size:7px;font-weight:800;color:#64748b;letter-spacing:.5px;text-transform:uppercase;line-height:1;}
.gaa-pin-name{font-size:11px;font-weight:800;color:#0f172a;letter-spacing:.1px;text-transform:uppercase;text-align:center;white-space:nowrap;line-height:1.2;}
/* Team colours */
.gaa-pin--team-g{background:rgba(220,252,231,.97);border-color:rgba(134,239,172,.85);}
.gaa-pin--team-g .gaa-pin-name{color:#14532d;}
.gaa-pin--team-w{background:rgba(248,250,252,.97);border-color:rgba(148,163,184,.75);}
.gaa-pin--team-w .gaa-pin-name{color:#1e293b;}
/* States */
.gaa-pin--empty{opacity:.3;cursor:default;pointer-events:none;}
.gaa-pin--sel{border-color:#f5a623!important;background:rgba(245,166,35,.25)!important;box-shadow:0 0 0 3px rgba(245,166,35,.45),0 4px 14px rgba(0,0,0,.3);}
.gaa-pin--target{border-color:#ff6b35!important;background:rgba(255,107,53,.18)!important;animation:gaa-pulse .7s ease-in-out infinite alternate;}
.gaa-pin--urgent{border-color:#f59e0b!important;background:rgba(245,158,11,.2)!important;animation:gaa-urgent .8s ease-in-out infinite;}
@keyframes gaa-pulse{
  from{box-shadow:0 0 0 0 rgba(255,100,0,.5),0 4px 14px rgba(0,0,0,.3);}
  to  {box-shadow:0 0 0 6px rgba(255,100,0,0),0 4px 14px rgba(0,0,0,.3);}
}
@keyframes gaa-urgent{
  0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4),0 4px 14px rgba(0,0,0,.3);}
  50%{box-shadow:0 0 0 5px rgba(245,158,11,0),0 4px 14px rgba(0,0,0,.3);}
}
/* Pitch scroll area: give subs content some breathing room */
#pitchSubsMode{padding:0 12px 80px;}

/* ── Match Page: Score / Subs mode bar ── */
.pitch-mode-bar{
  display:flex;gap:6px;
  padding:10px 12px 4px;
  flex-shrink:0;
}
.pmb-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:5px;
  padding:11px 6px;
  border:1.5px solid var(--bdr);border-radius:14px;
  background:var(--surf);
  font-size:12px;font-weight:700;color:var(--muted);
  cursor:pointer;font-family:-apple-system,sans-serif;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.pmb-btn [data-lucide]{width:15px;height:15px;}
.pmb-btn:active{opacity:.8;}
.pmb-btn--active{
  background:var(--green);border-color:var(--green);color:#fff;
  box-shadow:0 3px 10px rgba(21,128,61,.25);
}

/* ── Subs mode: compact score + timer strip ── */
.subs-mini-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 14px 8px;margin:4px 0 6px;
  background:var(--surf);
  border:1px solid var(--bdr);border-radius:12px;
  flex-shrink:0;
}
.smb-left{display:flex;align-items:baseline;gap:8px;}
.smb-timer{
  font-family:-apple-system,'Roboto Condensed',sans-serif;
  font-size:22px;font-weight:800;color:var(--cream);letter-spacing:1px;
}
.smb-phase{
  font-size:10px;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.5px;
}
.smb-right{display:flex;align-items:center;gap:5px;}
.smb-our-score{
  font-family:-apple-system,'Roboto Condensed',sans-serif;
  font-size:16px;font-weight:800;color:var(--green);
}
.smb-vs{font-size:10px;font-weight:700;color:var(--bdr);}
.smb-opp-score{
  font-family:-apple-system,'Roboto Condensed',sans-serif;
  font-size:16px;font-weight:800;color:var(--muted);
}
.smb-opp-name{
  font-size:11px;font-weight:700;color:var(--muted);
  max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.smb-score-btn{border:none;background:none;color:var(--muted);padding:4px 2px 4px 6px;cursor:pointer;display:flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin-left:2px;}
.smb-score-btn i{width:18px;height:18px;display:block;}
.smb-score-btn:active{color:var(--green);}

/* ── Next-window card: elevated when it's the first item ("NEXT UP") ── */
.next-window-section:not(:empty){
  margin-top:0;margin-bottom:10px;
  border:1.5px solid rgba(22,163,74,.35);
  box-shadow:0 2px 12px rgba(21,128,61,.1);
}
.next-window-section:not(:empty) .nwp-bar:first-child{
  background:rgba(22,163,74,.05);
}
.next-window-section:not(:empty) .nwp-win-chip{
  background:var(--bright);
}

/* ── Enhanced Next Up — timeline style ── */
.nup-timeline{padding:10px 12px 4px;display:flex;flex-direction:column;}
.nup-entry{display:flex;gap:10px;align-items:flex-start;}
.nup-entry--future{opacity:.6;}
.nup-tc{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:36px;}
.nup-min{font-family:-apple-system,'Roboto Condensed',sans-serif;font-size:13px;font-weight:800;color:var(--green);line-height:1;margin-bottom:5px;text-align:center;}
.nup-min--dim{color:var(--muted);}
.nup-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--bdr);background:var(--surf);flex-shrink:0;}
.nup-dot--active{border-color:var(--green);background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.2);}
.nup-line{width:2px;flex:1;min-height:20px;background:var(--bdr);margin:4px 0;}
.nup-body{flex:1;min-width:0;padding-bottom:12px;}
.nup-win-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}
.nup-win-lbl{font-size:12px;font-weight:800;color:var(--cream);letter-spacing:.2px;}
.nup-win-lbl--dim{color:var(--muted);font-weight:700;}
.nup-do-all{
  background:var(--green);color:#fff;border:none;border-radius:9px;
  padding:7px 16px;font-size:12px;font-weight:800;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  font-family:-apple-system,sans-serif;letter-spacing:.3px;
  touch-action:manipulation;min-height:34px;
  box-shadow:0 2px 6px rgba(21,128,61,.25);
}
.nup-do-all:active{opacity:.75;transform:scale(.97);}

/* Swap row — tappable to execute */
.nup-swap{
  border-radius:12px;margin-bottom:6px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  overflow:hidden;
  border:1.5px solid rgba(22,163,74,.25);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.nup-swap-row{
  display:flex;align-items:center;gap:8px;padding:11px 12px;
  background:linear-gradient(135deg,rgba(240,253,244,.8) 0%,var(--surf) 100%);
  transition:background .12s;
}
.nup-swap:active .nup-swap-row{background:rgba(22,163,74,.12);}
.nup-swap--open{border-color:rgba(22,163,74,.5);}
.nup-swap--open .nup-swap-row{border-bottom:1px solid var(--bdr);}
/* Position badge — dark text on light green for WCAG AA contrast */
.nup-pos{
  font-size:9px;font-weight:800;color:#14532d;
  background:rgba(22,163,74,.15);border:1px solid rgba(22,163,74,.25);
  border-radius:5px;padding:2px 6px;letter-spacing:.4px;text-transform:uppercase;
  font-family:-apple-system,'Roboto Condensed',sans-serif;flex-shrink:0;
}
.nup-off-name{color:#dc2626;font-size:13px;font-weight:700;padding:4px 8px;border-radius:7px;border:1px solid rgba(220,38,38,.22);background:rgba(220,38,38,.07);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.nup-off-name:active{background:rgba(220,38,38,.18);}
.nup-arr{color:var(--muted);font-size:11px;flex-shrink:0;}
.nup-on-name{color:var(--green);font-size:13px;font-weight:700;padding:4px 8px;border-radius:7px;border:1px solid rgba(22,163,74,.22);background:rgba(22,163,74,.07);flex:1;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.nup-on-name:active{background:rgba(22,163,74,.18);}
/* ✓ tick — always visible as affordance hint */
.nup-sub-tick{font-size:16px;color:var(--green);font-weight:800;flex-shrink:0;opacity:.55;transition:opacity .1s;}
.nup-swap:active .nup-sub-tick{opacity:1;}

/* Inline pickers */
.nup-picker{padding:9px 10px;background:var(--surf2);border-top:1px solid var(--bdr);}
.nup-picker+.nup-picker{border-top:1px solid var(--bdr);}
.nup-picker-lbl{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px;}
.nup-chips{display:flex;flex-wrap:wrap;gap:5px;}
.nup-chip{background:var(--surf);border:1px solid var(--bdr);border-radius:8px;padding:6px 13px;font-size:12px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .12s,background .12s;}
.nup-chip:active,.nup-chip:hover{border-color:var(--green);background:rgba(22,163,74,.1);color:var(--green);}
.nup-chips-empty{font-size:11px;color:var(--muted);}

/* Future window compact swap previews */
.nup-swap-preview{display:flex;align-items:center;gap:5px;font-size:11px;padding:2px 0;margin-bottom:2px;}
.nup-pos-dim{font-size:9px;font-weight:700;color:var(--muted);background:var(--surf2);border:1px solid var(--bdr);border-radius:4px;padding:1px 4px;font-family:-apple-system,'Roboto Condensed',sans-serif;}
.nup-off-dim{color:rgba(220,38,38,.6);font-weight:600;}
.nup-on-dim{color:rgba(21,128,61,.6);font-weight:600;}
.nup-arr-dim{color:var(--bdr);}

/* All done state */
.nup-done{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:12px;font-weight:700;color:var(--muted);}
.nup-done [data-lucide]{width:16px;height:16px;}

/* ════════════════════════════════════════
   PITCH TAB — Team Tabs (replaces team lock)
   ════════════════════════════════════════ */
.pitch-team-tabs{
  display:flex;background:var(--surf);border-bottom:1px solid var(--bdr);flex-shrink:0;
}
#pg-pitch.on{display:flex;flex-direction:column;height:calc(100dvh - 74px - env(safe-area-inset-bottom,0px));overflow:hidden;}
/* pitch-wrapper: flex column, no self-scroll — subs mode handles its own layout */
#pg-pitch .pitch-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;}

/* ── Manage Team mode: full-width column layout ── */
#pitchSubsMode{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;}
#pitchSubsMode .subs-mini-bar{flex-shrink:0;}
/* pitchMain: single column — pitch full width, sub plan below */
#pitchMain{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;}
/* Top section: full-width pitch + bench */
.psm-top{
  flex:0 0 auto;display:flex;flex-direction:column;
  background:var(--bg);padding:6px 8px 0;position:relative;
}
.psm-top .live-win-bar{margin-bottom:4px;flex-shrink:0;}
/* Pitch fills full width */
#pitchSubsMode .pitch-field{width:calc(100% - 8px);max-width:none;margin:4px auto 0;flex-shrink:0;}
/* Bench panel — sits directly below pitch */
.psm-bench{
  background:var(--bg);
  border-top:1px solid var(--bdr);
  padding:8px 8px 12px;
  margin:6px -8px 0;
}
/* Sub plan — below pitch, no separate scroll (parent pitchMain scrolls) */
.psm-bottom{
  flex:0 0 auto;
  background:var(--bg);padding:0 0 100px;
  border-top:1px solid var(--bdr);
}
/* Sub plan header */
.psm-bottom-hd{
  font-size:10px;font-weight:800;color:var(--muted);
  text-transform:uppercase;letter-spacing:1.4px;
  padding:10px 10px 4px;
  border-bottom:1px solid var(--bdr);
  background:var(--surf);
  position:sticky;top:0;z-index:2;
  display:flex;align-items:center;
}
/* Positions toggle inside the Substitutions header — always visible */
.psm-mode-toggle{
  margin-left:auto;font-size:10px;font-weight:700;
  padding:4px 10px;border-radius:20px;border:1.5px solid var(--bdr);
  background:var(--bg);color:var(--muted);cursor:pointer;
  text-transform:none;letter-spacing:0;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .15s;
}
.psm-mode-toggle.pbc-mode-toggle--setup{border-color:var(--green);background:rgba(22,163,74,.08);color:var(--green);}
/* Show full fab labels in full-width layout */
.psm-top .fab-lbl{display:inline;}
/* Bench section (shown when no rotation generated) */
.nup-bench-section{padding:10px 14px 4px;}
.nup-bench-lbl{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;}
.nup-bench-chips{display:flex;flex-wrap:wrap;gap:6px;}
.bench-chip{background:var(--surf);border:1px solid var(--bdr);border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700;color:var(--cream);}
.ptt-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 16px;border:none;background:transparent;cursor:pointer;
  font-size:14px;font-weight:700;color:var(--muted);
  border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:all .15s;font-family:-apple-system,'Roboto Condensed',sans-serif;
  letter-spacing:.3px;touch-action:manipulation;
}
.ptt-btn .team-dot{width:8px;height:8px;border-radius:50%;}
.ptt-on{color:var(--cream);border-bottom-color:var(--green);background:var(--dim);}
.ptt-btn:hover:not(.ptt-on){background:var(--surf2);}
.ptt-name{font-size:14px;font-weight:700;}

/* Active team indicator row in score panel (replaces locked team row) */
.sdp-team-row{
  display:flex;align-items:center;gap:8px;padding:10px 16px 6px;
}
.sdp-team-row .team-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.sdp-locked-name{font-size:13px;font-weight:800;color:var(--cream);letter-spacing:.3px;}

/* ── Pitch breadcrumb bar ── */
.pitch-breadcrumb{
  display:flex;align-items:center;gap:4px;
  background:var(--surf);border-bottom:1px solid var(--bdr);
  flex-shrink:0;height:46px;padding:0 12px 0 6px;
}
.pbc-back{
  width:36px;height:36px;border:none;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;color:var(--green);flex-shrink:0;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.pbc-back:active{background:var(--bg);}
.pbc-back [data-lucide]{width:20px;height:20px;}
.pbc-trail{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;min-width:0;}
.pbc-date{color:var(--muted);}
.pbc-sep{width:13px;height:13px;color:var(--bdr);flex-shrink:0;}
.pbc-team{color:var(--cream);font-weight:700;}
.pbc-score-btn{
  margin-left:auto;flex-shrink:0;
  width:36px;height:36px;border:none;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;color:var(--muted);
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.pbc-score-btn:active{background:var(--bg);}
.pbc-score-btn [data-lucide]{width:18px;height:18px;}

/* ════════════════════════════════════════
   FIELD PLAYER ACTION BAR
   Appears in psm-top when tapping a pitch pin
   ════════════════════════════════════════ */
.field-action-bar{
  display:flex;flex-direction:column;gap:5px;
  padding:8px 10px;margin:0;
  background:rgba(12,28,12,.95);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,.12);
  flex-shrink:0;z-index:15;
}
.fab-top{display:flex;align-items:center;gap:5px;}
.fab-player{display:flex;align-items:baseline;gap:6px;flex:1;min-width:0;overflow:hidden;}
.fab-name{font-size:13px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fab-pos{
  font-size:10px;font-weight:700;color:rgba(255,255,255,.55);
  text-transform:uppercase;letter-spacing:.8px;
  background:rgba(255,255,255,.1);border-radius:4px;padding:1px 5px;flex-shrink:0;
}
.fab-btn{
  display:flex;align-items:center;justify-content:center;gap:4px;
  padding:6px 10px;border:1.5px solid rgba(255,255,255,.18);border-radius:9px;
  background:rgba(255,255,255,.1);color:#fff;
  font-size:12px;font-weight:700;cursor:pointer;
  font-family:-apple-system,sans-serif;
  transition:background .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  white-space:nowrap;flex-shrink:0;
}
.fab-btn:active{opacity:.7;}
.fab-btn [data-lucide]{width:12px;height:12px;flex-shrink:0;}
.fab-btn--sub{background:rgba(251,191,36,.2);border-color:rgba(251,191,36,.45);color:#fde68a;}
.fab-btn--sub:active{background:rgba(251,191,36,.35);}
.fab-btn--cancel{padding:6px 8px;width:30px;height:30px;border-radius:50%;flex-shrink:0;}
/* Bench chips */
.fab-bench{display:flex;flex-wrap:wrap;align-items:center;gap:5px;border-top:1px solid rgba(255,255,255,.1);padding-top:5px;}
.fab-bench-label{font-size:10px;font-weight:700;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;}
.fab-bench-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1;}
.fab-bench-chip{
  padding:5px 10px;border:1.5px solid rgba(251,191,36,.45);border-radius:18px;
  background:rgba(251,191,36,.12);color:#fde68a;
  font-size:12px;font-weight:700;cursor:pointer;
  font-family:-apple-system,sans-serif;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:background .12s;
}
.fab-bench-chip:active{background:rgba(251,191,36,.28);}

/* ════════════════════════════════════════
   SMALL SCREEN (iPhone SE / compact phones)
   ════════════════════════════════════════ */
@media(max-height:700px){
  .sdp-team-row{padding:6px 16px 4px;}
}

/* ════════════════════════════════════════
   PLAYERS MODE — Equal Time Dashboard
   ════════════════════════════════════════ */
.plm-wrap{padding:10px 12px 0;max-width:560px;margin:0 auto;}

/* Header row: team name + balance indicator */
.plm-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--surf);border-radius:12px;border:1px solid var(--bdr);margin-bottom:10px;}
.plm-header-left{display:flex;align-items:center;gap:6px;}
.plm-team-name{font-size:13px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--cream);}
.plm-range{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--surf2);color:var(--muted);}
.plm-range--ok{color:#15803d;background:rgba(21,128,61,.1);}
.plm-range--warn{color:#d97706;background:rgba(217,119,6,.1);}

/* Apply rotation CTA button */
.plm-apply-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--green);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:12px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .15s;}
.plm-apply-btn:active{opacity:.82;}
.plm-apply-btn svg{width:16px;height:16px;flex-shrink:0;}

/* Section headers: "On Pitch" / "Bench" */
.plm-section-hd{display:flex;align-items:center;justify-content:space-between;padding:6px 2px;margin-top:4px;}
.plm-section-hd span:first-child{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);}
.plm-count{font-size:11px;font-weight:700;color:var(--muted);background:var(--surf2);border-radius:10px;padding:1px 8px;}

/* Player list */
.plm-list{display:flex;flex-direction:column;gap:3px;margin-bottom:6px;}
.plm-row{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--surf);border-radius:10px;border:1px solid var(--bdr);}

/* Player name + position tag */
.plm-player-info{display:flex;align-items:center;gap:5px;min-width:88px;flex-shrink:0;}
.plm-player-name{font-size:13px;font-weight:700;color:var(--cream);}
.plm-player-pos{font-size:10px;font-weight:700;color:var(--muted);background:var(--surf2);border-radius:5px;padding:1px 5px;flex-shrink:0;}

/* Window dots */
.plm-dots-wrap{display:flex;align-items:center;gap:5px;flex:1;}
.plm-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;transition:background .2s;}
.plm-dot--done{background:var(--bright);opacity:.45;}
.plm-dot--active{background:var(--bright);}
.plm-dot--future{background:transparent;border:2px solid var(--bright);opacity:.65;}
.plm-dot--rest{background:var(--bdr);}

/* Planned minutes */
.plm-mins-val{font-size:12px;font-weight:700;color:var(--muted);min-width:28px;text-align:right;flex-shrink:0;}

/* NEXT ON / NEXT OFF badges */
.plm-badge{font-size:10px;font-weight:800;letter-spacing:.3px;padding:2px 7px;border-radius:20px;flex-shrink:0;}
.plm-badge--on{color:var(--bright);background:rgba(21,128,61,.12);}
.plm-badge--off{color:#94a3b8;background:rgba(148,163,184,.12);}

/* Empty state */
.plm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--muted);text-align:center;gap:12px;}
.plm-empty p{font-size:13px;line-height:1.6;margin:0;}

/* ── Simple bench (replaces window planner) ── */
.sim-bench{padding:8px 10px 4px;background:var(--bg);}
.sim-bench-hd{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;padding:4px 4px 8px;}
.sim-bench-chips{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.sim-bench-chip{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--bdr);background:var(--surf);cursor:pointer;font-family:-apple-system,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:0;overflow:hidden;}
.sim-bench-chip--active{border-color:var(--green);background:rgba(22,163,74,.08);}
.sim-bench-chip-name{font-size:13px;font-weight:700;color:var(--cream);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sim-bench-chip-pos{font-size:11px;color:var(--muted);}
.sim-bench-chip-mins{font-size:11px;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--bg);color:var(--muted);}
.sim-bench-chip-mins--low{background:rgba(22,163,74,.12);color:var(--green);}
.sim-bench-chip-mins--high{background:rgba(245,158,11,.1);color:#b45309;}
.sim-bench-chip-suggest{font-size:10px;font-weight:700;color:#6366f1;background:rgba(99,102,241,.1);padding:1px 5px;border-radius:4px;}
.sim-bench-chip--off{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.06);}
.sim-bench-chip--off .sim-bench-chip-name{color:#b91c1c;}
.sim-bench-hd--off{color:#b91c1c;}

/* ── Substitution Panel (ON/OFF/confirm) ── */
.sub-panel{
  display:flex;align-items:center;gap:8px;
  background:var(--surf);border-top:2px solid var(--green);border-bottom:1px solid var(--bdr);
  padding:8px 10px;flex-shrink:0;
  margin:0;
}
.sp-body{display:flex;align-items:stretch;gap:6px;flex:1;min-width:0;}
.sp-slot{
  flex:1;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;
  background:var(--bg);border:1.5px solid var(--bdr);border-radius:10px;
  padding:6px 10px;cursor:pointer;font-family:-apple-system,sans-serif;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  text-align:left;transition:border-color .15s,background .15s;
}
.sp-slot:active{background:var(--surf2);}
.sp-slot--on{border-color:rgba(22,163,74,.3);}
.sp-slot--on.sp-slot--set{border-color:var(--green);background:rgba(22,163,74,.06);}
.sp-slot--off{border-color:rgba(220,38,38,.25);}
.sp-slot--off.sp-slot--set{border-color:#dc2626;background:rgba(220,38,38,.05);}
.sp-dir{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;line-height:1;margin-bottom:3px;}
.sp-slot--on .sp-dir{color:var(--green);}
.sp-slot--off .sp-dir{color:#dc2626;}
.sp-name{font-size:12px;font-weight:700;color:var(--cream);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.sp-name--ph{color:var(--muted);font-weight:500;font-style:italic;}
.sp-foot{display:flex;align-items:center;gap:5px;flex-shrink:0;}
.sp-cancel-btn{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--bdr);
  background:var(--bg);color:var(--muted);font-size:17px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-family:-apple-system,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.sp-cancel-btn:active{background:var(--bdr);}
.sp-swap-btn{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--bdr);
  background:var(--bg);color:var(--muted);cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-family:-apple-system,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.sp-swap-btn:active{background:var(--bdr);}
.sp-swap-btn [data-lucide]{width:13px;height:13px;}
.sp-confirm-btn{
  padding:8px 12px;background:var(--green);color:#fff;border:none;border-radius:10px;
  font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.2px;
  font-family:-apple-system,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  white-space:nowrap;box-shadow:0 2px 8px rgba(21,128,61,.3);min-height:34px;
}
.sp-confirm-btn:active{opacity:.82;}
.sp-confirm-btn:disabled{background:#cbd5e1;color:#94a3b8;box-shadow:none;cursor:default;}

/* ── Sub Plan Timeline ── */
.spt{padding:0 0 4px;}
/* Window card */
.spt-win{background:var(--surf);border:1px solid var(--bdr);border-radius:12px;margin-bottom:10px;overflow:hidden;}
.spt-win--next{border-color:var(--green);box-shadow:0 0 0 2px rgba(22,163,74,.15);}
.spt-win-hd{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surf2);border-bottom:1px solid var(--bdr);}
.spt-win-num{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--cream);}
.spt-win-time{font-size:11px;font-weight:600;color:var(--muted);}
.spt-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:5px;}
.spt-badge--next{color:var(--bright);background:rgba(22,163,74,.12);}
.spt-badge--upcoming{color:var(--muted);background:var(--bdr);}
.spt-exec-all{font-size:11px;font-weight:700;color:#fff;background:var(--green);border:none;border-radius:7px;padding:5px 12px;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:-apple-system,sans-serif;}
/* Push plan pill + add btn + exec-all to right edge together */
.spt-win-hd .spt-plan-pill{margin-left:auto;}
.spt-exec-all:active{opacity:.8;}
/* Swap rows */
.spt-swaps{padding:6px 10px 8px;display:flex;flex-direction:column;gap:0;}
.spt-swap{display:flex;align-items:center;gap:5px;padding:5px 0;}
.spt-swap+.spt-swap{border-top:1px solid var(--bdr);}
.spt-swap-off,.spt-swap-on{flex:1;min-width:0;font-size:12px;font-weight:700;border:1.5px solid var(--bdr);border-radius:8px;padding:6px 9px;background:var(--bg);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:-apple-system,sans-serif;transition:border-color .15s,background .15s;}
.spt-swap-off{color:#dc2626;border-color:rgba(220,38,38,.25);}
.spt-swap-off:active{background:rgba(220,38,38,.07);border-color:#dc2626;}
.spt-swap-off.spt-swap-btn--editing{border-color:#dc2626;background:rgba(220,38,38,.1);animation:spt-pulse-off .9s ease-in-out infinite alternate;}
.spt-swap-on{color:var(--bright);border-color:rgba(22,163,74,.3);}
.spt-swap-on:active{background:rgba(22,163,74,.07);border-color:var(--green);}
.spt-swap-on.spt-swap-btn--editing{border-color:var(--green);background:rgba(22,163,74,.1);animation:spt-pulse-on .9s ease-in-out infinite alternate;}
@keyframes spt-pulse-off{from{box-shadow:0 0 0 0 rgba(220,38,38,.4);}to{box-shadow:0 0 0 4px rgba(220,38,38,0);}}
@keyframes spt-pulse-on{from{box-shadow:0 0 0 0 rgba(22,163,74,.4);}to{box-shadow:0 0 0 4px rgba(22,163,74,0);}}
.spt-swap-arr{color:var(--muted);font-size:13px;flex-shrink:0;}
.spt-exec-one{flex-shrink:0;width:34px;height:34px;border-radius:8px;border:none;background:var(--green);color:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 6px rgba(21,128,61,.25);}
.spt-exec-one:active{opacity:.8;transform:scale(.92);}
.spt-no-swaps{font-size:12px;color:var(--muted);padding:6px 2px;font-style:italic;}
/* "plan only" pill — makes clear edits don't record until executed */
.spt-plan-pill{font-size:9px;font-weight:700;color:var(--muted);background:var(--surf2);border:1px solid var(--bdr);border-radius:5px;padding:2px 6px;letter-spacing:.3px;text-transform:none;white-space:nowrap;}
/* + add-sub button in window header */
.spt-add-btn{margin-left:auto;width:26px;height:26px;border-radius:8px;border:1.5px solid var(--bdr);background:var(--bg);color:var(--muted);font-size:17px;font-weight:400;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s,color .15s;}
.spt-add-btn:active{border-color:var(--green);color:var(--green);background:rgba(22,163,74,.06);}
/* ✕ remove-sub button on each swap row */
.spt-remove-one{flex-shrink:0;width:28px;height:28px;border-radius:7px;border:1.5px solid rgba(220,38,38,.2);background:transparent;color:rgba(220,38,38,.5);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s,border-color .15s;}
.spt-remove-one:active{background:rgba(220,38,38,.1);color:#dc2626;border-color:#dc2626;}
.spt-swap--in-edit .spt-remove-one{opacity:.2;pointer-events:none;}
/* Make edit buttons (▼/▲) visually indicate they are interactive */
.spt-swap-off,.spt-swap-on{position:relative;}
.spt-swap-off::after,.spt-swap-on::after{content:'✎';position:absolute;right:5px;top:50%;transform:translateY(-50%);font-size:9px;opacity:.35;pointer-events:none;}
/* Window "adding" state — highlight border green */
.spt-win--adding{border-color:var(--green);box-shadow:0 0 0 2px rgba(22,163,74,.12);}
/* Inline add-sub picker */
.spt-add-picker{padding:8px 2px 4px;border-top:1px solid var(--bdr);margin-top:4px;}
.spt-add-label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:8px;}
.spt-add-label--on{color:var(--bright);font-weight:700;}
.spt-add-label--off{color:#dc2626;font-weight:700;}
.spt-add-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.spt-add-chip{font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px;border:1.5px solid rgba(22,163,74,.35);background:var(--bg);color:var(--bright);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s;font-family:-apple-system,sans-serif;}
.spt-add-chip:active{background:rgba(22,163,74,.12);border-color:var(--green);}
.spt-add-chip--off{border-color:rgba(220,38,38,.3);color:#dc2626;}
.spt-add-chip--off:active{background:rgba(220,38,38,.08);border-color:#dc2626;}
.spt-add-cancel{font-size:11px;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;padding:2px 0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.spt-add-empty{font-size:11px;color:var(--muted);font-style:italic;}
/* Swap targets — other players in the same window when one is selected */
.spt-swap-btn--swap-target{border-style:dashed;opacity:.8;}
.spt-swap-off.spt-swap-btn--swap-target{border-color:#dc2626;}
.spt-swap-on.spt-swap-btn--swap-target{border-color:var(--green);}
.spt-swap--in-edit .spt-exec-one{opacity:.25;pointer-events:none;}
/* Bench chip plan-target state — pulsing highlight when swap plan is being edited */
.sim-bench-chip--plan-target{border-color:var(--green);background:rgba(22,163,74,.1);animation:spt-pulse-on .9s ease-in-out infinite alternate;}
.sim-bench-chip--plan-target .sim-bench-chip-name{color:var(--bright);font-weight:800;}
/* Done log */
.spt-done-wrap{padding:0 0 80px;}
.spt-done-hd{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:10px 2px 5px;}
.spt-done-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--bdr);font-size:12px;}
.spt-done-min{font-size:11px;font-weight:700;color:var(--muted);min-width:24px;font-family:-apple-system,'Roboto Condensed',sans-serif;}
.spt-done-off{color:#dc2626;font-weight:600;}
.spt-done-on{color:var(--bright);font-weight:600;}
.spt-done-arr{color:var(--muted);}

/* ── Simple sub log ── */
.sim-sublog{padding:0 14px 80px;}
.sim-sublog-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--bdr);font-size:13px;}
.sim-sublog-min{font-size:11px;font-weight:700;color:var(--muted);min-width:28px;font-family:-apple-system,'Roboto Condensed',sans-serif;}
.sim-sublog-off{color:#dc2626;font-weight:600;}
.sim-sublog-on{color:var(--green);font-weight:600;}
.sim-sublog-arr{color:var(--muted);}

/* ── Mode toggle in breadcrumb ── */
.pbc-mode-toggle { margin-left:8px; padding:5px 12px; border:1.5px solid var(--bdr); border-radius:20px; background:var(--bg); color:var(--muted); font-size:12px; font-weight:700; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:all .15s; }
.pbc-mode-toggle--setup { border-color:var(--green); background:rgba(22,163,74,.08); color:var(--green); }

/* ── Plan edit banner ── */
.plan-edit-banner { display:flex; align-items:center; justify-content:space-between; background:#f59e0b; color:#fff; padding:8px 12px; font-size:12px; font-weight:700; flex-shrink:0; position:sticky; top:0; z-index:20; }
.peb-cancel { background:rgba(255,255,255,.2); border:none; border-radius:6px; padding:4px 10px; color:#fff; font-size:12px; font-weight:700; cursor:pointer; touch-action:manipulation; }

/* ── Next subs strip ── */
.nss-strip { padding:8px 10px; background:var(--surf); border-top:2px solid var(--green); }
.nss-hd { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.nss-label { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--green); }
.nss-time { font-size:11px; font-weight:600; color:var(--muted); }
.nss-row { display:flex; align-items:center; gap:8px; padding:6px 0; }
.nss-row+.nss-row { border-top:1px solid var(--bdr); }
.nss-off { color:#dc2626; font-size:13px; font-weight:700; flex:1; }
.nss-arr { color:var(--muted); flex-shrink:0; }
.nss-on { color:var(--green); font-size:13px; font-weight:700; flex:1; }
.nss-exec { padding:8px 14px; background:var(--green); color:#fff; border:none; border-radius:10px; font-size:12px; font-weight:800; cursor:pointer; touch-action:manipulation; min-width:70px; -webkit-tap-highlight-color:transparent; }
.nss-exec:active { opacity:.8; }

/* ── Sub panel as fixed bottom sheet ── */
#subPanel { position:fixed; bottom:74px; left:0; right:0; z-index:150; box-shadow:0 -4px 20px rgba(0,0,0,.15); border-bottom:none; }
.sub-panel-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.3); z-index:149; display:none; }

/* ── Setup mode pin target ── */
.gaa-pin--setup-swap { border-color:rgba(99,102,241,.6); background:rgba(99,102,241,.1); animation:gaa-pulse .7s ease-in-out infinite alternate; }

/* ═══════════════════════════════════════
   ROTATION COMMIT BANNER
   ═══════════════════════════════════════ */
.rot-commit-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#15803d;color:#fff;border-radius:12px;padding:10px 14px;margin:0 0 8px;animation:rcb-in .25s ease;}
@keyframes rcb-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
.rcb-info{display:flex;flex-direction:column;gap:2px;}
.rcb-mark{font-size:13px;font-weight:800;letter-spacing:.3px;}
.rcb-count{font-size:11px;opacity:.85;}
.rcb-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.rcb-undo-btn{background:rgba(255,255,255,.2);border:none;border-radius:8px;color:#fff;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.rcb-undo-btn:active{background:rgba(255,255,255,.35);}
.rcb-undo-btn svg{width:16px;height:16px;}
.rcb-commit-btn{background:#fff;color:var(--green);border:none;border-radius:8px;font-size:13px;font-weight:800;padding:8px 16px;cursor:pointer;touch-action:manipulation;transition:opacity .15s;-webkit-tap-highlight-color:transparent;}
.rcb-commit-btn:disabled{opacity:.45;pointer-events:none;}
.rcb-commit-btn:active{opacity:.8;}

/* ═══════════════════════════════════════
   ROTATION PLANNING MENU (bottom sheet)
   ═══════════════════════════════════════ */
.rpm-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surf);border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,16px);box-shadow:0 -4px 24px rgba(0,0,0,.18);z-index:300;animation:sheet-up .22s ease;}
@keyframes sheet-up{from{transform:translateY(100%);}to{transform:translateY(0);}}
.rpm-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--bdr);}
.rpm-players{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;}
.rpm-off{color:#e53935;}
.rpm-on{color:var(--bright);}
.rpm-arr{color:var(--muted);}
.rpm-body{padding:16px;}
.rpm-body-lbl{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.rpm-blocks{display:flex;gap:8px;margin-bottom:16px;}
.rpm-block-btn{flex:1;padding:12px 0;border:2px solid var(--bdr);background:var(--surf);border-radius:12px;font-size:15px;font-weight:800;color:var(--cream);cursor:pointer;touch-action:manipulation;position:relative;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent;}
.rpm-block-btn:active{background:var(--surf2);}
.rpm-block-btn:disabled{opacity:.4;pointer-events:none;}
.rpm-block-btn.has-swaps{border-color:var(--green);}
.rpm-count{position:absolute;top:4px;right:4px;background:var(--green);color:#fff;border-radius:8px;font-size:9px;font-weight:800;padding:1px 5px;}
.rpm-divider{height:1px;background:var(--bdr);margin-bottom:12px;}
.rpm-now-btn{width:100%;padding:13px;background:var(--surf2);border:1px solid var(--bdr);border-radius:12px;font-size:14px;font-weight:700;color:var(--cream);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.rpm-now-btn:active{background:var(--bdr);}

/* ═══════════════════════════════════════
   ROTATION BLOCKS PLAN SECTION
   ═══════════════════════════════════════ */
.rot-block-plan{margin-bottom:12px;}
.rbp-hd{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 2px;}
.rbp-block{border:1px solid var(--bdr);border-radius:10px;overflow:hidden;margin-bottom:6px;}
.rbp-block-hd{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surf2);font-size:12px;font-weight:700;}
.rbp-block-hd--committed{opacity:.7;}
.rbp-mark{font-size:13px;font-weight:800;}
.rbp-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:8px;margin-left:auto;}
.rbp-status--pending{background:rgba(21,128,61,.1);color:var(--green);}
.rbp-status--empty{background:var(--surf);border:1px solid var(--bdr);color:var(--muted);}
.rbp-status--ready{background:var(--green);color:#fff;animation:live-pulse 1.2s ease-in-out infinite;}
.rbp-status--done{background:var(--surf);border:1px solid var(--bdr);color:var(--muted);}
.rbp-swaps{padding:8px 12px;}
.rbp-swap{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:12px;}
.rbp-swap-off{color:#e53935;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rbp-swap-on{color:var(--bright);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rbp-swap-arr{color:var(--muted);flex-shrink:0;}
.rbp-swap-del{margin-left:4px;flex-shrink:0;background:none;border:none;color:var(--muted);cursor:pointer;padding:3px 6px;border-radius:6px;font-size:13px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.rbp-swap-del:active{color:#e53935;background:rgba(229,57,53,.08);}
.rbp-no-swaps{font-size:12px;color:var(--muted);padding:2px 0;}
.rbp-add-btn{display:block;width:100%;padding:7px;background:none;border:1px dashed var(--bdr);border-radius:8px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;margin-top:6px;touch-action:manipulation;text-align:center;-webkit-tap-highlight-color:transparent;}
.rbp-add-btn:active{background:var(--surf2);}

/* ── Shortfall badge on bench chips ── */
.sim-bench-chip-sf{font-size:9px;font-weight:800;border-radius:6px;padding:1px 5px;margin-left:2px;display:inline-block;min-width:0;}
.sim-bench-chip-sf:empty{display:none;}
.sim-bench-chip-sf--med{background:rgba(245,158,11,.15);color:#b45309;}
.sim-bench-chip-sf--high{background:rgba(229,57,53,.12);color:#dc2626;}

/* ═══════════════════════════════════════
   ACTION CARD (bottom sheet)
   ═══════════════════════════════════════ */
.action-card {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: var(--surf);
  border-radius: 20px 20px 0 0;
  padding: 0 16px calc(16px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -4px 24px rgba(0,0,0,.18);
  z-index: 300;
  animation: sheet-up .22s ease;
}
.ac-handle {
  width: 36px; height: 4px;
  background: var(--bdr);
  border-radius: 2px;
  margin: 10px auto 16px;
}
.ac-players {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px;
}
.ac-player {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; gap: 2px;
  background: var(--surf2);
  border-radius: 12px; padding: 10px 8px;
}
.ac-player--out { border-top: 3px solid #dc2626; }
.ac-player--in  { border-top: 3px solid var(--bright); }
.ac-dir {
  font-size: 9px; font-weight: 800; letter-spacing: .6px;
  text-transform: uppercase; color: var(--muted);
}
.ac-player--out .ac-dir { color: #dc2626; }
.ac-player--in  .ac-dir { color: var(--bright); }
.ac-name {
  font-size: 14px; font-weight: 800; color: var(--cream);
  text-align: center; max-width: 100%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ac-mins {
  font-size: 11px; color: var(--muted); font-weight: 600;
}
.ac-vs {
  font-size: 18px; color: var(--muted); flex-shrink: 0;
  font-weight: 700;
}
.ac-now-btn {
  width: 100%; padding: 15px;
  background: var(--green); color: #fff;
  border: none; border-radius: 14px;
  font-size: 17px; font-weight: 900; letter-spacing: .4px;
  cursor: pointer; touch-action: manipulation;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  -webkit-tap-highlight-color: transparent;
  margin-bottom: 12px;
}
.ac-now-btn:active { opacity: .85; }
.ac-now-btn svg { width: 20px; height: 20px; }
.ac-sched-lbl {
  text-align: center; font-size: 11px; color: var(--muted);
  font-weight: 600; margin-bottom: 10px;
}
.ac-sched-row {
  display: flex; gap: 8px;
}
.ac-sched-btn {
  flex: 1; padding: 12px 0;
  border: 2px solid var(--bdr); background: var(--surf);
  border-radius: 12px; font-size: 15px; font-weight: 800;
  color: var(--cream); cursor: pointer; touch-action: manipulation;
  transition: border-color .15s, background .15s;
  -webkit-tap-highlight-color: transparent;
}
.ac-sched-btn:active { background: var(--surf2); }
.ac-sched-btn--past {
  opacity: .4; pointer-events: none;
}
.ac-sched-btn--used {
  border-color: var(--green); color: var(--green);
}

/* ═══════════════════════════════════════
   SUB QUEUE SECTION
   ═══════════════════════════════════════ */
#subQueueSection { margin-bottom: 12px; }
.sq-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px; padding: 0 2px;
}
.sq-header-lbl {
  font-size: 11px; font-weight: 700; color: var(--muted);
  text-transform: uppercase; letter-spacing: .5px;
}
.sq-undo-btn {
  background: none; border: none; color: var(--muted);
  font-size: 12px; font-weight: 700; cursor: pointer;
  padding: 4px 8px; border-radius: 8px;
  display: flex; align-items: center; gap: 4px;
  touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}
.sq-undo-btn:active { background: var(--surf2); }
.sq-undo-btn svg { width: 13px; height: 13px; }
.sq-empty {
  text-align: center; font-size: 12px; color: var(--muted);
  padding: 12px 0; font-style: italic;
}
.sq-card {
  display: flex; align-items: center; gap: 8px;
  background: var(--surf); border: 1px solid var(--bdr);
  border-radius: 12px; padding: 9px 10px;
  margin-bottom: 6px;
  transition: border-color .2s, box-shadow .2s;
}
.sq-card--glow {
  border-color: var(--green);
  box-shadow: 0 0 0 2px rgba(21,128,61,.2);
  animation: sq-glow-pulse 1.4s ease-in-out infinite;
}
@keyframes sq-glow-pulse {
  0%,100% { box-shadow: 0 0 0 2px rgba(21,128,61,.2); }
  50%      { box-shadow: 0 0 0 5px rgba(21,128,61,.08); }
}
.sq-card-info, .sq-card-main {
  flex: 1; min-width: 0;
  display: flex; align-items: center; gap: 6px;
  overflow: hidden;
}
.sq-card-right {
  display: flex; align-items: center; gap: 4px; flex-shrink: 0;
}
.sq-card-names {
  display: flex; align-items: center; gap: 4px;
  font-size: 13px; font-weight: 700; color: var(--cream);
  flex: 1; min-width: 0; overflow: hidden;
}
.sq-out { color: #dc2626; }
.sq-in  { color: var(--bright); }
.sq-arr { color: var(--muted); font-size: 11px; flex-shrink: 0; }
.sq-min-pill {
  font-size: 10px; font-weight: 800;
  background: var(--surf2); color: var(--muted);
  border-radius: 8px; padding: 2px 7px; flex-shrink: 0;
}
.sq-card--glow .sq-min-pill {
  background: var(--green); color: #fff;
}
.sq-bal-pill {
  font-size: 10px; font-weight: 700;
  border-radius: 8px; padding: 2px 6px; flex-shrink: 0;
  background: rgba(21,128,61,.1); color: var(--green);
}
.sq-bal-pill--over  { background: rgba(220,38,38,.1); color: #dc2626; }
.sq-bal-pill--low   { background: rgba(148,163,184,.15); color: var(--muted); }
.sq-exec-btn, .sq-play-btn {
  background: var(--green); color: #fff;
  border: none; border-radius: 10px;
  padding: 7px 10px; cursor: pointer;
  touch-action: manipulation; flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  display: flex; align-items: center; justify-content: center;
}
.sq-exec-btn:active, .sq-play-btn:active { opacity: .8; }
.sq-play-btn svg { width: 14px; height: 14px; }
.sq-rem-btn, .sq-del {
  background: none; border: none; color: var(--muted);
  cursor: pointer; padding: 6px 8px; border-radius: 8px;
  flex-shrink: 0; touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  display: flex; align-items: center; font-size: 14px;
}
.sq-rem-btn:active, .sq-del:active { background: rgba(229,57,53,.08); color: #dc2626; }
.sq-rem-btn svg { width: 15px; height: 15px; }

/* ═══════════════════════════════════════
   PITCH PIN BALANCE BAR
   ═══════════════════════════════════════ */
.pin-bar {
  width: 100%; height: 3px;
  background: rgba(0,0,0,.12);
  border-radius: 2px;
  margin-top: 3px;
  overflow: hidden;
}
.pin-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width .4s ease, background .4s ease;
}

/* ── Sub queue class aliases (HTML uses these names) ── */
.sq-wrap { /* container, no extra style needed */ }
.sq-hd {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px; padding: 0 2px;
}
.sq-hd-label {
  font-size: 11px; font-weight: 700; color: var(--muted);
  text-transform: uppercase; letter-spacing: .5px;
}
.sq-target-row {
  font-size: 11px; color: var(--muted);
  display: flex; justify-content: space-between;
  padding: 0 2px; margin-bottom: 8px;
}
.sq-target-squad { font-weight: 600; }
.sq-sched-lbl {
  font-size: 10px; font-weight: 800;
  background: var(--surf2); color: var(--muted);
  border-radius: 8px; padding: 2px 7px; flex-shrink: 0;
  white-space: nowrap;
}
.sq-sched-lbl--glow {
  background: var(--green); color: #fff;
}
.sq-bal {
  font-size: 10px; font-weight: 700;
  border-radius: 8px; padding: 2px 6px; flex-shrink: 0;
  white-space: nowrap;
}
.sq-bal--over  { background: rgba(220,38,38,.1); color: #dc2626; }
.sq-bal--short { background: rgba(148,163,184,.15); color: var(--muted); }

/* ── Queue card edit button ── */
.sq-edit-btn {
  background: none; border: 1px solid var(--bdr); color: var(--muted);
  cursor: pointer; padding: 6px 7px; border-radius: 8px;
  flex-shrink: 0; touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  display: flex; align-items: center;
}
.sq-edit-btn:active { background: rgba(99,102,241,.08); border-color: #6366f1; color: #6366f1; }
.sq-edit-btn svg { width: 13px; height: 13px; }

/* ── Rested player badge on bench ── */
.sim-bench-chip--rested {
  opacity: .8;
  border-style: dashed;
}
.sim-bench-chip-rested {
  font-size: 11px; color: var(--muted); flex-shrink: 0;
}

/* ── Sub onboarding hint ── */
.sub-onboard-hint{display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:10px 14px;margin:0 0 2px;
  background:rgba(22,163,74,.06);border-bottom:1px solid rgba(22,163,74,.15);}
.soh-text{font-size:12px;color:var(--cream);line-height:1.4;flex:1;}
.soh-ok{font-size:12px;font-weight:700;color:var(--green);background:none;
  border:1px solid rgba(22,163,74,.3);border-radius:7px;padding:5px 10px;cursor:pointer;
  flex-shrink:0;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.soh-ok:active{background:rgba(22,163,74,.08);}

/* ── Balance bar legend ── */
.win-bar-legend{display:flex;align-items:center;gap:5px;padding:2px 8px 5px;flex-wrap:wrap;}
.wbl-lbl{font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.3px;}
.wbl-lbl--hd{color:var(--muted);opacity:.7;margin-right:2px;}
.wbl-swatch{width:20px;height:5px;border-radius:3px;flex-shrink:0;}
.wbl-swatch--ok{background:var(--bright);}
.wbl-swatch--over{background:#dc2626;}
.wbl-swatch--under{background:#94a3b8;}
