/* Handball Tracker Cloud v1.28 revision 2
   High-fidelity implementation of the approved dark navy / green mock-up. */
:root{
  --r2-bg:#020b16;
  --r2-panel:#061626;
  --r2-panel-2:#081c2e;
  --r2-panel-3:#0b2237;
  --r2-border:#1a3852;
  --r2-border-soft:rgba(117,151,177,.17);
  --r2-green:#5bd36d;
  --r2-green-2:#329e4d;
  --r2-blue:#2f91e8;
  --r2-orange:#f38b24;
  --r2-red:#e95055;
  --r2-purple:#9a55cd;
  --r2-text:#f5f8fb;
  --r2-muted:#8fa6b9;
  --r2-radius:13px;
}
body.v128r2-ui{
  background:
    radial-gradient(circle at 20% -20%,rgba(56,154,86,.12),transparent 42rem),
    radial-gradient(circle at 90% 12%,rgba(33,91,153,.11),transparent 38rem),
    #020b16!important;
}
body.v128r2-ui .card{
  border-color:var(--r2-border-soft)!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#07192a,#061421)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.22)!important;
}
body.v128r2-ui button{border-radius:8px}

/* --------------------------------------------------------------------------
   Application shell — matches the approved desktop header
   -------------------------------------------------------------------------- */
