/* Shared reading and control scale. Existing page palettes and display faces stay intact. */
:root{--type-label:13px;--type-body:16px;--type-small:14px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--control-height:44px;--experience-focus:#17644e}
.experience-page{font-size:var(--type-body);line-height:1.65}
.experience-dark{--experience-focus:#e8c97a;--ash-dim:#a0aabc;--gray-dim:#a0aabc;--blueprint:#7fa6dc;--stamp:#e28d85}
.experience-page:not(.experience-dark){--muted:#535b54;--moss:#315f48}
.experience-page :is(.label,.k,.eyebrow,.se,.day,.track-tag,.cohort-status,.bar-label,.progress-chip,.debrief-meta,.tag,.fn-label,.lab,.stage-tag,.crumb,.pill,.fine,.back,.wk-no,.n),.experience-page :is(label,th){font-size:var(--type-label);line-height:1.5;letter-spacing:.06em}
.experience-page :is(.summary-card .k,.command-card .k,.evidence-ledger-head .k,.command-head .k,.progress-record-head .k,.metric .label,.assign-form label,.roster th,.boundary-item b,.example b,.access-photo::after){font-size:var(--type-label);line-height:1.5}
.experience-page :is(.evidence-card span,.next-move-item span,.evidence-item span,.cohort-metric span,.module-note,.field-note,.privacy-note,.progress-state .t,.launch-step small,.launch-progress,.status-box,.redirect-note,.voice-timer){font-size:var(--type-small);line-height:1.6}
.experience-page :is(button,.module-link,.button,.retry-btn,.nav-actions a,.foot-nav a,.module-gate-card a){min-height:var(--control-height);font-size:var(--type-small);line-height:1.4;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px}
.experience-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:var(--type-body);line-height:1.5;min-height:var(--control-height)}
.experience-page :is(input[type=checkbox],input[type=radio]){width:22px;height:22px;flex-shrink:0}
.experience-page .check-row{min-height:var(--control-height);align-items:center;gap:12px}
.experience-page :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--experience-focus);outline-offset:4px}
.experience-page :is(section,form,[id]){scroll-margin-top:100px}
.experience-page details{margin-block:var(--space-2);border:1px solid var(--line,#abb3a8);border-radius:6px;padding:var(--space-2)}
.experience-page summary{min-height:var(--control-height);padding:10px 2px;font-size:var(--type-body);font-weight:700;cursor:pointer;line-height:1.5}
.experience-page summary::marker{color:var(--gold,#a73519)}
.experience-page .primary-next{border:1px solid var(--gold,#a73519);border-left-width:4px;border-radius:6px;padding:var(--space-3);margin-block:var(--space-3);background:var(--ink-2,#fffdf7)}
.experience-page .primary-next h3{font:600 clamp(23px,3vw,30px)/1.25 var(--display,Georgia,serif);margin:0 0 var(--space-2)}
.experience-page .primary-next p{margin:0 0 var(--space-2)}
.experience-page .primary-next .field-note{margin:var(--space-2) 0 0;color:var(--ash,#535b54)}
.experience-page .week-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.experience-page .progress-disclosure>.panel{margin-block:var(--space-2)}
.experience-page .progress-state-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.experience-page :is(.command-grid,.rhythm-grid,.evidence-grid){grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.experience-page :is(.command-card,.progress-state,.rhythm-step,.evidence-card){min-height:initial;padding:var(--space-2)}
.experience-page .evidence-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-block:var(--space-3)}
.experience-page .evidence-lane{border:1px solid var(--line);border-top:4px solid var(--moss,#4f846a);padding:var(--space-2)}
.experience-page .evidence-lane h4{font-size:18px;margin:0 0 8px}
.experience-page .evidence-lane p{margin:8px 0;color:var(--muted,#535b54);font-size:var(--type-small)}
.experience-page .evidence-lane.application{border-top-color:#a73519}.experience-page .evidence-lane.coaching{border-top-color:#315d75}.experience-page .evidence-lane.observation{border-top-color:#767064}
.experience-page .metric .note{font-size:var(--type-small)}
.experience-page .roster{min-width:640px}.experience-page .roster-wrap{overscroll-behavior-x:contain}
.experience-page .roster-wrap:focus-visible{outline:3px solid var(--experience-focus);outline-offset:4px}
.experience-page :is(.bulk-actions,.nav-actions,.member-actions){flex-wrap:wrap}
.experience-page :is(button,.module-link){max-width:100%;white-space:normal;overflow-wrap:anywhere}
.experience-page .optional-panel:has(>.hidden){display:none}
@media(max-width:980px){.experience-page .hero-card{display:none}.experience-page .side{padding-block:8px}.experience-page .side details{margin-block:0}.experience-page .side summary{padding-block:10px}}
@media(max-width:620px){.experience-page .primary-next{padding:var(--space-2)}.experience-page .primary-next .module-link{display:flex;width:100%;text-align:center;white-space:normal}.experience-page .evidence-lanes{grid-template-columns:1fr}.experience-page :is(.command-head,.progress-record-head){display:block}.experience-page .progress-ring{text-align:left;margin-top:16px}.experience-page .userbar{flex-wrap:wrap}.experience-page .cohort-head{grid-template-columns:1fr}.experience-page .cohort-main{padding:16px}.experience-page .next-move-grid{grid-template-columns:1fr}.experience-page .progress-disclosure{padding:12px}}
@media(prefers-reduced-motion:reduce){.experience-page *{scroll-behavior:auto!important;transition:none!important}}

.experience-page .week-review-link{display:block;min-height:44px;padding:12px 0;color:var(--gold);font-size:14px;text-decoration:underline}

/* Staff tables retain their columns in a named keyboard-scrollable region. */
.experience-page .audit-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.experience-page .audit-table-scroll:focus-visible{outline:3px solid var(--experience-focus);outline-offset:3px}
.crm-page .audit-table-scroll table{min-width:600px}
.crm-page .bar{flex-wrap:wrap}.crm-page .bar>*{max-width:100%;min-width:0!important}
.crm-page .tab{min-width:0}.crm-page dialog{max-width:calc(100vw - 32px)}
@media(max-width:620px){.crm-page main{padding-inline:12px}.crm-page section.tab{padding:16px}.crm-page header{padding:16px}.crm-page nav{padding-inline:12px}}
