/* Phase 8 - Commissioner Experience Polish */
:root{
  --sp-card-radius:18px;
  --sp-card-shadow:0 10px 28px rgba(15,23,42,.08);
  --sp-card-shadow-hover:0 16px 38px rgba(15,23,42,.13);
}

main{padding-bottom:28px;}
.panel,.card,.homeCard,.homeWidget,.reportCard,.commissionerCard,.boardCard{
  border-radius:var(--sp-card-radius)!important;
  box-shadow:var(--sp-card-shadow);
}
.panelTitleRow,.cardHeader,.topbar{
  gap:12px;
}
.sub,.tag,.hint{
  line-height:1.45;
}

/* Home */
.homeHero{
  margin-bottom:14px!important;
  box-shadow:0 18px 45px rgba(7,17,31,.20)!important;
}
.homeGrid{
  gap:12px!important;
}
.homePrimary{
  grid-column:span 2;
  border:1px solid rgba(255,122,0,.28)!important;
  box-shadow:0 16px 42px rgba(255,122,0,.13)!important;
}
.homeContinueBox{
  min-height:112px;
  border-radius:16px!important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.homeContinueBox:hover{
  transform:translateY(-2px);
  box-shadow:var(--sp-card-shadow-hover);
}
.homeMiniStats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.homeMiniStats span,
.homeStatTiles div{
  border-radius:14px!important;
}
.homeQuickLaunch .btn{
  min-height:42px;
  justify-content:center;
}

/* Dashboard */
.dashboardGameDayShell{
  align-items:start;
}
.dashboardBoardStatus{
  border:1px solid rgba(255,122,0,.30)!important;
  box-shadow:0 18px 44px rgba(255,122,0,.13)!important;
}
.dashboardStatusTiles > div,
.dashboardStatusTiles > button{
  border-radius:15px!important;
}
.dashboardActionRow .btn,
.dashboardHeroActions .btn{
  min-height:40px;
}
.dashboardLiveBoardCard{
  overflow:hidden;
}
.dashboardLiveBoard table,
#boardTable{
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}

/* Boards */
.boardCards{
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:12px!important;
}
.boardCard{
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.boardCard:hover{
  transform:translateY(-2px);
  box-shadow:var(--sp-card-shadow-hover);
}
.boardCard.activeBoard::before{
  content:"ACTIVE BOARD";
  position:absolute;
  right:14px;
  top:14px;
  border-radius:999px;
  background:rgba(255,122,0,.13);
  color:var(--orange);
  font-size:10px;
  letter-spacing:.08em;
  font-weight:1000;
  padding:5px 8px;
}
.boardCardTitle{
  padding-right:96px;
  line-height:1.15;
}
.boardActions .btn,
.boardActions button{
  flex:1 1 auto;
  min-height:36px;
}

/* Ownership + revenue */
.revenueCards{
  gap:12px!important;
}
.revenueCards .card.big{
  border:1px solid rgba(22,163,74,.25)!important;
  box-shadow:0 16px 38px rgba(22,163,74,.11)!important;
}
.list{
  border-radius:16px;
  overflow:hidden;
}
.list th{
  position:sticky;
  top:0;
  z-index:1;
}
.list tbody tr{
  transition:background .12s ease;
}
.list tbody tr:hover{
  background:rgba(59,130,246,.06);
}
.paidRow{
  background:rgba(22,163,74,.08)!important;
}
.statusPaid,.statusOwe,.statusPartial{
  font-weight:900;
}

/* Commissioner tools */
.navSectionToggle{
  min-height:44px!important;
}
.navToolsGroup.open .navToolMenu{
  animation:spToolsIn .14s ease-out;
}
@keyframes spToolsIn{
  from{opacity:.3; transform:translateY(-4px);}
  to{opacity:1; transform:translateY(0);}
}

/* Mobile / iPad */
@media(max-width:1100px){
  .homePrimary{grid-column:span 1;}
  .dashboardGameDayShell{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .homeMiniStats{flex-direction:column;}
  .heroActions,.dashboardActionRow{justify-content:stretch;}
  .heroActions .btn,.dashboardActionRow .btn{flex:1 1 140px;}
  .boardCards{grid-template-columns:1fr;}
}

/* Hotfix - keep dashboard live board fully visible; no inner board scrolling */
#dashboard .dashboardGameDayShell{
  grid-template-columns:minmax(360px,.9fr) minmax(620px,1.1fr)!important;
}
#dashboard .dashboardLiveBoard{
  max-height:none!important;
  overflow:visible!important;
}
#dashboard .dashboardLiveBoardCard{
  overflow:visible!important;
}
#dashboard .dashBoardScroll{
  overflow:visible!important;
}
#dashboard .dashBoardTable{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
#dashboard .dashBoardStage{
  grid-template-columns:64px minmax(0,1fr)!important;
}
#dashboard .dashBoardTable td{
  height:40px!important;
  padding:2px!important;
}
#dashboard .dashHeader,
#dashboard .dashCorner{
  font-size:17px!important;
}
#dashboard .dashOwner{
  font-size:10.5px!important;
}
#dashboard .dashTeamTop{
  font-size:clamp(28px,3.8vw,54px)!important;
  margin:0 24px 8px 24px!important;
}
#dashboard .dashTeamLeft span{
  font-size:clamp(24px,3.3vw,44px)!important;
  letter-spacing:.10em!important;
}
@media(max-width:1100px){
  #dashboard .dashboardGameDayShell{grid-template-columns:1fr!important;}
  #dashboard .dashBoardTable td{height:34px!important;}
  #dashboard .dashOwner{font-size:9.5px!important;}
  #dashboard .dashBoardStage{grid-template-columns:48px minmax(0,1fr)!important;}
}

/* Phase 8 hotfix - keep dashboard winner badges color-coded in dark mode */
#dashboard .dashWinBadges .winBadge,
#dashboard .dashboardLiveBoard .winBadge,
table.board .winBadge{
  background:#16a34a!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.35)!important;
}
#dashboard .dashWinBadges .winBadge.back,
#dashboard .dashboardLiveBoard .winBadge.back,
table.board .winBadge.back{
  background:#f97316!important;
  color:#ffffff!important;
  border-color:rgba(255,237,213,.65)!important;
}
#dashboard .dashWinBadges .winBadge.extra,
#dashboard .dashboardLiveBoard .winBadge.extra,
table.board .winBadge.extra{
  background:#2563eb!important;
  color:#ffffff!important;
  border-color:rgba(191,219,254,.65)!important;
}
#dashboard .dashWinBadges .winBadge.corner,
#dashboard .dashboardLiveBoard .winBadge.corner,
table.board .winBadge.corner{
  background:#7c3aed!important;
  color:#ffffff!important;
  border-color:rgba(221,214,254,.65)!important;
}
#dashboard .dashWinBadges .winBadge.side,
#dashboard .dashboardLiveBoard .winBadge.side,
table.board .winBadge.side{
  background:#dc2626!important;
  color:#ffffff!important;
  border-color:rgba(254,202,202,.65)!important;
}