body.v128r2-ui .professional-app-header{
  display:grid!important;
  grid-template-columns:minmax(230px,auto) minmax(500px,1fr) auto auto 44px!important;
  gap:14px!important;
  min-height:69px!important;
  padding:7px clamp(15px,2vw,28px)!important;
  background:rgba(2,12,23,.97)!important;
  border-bottom:1px solid #18334c!important;
}
body.v128r2-ui .brand-lockup img{width:44px!important;height:44px!important;border-radius:9px!important}
body.v128r2-ui .brand-lockup strong{font-size:17px!important;text-transform:uppercase;letter-spacing:.025em!important}
body.v128r2-ui .brand-lockup strong .brand-accent{display:block!important;font-size:15px!important;line-height:1.05!important}
body.v128r2-ui .brand-lockup>div>span{display:none!important}
.v128r2-top-nav{
  display:flex;align-items:stretch;justify-content:center;gap:2px;min-width:0;height:54px;
}
.v128r2-top-nav button{
  min-width:76px;min-height:54px!important;padding:5px 9px!important;border:0!important;background:transparent!important;
  color:#9aaec0!important;box-shadow:none!important;font-size:10px!important;font-weight:650!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
}
.v128r2-top-nav button svg{width:19px;height:19px;stroke-width:1.7}
.v128r2-top-nav button:hover,.v128r2-top-nav button.active{
  transform:none!important;color:#70df80!important;background:rgba(57,159,78,.10)!important;border-radius:9px!important;
}
body.v128r2-ui .header-context{min-width:150px!important;padding:5px 10px!important;border:1px solid var(--r2-border-soft)!important;border-radius:10px!important;background:#071727!important}
body.v128r2-ui .header-context>span{font-size:9px!important}
body.v128r2-ui .header-context>strong{font-size:12px!important}
body.v128r2-ui .header-status{min-width:82px!important;justify-content:center!important;background:transparent!important;border:0!important}
body.v128r2-ui .header-menu-btn{width:38px!important;height:38px!important;min-height:38px!important;border-radius:9px!important}
.v128r2-live-heading{display:none}
body.v128r2-ui main{max-width:1540px!important;padding-top:13px!important}

/* --------------------------------------------------------------------------
   Live game toolbar, score, court and lineups
   -------------------------------------------------------------------------- */
.v128r2-live-toolbar{
  position:relative;display:grid;grid-template-columns:minmax(210px,auto) minmax(0,1fr);gap:10px;
  margin:0 0 8px;padding:8px;border:1px solid var(--r2-border-soft);border-radius:12px;background:#061523;
}
.v128r2-mode-switch{display:grid;grid-template-columns:1.2fr .9fr;gap:4px;padding:3px;border:1px solid #24445f;border-radius:9px;background:#04111d}
.v128r2-mode-switch button{
  min-height:42px!important;padding:5px 12px!important;border:0!important;background:transparent!important;color:#9db0bf!important;
  box-shadow:none!important;font-size:10px!important;line-height:1.05;
}
.v128r2-mode-switch button.active{background:linear-gradient(135deg,#338f48,#5ccf6e)!important;color:#041208!important}
.v128r2-live-actions{display:grid;grid-template-columns:repeat(5,minmax(76px,1fr));gap:6px}
.v128r2-live-actions button{
  min-height:48px!important;padding:5px 7px!important;background:#091d2f!important;border-color:#1e3b54!important;color:#c5d3de!important;
  display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px!important;box-shadow:none!important;
}
.v128r2-live-actions button svg{width:16px;height:16px}
.v128r2-live-actions button b{font-size:13px;color:#8ba4b8}
.v128r2-live-actions button:hover,.v128r2-live-actions button.active{background:#102a40!important;border-color:#41708f!important;color:#fff!important;transform:none!important}
.v128r2-live-popover{
  position:absolute;z-index:120;left:var(--menu-x,240px);top:calc(100% - 4px);min-width:195px;padding:7px;border:1px solid #31526b;border-radius:10px;
  background:#081827;box-shadow:0 16px 40px rgba(0,0,0,.46);
}
.v128r2-live-popover strong{display:block;padding:5px 7px;color:#8fa6b9;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.v128r2-live-popover button{display:block;width:100%;margin:3px 0;text-align:left;background:#0b2134!important}
body.v128r2-ui #gamePanel>.card.compact.topbar{
  grid-template-columns:minmax(220px,1fr) auto!important;margin-bottom:7px!important;padding:8px 12px!important;background:#061522!important;
}
body.v128r2-ui #gamePanel>.card.compact.topbar>.button-row{grid-column:2!important;display:flex!important;flex-wrap:nowrap!important}
body.v128r2-ui #trackerSessionPanel{margin-bottom:7px!important;padding:7px 10px!important;border-radius:10px!important}
body.v128r2-ui #trackerSessionPanel .topbar{min-height:auto}
body.v128r2-ui #trackerSessionPanel .tracker-presence-list{display:none}
body.v128r2-ui .live-court-status-row{
  grid-template-columns:minmax(0,1fr) minmax(140px,180px)!important;gap:7px!important;margin:0 0 7px!important;
}
body.v128r2-ui .live-score-board{
  display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;min-height:68px!important;
  padding:7px 13px!important;background:linear-gradient(90deg,#071929,#05131f,#071929)!important;border-color:#254761!important;border-radius:10px!important;
}
body.v128r2-ui .score-side{display:grid!important;grid-template-columns:minmax(70px,1fr) auto!important;align-items:center!important;gap:8px!important;min-width:0!important}
body.v128r2-ui .score-away{grid-template-columns:auto minmax(70px,1fr)!important}
body.v128r2-ui .score-away .score-team-name{grid-column:2;grid-row:1;text-align:right}
body.v128r2-ui .score-away .score-control-row{grid-column:1;grid-row:1}
body.v128r2-ui .score-team-name{color:#e6eef4!important;font-size:12px!important;font-weight:850!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v128r2-ui .score-control-row strong{font-size:31px!important;color:var(--r2-green)!important}
body.v128r2-ui .score-away .score-control-row strong{color:#45a0f4!important}
body.v128r2-ui .score-control-row button{opacity:.58;background:#0b2337!important;border-color:#25435b!important}
body.v128r2-ui .score-separator{padding:0 12px;color:#536c7f!important}
body.v128r2-ui .match-clock-panel{
  min-height:68px!important;padding:6px 8px!important;background:#061522!important;border-color:#254761!important;border-radius:10px!important;
}
body.v128r2-ui #matchClockDisplay{font-size:22px!important;color:#f1f5f8!important}
body.v128r2-ui #matchClockHalf{color:#8fa6b8!important;font-size:9px!important}
body.v128r2-ui .tracking-stage-layout{
  display:grid!important;grid-template-columns:minmax(170px,.62fr) minmax(500px,2.3fr) minmax(170px,.62fr)!important;gap:7px!important;
}
body.v128r2-ui .tracking-main-card{padding:8px!important;border-radius:11px!important;background:#061522!important}
body.v128r2-ui .tracking-main-card h2{margin:2px 0 1px!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.025em}
body.v128r2-ui .tracking-main-card>#stepText{margin:0 0 5px!important;font-size:9px!important}
body.v128r2-ui .v128-orientation-row{margin:1px 0 5px!important}
body.v128r2-ui #courtWrap,body.v128r2-ui #goalWrap{max-width:760px!important;border-radius:7px!important;border-color:#4b6d86!important}
body.v128r2-ui #courtCanvas,body.v128r2-ui #goalCanvas{display:block;width:100%!important;max-height:69vh!important}
body.v128r2-ui .court-quick-actions{display:none!important}
body.v128r2-ui #penaltyShotBtn,body.v128r2-ui #blockedShotBtn{display:none!important}
body.v128r2-ui .lineup-panel{
  top:78px!important;padding:9px!important;border-radius:10px!important;background:#061522!important;
}
body.v128r2-ui .lineup-panel h3{padding-bottom:6px;border-bottom:2px solid #328c49;font-size:11px!important;text-transform:uppercase}
body.v128r2-ui #awayLineupPanel h3{border-bottom-color:#2c78ba}
body.v128r2-ui .lineup-panel>.hint{font-size:8px!important;margin:4px 0 7px!important}
body.v128r2-ui .live-lineup-phase{padding:6px!important;border-radius:8px!important}
body.v128r2-ui .live-lineup-position-grid{gap:4px!important}
body.v128r2-ui .dual-live-lineup .lineup-position-btn{min-height:43px!important;border-radius:6px!important;background:#091d2e!important}
body.v128r2-ui .dual-live-lineup .lineup-position-btn strong{font-size:13px!important}
body.v128r2-ui .sticky-actions{
  position:sticky!important;display:flex!important;gap:6px!important;margin:7px 0 0!important;padding:7px!important;border-radius:9px!important;
  background:#04121f!important;
}
body.v128r2-ui .sticky-actions button{min-height:39px!important;font-size:10px!important}
body.v128r2-ui #nextStepBtn,body.v128r2-ui #saveShotBtn{background:linear-gradient(135deg,#3f9e4f,#65d677)!important;color:#031108!important}
body.v128r2-ui #undoLastShotBtn{background:#0a2032!important;border-color:#25455e!important;color:#c5d3df!important}
body.v128r2-ui details.collapsible-card{border-radius:10px!important;margin-top:7px!important}
body.v128r2-ui details.collapsible-card>summary{min-height:42px;padding:10px 13px!important;font-size:11px;text-transform:uppercase;letter-spacing:.04em}

/* --------------------------------------------------------------------------
   Old Games — compact folder tree, three-dot menus and sticky compare bar
   -------------------------------------------------------------------------- */
body.v128r2-ui #gamesPage>.card{border-radius:12px!important;background:#061522!important}
body.v128r2-ui #gamesPage>.card>.topbar{padding:13px 14px 8px!important}
body.v128r2-ui #gamesPage>.card>.topbar h2{font-size:15px!important;letter-spacing:.04em}
body.v128r2-ui #gamesPage>.card>.topbar .button-row{display:none!important}
body.v128r2-ui #oldGamesScopeHint{display:none}
body.v128r2-ui .v128-oldgames-toolbar{
  grid-template-columns:minmax(220px,1fr) auto auto!important;gap:8px!important;padding:0 13px 10px!important;
}
body.v128r2-ui .v128-search{min-height:37px!important;border-radius:7px!important;background:#04121f!important}
body.v128r2-ui .v128-search input{min-height:34px!important;margin:0!important;font-size:10px!important}
body.v128r2-ui .v128-scope-tabs{padding:2px!important;border-radius:7px!important;background:#081b2c!important}
body.v128r2-ui .v128-scope-tabs button{min-height:32px!important;padding:5px 13px!important;font-size:10px!important;border-radius:5px!important}
.v128r2-oldgame-actions{display:flex;gap:5px;align-items:center}
.v128r2-oldgame-actions button{min-height:36px!important;padding:6px 10px!important;font-size:10px!important;white-space:nowrap}
.v128r2-oldgame-actions #refreshFoldersBtn{width:36px;padding:0!important}
body.v128r2-ui .selection-toolbar{
  display:none!important;position:sticky;bottom:8px;z-index:100;margin:6px 10px 10px!important;padding:8px 10px!important;
  border:1px solid #284963!important;border-radius:9px!important;background:rgba(4,17,29,.96)!important;box-shadow:0 14px 35px rgba(0,0,0,.35);
}
body.v128r2-ui .selection-toolbar.v128r2-has-selection{display:flex!important}
body.v128r2-ui .selection-toolbar .selection-check{display:none!important}
body.v128r2-ui #gamesList{padding:0 10px 10px!important}
body.v128r2-ui .folder-section{
  position:relative;margin:5px 0!important;padding-left:calc(var(--folder-depth,0) * 15px)!important;border:0!important;border-radius:8px!important;background:transparent!important;overflow:visible!important;
}
body.v128r2-ui .folder-section[data-folder-depth]:not([data-folder-depth="0"])::before{
  content:"";position:absolute;left:calc((var(--folder-depth) * 15px) - 7px);top:-5px;bottom:-5px;border-left:1px solid #18364f;
}
body.v128r2-ui .folder-header{
  min-height:43px!important;padding:4px 5px 4px 8px!important;border:1px solid #18364e!important;border-radius:8px!important;background:#081b2d!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;
}
body.v128r2-ui .folder-title-row{min-width:0}
body.v128r2-ui .folder-toggle{
  width:100%;min-height:32px!important;padding:3px 5px!important;border:0!important;background:transparent!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;gap:7px!important;text-align:left!important;
}
body.v128r2-ui .folder-toggle:hover{transform:none!important;background:rgba(255,255,255,.025)!important}
body.v128r2-ui .folder-chevron{width:10px;color:#a9b9c6;font-size:10px}
body.v128r2-ui .folder-icon{width:17px;color:#f1b84a;font-size:13px;transform:scaleX(1.2)}
body.v128r2-ui .folder-toggle strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px!important;color:#edf3f7!important}
body.v128r2-ui .folder-count{
  min-width:24px;padding:2px 6px;border-radius:5px;background:#10283d;color:#a5b6c4!important;text-align:center;font-size:9px!important;
}
body.v128r2-ui .folder-header-actions{display:flex!important;align-items:center!important;gap:2px!important}
body.v128r2-ui .folder-compare{width:27px;height:31px;display:grid!important;place-items:center;padding:0!important;border-radius:6px}
body.v128r2-ui .folder-compare span{display:none}
body.v128r2-ui .folder-compare input{margin:0!important}
.folder-action-wrap,.menu-wrap{position:relative}
body.v128r2-ui .folder-menu-button,body.v128r2-ui .menu-button{
  width:30px!important;height:31px!important;min-height:31px!important;padding:0!important;border:0!important;background:transparent!important;color:#a6b7c4!important;font-size:18px!important;box-shadow:none!important;
}
body.v128r2-ui .folder-action-menu,body.v128r2-ui .game-menu{
  position:absolute!important;z-index:250!important;right:0!important;top:33px!important;min-width:205px!important;padding:6px!important;border:1px solid #284a63!important;border-radius:9px!important;
  background:#081827!important;box-shadow:0 18px 45px rgba(0,0,0,.52)!important;
}
body.v128r2-ui .folder-action-menu button,body.v128r2-ui .game-menu button{
  display:block!important;width:100%!important;min-height:34px!important;padding:7px 9px!important;border:0!important;background:transparent!important;text-align:left!important;font-size:10px!important;box-shadow:none!important;
}
body.v128r2-ui .folder-action-menu button:hover,body.v128r2-ui .game-menu button:hover{background:#102a40!important;transform:none!important}
.folder-menu-divider{height:1px;margin:4px 3px;background:#1d3a52}
body.v128r2-ui .folder-games{padding:5px 0 0 12px!important;border:0!important;background:transparent!important}
body.v128r2-ui .folder-section.collapsed>.folder-games{display:none!important}
body.v128r2-ui .game-item.v128r2-game-row{
  display:grid!important;grid-template-columns:50px minmax(0,1fr) auto 62px!important;gap:8px!important;align-items:center!important;
  min-height:58px!important;margin:4px 0!important;padding:5px 6px!important;border:1px solid #17364e!important;border-radius:7px!important;background:#061828!important;
}
.v128r2-game-date{height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #17364e;color:#89a1b4}
.v128r2-game-date strong{font-size:11px;line-height:1;color:#dce6ed}
.v128r2-game-date span{font-size:8px;line-height:1.2;text-transform:uppercase}
.v128r2-game-date small{font-size:7px;color:#6f889b}
body.v128r2-ui .game-main{min-width:0}
body.v128r2-ui .game-title-line{display:block!important}
body.v128r2-ui .game-select{display:none!important}
body.v128r2-ui .game-title-line strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important;color:#eef4f8!important}
body.v128r2-ui .game-main small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7f97a9!important;font-size:8px!important}
.v128r2-game-score{min-width:58px;color:#edf4f8;font-size:13px;font-weight:850;text-align:center}
body.v128r2-ui .game-actions{display:flex!important;align-items:center!important;gap:0!important}
body.v128r2-ui .game-actions>.review-btn{width:27px!important;height:31px!important;min-height:31px!important;padding:0!important;border:0!important;background:transparent!important;font-size:22px!important;color:#bdcad4!important;box-shadow:none!important}
body.v128r2-ui .game-actions>.menu-wrap{display:block!important}
body.v128r2-ui .game-menu .resume-btn{display:block!important;position:static!important}
body.v128r2-ui .folder-empty{padding:10px!important;font-size:9px!important}

/* Folder action modals */
.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.modal-title-row h2{margin:2px 0 0!important}
.modal-kicker{font-size:9px;color:#6fdc80;text-transform:uppercase;letter-spacing:.08em;font-weight:850}
.modal-close-icon{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;font-size:18px!important}
.folder-action-modal{max-width:480px!important}
.folder-delete-options{display:grid;gap:8px;margin:13px 0 4px}
.folder-safe-delete{display:flex!important;flex-direction:column;align-items:flex-start!important;text-align:left!important;background:#0b2538!important;border-color:#2c536d!important}
.folder-safe-delete strong{color:#f2f6f8}
.folder-safe-delete span{margin-top:3px;color:#93a8b8;font-size:10px;font-weight:500}
.folder-danger-delete{width:100%}

/* --------------------------------------------------------------------------
   Mobile implementation — the screen now follows the approved phone mock-up
   -------------------------------------------------------------------------- */
@media(max-width:900px){
  body.v128r2-ui{padding-bottom:66px!important}
  body.v128r2-ui .professional-app-header{
    grid-template-columns:minmax(0,1fr) auto 38px!important;min-height:55px!important;padding:5px 8px!important;gap:6px!important;
  }
  body.v128r2-ui .brand-lockup img{width:35px!important;height:35px!important}
  body.v128r2-ui .brand-lockup strong{font-size:12px!important}
  body.v128r2-ui .brand-lockup strong .brand-accent{font-size:11px!important}
  .v128r2-top-nav{display:none}
  body.v128r2-ui .header-context{display:none!important}
  body.v128r2-ui .header-status{min-width:34px!important;width:34px!important}
  body.v128r2-ui .header-menu-btn{width:35px!important;height:35px!important;min-height:35px!important}
  body.v128r2-ui main{padding:7px 6px 20px!important}
  body.v128r2-ui .mobile-bottom-nav{
    bottom:4px!important;left:6px!important;right:6px!important;padding:4px!important;border-radius:12px!important;background:rgba(4,16,27,.97)!important;
  }
  body.v128r2-ui .mobile-bottom-nav button{font-size:8px!important}
  body.v128r2-ui .mobile-bottom-nav svg{width:16px;height:16px}

  body.v128r2-ui.v128-live-mode{padding-bottom:0!important}
  body.v128r2-ui.v128-live-mode .professional-app-header{
    display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px!important;position:sticky!important;min-height:50px!important;padding:4px 7px!important;
  }
  body.v128r2-ui.v128-live-mode .brand-lockup{grid-column:1;justify-content:center}
  body.v128r2-ui.v128-live-mode .brand-lockup img{display:none!important}
  body.v128r2-ui.v128-live-mode .brand-lockup>div{display:none!important}
  body.v128r2-ui.v128-live-mode .header-status{display:none!important}
  body.v128r2-ui.v128-live-mode .header-menu-btn{grid-column:3;grid-row:1}
  body.v128r2-ui.v128-live-mode .header-menu-btn::before{width:16px}
  body.v128r2-ui.v128-live-mode .brand-lockup::before{content:"☰";font-size:17px;color:#dbe5ec}
  body.v128r2-ui.v128-live-mode .v128r2-live-heading{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
  .v128r2-live-heading strong{font-size:11px;color:#f3f7f9;letter-spacing:.04em}
  .v128r2-live-heading span{margin-top:3px;color:#64d977;font-size:7px}
  .v128r2-live-heading i{display:inline-block;width:5px;height:5px;margin-right:3px;border-radius:50%;background:#61d975}
  .v128r2-live-heading i.offline{background:#e3a83f}
  body.v128r2-ui.v128-live-mode main{padding:4px 5px 10px!important}
  body.v128r2-ui.v128-live-mode #gamePanel>.card.compact.topbar{display:none!important}
  body.v128r2-ui.v128-live-mode #trackerSessionPanel{
    min-height:24px!important;margin:0 0 4px!important;padding:3px 7px!important;border:0!important;background:transparent!important;box-shadow:none!important;
  }
  body.v128r2-ui.v128-live-mode #trackerSessionPanel .topbar{display:flex!important;align-items:center!important}
  body.v128r2-ui.v128-live-mode #trackerSessionRole{display:none}
  body.v128r2-ui.v128-live-mode #trackerRealtimeStatus{font-size:7px!important;margin:0!important;color:#6bdc7b!important}
  body.v128r2-ui.v128-live-mode #trackerSessionPanel .button-row{display:none!important}
  .v128r2-live-toolbar{display:block;margin:0 0 4px;padding:4px;border-radius:8px}
  .v128r2-mode-switch{grid-template-columns:1.25fr .9fr;gap:3px;padding:2px;margin-bottom:4px}
  .v128r2-mode-switch button{min-height:35px!important;padding:4px 6px!important;font-size:8px!important}
  .v128r2-live-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  .v128r2-live-actions button{min-width:0;min-height:37px!important;padding:3px 2px!important;display:flex;flex-direction:column;gap:1px;font-size:7px!important}
  .v128r2-live-actions button svg{width:13px;height:13px}.v128r2-live-actions button b{font-size:10px}
  .v128r2-live-popover{left:auto!important;right:3px;top:100%;min-width:165px}
  body.v128r2-ui .live-court-status-row{grid-template-columns:minmax(0,1fr) 82px!important;gap:4px!important;margin-bottom:4px!important}
  body.v128r2-ui .live-score-board{min-height:54px!important;padding:4px 6px!important;border-radius:7px!important}
  body.v128r2-ui .score-side{display:flex!important;flex-direction:column!important;gap:2px!important}
  body.v128r2-ui .score-away{flex-direction:column!important}
  body.v128r2-ui .score-away .score-team-name,body.v128r2-ui .score-away .score-control-row{grid-column:auto;grid-row:auto}
  body.v128r2-ui .score-team-name{max-width:85px;font-size:7px!important;text-align:center!important;text-transform:uppercase!important}
  body.v128r2-ui .score-control-row{gap:3px!important}
  body.v128r2-ui .score-control-row strong{font-size:23px!important}
  body.v128r2-ui .score-control-row button{width:21px!important;height:21px!important;min-height:21px!important;border-radius:5px!important;font-size:12px!important}
  body.v128r2-ui .score-separator{padding:0 2px;font-size:12px!important}
  body.v128r2-ui .match-clock-panel{min-width:82px!important;min-height:54px!important;padding:3px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  body.v128r2-ui #matchClockDisplay{font-size:18px!important}
  body.v128r2-ui .match-clock-panel .button-row{display:none!important}
  body.v128r2-ui .tracking-stage-layout{display:grid!important;grid-template-columns:1fr!important;gap:4px!important}
  body.v128r2-ui .tracking-main-card{grid-column:1!important;grid-row:1!important;padding:4px!important;border-radius:7px!important}
  body.v128r2-ui .tracking-main-card h2{font-size:10px!important;margin:1px 4px!important}
  body.v128r2-ui .tracking-main-card>#stepText{font-size:7px!important;margin:1px 4px 4px!important}
  body.v128r2-ui .v128-orientation-row{margin:0 3px 3px!important;font-size:6px!important}
  body.v128r2-ui #courtWrap,body.v128r2-ui #goalWrap{border-radius:4px!important}
  body.v128r2-ui #courtCanvas,body.v128r2-ui #goalCanvas{max-height:none!important;width:100%!important}
  body.v128r2-ui .sticky-actions{position:static!important;gap:3px!important;margin:4px 0 0!important;padding:3px!important;border:0!important;background:transparent!important}
  body.v128r2-ui .sticky-actions button{min-height:34px!important;padding:4px 4px!important;font-size:8px!important;border-radius:6px!important}
  body.v128r2-ui .lineup-panel{display:none!important;position:static!important;grid-column:1!important;grid-row:auto!important;padding:6px!important}
  body.v128r2-ui.v128r2-lineups-open .lineup-panel:not(.hidden){display:block!important}
  body.v128r2-ui.v128r2-lineups-open .tracking-main-card{display:none!important}
  body.v128r2-ui .lineup-position-list{grid-template-columns:1fr!important}
  body.v128r2-ui .live-lineup-position-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.v128r2-ui details.collapsible-card{margin-top:4px!important}
  body.v128r2-ui details.collapsible-card>summary{min-height:35px;padding:7px 9px!important;font-size:8px}

  body.v128r2-ui #gamesPage>.card>.topbar{padding:9px 8px 5px!important}
  body.v128r2-ui #gamesPage>.card>.topbar h2{font-size:12px!important}
  body.v128r2-ui .v128-oldgames-toolbar{grid-template-columns:1fr!important;gap:5px!important;padding:0 7px 7px!important}
  body.v128r2-ui .v128-search{grid-column:1}
  body.v128r2-ui .v128-scope-tabs{grid-column:1;width:100%;display:grid!important;grid-template-columns:repeat(3,1fr)}
  body.v128r2-ui .v128r2-oldgame-actions{position:absolute;right:8px;top:6px}
  body.v128r2-ui .v128r2-new-folder{font-size:0!important;width:31px!important;min-height:31px!important;padding:0!important}
  body.v128r2-ui .v128r2-new-folder::before{content:"+";font-size:17px}
  body.v128r2-ui .v128r2-oldgame-actions #refreshFoldersBtn{width:31px!important;min-height:31px!important}
  body.v128r2-ui #gamesList{padding:0 5px 7px!important}
  body.v128r2-ui .folder-section{padding-left:calc(var(--folder-depth,0) * 10px)!important;margin:4px 0!important}
  body.v128r2-ui .folder-section[data-folder-depth]:not([data-folder-depth="0"])::before{left:calc((var(--folder-depth) * 10px) - 5px)}
  body.v128r2-ui .folder-header{min-height:39px!important;padding:3px 3px 3px 5px!important}
  body.v128r2-ui .folder-toggle{gap:5px!important}.folder-icon{width:14px!important}.folder-count{min-width:20px!important;padding:2px 4px!important}
  body.v128r2-ui .folder-compare{display:none!important}
  body.v128r2-ui .folder-games{padding:3px 0 0 5px!important}
  body.v128r2-ui .game-item.v128r2-game-row{grid-template-columns:38px minmax(0,1fr) 52px 48px!important;gap:4px!important;min-height:53px!important;padding:4px!important}
  .v128r2-game-date{height:39px}.v128r2-game-score{min-width:50px;font-size:11px}
  body.v128r2-ui .game-title-line strong{font-size:9px!important}.game-main small{font-size:7px!important}
  body.v128r2-ui .game-actions>.review-btn{width:22px!important;font-size:18px!important}
  body.v128r2-ui .folder-action-menu,body.v128r2-ui .game-menu{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;min-width:0!important;padding:8px!important;border-radius:12px!important}
  body.v128r2-ui .folder-action-menu button,body.v128r2-ui .game-menu button{min-height:41px!important;font-size:11px!important}
  body.v128r2-ui .selection-toolbar.v128r2-has-selection{display:grid!important;grid-template-columns:1fr auto auto!important;bottom:67px!important}
}

@media(max-width:390px){
  body.v128r2-ui .live-court-status-row{grid-template-columns:minmax(0,1fr) 72px!important}
  body.v128r2-ui .match-clock-panel{min-width:72px!important}
  body.v128r2-ui .score-team-name{max-width:64px}
  body.v128r2-ui .score-control-row strong{font-size:20px!important}
}

/* Revision 2 layout corrections after phone/desktop rendering. */
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel.hidden):has(#awayLineupPanel.hidden){grid-template-columns:minmax(0,1fr)!important}
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel.hidden):has(#awayLineupPanel.hidden) .tracking-main-card{grid-column:1!important}
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel.hidden):has(#awayLineupPanel:not(.hidden)){grid-template-columns:minmax(0,2.3fr) minmax(170px,.62fr)!important}
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel.hidden):has(#awayLineupPanel:not(.hidden)) .tracking-main-card{grid-column:1!important}
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel:not(.hidden)):has(#awayLineupPanel.hidden){grid-template-columns:minmax(170px,.62fr) minmax(0,2.3fr)!important}
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel:not(.hidden)):has(#awayLineupPanel.hidden) .tracking-main-card{grid-column:2!important}
body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel:not(.hidden)):has(#awayLineupPanel:not(.hidden)) .tracking-main-card{grid-column:2!important}
body.v128r2-ui .folder-section:not([data-folder-id]) .folder-compare{font-size:0!important}
body.v128r2-ui .v128-oldgames-toolbar{position:relative}

@media(max-width:900px){
  body.v128r2-ui .live-court-status-row .live-score-board{grid-column:auto!important;grid-row:auto!important;order:initial!important}
  body.v128r2-ui .live-court-status-row .match-clock-panel{grid-column:auto!important;grid-row:auto!important;order:initial!important}
  body.v128r2-ui #trackingStageLayout,body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel.hidden):has(#awayLineupPanel.hidden),body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel.hidden):has(#awayLineupPanel:not(.hidden)),body.v128r2-ui #trackingStageLayout:has(#homeLineupPanel:not(.hidden)):has(#awayLineupPanel.hidden){grid-template-columns:1fr!important}
  body.v128r2-ui #trackingStageLayout .tracking-main-card{grid-column:1!important}
  body.v128r2-ui .v128r2-oldgame-actions{top:-40px!important;right:0!important}
}

/* Revision 2 desktop court sizing for every lineup-tracking state. */
@media(min-width:901px){
  body.v128r2-ui .tracking-stage-layout:not(:has(#homeLineupPanel:not(.hidden))):not(:has(#awayLineupPanel:not(.hidden))){
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.v128r2-ui .tracking-stage-layout:not(:has(#homeLineupPanel:not(.hidden))):not(:has(#awayLineupPanel:not(.hidden))) .tracking-main-card{
    grid-column:1!important;width:min(100%,940px)!important;justify-self:center!important;
  }
  body.v128r2-ui .tracking-stage-layout:has(#homeLineupPanel:not(.hidden)):not(:has(#awayLineupPanel:not(.hidden))){
    grid-template-columns:minmax(190px,.65fr) minmax(520px,2.25fr)!important;
  }
  body.v128r2-ui .tracking-stage-layout:has(#homeLineupPanel:not(.hidden)):not(:has(#awayLineupPanel:not(.hidden))) #homeLineupPanel{grid-column:1!important}
  body.v128r2-ui .tracking-stage-layout:has(#homeLineupPanel:not(.hidden)):not(:has(#awayLineupPanel:not(.hidden))) .tracking-main-card{grid-column:2!important}
  body.v128r2-ui .tracking-stage-layout:not(:has(#homeLineupPanel:not(.hidden))):has(#awayLineupPanel:not(.hidden)){
    grid-template-columns:minmax(520px,2.25fr) minmax(190px,.65fr)!important;
  }
  body.v128r2-ui .tracking-stage-layout:not(:has(#homeLineupPanel:not(.hidden))):has(#awayLineupPanel:not(.hidden)) .tracking-main-card{grid-column:1!important}
  body.v128r2-ui .tracking-stage-layout:not(:has(#homeLineupPanel:not(.hidden))):has(#awayLineupPanel:not(.hidden)) #awayLineupPanel{grid-column:2!important}
}
