/*
 * Frontend-only polish. Loaded last, preserving application event handlers,
 * API calls, model state, payout logic and all source-data semantics.
 * Keep selectors scoped to existing surfaces. No visibility-hiding shortcuts.
 */
:root{--ui-focus:#90c9ff;--ui-hairline:#344961;--ui-soft-border:#30445d}
#app .nav{min-height:40px;line-height:1.3}
#app .navSection{letter-spacing:.085em;color:#a6b4c7}
#app .nav.active{border-color:#426c99}
#app .top{gap:12px}
#app .top h1{line-height:1.25;overflow-wrap:anywhere}
#app button:focus-visible,#app a:focus-visible,#app [role="button"]:focus-visible,
#app input:focus-visible,#app textarea:focus-visible,#app select:focus-visible,
#app summary:focus-visible,.mui-mobile-dock button:focus-visible,
.mui-mobile-menu button:focus-visible{
  outline:2px solid var(--ui-focus);outline-offset:3px
}
#app button:disabled{cursor:not-allowed}
#app .card,#app .panel{border-color:var(--ui-soft-border)}
#app .muted{line-height:1.5}
#app .status,#app .empty,#app [role="status"],#app [role="alert"]{overflow-wrap:anywhere;line-height:1.55}
#app .empty{padding:18px;border:1px dashed var(--ui-hairline);border-radius:12px;color:var(--text2)}
#app [aria-busy="true"]{cursor:progress}
#app .badge,#app .chip,#app .platformPill{max-width:100%;overflow-wrap:anywhere}
#app .statline{font-variant-numeric:tabular-nums}
#app .statline>div{min-width:0}
#buildWorkspace .buildWorkspaceHead{border-bottom-color:var(--ui-hairline)}
#buildWorkspace .buildModeTabs button{line-height:1.4;min-height:44px}
#buildWorkspace .buildModeTabs button[aria-selected="true"]{box-shadow:inset 0 -1px 0 var(--green)}
#buildWorkspace .trayleg{overflow-wrap:anywhere;line-height:1.5}
#buildWorkspace .trayleg button{min-height:40px}
#buildWorkspace .searchrow>*{min-width:0}
#labbot .rb-analysis,#labbot .rb-panel,#labbot .rb-thread{border-color:var(--ui-soft-border)}
#labbot .rb-evidence-column,#labbot .rb-evidence-group{min-width:0;overflow-wrap:anywhere}
#labbot .rb-evidence-group li{line-height:1.55}
#labbot details summary{cursor:pointer;line-height:1.5}
#labbot .rb-tabs button{min-height:40px;line-height:1.35}
#app .gc-stats,#app .gcl-card,#app .gcl-scoreboard,#app .gc-big-card{border-color:var(--ui-soft-border)}
#app .gc-stats table{font-variant-numeric:tabular-nums}
#app .gc-stats tbody tr:focus-within td,#app .gc-stats tbody tr:focus-within th{background:#152740}
#app .gc-table-scroll{scrollbar-gutter:stable;overscroll-behavior-x:contain}
#app .gc-stats th,#app .gc-stats td{line-height:1.4}
#app .gc-stats th:first-child{min-width:112px}
#app .gcl-empty,#app .gcl-note{overflow-wrap:anywhere;line-height:1.55}
#app .metricCard,#app .rb-model,#app .rb-prediction{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){
  #app main{min-width:0}
  #app main .top h1{font-size:clamp(17px,4.5vw,22px)}
  #app main .gc-table-scroll{width:100%;max-width:100%;overflow-x:auto}
  #app main .gc-stats th:first-child{min-width:100px}
  #app main #buildWorkspace .buildModeTabs button{overflow-wrap:anywhere}
  #app main #labbot .rb-evidence-column{width:100%}
  #app main .status,#app main .empty{max-width:100%}
}
@media(max-width:360px){
  #app main .gc-stats th,#app main .gc-stats td{padding:8px 7px}
  #app main #buildWorkspace .buildModeTabs button{padding:10px 4px;font-size:11px}
  #app main .top{gap:6px}
}
@media(prefers-reduced-motion:reduce){
  #app button,#app .nav,.mui-mobile-dock button,.mui-mobile-menu button{transition:none}
  #app button:active:not(:disabled){transform:none}
}
