:root{
  --green:#0B3D2E;
  --gold:#D4A017;
  --dark:#061812;
  --light:#f5f7f5;
  --text:#17211d;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--light);color:var(--text)}
a{color:inherit}
.topbar{background:linear-gradient(90deg,var(--dark),var(--green));color:#fff;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:10;border-bottom:3px solid var(--gold)}
.topbar h1{margin:0;font-size:clamp(28px,5vw,54px);text-transform:uppercase;letter-spacing:-.04em;line-height:.9}
.eyebrow{margin:0 0 6px;color:var(--gold);font-weight:1000;text-transform:uppercase;letter-spacing:.18em;font-size:12px}
.nav-link{border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:12px 14px;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:13px;background:rgba(255,255,255,.08)}
.card{background:#fff;border:1px solid #e3e8e5;border-radius:24px;padding:22px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.card h2{margin:0 0 16px;text-transform:uppercase;letter-spacing:-.03em;color:var(--green)}
.page-grid{max-width:1200px;margin:0 auto;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wide{grid-column:1/-1}
.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;background:linear-gradient(135deg,#fff,#f7faf8)}
.team{display:grid;gap:4px;border-radius:18px;padding:14px;border:2px solid transparent}
.team span{font-size:18px;font-weight:1000;text-transform:uppercase}
.team strong{font-size:58px;line-height:.9;color:var(--green)}
.team small{visibility:hidden;color:var(--gold);font-weight:1000;text-transform:uppercase}
.team small.show{visibility:visible}
.team.has-ball{border-color:var(--gold);background:#fff8e2}
.team.right{text-align:right}
.game-info{display:grid;gap:6px;text-align:center;background:var(--dark);color:#fff;border-radius:18px;padding:16px;min-width:180px;font-weight:900}
.game-info span:nth-child(1),.game-info span:nth-child(2){font-size:22px;color:var(--gold)}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat-grid div{background:#f3f5f3;border-radius:16px;padding:14px;text-align:center}
.stat-grid span{display:block;color:#65716c;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.stat-grid strong{font-size:30px;color:var(--green)}
.play-item{padding:13px 0;border-bottom:1px solid #e7ece8;line-height:1.45}
.play-item:last-child{border-bottom:0}
.field-wrap{padding:6px 0 0}
.field{
  position:relative;
  height:190px;
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 18%),
    linear-gradient(90deg,#0b3d2e 0%,#0f5137 50%,#0b3d2e 100%);
  border:5px solid #fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 12px 28px rgba(0,0,0,.12);
}
.endzone{position:absolute;top:0;bottom:0;width:10%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:1000;letter-spacing:.24em;background:linear-gradient(180deg,rgba(6,24,18,.72),rgba(6,24,18,.45));z-index:5;border-left:2px solid rgba(255,255,255,.75);border-right:2px solid rgba(255,255,255,.75)}
.endzone span{writing-mode:vertical-rl;text-orientation:mixed;text-shadow:0 2px 7px rgba(0,0,0,.45)}
.endzone.left{left:0}.endzone.right{right:0}
.yard-stripes{position:absolute;left:10%;right:10%;top:0;bottom:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 1px,transparent 1px,transparent 0.8%);z-index:1}
.five-yard-stripes{position:absolute;left:10%;right:10%;top:0;bottom:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(5% - 2px),rgba(255,255,255,.66) calc(5% - 2px),rgba(255,255,255,.66) 5%);z-index:2}
.hash{position:absolute;left:10%;right:10%;height:11px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.78) 0,rgba(255,255,255,.78) 1px,transparent 1px,transparent 0.8%);z-index:3}
.hash-top{top:58px}.hash-bottom{bottom:58px}
.numbers{position:absolute;left:10%;right:10%;top:24px;height:28px;z-index:4;color:rgba(255,255,255,.84);font-size:18px;font-weight:1000;line-height:1;text-shadow:0 2px 5px rgba(0,0,0,.35)}
.numbers span{position:absolute;transform:translateX(-50%)}
.numbers-bottom{top:auto;bottom:24px;transform:rotate(180deg)}
.midfield-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;color:rgba(255,255,255,.16);font-size:54px;font-weight:1000;letter-spacing:-.06em}
.line-of-scrimmage,.first-down-line{position:absolute;top:0;bottom:0;width:4px;z-index:6;transform:translateX(-50%);opacity:.95;transition:left .25s ease}
.line-of-scrimmage{background:#226bff;box-shadow:0 0 0 1px rgba(255,255,255,.45)}
.first-down-line{background:#f0c419;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.ball-marker{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:36px;z-index:8;filter:drop-shadow(0 5px 7px rgba(0,0,0,.45));transition:left .25s ease}
.field-legend{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:#66726d;margin-top:9px;text-transform:uppercase;flex-wrap:wrap}
.los-key,.fd-key{display:inline-block;width:20px;height:4px;border-radius:999px}.los-key{background:#226bff}.fd-key{background:#f0c419;margin-left:10px}
.field-labels{display:none}
.input-wrap{max-width:1200px;margin:0 auto;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.full{grid-column:1/-1}
.input-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
label{display:grid;gap:6px;font-weight:900;color:#43514b;text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin-bottom:10px}
input,select{width:100%;border:1px solid #d7ddd9;background:#fff;border-radius:12px;padding:12px 14px;font-weight:900;font-size:16px;color:var(--text)}
button{border:1px solid #d7ddd9;background:#fff;color:var(--green);border-radius:14px;padding:13px 14px;font-weight:1000;text-transform:uppercase;cursor:pointer;letter-spacing:.03em}
button:hover,button.active{background:var(--green);color:#fff;border-color:var(--green)}
.button-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.button-grid.players{grid-template-columns:repeat(3,1fr)}
.button-grid.yards{grid-template-columns:repeat(6,1fr)}
.button-grid.small{grid-template-columns:repeat(6,1fr)}
.clock-tools,.score-strip,.action-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;align-items:center}
.score-strip{background:#f3f5f3;border-radius:18px;padding:12px}
.score-strip strong{margin-left:auto;color:var(--green)}
.helper-text{color:#66726d;margin:8px 0 14px;line-height:1.5}
.custom-box{margin-top:14px}
.confirm-card{background:linear-gradient(135deg,var(--green),var(--dark));color:#fff;border-color:rgba(255,255,255,.18)}
.confirm-card h2{color:#fff}.confirm-card p{font-size:18px;line-height:1.55}
.confirm{background:var(--gold);color:var(--green);border-color:var(--gold)}
.secondary{background:#eef3ef}.danger{background:#8b1e1e;color:#fff;border-color:#8b1e1e}
@media(max-width:850px){
  .page-grid,.input-wrap{grid-template-columns:1fr;padding:14px}
  .scoreboard{grid-template-columns:1fr}.team.right{text-align:left}.game-info{min-width:0}
  .input-row{grid-template-columns:1fr 1fr}
  .button-grid,.button-grid.players,.button-grid.yards,.button-grid.small{grid-template-columns:repeat(2,1fr)}
  .topbar{align-items:flex-start;flex-direction:column}
  .score-strip strong{margin-left:0;width:100%}
}
@media(max-width:520px){.input-row{grid-template-columns:1fr}.team strong{font-size:44px}.field{height:105px}}
.compact-field .field{height:145px;margin-bottom:8px}
.drive-buttons{margin-top:14px}
#playerGroupButtons{margin-bottom:12px}
#playerGroupButtons button.active{background:var(--gold);color:var(--green);border-color:var(--gold)}
@media(max-width:520px){.compact-field .field{height:120px}.numbers{font-size:12px}.endzone{font-size:10px}.midfield-logo{font-size:34px}.ball-marker{font-size:28px}}

/* Roster number input update */
textarea{width:100%;min-height:110px;border:1px solid #d7ddd9;background:#fff;border-radius:12px;padding:12px 14px;font-weight:800;font-size:15px;color:var(--text);resize:vertical}
.input-row.two{grid-template-columns:1fr 1fr}
.roster-setup{margin-top:10px;background:#f3f5f3;border-radius:16px;padding:12px 14px}
.roster-setup summary{cursor:pointer;font-weight:1000;text-transform:uppercase;color:var(--green)}
.roster-toggle{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.roster-toggle button.active{background:var(--gold);color:var(--green);border-color:var(--gold)}
.number-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-height:260px;overflow:auto;padding:4px}
.number-grid button{font-size:18px;padding:13px 8px;min-height:52px}
.number-grid button small{display:block;font-size:9px;line-height:1.05;opacity:.72;margin-top:3px;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.number-grid button.active{background:var(--green);color:#fff;border-color:var(--green)}
.defense-summary{background:#f3f5f3;border-radius:14px;padding:12px;margin:0 0 12px;font-weight:900;color:var(--green);line-height:1.45}
.stat-types button.active{background:var(--gold);color:var(--green);border-color:var(--gold)}
@media(max-width:850px){.number-grid{grid-template-columns:repeat(5,1fr)}.input-row.two{grid-template-columns:1fr}}
@media(max-width:520px){.number-grid{grid-template-columns:repeat(4,1fr)}.number-grid button{font-size:16px;min-height:48px}}

/* Refined stat input: keep drive controls compact to reduce scrolling */
.quick-drive-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 4px;padding:10px;border:1px solid rgba(11,61,46,.12);background:#f5f7f5;border-radius:14px}
.quick-drive-strip strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#66726d;margin-right:2px}
.quick-drive-strip button{border:0;border-radius:12px;padding:10px 12px;font-weight:1000;background:#0B3D2E;color:#fff;cursor:pointer}
.input-wrap{align-items:start}
@media(min-width:920px){.input-wrap{grid-template-columns:1.05fr 1fr}.confirm-card{position:sticky;bottom:0;z-index:10}}

/* ===== Compact input + corrected football field update ===== */
.input-page .topbar.compact-topbar{padding:10px 14px;position:static}
.input-page .topbar h1{font-size:28px}
.stat-console{max-width:1400px;margin:0 auto;padding:10px;display:grid;gap:10px}
.status-bar{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:16px}
.status-bar strong{font-size:18px;color:var(--green)}
.possession-buttons{display:flex;gap:8px}
.possession-buttons button,.tiny{border:0;border-radius:10px;padding:9px 10px;font-weight:1000;cursor:pointer;background:#e9eee9;color:var(--green)}
.possession-buttons button.active{background:var(--gold);color:var(--green);box-shadow:0 0 0 2px rgba(11,61,46,.16)}
.game-tools{padding:10px 12px;border-radius:16px}
.micro-row{display:grid;grid-template-columns:80px 95px 80px 75px 84px 70px 70px 60px;gap:7px;align-items:end}
.micro-row label,.setup-drawer label{font-size:10px;text-transform:uppercase;font-weight:1000;color:#66726d;letter-spacing:.05em}
.micro-row input,.micro-row select,.setup-drawer input,.setup-drawer textarea{width:100%;margin-top:3px;border:1px solid #d7ddd9;border-radius:9px;padding:8px;font-weight:900;background:#fff;color:var(--text)}
.clock-tools.slim{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}
.clock-tools.slim button{padding:8px;border-radius:9px;font-size:12px;background:var(--green);color:#fff;border:0;font-weight:1000}
.setup-drawer{margin-top:8px;border:1px solid #e1e7e3;border-radius:12px;padding:8px;background:#fafcfb}
.setup-drawer summary{font-weight:1000;text-transform:uppercase;font-size:12px;color:var(--green);cursor:pointer}
.input-grid-compact{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.2fr;gap:10px;align-items:start}
.compact-card{padding:10px;border-radius:16px;min-height:0}
.compact-card h2,.result-confirm h2{font-size:15px;margin-bottom:8px}
.play-compact{grid-template-columns:repeat(2,1fr);gap:6px}
.play-compact button,.compact-yards button,.compact-stats button,.result-flags button{padding:9px 8px;border-radius:9px;font-size:12px;min-height:auto}
.compact-numbers{grid-template-columns:repeat(6,1fr);gap:5px;max-height:252px;overflow:auto;padding-right:3px}
.compact-numbers button{min-height:38px;padding:5px 3px;border-radius:9px;font-size:15px;line-height:1;font-weight:1000}
.compact-numbers button small{display:none}
.defense-nums{max-height:142px}
.roster-toggle.mini{gap:5px;margin-bottom:6px}
.roster-toggle.mini button{font-size:11px;padding:7px 8px;border-radius:9px}
.compact-yards{grid-template-columns:repeat(4,1fr);gap:5px;max-height:218px;overflow:auto;padding-right:3px}
.compact-custom{margin-top:7px;font-size:11px;font-weight:1000;color:#66726d;text-transform:uppercase}
.compact-custom input{width:100%;margin-top:4px;border:1px solid #d7ddd9;border-radius:9px;padding:9px;font-weight:1000}
.compact-stats{grid-template-columns:repeat(4,1fr);gap:5px;margin:6px 0}
.defense-summary{font-size:12px;line-height:1.25;min-height:30px;padding:7px;border-radius:10px;background:#f3f5f3;color:#26332e;font-weight:800}
.result-confirm{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;position:static!important}
.result-flags{grid-template-columns:repeat(6,1fr);gap:6px}
.play-preview-box{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#f5f7f5;border-radius:12px;padding:8px}
.play-preview-box h2{grid-column:1/-1;margin:0}
.play-preview-box p{margin:0;font-weight:900;line-height:1.3;font-size:13px}
.play-preview-box .confirm{padding:16px 18px;border-radius:12px;white-space:nowrap}

/* Full football field for live page */
.field{display:none}
.football-field{position:relative;height:230px;border-radius:18px;overflow:hidden;border:5px solid #fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.38),0 12px 28px rgba(0,0,0,.14);background:#0d492f}
.football-field:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#0b3d2e 0%,#0b3d2e 4.8%,#0f5137 4.8%,#0f5137 10%);opacity:.94}
.football-field .endzone{position:absolute;top:0;bottom:0;width:10%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#061812,#0B3D2E);z-index:3;border-left:2px solid rgba(255,255,255,.7);border-right:2px solid rgba(255,255,255,.7)}
.football-field .endzone.left{left:0}.football-field .endzone.right{right:0}
.football-field .endzone span{color:#fff;font-weight:1000;letter-spacing:.35em;writing-mode:vertical-rl;text-orientation:mixed;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.football-field .field-stripes{position:absolute;left:10%;right:10%;top:0;bottom:0;z-index:4;background:repeating-linear-gradient(90deg,rgba(255,255,255,.82) 0 2px,transparent 2px 10%)}
.football-field .hash-row{position:absolute;left:10%;right:10%;height:18px;z-index:5;background:repeating-linear-gradient(90deg,rgba(255,255,255,.88) 0 2px,transparent 2px 5%)}
.football-field .top-hash{top:62px}.football-field .bottom-hash{bottom:62px}
.football-field .yard-num{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:6;color:rgba(255,255,255,.88);font-weight:1000;font-size:20px;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.y10{left:18%}.y20{left:26%}.y30{left:34%}.y40{left:42%}.y50{left:50%}.y60{left:58%}.y70{left:66%}.y80{left:74%}.y90{left:82%}
.first-down-line,.line-of-scrimmage{position:absolute;top:0;bottom:0;width:4px;z-index:8;transform:translateX(-50%);box-shadow:0 0 10px rgba(0,0,0,.35)}
.first-down-line{background:var(--gold)}.line-of-scrimmage{background:#2aa7ff}
.ball-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9;font-size:30px;background:#fff;border:3px solid var(--gold);border-radius:999px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(0,0,0,.25)}

@media(max-width:1100px){.input-grid-compact{grid-template-columns:1fr 1fr}.micro-row{grid-template-columns:repeat(4,1fr)}.result-flags{grid-template-columns:repeat(3,1fr)}.result-confirm{grid-template-columns:1fr}}
@media(max-width:720px){.status-bar{grid-template-columns:1fr}.possession-buttons{display:grid;grid-template-columns:1fr 1fr}.input-grid-compact{grid-template-columns:1fr}.micro-row{grid-template-columns:repeat(2,1fr)}.compact-numbers{grid-template-columns:repeat(5,1fr);max-height:none}.defense-nums{max-height:none}.result-flags{grid-template-columns:repeat(2,1fr)}.play-preview-box{grid-template-columns:1fr}.football-field{height:170px}.football-field .yard-num{font-size:13px}.football-field .top-hash{top:45px}.football-field .bottom-hash{bottom:45px}}

/* Game-specific tracking + compact entered-play log */
.game-select-bar{display:grid;grid-template-columns:320px 1fr auto;gap:10px;align-items:end;padding:8px 12px;border-radius:14px}
.game-select-bar label{margin:0;font-size:10px}
.game-select-bar select{padding:8px 10px;border-radius:9px;font-size:13px}
#gameSelectHelp{font-size:12px;font-weight:800;color:#66726d;line-height:1.3}
.input-play-log{padding:10px 12px;border-radius:16px}
.log-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.log-head h2{margin:0;font-size:15px}
.log-head select{width:92px;padding:7px 8px;border-radius:9px;font-size:12px}
.input-log-feed{max-height:165px;overflow:auto;background:#f5f7f5;border:1px solid #e1e7e3;border-radius:12px;padding:8px;font-size:12px;font-weight:800;line-height:1.35;color:#26332e}
.input-log-item{padding:6px 0;border-bottom:1px solid #dde5df}
.input-log-item:last-child{border-bottom:0}
@media(max-width:720px){.game-select-bar{grid-template-columns:1fr}.input-log-feed{max-height:220px}}
/* Schedule-driven team names/logos */
.score-logo{width:58px;height:58px;object-fit:contain;background:rgba(255,255,255,.92);border-radius:14px;padding:6px;margin-bottom:8px;display:none}
.team.right .score-logo{margin-left:auto}
@media(max-width:720px){.score-logo{width:44px;height:44px;border-radius:10px}}

/* ===== Next refinement: single-screen stat input ===== */
.ultra-compact-input{background:#eef3ef;min-height:100vh;overflow-x:hidden}
.ultra-compact-input .input-header{padding:8px 12px;min-height:54px;position:static}
.ultra-compact-input .input-header h1{font-size:24px;line-height:.9}
.ultra-compact-input .eyebrow{font-size:10px;margin-bottom:3px}
.one-screen-console{max-width:1500px;padding:8px;gap:8px}
.top-input-strip{display:grid;grid-template-columns:270px auto 1fr auto auto;gap:8px;align-items:end;padding:8px 10px;border-radius:14px}
.top-input-strip label{margin:0;font-size:10px}
.top-input-strip select{padding:7px 9px;border-radius:8px;font-size:12px}
.top-input-strip strong{font-size:15px;color:var(--green);align-self:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-possession button{padding:8px 10px;border-radius:9px;font-size:11px;white-space:nowrap}
.quick-status{padding:8px 10px;border-radius:14px}
.single-line-status{display:grid;grid-template-columns:65px 82px 65px 58px 70px 58px 58px 58px 58px;gap:6px;align-items:end}
.single-line-status label{font-size:9px;margin:0;color:#65716c;letter-spacing:.04em}
.single-line-status input,.single-line-status select{padding:6px 7px;border-radius:8px;font-size:13px;min-height:32px}
.one-line-clock{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:6px}
.one-line-clock button{padding:7px 5px;font-size:11px;border-radius:8px}
.live-input-workspace{display:grid;grid-template-columns:.7fr 1.25fr .8fr .95fr 1.15fr 1.3fr;gap:8px;align-items:start}
.live-input-workspace .compact-card{padding:8px;border-radius:14px}
.live-input-workspace .compact-card h2{font-size:13px;margin:0 0 6px;letter-spacing:.02em}
.play-card .play-compact{grid-template-columns:1fr;gap:5px}
.play-card .play-compact button{padding:8px 6px;font-size:11px}
.player-card-input .compact-numbers{grid-template-columns:repeat(6,1fr);max-height:315px;gap:5px}
.compact-numbers button{min-height:34px;font-size:14px;border-radius:8px;padding:4px 2px}
.yards-card .compact-yards{grid-template-columns:repeat(3,1fr);max-height:250px;gap:5px}
.yards-card .compact-yards button{padding:8px 4px;font-size:11px;border-radius:8px}
.result-card .result-flags{grid-template-columns:repeat(3,1fr);gap:5px}
.result-card .result-flags button{padding:8px 4px;font-size:11px;border-radius:8px}
.compact-preview{display:block;padding:7px;margin-top:7px;background:#f5f7f5;border-radius:10px}
.compact-preview p{font-size:12px;line-height:1.25;margin:0 0 7px;font-weight:900;max-height:48px;overflow:auto}
.compact-preview .confirm{width:100%;padding:12px 10px;border-radius:10px;font-size:13px}
.defense-card .defense-summary{font-size:11px;padding:6px;min-height:26px;margin-bottom:5px}
.defense-card .compact-stats{grid-template-columns:repeat(4,1fr);gap:4px;margin:5px 0}
.defense-card .compact-stats button{font-size:10px;padding:7px 4px;border-radius:8px}
.defense-card .defense-nums{grid-template-columns:repeat(6,1fr);max-height:130px;gap:4px}
.compact-log-card{padding:8px;border-radius:14px}
.compact-log-card .log-head{margin-bottom:5px}
.compact-log-card .log-head h2{font-size:13px}
.compact-log-card .log-head select{height:30px;font-size:11px;padding:4px 7px}
.compact-log-card .input-log-feed{max-height:250px;font-size:11px;line-height:1.25;padding:6px;border-radius:10px}
.compact-log-card .input-log-item{padding:5px 0}
.compact-setup{margin-top:6px;padding:6px;border-radius:10px}
.compact-setup summary{font-size:11px}
.compact-setup input{padding:7px;border-radius:8px;font-size:13px}
.compact-roster-textareas{grid-template-columns:1fr 1fr;gap:6px}
.compact-roster-textareas textarea{min-height:70px;font-size:12px;padding:7px;border-radius:8px}
@media(max-width:1250px){
  .live-input-workspace{grid-template-columns:1fr 1.3fr 1fr 1fr}
  .compact-log-card{grid-column:span 2}
  .defense-card{grid-column:span 2}
}
@media(max-width:850px){
  .top-input-strip{grid-template-columns:1fr;align-items:stretch}
  .top-input-strip strong{white-space:normal}
  .single-line-status{grid-template-columns:repeat(3,1fr)}
  .one-line-clock{grid-template-columns:repeat(4,1fr)}
  .live-input-workspace{grid-template-columns:1fr 1fr}
  .compact-log-card,.defense-card{grid-column:span 2}
}
@media(max-width:560px){
  .single-line-status{grid-template-columns:repeat(2,1fr)}
  .live-input-workspace{grid-template-columns:1fr}
  .compact-log-card,.defense-card{grid-column:auto}
  .player-card-input .compact-numbers,.defense-card .defense-nums{grid-template-columns:repeat(5,1fr);max-height:none}
}


.team{display:flex;align-items:center;gap:12px}
.team.right{justify-content:flex-end;text-align:right}
.team-logo-wrap{width:58px;height:58px;border-radius:14px;background:#fff;border:1px solid #dfe7e2;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.team-logo{width:100%;height:100%;object-fit:contain;padding:6px;display:none}
.team-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.team-copy span{font-size:clamp(18px,3vw,30px);font-weight:1000;text-transform:uppercase;line-height:1}
.team strong{font-size:clamp(42px,7vw,72px);line-height:.9;min-width:54px;text-align:center}
.team small{display:none;color:#0B3D2E;font-weight:1000;text-transform:uppercase;font-size:12px}
.team small.show{display:block}
.team.has-ball{outline:2px solid rgba(212,160,23,.75);outline-offset:6px;border-radius:18px}
@media(max-width:860px){.team.right{justify-content:flex-start;text-align:left}.team-logo-wrap{width:48px;height:48px}.team strong{font-size:42px}.scoreboard{gap:18px}}


/* Clean team logo display */
.team-logo-wrap{background:#fff!important;border:1px solid #dfe7e2!important}
.team-logo{padding:4px!important;filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.team-logo-wrap.has-logo{background:#fff!important}


/* Game setup + play log refinement */
.game-select-bar{grid-template-columns:320px 1fr auto auto;}
#startGameBtn{white-space:nowrap;padding:8px 12px;border-radius:10px;font-size:12px;}
.game-info #gameStatus{font-size:12px!important;letter-spacing:.14em;color:#fff;background:rgba(255,255,255,.12);border-radius:999px;padding:5px 8px;}
.input-log-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;}
.log-delete{font-size:10px;padding:5px 7px;border-radius:8px;background:#fff;color:#8b1e1e;border-color:#e6c9c9;}
.log-delete:hover{background:#8b1e1e;color:#fff;}
@media(max-width:720px){.game-select-bar{grid-template-columns:1fr}.input-log-item{grid-template-columns:1fr}}

/* Live page tabs + tables */
.compact-tabs-card{padding:10px!important;}
.live-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;}
.tab-btn{border:1px solid rgba(11,61,46,.18);background:#fff;color:#0B3D2E;border-radius:999px;padding:10px 14px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;}
.tab-btn.active{background:#0B3D2E;color:#fff;border-color:#0B3D2E;}
.live-tab-panel{display:none;grid-column:1/-1;grid-template-columns:inherit;gap:inherit;}
.live-tab-panel.active{display:grid;}
.table-wrap{width:100%;overflow:auto;}
.live-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e3e8e5;border-radius:18px;overflow:hidden;background:#fff;}
.live-table th{background:#0B3D2E;color:#fff;text-align:left;text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding:14px;}
.live-table td{padding:14px;border-top:1px solid #e3e8e5;font-weight:800;}
.live-table td:not(:first-child),.live-table th:not(:first-child){text-align:center;}
.box-table td:first-child{font-weight:1000;text-transform:uppercase;}
.table-note{color:#66726d;font-size:13px;font-weight:700;margin:12px 0 0;}
@media(max-width:760px){.tab-btn{flex:1 1 45%;padding:10px 8px;font-size:12px}.live-table th,.live-table td{padding:10px 8px;font-size:13px}}

/* Full stats/play-template update */
.role-toggle{display:flex;gap:5px;margin-bottom:5px}
.role-toggle button{border:0;background:#e9eee9;color:var(--green);font-weight:1000;border-radius:9px;padding:7px 8px;font-size:11px;cursor:pointer}
.role-toggle button.active{background:var(--gold);color:var(--green)}
.mini-selected{font-size:11px;font-weight:900;background:#f5f7f5;border:1px solid #e0e6e2;border-radius:9px;padding:6px;margin-bottom:6px;color:#26332e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-table small,.play-item small{color:#66726d;font-weight:800}
.scoring-summary .play-item{border-left:4px solid var(--gold)}


.big-play-banner{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.95);
  background:rgba(6,24,18,.92);
  color:#fff;
  border:2px solid var(--gold);
  border-radius:999px;
  padding:14px 24px;
  font-size:clamp(18px,4vw,44px);
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 14px 30px rgba(0,0,0,.35);
  opacity:0;
  pointer-events:none;
  z-index:12;
  white-space:nowrap;
}
.big-play-banner.show{animation:bigPlayPulse 3.8s ease both;}
@keyframes bigPlayPulse{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}
  12%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}
  75%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(.92)}
}

.team-toggle{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.team-toggle button{border:1px solid #d8e0dc;background:#fff;color:#0b3d2e;border-radius:999px;padding:10px 14px;font-weight:1000;text-transform:uppercase;cursor:pointer}
.team-toggle button.active{background:#0b3d2e;color:#fff;border-color:#0b3d2e}
.player-team-card{padding-bottom:16px}
