/* Shared charcoal / green tokens; semantic warning and rink colors remain distinct. */
:root{--bg:#101314;--panel:#171c1d;--panel2:#202628;--line:#343d40;--text:#edf3f4;--muted:#a6b2b5;--accent:#9bbec7;--accent2:#73a1b0;--away:#e3ac70;--danger:#ef8392;--radius:14px;color-scheme:dark}body{background:#101314;color:var(--text)}.panel{background:linear-gradient(180deg,#1b2123,#151a1c)}.kpi{background:linear-gradient(180deg,#202729,#171d1f)}.topbar,.sidebar{background:#14191b}.bench-banner{background:#203238;color:#edf3f4}.bench-banner a{color:#b0cbd2}.pred-card,.viz-grid article,.audit-main{background:#151c1e}.game-row:hover,.game-row.active{background:#233035}input,select,textarea{accent-color:var(--accent);color-scheme:dark}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#141c1e;color:var(--text);border-color:#435054}dialog{background:#1b2224;color:var(--text);border:1px solid #435054}dialog::backdrop{background:rgba(5,10,6,.76)}:focus-visible{outline:2px solid #b0cbd2;outline-offset:3px}.ui-button.primary{background:#9bbec7;border-color:#9bbec7;color:#0e1b1f}.ui-button:hover:not(:disabled){border-color:#9bbec7}.workspace-table thead{background:#202a2d}.workspace-table tr:hover{background:rgba(100,170,110,.06)}.badge{border-color:#42565c}.badge.amber{color:#e6b578;border-color:#6e5431}.notice{background:#1b272b;border-color:#3f5259}.fine-print,.muted{color:var(--muted)}
/* Mobile: keep horizontal overflow inside data tables, never the page. */
html{overflow-x:clip}body{min-width:0}.shell,.workspace-main,.owner-content,[data-screen],.panel,.workspace-grid>*{min-width:0}img,svg,canvas{max-width:100%}input,select,textarea{max-width:100%}.table-scroll,.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-scroll table,.table-wrap table{min-width:620px}dialog{max-height:90dvh;overflow-y:auto}button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(167,231,123,.16)}button:disabled{cursor:default}.ui-button,.owner-nav-button{min-height:44px}.owner-filters{row-gap:10px}.section-heading{gap:16px}.field{min-width:0}pre{overflow:auto;max-width:100%}
@media(max-width:900px){.layout,.workspace-grid,.owner-overview-grid,.owner-grid{grid-template-columns:minmax(0,1fr)}.hero{flex-wrap:wrap}.viz-grid{grid-template-columns:minmax(0,1fr)}.section-heading{flex-wrap:wrap}.filters{flex-wrap:wrap}.analytics-filters label{flex:1 1 150px}.fo-team-strip,.ti-dna{max-width:100%}.workspace-table th,.workspace-table td{padding:12px}}
@media(max-width:600px){body{font-size:14px}.topbar{padding:12px 16px;height:auto;min-height:64px;gap:10px}.brand small,.design-tag{display:none}.top-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.shell{padding:20px 14px 40px}.hero{gap:14px}.hero h1{font-size:30px}.hero-copy{font-size:14px}.sidebar{padding:8px 12px}.sidebar nav{gap:6px}.sidebar a{min-height:44px;padding:11px}.panel.pad,.pad{padding:18px}.panel-head{padding:15px;flex-wrap:wrap;gap:12px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:last-child{grid-column:1/-1}.kpi strong{font-size:21px;overflow-wrap:anywhere}.matchup{padding:16px}.matchup-top{gap:10px}.club{min-width:0;flex:1}.club .abbr{font-size:27px}.prediction-grid{gap:9px}.pred-card{padding:12px}.pred-card strong{font-size:23px}.game-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:8px;padding:14px 12px}.game-meta{min-width:58px}.team b{font-size:15px}.filters{width:100%;gap:10px}.filters label{flex:1 1 130px}.filters select{min-width:0;width:100%}.account-form,.owner-form{grid-template-columns:minmax(0,1fr)}.account-form input,.field input,.field select,.field textarea{font-size:16px;min-height:44px}.owner-form button,.account-form button{width:100%}.owner-actions button{min-height:44px}.admin-tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}.admin-tabs button{white-space:nowrap;min-height:44px;flex-shrink:0}.owner-rail{padding:8px;gap:5px}.owner-nav-button{padding:10px}.owner-topbar h2{font-size:24px}.owner-filters>a,.owner-filters>button{flex:1 1 150px;min-height:44px}.owner-toggle{gap:12px}.owner-toggle input{min-width:42px}.bench-banner{position:static;padding:12px 14px}.bench-banner span{min-width:0;font-size:12px;flex-basis:100%}.bench-banner a{white-space:normal}.model-note,.viz-label{flex-wrap:wrap;gap:8px}dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);margin:auto;padding:18px}.dialog-heading{gap:12px;align-items:flex-start}.dialog-heading h2{font-size:22px;margin:0}#rolePreviewBar{flex-wrap:wrap;padding:12px}#rolePreviewExit{width:100%}.ti-dialog-grid,.ti-metric-grid,.pi-panels,.pi-card-grid{grid-template-columns:minmax(0,1fr)}.ti-card,.pi-card{min-width:0}.ti-dialog-top{flex-wrap:wrap}.team-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#releaseBadge{max-width:100%}.ui-button:focus-visible{outline-offset:2px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

#rolePreviewBar{z-index:200}body.role-preview-active .bench-banner{top:68px}@media(max-width:600px){body.role-preview-active .bench-banner{top:auto}}

@media(max-width:600px){#playerLab .team-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-pills button,.ti-roster-filters button{min-height:44px}.pi-dashboard{grid-template-columns:1fr}#ownerSummary{grid-template-columns:repeat(2,minmax(0,1fr))}#ownerSummary>div{padding:14px}#ownerSummary strong{font-size:23px}}
