/* ANATOMIX workspace: readable work areas and explicit session ownership.
   Theme colors are supplied by dark.css; view structure lives here. */
:root{--rail-width:100px;--workspace-gap:24px}
body{font-size:14px;line-height:1.45}
.rail{width:var(--rail-width);padding:24px 8px 18px}
.rail-word{font-size:28px;margin-bottom:35px}
.rail-links{width:100%;gap:8px}
.rail button{width:84px;min-height:76px;font-size:12px;line-height:1.35;padding:12px 6px;gap:8px}
.rail button span{max-width:72px}
.rail button svg{width:21px;height:21px}
.rail .bottom{font-size:11px}
.topbar,.layout,.sessionstrip{margin-left:var(--rail-width)}
.topbar{height:72px;padding:0 26px}
.topbar .team b{font-size:13px}.topbar .team p{font-size:12px}.topbar .date,.demo-indicator{font-size:12px}
.layout{grid-template-columns:minmax(0,1fr) 280px;min-height:calc(100vh - 72px)}
main{padding:24px 26px 40px}
.pagehead{min-height:44px;margin-bottom:18px;gap:18px}
.pagehead h1{font-size:29px}.pagehead p{font-size:13px;line-height:1.5}
.pagehead button{font-size:13px;white-space:nowrap}
button,input,select{font-size:14px}button.small{font-size:13px}
.team-pulse{min-height:48px;margin-bottom:20px}
.pulse-label{font-size:12px;margin-right:20px}
.team-pulse button{padding:7px 20px;min-height:46px}
.team-pulse button b{font-size:22px}.team-pulse button span{font-size:13px}.team-pulse button i{font-size:12px}
.panel,.athlete-summary,.analysis-module{border-radius:12px}
.panel{padding:22px}
.sectionhead{margin-bottom:18px}.sectionhead h2{font-size:17px}.sectionhead p{font-size:13px;line-height:1.5}
.textbutton{font-size:13px}
.athlete-summary{padding:22px;margin-bottom:22px}
.athletehead{margin-bottom:17px}.athletehead h2{font-size:27px}.athletehead p{font-size:13px}.athlete-context,.status-text{font-size:12px}
.athleteid{width:48px;height:48px;font-size:15px}
.summary-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center}
.score{gap:13px;padding:6px 0}.score svg{width:76px;height:76px}
.score h3{font-size:14px}.score h3 span{font-size:11px}.score strong{font-size:13px}.score p{font-size:12px;line-height:1.5}
.coach-finding{padding-left:22px}.finding-title{font-size:14px;line-height:1.5}.coach-finding p{font-size:13px;line-height:1.6}
.footertext{font-size:12px;line-height:1.6}
/* A readable roster is optional at tablet widths rather than competing with evidence. */
.roster{max-height:calc(100vh - 72px);padding:24px 16px 18px}
.roster h2{font-size:16px}.roster-meta,.rostercolumns,.roster>p{font-size:12px}
.roster input,.roster select{font-size:12px;min-height:44px}
.filters button{font-size:12px;min-height:44px}
.rosterrow{min-height:76px;padding:13px 9px}.rosterrow .name{font-size:13px}.rosterrow .sub{font-size:12px}
.roster .mini{width:33px;height:33px}.rostercolumns{margin-top:17px}
.rosteropen{font-size:12px;min-height:44px;padding:9px 12px}.rosteropen svg{width:17px;height:17px}
/* Shared temporal evidence retains matched visualization and metric stages. */
.analysis-module-header{padding:18px 22px}.analysis-module-header h2{font-size:20px}.analysis-module-header p{font-size:13px}
.analysis-window{font-size:13px}.analysis-pane-header h3{font-size:16px}
.analysis-pane{padding:0 22px 16px}.analysis-pane-header{height:68px}
.force-plot-meta,.force-plot-meta .legend,.chart-footer{font-size:12px}
.force text{font-size:12px}.metrics small{font-size:12px}.metrics strong{font-size:24px}.metrics em{font-size:12px}
.load-summary p{font-size:11px}.analysis-module-footer>span{font-size:12px}.analysis-module-footer .textbutton{font-size:13px}
.window-picker button{font-size:12px;min-height:44px;min-width:44px}
.analysis-module-footer{padding:7px 22px;gap:16px;flex-wrap:wrap}
.session-context h2{font-size:19px}.context-kicker,.session-context p{font-size:13px}
.participant{font-size:13px}.segment span{font-size:14px}.segment small,.segment-caption{font-size:12px}
.segment em{font-size:11px}.linked-plan summary{font-size:13px}.linked-plan summary span,.linked-plan p{font-size:12px}
.sessionmeta{font-size:13px}.sessioncard h2{font-size:20px}.sessioncard .eyebrow{font-size:12px}
.notice,.notice p{font-size:13px;line-height:1.6}
/* Dialogs prioritize the reviewed table and participant decisions. */
dialog{width:min(940px,94vw)}
.modalhead{padding:20px 24px}.modalhead h2{font-size:21px}.modalbody{padding:24px;font-size:14px}.modalfoot{padding:18px 24px}
.modalbody label{font-size:13px}.modalbody input,.modalbody select{font-size:14px;min-height:44px}
.modalbody .notice{font-size:13px}.formgrid{gap:18px;margin-bottom:22px}
.checkrow{font-size:14px;min-height:50px}.checkrow .tiny{font-size:12px}
.source-context b{font-size:14px}.source-context p,.import-steps span{font-size:12px}
.table-heading h3{font-size:15px}.table-heading h3 span{font-size:12px}
.plan-table{font-size:13px}.plan-table th{font-size:12px;padding:12px 10px}.plan-table td{font-size:13px;padding:14px 10px}
.plan-table td b{font-size:14px}.plan-table td small,.row-review{font-size:12px}
.plan-table td:first-child{font-size:12px}.table-hint{font-size:12px}
.row-editor{padding:20px}.row-editor h3{font-size:15px}.row-editor label,.editor-kicker{font-size:12px}.row-editor input{font-size:14px}
.row-editor .small{font-size:12px}.review-warning b{font-size:14px}.review-warning p,.review-warning button{font-size:12px}
.ambiguity-note p,.ambiguity-note .checkrow,.assignment-details p,.assignment-details summary span:last-child{font-size:13px}
.assignment-details summary{font-size:14px}.plan-date label,.plan-date p{font-size:13px}
@media(max-width:1280px){
 .layout{grid-template-columns:minmax(0,1fr)}
 .roster{display:none}
 .roster.open{display:flex;position:fixed;top:0;right:0;bottom:0;width:330px;max-height:100vh;z-index:20;box-shadow:-20px 0 80px #0007}
 .rosterclose,.rosteropen{display:inline-flex}
 .rosterclose{width:44px;min-height:44px;padding:8px}
 .topbar .date{display:none}
 main{padding:24px}
}
@media(max-width:900px){
 .summary-grid{grid-template-columns:1fr;gap:18px}
 .coach-finding{border-left:0;border-top:1px solid #35454E;padding:14px 0 0}
 .scores{gap:24px}.score svg{width:76px;height:76px}
 .topbar .team{display:none}
}
@media(max-width:760px){
 :root{--rail-width:80px;--workspace-gap:16px}
 .rail{padding:20px 6px 15px}.rail button{width:68px;min-height:74px;font-size:11px;padding:11px 4px}.rail button span{max-width:62px}.rail .bottom{font-size:10px}.rail-word{font-size:26px;margin-bottom:28px}
 .topbar{height:64px;padding:0 16px}.wordmark{font-size:16px}.demo-indicator{display:none}
 main{padding:20px 16px 32px}.pagehead{flex-wrap:wrap;align-items:center;gap:14px}.pagehead h1{font-size:26px}.pagehead button{font-size:12px;padding:10px 12px}
 .team-pulse{justify-content:flex-start;gap:10px;flex-wrap:wrap}.team-pulse button{padding:6px 9px}.team-pulse button span{font-size:12px}.team-pulse button b{font-size:21px}
 .panel,.athlete-summary{padding:18px}.athletehead h2{font-size:24px}.athletehead p{font-size:12px}.athlete-context{font-size:11px}.status-text{font-size:12px}
 .score h3{font-size:14px}.score strong{font-size:13px}.score p{font-size:12px}.score svg{width:72px;height:72px}.coach-finding p{font-size:13px}
 .analysis-module-header{padding:18px}.analysis-module-header p{font-size:12px}.analysis-pane{padding:0 18px 16px}.analysis-pane-header h3{font-size:16px}
 .analysis-controls{gap:10px}.analysis-module-footer{padding:8px 18px}.analysis-module-footer>span{font-size:11px}.metrics strong{font-size:23px}.metrics small{font-size:12px}
 .modalhead,.modalbody,.modalfoot{padding:18px}.modalhead h2{font-size:20px}.modalfoot{flex-wrap:wrap}.modalfoot button{font-size:13px}
 .plan-table th,.plan-table td{padding:11px 7px}.plan-table td b{font-size:13px}.plan-table td{font-size:12px}.plan-table th{font-size:11px}.plan-table td small{font-size:11px}
 .row-editor{padding:16px}
}
@media(max-width:480px){
 .topbar .row{gap:8px}.rosteropen{padding:8px 10px}.rosteropen span{display:none}
 .team-pulse{gap:2px}.team-pulse button{padding:6px 5px;gap:5px}.team-pulse button span{font-size:11px}.team-pulse button b{font-size:20px}
 .athletehead .row{gap:9px}.athletehead h2{font-size:22px}.athletehead p{font-size:12px}.athlete-context{font-size:10px}.athleteid{width:40px;height:40px;font-size:13px}
 .scores{grid-template-columns:1fr;gap:12px}.score{gap:15px}.score svg{width:72px;height:72px}
 .analysis-pane{padding:0 14px 15px}.analysis-module-header{padding:16px}.analysis-module-header h2{font-size:19px}.analysis-window{font-size:12px}
 .metrics strong{font-size:21px}.metrics small{font-size:11px}.metrics em{font-size:11px}.chart-footer #inspection{font-size:11px}
}
/* Session space is the action surface; the player report below is persistent context. */
.session-space{min-height:184px;margin-bottom:24px;padding:22px}
.session-space>.row{gap:18px;align-items:flex-start}.session-space .eyebrow{font-size:11px;letter-spacing:1.1px}
.session-space h2{font-size:19px;margin-top:5px}.session-space>.row>.muted{font-size:13px;padding-top:6px;white-space:nowrap}
.session-space-empty{display:flex;align-items:center;gap:16px;min-height:84px;padding-top:14px}
.session-space-empty p{font-size:14px;color:#B1C1C9;max-width:520px}
.session-empty-icon{width:46px;height:46px;border-radius:10px;border:1px solid #3B515A;background:#1B2C33;display:grid;place-items:center;flex:none;color:#9FBBB8}
.session-empty-icon svg{width:23px;height:23px}
.prepared-list{margin-top:18px;border-top:1px solid #35454E}
.prepared-session{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 0;border-bottom:1px solid #304049}
.prepared-session:last-child{border-bottom:0;padding-bottom:0}.prepared-session>div{min-width:0}
.prepared-session h3{font-size:16px;line-height:1.45}.prepared-session .row{gap:10px}
.prepared-session p{font-size:13px;line-height:1.6;color:#AFC1CB;margin-top:6px}
.prepared-session>button{flex:none;font-size:13px;min-width:154px;min-height:46px}
.prepared-session .badge{font-size:12px;padding:3px 8px}
.no-active{padding:40px 30px}.no-active h2{font-size:22px}.no-active p{font-size:14px;color:#AFC1CB;margin:12px 0 22px;max-width:550px}
.active-session-picker{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 22px}
.active-session-picker button{padding:13px 17px;min-height:72px;min-width:210px;justify-content:flex-start;text-align:left;gap:12px;background:#15242C;border-color:#3A505B}
.active-session-picker button.selected{background:#213D36;border-color:#78AA91;box-shadow:inset 0 -2px #78AA91}
.active-session-picker b{display:block;font-size:14px;font-weight:600}.active-session-picker small{display:block;font-size:12px;color:#ABC3BB;margin-top:5px}
.live-dot{width:8px;height:8px;background:#80C7A2;border-radius:50%;flex:none}.live-dot.paused{background:#D9BA86}
/* Larger trend, with the timeframe controls sharing a row only while they fit. */
.performance-panel{margin-bottom:24px;padding:22px 22px 14px}
.performance-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.performance-header h2{font-size:19px}.performance-header p{font-size:13px;color:#A9BBC5;margin-top:6px}
.period-picker{display:flex;flex-wrap:wrap;gap:3px;padding:3px;background:#0F1B22;border:1px solid #3B4E58;border-radius:7px}
.period-picker button{min-height:40px;padding:8px 11px;border:1px solid transparent;background:transparent;border-radius:4px;font-size:12px;color:#AEBDC6}
.period-picker button:hover{background:#243942;color:#E6F0F4}.period-picker button.active{background:#28423F;border-color:#49695D;color:#C3EADD}
.performance-chart{display:block;width:100%;height:235px;overflow:visible}
.performance-chart text{font:12px 'DM Sans',Arial,sans-serif;fill:#B0C2CD}
.trend-empty{min-height:220px;display:grid;place-items:center;color:#A9BDC9;font-size:14px;text-align:center;padding:24px}
/* One consolidated daily report. Both panes contain daily interpretation, not live controls. */
.daily-movement{margin-bottom:24px;border:1px solid #35454E;border-radius:12px;background:#162229;overflow:hidden}
.daily-report-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:#19272F;border-bottom:1px solid #35454E}
.daily-report-header h2{font-size:20px}.daily-report-header p{font-size:13px;color:#A9BDC8;margin-top:6px}.daily-report-header .textbutton{white-space:nowrap;flex:none}
.daily-report-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.daily-report-grid>.panel{border:0;border-radius:0;box-shadow:none;margin:0;padding:22px}
.daily-report-grid>.panel+.panel{border-left:1px solid #35454E}
.daily-report-grid .sectionhead{margin-bottom:20px}.daily-report-grid .sectionhead h3{font-size:17px}.daily-report-grid .sectionhead p{font-size:13px;margin-top:6px}
.daily-load{display:flex;flex-direction:column;min-width:0}
.daily-load-values{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:9px}
.daily-load-values>div:last-child{text-align:right}
.daily-load-values span{font-size:14px;font-weight:550}
.daily-load-values strong{display:block;font-size:45px;letter-spacing:-1.8px;font-weight:550;line-height:1.2;margin-top:8px}
.daily-load-values small{font-size:22px;letter-spacing:-.4px;color:#A2B9C5;margin-left:4px;font-weight:450}
.daily-load-bar{display:flex;gap:4px;width:100%;height:12px;margin:17px 0 15px;overflow:hidden;border-radius:4px;background:#2A3C46}
.daily-load-bar span:first-child{background:var(--cyan)}.daily-load-bar span:last-child{background:var(--coral)}
.load-reference{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;color:#A8BCC7}
.load-reference b{font-size:13px;font-weight:500;color:#C6D6DE;white-space:nowrap}
.daily-reading{font-size:14px;line-height:1.7;color:#BACDD7;margin:22px 0}
.daily-kpis{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #35454E;border-bottom:1px solid #35454E;padding:18px 0;margin:0 0 22px;gap:16px}
.daily-kpis span{display:block;font-size:12px;color:#A8BDC9}.daily-kpis b{display:block;font-size:22px;font-weight:550;margin-top:8px;white-space:nowrap}
.daily-kpis small{font-size:12px;color:#A8BDC9;font-weight:450}
.cop-explainer{display:flex;align-items:flex-start;gap:12px;padding:18px;background:#1A2933;border:1px solid #394B59;border-radius:8px;margin-top:auto}
.cop-key{height:3px;width:24px;background:#F29BD9;flex:none;margin-top:9px;border-radius:2px}
.cop-explainer h3{font-size:14px;font-weight:550}.cop-explainer p{font-size:13px;line-height:1.65;color:#AFC2CF;margin-top:7px}
.daily-source{font-size:12px;line-height:1.6;color:#9EB5C3;margin-top:17px}
.daily-pressure .axp-expanded{display:grid;grid-template-columns:minmax(170px,1.08fr) minmax(180px,.92fr);gap:0 16px}
.daily-pressure .axp-unit-controls{grid-column:1/-1}
.daily-pressure .axp-visual-stage{min-width:0;grid-column:1;grid-row:2}
.daily-pressure .axp-metrics-stage{display:none}
.daily-pressure .axp-expanded .axp-insoles{height:230px;max-width:290px;width:100%;margin:10px auto 12px}
.daily-pressure .axp-foot-label{font-size:15px}.daily-pressure .axp-foot-value{font-size:17px}.daily-pressure .axp-foot-value tspan{font-size:15px}
.daily-pressure .axp-map-meta{font-size:12px;line-height:18px;flex-wrap:wrap;gap:4px 10px;min-height:40px;align-items:flex-start}
.daily-pressure .axp-scale{font-size:12px;line-height:16px;margin-bottom:0}
.daily-pressure .axp-table{grid-column:2;grid-row:2;align-self:center;margin-top:0;font-size:13px;border-top:0;min-width:0}
.daily-pressure .axp-table-row{grid-template-columns:minmax(0,1fr) 55px 55px;gap:7px;padding:14px 0;font-size:13px;align-items:center}
.daily-pressure .axp-table-row small{font-size:11px}.daily-pressure .axp-table-head{font-size:12px;line-height:1.5;padding-top:0}
.daily-pressure .axp-table-row.is-selected{background:transparent;color:inherit}
.daily-pressure .axp-table-head>span:nth-child(2){color:var(--cyan)}.daily-pressure .axp-table-head>span:nth-child(3){color:var(--coral)}
.daily-pressure .axp-method,.daily-pressure .axp-note{grid-column:1/-1}
.daily-pressure .axp-method{margin-top:18px;font-size:12px;background:#121F28;border-color:#3A4E5B;color:#AFC5D3}
.daily-pressure .axp-method summary{color:#BDCFD9;min-height:24px;line-height:1.6}
.daily-pressure .axp-method p{font-size:12px;color:#AFC5D3;line-height:1.65}
.daily-pressure .axp-note{font-size:12px;line-height:1.6;margin-top:14px}
.daily-empty p{font-size:14px;color:#ADC1CC;margin-top:10px}
.force-unit-spacer{height:56px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0 0;color:#B1C5CF;font-size:13px}
.force-unit-spacer span:last-child{color:#A3BAC7;font-size:12px}
/* Session builder: scope, reviewed events, then explicit player overrides. */
.session-builder{font-size:14px}
.builder-steps{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid #3A505E;padding:0 0 18px;margin-bottom:22px;font-size:12px;color:#A7C0D0}
.builder-steps b{font-weight:550;color:#BDE4D1}
.session-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.session-mode-picker button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:8px;min-height:96px;padding:18px 20px;background:#14232D;border:1px solid #405B6A;border-radius:8px}
.session-mode-picker button strong{font-size:16px;font-weight:550}.session-mode-picker button span{font-size:13px;line-height:1.5;color:#AAC1D0}
.session-mode-picker button.selected{background:#203D33;border-color:#78A48A;box-shadow:inset 3px 0 #88BE9A}
.session-mode-picker button.selected strong{color:#D9EDE0}.session-mode-picker button.selected span{color:#B4CFBE}
.builder-plan{padding:20px;border:1px solid #405865;border-radius:8px;background:#12232D;margin-bottom:22px}
.builder-plan h3,.builder-players h3{font-size:16px}.builder-plan p,.builder-players p{font-size:13px;line-height:1.6;color:#A9C0D0;margin-top:6px}
.builder-plan>.row{gap:18px}.builder-plan>.row>div{flex:1;min-width:200px}.builder-plan>.row>button{font-size:13px;white-space:nowrap}
.plan-placeholder{padding:24px;border:1px dashed #486574;border-radius:6px;margin-top:20px;text-align:center;color:#A4BDCE;font-size:13px;background:#10212B}
.builder-plan-preview{overflow:auto;scrollbar-color:#536D7C #12232D;margin-top:18px}
.event-table{width:100%;min-width:570px;table-layout:fixed;border-collapse:collapse;text-align:left;font-size:13px}
.event-table th,.event-table td{padding:13px 9px;border-bottom:1px solid #354F5F;vertical-align:top;line-height:1.5;overflow-wrap:anywhere}
.event-table thead th{font-weight:450;font-size:12px;color:#AAC6D6;border-bottom-color:#557382}
.event-table tbody th{font-weight:500;color:#D8E9F1}
.event-table tbody th span{display:inline-block;color:#8FADBF;font-size:11px;min-width:22px;margin-right:2px}
.event-table td{color:#BBD3E1}.event-table th:first-child{width:31%}.event-table th:nth-child(2){width:9%}.event-table th:nth-child(3){width:20%}.event-table th:nth-child(4){width:14%}.event-table th:nth-child(5){width:26%}
.builder-players{margin:24px 0}.builder-players h3 span{font-size:12px;color:#A6C0D1;font-weight:450;margin-left:7px}
#builderSearch{width:100%;margin:17px 0 12px}
.builder-player-list{border:1px solid #3D5767;border-radius:7px;max-height:365px;overflow:auto;background:#12232D}
.builder-player-row{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);align-items:center;gap:20px;padding:13px 15px;border-bottom:1px solid #334D5D;min-height:76px}
.builder-player-row:last-child{border-bottom:0}.builder-player-row>label{display:flex;align-items:center;gap:12px;margin:0;color:#D0E3ED;cursor:pointer}
.builder-player-row>label input{display:block;flex:none;min-height:18px;width:18px;height:18px;margin:0}
.builder-player-row b{font-size:14px;font-weight:500;display:block}.builder-player-row small{font-size:12px;display:block;color:#9FBCCD;margin-top:5px}
.player-plan{display:flex;align-items:center;gap:8px;min-width:0}.player-plan select{flex:1;min-width:0;font-size:12px}.player-plan button{flex:none;min-height:44px;font-size:12px;padding:8px 10px}
.builder-help{font-size:13px;color:#ADC6D6;margin-top:20px;line-height:1.65}
.session-builder .notice details{margin-top:10px}.session-builder .notice summary{cursor:pointer;min-height:34px;display:flex;align-items:center;color:#C8DFE9;font-size:13px}
.session-builder .notice details p{font-size:13px;line-height:1.7}
#builderImport{margin-top:20px}.existing-plans{margin-top:26px}.existing-plans h3{font-size:16px;margin-bottom:13px}
.existing-plans>button{display:flex;justify-content:space-between;text-align:left;width:100%;min-height:76px;padding:16px;margin:9px 0;border-color:#405D6D;background:#172E3B}
.existing-plans b{display:block;font-size:14px;font-weight:500}.existing-plans small{display:block;font-size:12px;color:#AAC5D6;margin-top:6px}.existing-plans svg{flex:none}
@media(max-width:1000px){
 .daily-report-grid{grid-template-columns:1fr}
 .daily-report-grid>.panel+.panel{border-left:0;border-top:1px solid #35454E}
 .daily-load-values{max-width:560px}.daily-load-bar,.load-reference{max-width:560px}
 .daily-reading{max-width:650px}.daily-pressure .axp-expanded{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}
 .daily-pressure .axp-table-row{grid-template-columns:minmax(0,1fr) 80px 80px;font-size:14px;padding:17px 0}.daily-pressure .axp-table-row small{font-size:12px}
 .daily-pressure .axp-expanded .axp-insoles{height:250px}
}
@media(max-width:760px){
 .session-space{min-height:180px;padding:18px}.session-space h2{font-size:18px}.session-space>.row>.muted{font-size:12px;white-space:normal;text-align:right}
 .prepared-session{gap:15px;flex-wrap:wrap}.prepared-session>button{margin-left:auto;min-width:150px}.prepared-session h3{font-size:16px}
 .performance-panel{padding:18px 16px 12px}.performance-header{gap:15px}.performance-header h2{font-size:18px}.performance-header p{font-size:12px}
 .period-picker{width:100%;justify-content:space-between}.period-picker button{flex:1;padding:8px 7px;font-size:12px;white-space:nowrap}
 .performance-chart{height:220px}.performance-chart text{font-size:14px}
 .daily-report-header{padding:18px;flex-wrap:wrap;gap:10px}.daily-report-header h2{font-size:19px}.daily-report-header p{font-size:12px}.daily-report-header .textbutton{min-height:36px}
 .daily-report-grid>.panel{padding:18px}.daily-report-grid .sectionhead h3{font-size:16px}
 .daily-pressure .axp-expanded{gap:0 18px}.daily-pressure .axp-table-row{grid-template-columns:minmax(0,1fr) 62px 62px;font-size:13px;padding:15px 0}
 .daily-pressure .axp-expanded .axp-insoles{height:230px}
 .session-mode-picker{gap:10px}.session-mode-picker button{padding:16px;min-height:106px}.session-mode-picker button strong{font-size:15px}.session-mode-picker button span{font-size:12px}
 .builder-steps{gap:9px 14px;font-size:11px}.builder-plan{padding:16px}.builder-plan>.row>button{width:100%}
 .builder-player-row{grid-template-columns:1fr;gap:12px;padding:15px}.player-plan{padding-left:30px}.player-plan select{font-size:12px}
 .builder-players>.row{gap:12px}.builder-players>.row>button{font-size:12px}
}
@media(max-width:600px){
 .daily-pressure .axp-expanded{display:block}.daily-pressure .axp-expanded .axp-insoles{height:250px;max-width:310px}
 .daily-pressure .axp-table{margin-top:22px}.daily-pressure .axp-table-row{grid-template-columns:minmax(0,1fr) 74px 74px;font-size:14px;padding:14px 2px}
 .daily-pressure .axp-map-meta{min-height:18px}.daily-pressure .axp-method{margin-top:20px}
 .daily-load-values strong{font-size:42px}.daily-kpis b{font-size:21px}
 .session-mode-picker{grid-template-columns:1fr}.session-mode-picker button{min-height:86px;gap:7px}
 .builder-plan{padding:14px}.player-plan{padding-left:0}.player-plan button{padding:8px;font-size:11px}
 .active-session-picker button{width:100%;min-width:0}
 .load-reference{flex-wrap:wrap;gap:5px}.cop-explainer{padding:15px}
}
@media(max-width:480px){
 .session-space-empty{align-items:flex-start;gap:12px}.session-empty-icon{width:40px;height:40px}.session-space-empty p{font-size:13px}
 .session-space>.row>.muted{font-size:11px}.session-space .eyebrow{font-size:10px}
 .period-picker{gap:2px;padding:2px}.period-picker button{font-size:11px;padding:8px 4px}
 .performance-chart{height:200px}.performance-chart text{font-size:17px}
 .daily-load-values strong{font-size:38px}.daily-load-values small{font-size:19px}.daily-kpis{gap:10px}.daily-kpis b{font-size:19px}
 .daily-pressure .axp-table-row{grid-template-columns:minmax(0,1fr) 60px 60px;gap:7px;font-size:13px}
}
/* New pressure controls use the dark interaction vocabulary. Actual toolbar budget:
   44px target + 6px inset + 2px border + 12px spacing = 64px. */
.axp-unit-controls{background:#101D24;border-color:#3D525D}
.axp .axp-unit-controls button{color:#B3C8D3;font-size:12px;min-height:44px}
.axp .axp-unit-controls button:hover{background:#253D46;color:#E8F3F7}
.axp .axp-unit-controls button.is-selected{background:#28423F;border-color:#507363;color:#C2EADD;box-shadow:none}
.axp .axp-unit-controls button:focus-visible{outline-color:#8BDAC6}
.axp-cop-legend{color:#BECADA;font-size:12px}.axp-no-contact{color:#ACC2D0;font-size:12px}
.axp-method{background:#121F28;border-color:#3A4E5B;color:#AFC5D3;font-size:12px}
.axp-method summary{color:#BDCFD9;min-height:26px}.axp-method p{color:#AFC5D3}
.axp-method summary:focus-visible{outline-color:#8BDAC6}
.force-unit-spacer{height:64px}
/* Phone plots scroll independently so labels retain their proportions. */
.session-space{min-height:210px}
.performance-plot{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#536D7C #162229}
@media(max-width:600px){
 .performance-plot .performance-chart{min-width:620px;height:220px}
 .performance-plot .performance-chart text{font-size:14px}
}

/* Event labels and recording controls remain readable in every state. */
.segment>span{color:#E7EEF0}.segment em{color:#B6C9D1}.segment small{color:#B0C4CD}
.strip-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.sessionstrip{font-size:13px;gap:14px}.sessionstrip strong,.sessionstrip #timer{font-size:14px}.sessionstrip button{font-size:13px;min-height:44px}
.compact-strip{justify-content:space-between}.compact-strip>span{color:#BED3C9}.compact-strip>button{margin-left:auto}
.compact-athlete{padding:16px 22px}.compact-athlete .athletehead{margin-bottom:0}
.cop-key{background:#F4A9FF}
@media(max-width:760px){.sessionstrip{flex-wrap:wrap;gap:9px;padding:12px 16px}.strip-actions{margin-left:0}.compact-strip>span{width:100%}.compact-athlete{padding:16px}}

.interval-insight{font-size:12px;line-height:1.6}.performance-chart text{font-size:14px}

/* Shared card elevation and confirmation colors. */
:root{
 --bg:#060B0F;
 --panel:#18272F;
 --card-edge:#3B4E59;
 --card-shadow:0 0 0 1px #98B8CA0A,0 0 18px #0005,0 8px 24px #0006;
 --confirm-ink:#BAFBD0;
 --confirm-edge:#41B975;
 --confirm-surface:#123B26;
}
html,body{background:var(--bg)}
.rail{background:#080F14}.topbar{background:#0E1920}
:is(.panel,.athlete-summary,.analysis-module,.session-context,.sample-card,.planbanner,.importrow,.daily-movement){background:var(--panel)}
:is(.panel,.athlete-summary,.analysis-module,.session-context,.sample-card,.planbanner,.importrow,.daily-movement,.builder-plan,.row-editor,.empty-plan,.session-mode-picker>button,.active-session-picker>button,.existing-plans>button,.samplebtn){border-color:var(--card-edge);box-shadow:var(--card-shadow)}
.session-mode-picker button.selected{box-shadow:var(--card-shadow),inset 3px 0 #88BE9A}
.active-session-picker button.selected{box-shadow:var(--card-shadow),inset 0 -2px #78AA91}
/* A report's divided panes share its outer elevation. */
.daily-report-grid>.panel{box-shadow:none}
.badge.good{color:var(--confirm-ink);background:var(--confirm-surface);border-color:var(--confirm-edge)}
.saved-plan{border-left-color:var(--confirm-edge)}
#toast{color:#D6FFE3;background:#10361F;border-color:var(--confirm-edge);box-shadow:var(--card-shadow);font-size:14px;font-weight:550}
#toast::before{content:'✓';color:#86EFAC;font-size:17px;font-weight:700;margin-right:10px}
#toast[data-tone=info]{color:#E1EEF4;background:#172C37;border-color:#6B94AA}
#toast[data-tone=info]::before{content:'i';color:#B8DCEC}
#toast[data-tone=warning]{color:#FFE4B8;background:#3B2D16;border-color:#D5A759}
#toast[data-tone=warning]::before{content:'!';color:#F6CD88}
.panel.saved-plan{border-left-color:var(--confirm-edge)}
