/* Shared UI contract. Load after feature styles; do not style editors as ordinary fields. */
.push-settings [hidden]{display:none!important}
.push-settings .account-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:16px 0}

textarea[data-movement-input]{overflow-y:hidden;max-height:none;resize:none}
/* iPhone focus zoom: keep editable form text readable without disabling pinch zoom. */
@media(max-width:700px){
 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),textarea,select{
  font-size:var(--mobile-input-font-size,16px)!important;
 }
}
.member-context-button{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:var(--control-height);padding:0;border:0;background:transparent;text-align:left}
.member-context-button .community-box-photo{width:28px;height:28px;flex:0 0 28px}
.member-context-button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-box-switcher{min-width:0;width:100%}
body[data-workspace="member"] #main .member-box-switcher .account-section-head{margin:0 0 12px}
#main .community-box-shortcuts .member-box-switcher .account-section-head h2{margin:0}
.member-box-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;max-width:100%;padding:2px}
.member-box-rail::-webkit-scrollbar{display:none}
.member-box-option{display:flex;align-items:center;gap:12px;flex:0 0 88%;min-width:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);padding:16px;text-align:left}
.member-box-option[aria-pressed="true"]{border-color:var(--box-ink,var(--ink));background:var(--color-surface-soft,var(--bg))}
.member-box-rail:has(>.member-box-option:only-child)>.member-box-option{flex-basis:100%}
.member-box-option>span:nth-child(2){flex:1;min-width:0}
.member-box-option strong{display:block;overflow-wrap:anywhere;font-size:15px}
.member-box-option small{display:block;color:var(--muted);margin-top:4px}
.member-box-picker-list{display:grid;gap:12px}
.member-box-picker-list .member-box-option{width:100%;flex:none}
.member-box-picker-list .community-box-photo{flex:0 0 44px;width:44px;height:44px}
.member-box-picker-list .member-box-option[aria-pressed="true"]{background:var(--box-soft,var(--color-surface-soft));color:var(--box-deep,var(--ink))}
.member-box-selected-check{flex:none;width:24px;height:24px;color:var(--box-ink,var(--ink))}
.member-previous-boxes{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.member-previous-boxes>summary{cursor:pointer;font-weight:700}
.member-previous-boxes>p{margin:12px 0;line-height:1.6}
.member-previous-box{padding:16px;border:1px solid var(--line);border-radius:var(--radius-card)}
.member-previous-box>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}
.member-previous-box strong{min-width:0;overflow-wrap:anywhere}
.member-previous-box .account-actions{margin-top:12px;gap:16px;flex-wrap:wrap}
.community-visit-date{display:block;color:var(--muted);font-size:12px;line-height:1.4}
#main .community-box-profile-list--own:has(.member-box-switcher){display:block;overflow:visible;max-width:100%}
@media(max-width:700px){.top-context:has(.member-context-button){flex:1;min-width:0}.member-context-button{max-width:100%}.member-context-button strong{font-size:14px}}
:root{--ui-scroll-thumb:#aeb8b2;--ui-focus:#236f80;--ui-control-size:44px}
html{scrollbar-width:thin;scrollbar-color:var(--ui-scroll-thumb) transparent;scroll-padding-top:88px}
:where(#main,#modal,.sidebar,.notification-popover,.workspace-note) *{scrollbar-width:thin;scrollbar-color:var(--ui-scroll-thumb) transparent}
::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--ui-scroll-thumb);border-radius:12px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}
/* Keep intentionally swipable rails free of a visible scroll bar. */
:is(.tabs,.post-categories,.community-section-tabs,.wod-workspace-tabs,.operation-counts,.tools-tabs){scrollbar-width:none}
:is(.tabs,.post-categories,.community-section-tabs,.wod-workspace-tabs,.operation-counts,.tools-tabs)::-webkit-scrollbar{display:none}
:is(#main,#modal) .btn{min-height:var(--ui-control-size);border-radius:var(--radius-control);font-size:13px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;white-space:normal;max-width:100%;box-sizing:border-box}
:is(#main,#modal) .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
:is(#main,#modal) :is(.account-field,.field){min-width:0}
:is(#main,#modal) :is(.account-field,.field) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]),select,textarea),#main .account-search input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-control);font-size:14px;line-height:1.5;color:var(--ink);background:var(--paper)}
:is(#main,#modal) :is(.account-field,.field) textarea{min-height:96px;resize:vertical}
:is(#main,#modal) :is(.account-field,.field) select{padding-right:30px;text-overflow:ellipsis}
:is(#main,#modal) :is(.account-field,.field) input[type=file]{white-space:normal;overflow:hidden}
:is(#main,#modal) :is(.account-field,.field) input[type=file]::file-selector-button{border:0;border-radius:7px;background:var(--color-surface-soft);padding:6px 9px;margin-right:8px;font:inherit;color:var(--ink)}
:is(#main,#modal) :is(.account-field,.field) :is(input,select,textarea):disabled{opacity:.65;cursor:not-allowed;background:var(--color-canvas)}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
:is(#main,#modal) :is(.account-field,.field) :is(input,select,textarea):focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
:is(#main,#modal) .form-error:not(:empty){padding:10px 12px;border-radius:10px;background:#fff1ef;color:#99392f;font-size:13px;line-height:1.6;margin:12px 0}
:is(#main,#modal) :is(.form-actions,.modal-actions,.point-row-actions,.member-row-actions,.account-profile-actions,.operation-detail-actions){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#main .account-section-head{gap:12px;flex-wrap:wrap}#main .account-section-head>div{min-width:0}
#main :is(.page-head,.account-section-head) :is(h1,h2,p){overflow-wrap:anywhere}
#main :is(.member-my-return,.points-return){min-height:40px;display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:4px 0;font-size:13px;text-decoration:none;color:var(--muted)}
#modal .modal-head .icon-btn{width:44px;height:44px;flex:0 0 44px}
@media(max-width:700px){
 :is(#main,#modal) :is(.account-field,.field) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea),#main .account-search input{font-size:16px}
 :is(#main,#modal) :is(.btn,.icon-btn){min-height:44px}.icon-btn{min-width:44px}
 #main :is(.point-row-actions,.member-row-actions){gap:8px}
 #main :is(.form-grid,.signup-pair)>*{min-width:0}
 #main .page-head{gap:12px;margin-bottom:20px}#main .page-head h1{font-size:24px;line-height:1.35}
 #main .page-head p{font-size:12px;line-height:1.65}
 #modal .modal-content{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){:where(.btn,.icon-btn,.chip){transition:none}}

/* Mobile settings keep the form in view rather than stacking nine destinations. */
@media(max-width:700px){#main .box-settings-navigation{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;max-width:100%;padding:8px;border-radius:14px;scrollbar-width:none;scroll-padding-inline:8px}#main .box-settings-navigation::-webkit-scrollbar{display:none}#main .box-settings-nav-group,#main .box-settings-tabs{display:contents}#main .box-settings-nav-group>span{display:none}#main .box-settings-tabs a{flex:0 0 auto;min-height:44px;padding:10px 12px;white-space:nowrap;border-radius:10px}#main .box-settings-workspace{gap:16px}}

:is(#main,#modal) .account-field{margin-block:16px;font-size:13px;line-height:1.5;gap:7px}
:is(#main,#modal) :is(.form-grid,.signup-pair)>.account-field{margin-block:0}
:is(#main,#modal) .form-grid{gap:16px 12px;margin-block:16px}

/* Box history album: compact thumbnails, one full image at a time. */
.history-album{margin-top:24px}.history-album .account-section-head{gap:12px;flex-wrap:wrap}.history-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.history-photo-grid>div{min-width:0}.history-photo-grid button[data-history-photo]{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:12px;overflow:hidden}.history-photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.history-photo-grid .text-link{min-height:44px}.history-photo-view>img{display:block;max-width:100%;width:auto;max-height:65dvh;object-fit:contain;margin:0 auto}.history-photo-view{touch-action:pan-y}.history-photo-view .account-actions{justify-content:space-between;align-items:center;margin-top:16px}.history-album-cover{width:100%;height:130px;object-fit:cover;border-radius:12px;margin:8px 0}.wod-history-grid[data-wod-layout="list"] .history-album-cover{width:80px;height:60px}.history-album [data-photo-progress]{overflow-wrap:anywhere}
.history-photo-grid>p{grid-column:1/-1;margin:8px 0;}

/* The WOD column sets the desktop row height; records scroll within that row. */
@media(min-width:1051px){
 .wod-history-detail-layout,.training-workspace .wod-history-detail-layout{align-items:stretch}
 .wod-history-detail-layout>.wod-history-record-panel{contain:size;min-height:0;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-y:contain}
}
@media(max-width:1050px){
 .wod-history-record-panel{max-height:75dvh;overflow-y:auto;scrollbar-gutter:stable}
}

/* History filters use the saved class prescription, including the base RX. */
.wod-history-record-panel{display:flex;flex-direction:column}
.wod-history-record-panel [data-history-record-pane]:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0}
.wod-history-record-panel #wod-history-record-results{display:flex;flex-direction:column;flex:1}
.wod-history-record-panel .wod-history-records.is-empty{display:flex;flex:1;align-items:center;justify-content:center;min-height:200px}
.wod-history-records.is-empty .account-empty{text-align:center;padding:24px 16px;margin:0;width:100%}
.wod-history-record-panel .wod-history-record-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.wod-history-record-panel .wod-history-record-filters label{min-width:0}
.wod-history-record-panel .wod-history-record-filters label:last-child{grid-column:1/-1}

/* Local workout photo composer: preview stays readable beside compact controls. */
.workout-share{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.workout-share-preview{min-width:0;text-align:center}
.workout-share canvas{display:block;width:auto;max-width:100%;height:auto;max-height:65dvh;margin:0 auto;border-radius:16px}
.workout-share-controls{min-width:0;display:flex;flex-direction:column;gap:12px}
.workout-share-controls .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.workout-share-options{border:0;padding:0;margin:0;display:grid;gap:8px}
.workout-share-options legend{margin-bottom:8px;font-weight:600}
.workout-share-options label{display:flex;align-items:center;gap:8px;min-height:32px}
.workout-share-options input{width:18px;height:18px}
#modal:has(.workout-share){width:min(920px,calc(100vw - 32px))}
.record-history-row>div:first-child{flex:1;min-width:0}
@media(max-width:700px){.workout-share{grid-template-columns:minmax(0,1fr);gap:16px}.workout-share canvas{max-height:45dvh}.record-history-row{flex-wrap:wrap}.record-history-row>div:first-child{flex-basis:100%}#modal:has(.workout-share){width:100%}}

.workout-share canvas{touch-action:none;cursor:grab}.workout-share canvas:active{cursor:grabbing}.workout-share-preview input[type="range"]{width:100%;height:32px;padding:0}.share-crop-details{text-align:left;margin:8px 0}.workout-share-preview .account-field{text-align:left;margin-top:12px}

/* Hidden pagination must override shared button display. */
.record-more[hidden]{display:none!important}
.member-coach-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px;padding:2px 6px;border-radius:6px;background:var(--accent-soft,#edf3ee);color:var(--ink,#243c30);font-size:10px;font-weight:700;line-height:1.4;white-space:nowrap}

/* Keep the next record action clear; advanced metadata stays available. */
.guided-record-form .record-secondary-fields{border:1px solid var(--line,#dfe5df);border-radius:12px;padding:0 12px;margin:8px 0 16px}
.guided-record-form .record-secondary-fields>summary{padding:12px 0;cursor:pointer;font-size:13px;color:var(--muted,#647168)}
.guided-record-form .record-secondary-fields[open]>summary{margin-bottom:8px}
.guided-record-form .record-form-recommendation{margin:8px 0 16px}
.history-bulk-tools{border:1px solid var(--line,#dfe5df);border-radius:12px;padding:12px;margin:12px 0 20px;background:#f4f6f3}
.history-bulk-tools>summary{cursor:pointer;font-weight:600;min-height:32px}
.history-bulk-tools [data-quick-selection-count]{float:right;font-size:12px;color:#607066}
.history-bulk-tools .history-quick-bulk{margin-top:12px;border:0;padding:0}
.history-quick-savebar{border-top:1px solid var(--line,#dfe5df);padding-top:16px;margin-top:20px}

.wod-photo-import [hidden],[data-personal-workout][hidden]{display:none!important}
[data-personal-workout]{margin:16px 0;padding:16px;border:1px solid var(--line,#dfe5df);border-radius:12px}
[data-personal-workout] textarea{min-height:150px}
.record-item-note pre{white-space:pre-wrap;overflow-wrap:anywhere}

.record-history-actions{display:flex;gap:8px;flex-wrap:wrap}
.record-workout-summary{padding-bottom:12px;border-bottom:1px solid var(--line,#dfe5df)}
.record-workout-section{margin:20px 0}.record-workout-section h4{margin:0 0 8px}
.record-workout-section pre,.record-workout-scale pre{font:inherit;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.record-workout-scale{margin:12px 0;padding:12px 16px;background:var(--surface-soft,#f3f5f1);border-radius:12px}
.record-workout-scale summary{cursor:pointer;font-weight:600}

/* 히스토리는 운동 기록 제목 옆 보조 이동으로 배치한다. */
.record-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.record-history-heading h2{margin:0;}
.record-history-shortcut{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;white-space:nowrap;text-decoration:none;}
.record-history-shortcut svg{width:17px;height:17px;flex:none;}
.record-history-box-picker{position:relative;margin-left:auto;}
.record-history-box-picker summary{list-style:none;cursor:pointer;}
.record-history-box-picker summary::-webkit-details-marker{display:none;}
.record-history-box-options{position:absolute;right:0;top:100%;z-index:5;min-width:200px;max-width:280px;padding:8px;background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;box-shadow:0 8px 24px #00000012;}
.record-history-box-options a{display:flex;align-items:center;min-height:44px;padding:8px;}


/* 기록 작성 중 당시 수업을 같은 화면에서 참고 */
.record-class-preview{border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--surface,#fff);margin:8px 0 16px;}
.record-class-preview>summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600;list-style:none;}
.record-class-preview>summary::-webkit-details-marker{display:none;}
.record-class-preview>summary .tiny{margin-left:auto;font-weight:400;}
.record-class-preview>summary:after{content:'⌄';}
.record-class-preview[open]>summary:after{content:'⌃';}
.record-class-preview-body{padding:0 12px 12px;}
.record-class-preview-body pre{white-space:pre-wrap;overflow-wrap:anywhere;}

/* 기록 관리 메뉴는 버튼 수와 무관하게 각 기록의 오른쪽 위에 고정한다. */
.record-history-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;column-gap:8px;row-gap:12px;}
.record-history-row>div:first-child{grid-column:1;grid-row:1;}
.record-history-row>.record-item-actions{grid-column:2;grid-row:1;justify-self:end;}
.record-history-row>.record-item-actions>summary{width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;}
.record-history-row>.record-history-actions{grid-column:1/-1;grid-row:2;display:flex;gap:8px;flex-wrap:wrap;}
.record-history-row>.record-item-actions>.account-actions{top:44px;}
@media(max-width:700px){.record-history-actions>.btn{flex:1 1 0;min-width:0;padding-inline:6px;font-size:12px;text-align:center;justify-content:center;}}

/* 애글릿 운영 전용 화면 */
.platform-body{display:block;background:var(--bg,#f7f8f4);}
.platform-header,.platform-top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.platform-header{max-width:1080px;margin:auto;padding:20px 24px;}
#platform-main{max-width:1080px;margin:auto;padding:24px;}
.platform-login{max-width:460px;margin:48px auto;}
.platform-tabs{display:flex;gap:8px;overflow-x:auto;margin:24px 0;}
.platform-list{display:grid;gap:12px;margin-top:16px;}
.platform-row{width:100%;display:flex;align-items:center;gap:16px;text-align:left;color:inherit;font:inherit;cursor:pointer;}
.platform-row>span:first-child{flex:1;min-width:0;}.platform-row small{display:block;overflow-wrap:anywhere;margin-top:6px;color:var(--muted);}
.platform-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;}.platform-facts dd{margin:6px 0;overflow-wrap:anywhere;}.platform-facts dt{color:var(--muted);font-size:13px;}
.platform-pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;}.platform-detail form{margin-top:24px;}.platform-detail details{margin-top:16px;}
@media(max-width:700px){#platform-main{padding:16px;}.platform-header{padding:16px;}.platform-login{margin:16px auto;}.platform-facts{grid-template-columns:1fr;}.platform-row{gap:8px;}.platform-tabs>.btn{white-space:nowrap;flex-shrink:0;}}

.platform-news-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}

/* Platform workspace: shared control tokens, compact operational overview. */
.platform-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0;}
.platform-metric{text-align:left;color:inherit;font:inherit;cursor:pointer;display:grid;gap:12px;min-width:0;}
.platform-metric>span:first-child{display:flex;align-items:center;gap:8px;}.platform-metric>strong{font-size:32px;line-height:1.2;}.platform-metric strong small{font-size:14px;font-weight:400;color:var(--muted);}
.platform-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#E45454;flex:none;}
.platform-work-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start;gap:20px;}.platform-work-grid>*,.platform-task-copy{min-width:0;}
.platform-task-filters{margin:16px 0;scrollbar-width:none;}.platform-task-filters::-webkit-scrollbar{display:none;}.platform-task-filters>.btn{white-space:nowrap;flex-shrink:0;}
.platform-task-list{max-height:480px;overflow:auto;}.platform-task{display:flex;width:100%;align-items:center;gap:12px;padding:16px 0;border:0;border-bottom:1px solid var(--line,#e6e8e2);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;}.platform-task:last-child{border-bottom:0;}.platform-task:hover{background:var(--bg,#f7f8f4);}.platform-task-copy{flex:1;}.platform-task-copy strong,.platform-task-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.platform-task-copy small{color:var(--muted);margin-top:4px;}.platform-task time{font-size:12px;color:var(--muted);white-space:nowrap;}.platform-task>.pill{flex:none;}
.platform-activity>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#e6e8e2);font-size:13px;}.platform-activity time{color:var(--muted);white-space:nowrap;}.platform-box-row{display:flex;justify-content:space-between;gap:20px;}.platform-box-row h3{margin:0;}.platform-box-row p{margin:8px 0;}.platform-box-counts{display:grid;align-content:start;gap:8px;flex-shrink:0;}
@media(max-width:900px){.platform-work-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.platform-metric{padding:16px;}.platform-metric>strong{font-size:28px;}.platform-task{flex-wrap:wrap;gap:8px;}.platform-task-copy{flex-basis:60%;}.platform-task time{margin-left:auto;}.platform-box-row{flex-direction:column;gap:8px;}.platform-box-counts{grid-template-columns:1fr 1fr;}.platform-box-counts>small{grid-column:1/-1;}}
.platform-tabs{scrollbar-width:none;}.platform-tabs::-webkit-scrollbar{display:none;}
.platform-body .account-section-head>.btn{flex-shrink:0;white-space:nowrap;}
.platform-metrics{grid-template-columns:repeat(5,minmax(0,1fr));}
.platform-box-identity{display:flex;gap:16px;min-width:0;align-items:flex-start;}.platform-box-identity>div{min-width:0;overflow-wrap:anywhere;}.platform-box-avatar{width:64px;height:64px;object-fit:cover;object-position:center;border-radius:16px;flex:none;}.platform-box-placeholder{display:grid;place-items:center;background:#eef0e8;color:#7b8272;font-size:28px;}
.platform-news-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;}.platform-news-preview{min-width:0;position:sticky;top:20px;}.platform-news-preview .platform-tabs{margin:12px 0;}.platform-preview-card{border:1px solid var(--line,#e6e8e2);border-radius:20px;overflow:hidden;background:white;}.platform-preview-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}.platform-preview-card.is-detail>img{aspect-ratio:auto;max-height:480px;object-fit:contain;}.platform-preview-card>div{padding:20px;}.platform-preview-card small{color:var(--muted);}.platform-preview-card h3{margin:8px 0;overflow-wrap:anywhere;}.platform-preview-card p{white-space:pre-wrap;overflow-wrap:anywhere;}.platform-preview-empty{aspect-ratio:16/10;display:grid;place-items:center;background:#d6f247;font-weight:800;}.community-story-photo{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:16px auto;}
@media(max-width:900px){.platform-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.platform-news-editor{grid-template-columns:1fr;}.platform-news-preview{position:static;}.platform-box-avatar{width:56px;height:56px;}}
.news-post{background:#fff;color:#222;border-radius:20px;overflow:hidden;border:1px solid var(--line,#e5e7e1);min-width:0;width:100%;text-align:left;}
.news-post-media{position:relative;background:#f1f2ee;}.news-post-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;}.news-post-track::-webkit-scrollbar{display:none;}.news-post-slide{flex:0 0 100%;min-width:0;aspect-ratio:1/1;scroll-snap-align:start;scroll-snap-stop:always;}.news-post-slide img{width:100%;height:100%;display:block;}.news-post-count{position:absolute;right:12px;top:12px;background:#222b;color:#fff;padding:4px 10px;border-radius:16px;font-size:12px;pointer-events:none;}.news-post-empty{aspect-ratio:1/1;display:grid;place-items:center;background:#d6f247;font-weight:800;}.news-post-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;}.news-post-dots{display:flex;justify-content:center;flex-wrap:wrap;}.news-post-dots button{width:24px;min-height:44px;background:none;border:0;padding:0;cursor:pointer;}.news-post-dots button:after{content:'';display:block;width:6px;height:6px;margin:auto;border-radius:50%;background:#c5c8bf;}.news-post-dots button[aria-current=true]:after{background:#26372c;}.news-post-copy{padding:16px 20px;}.news-post-copy h3{margin:8px 0!important;overflow-wrap:anywhere;}.news-post-copy p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;}.news-post-copy small,.news-post-copy time{font-size:12px;color:#778070;}.news-photo-list{display:grid;gap:12px;margin:16px 0;}.news-photo-item{display:flex;gap:12px;padding:12px;border:1px solid var(--line,#e5e7e1);border-radius:16px;}.news-photo-item>img{width:64px;height:64px;object-fit:contain;background:#f1f2ee;border-radius:8px;flex:none;}.news-photo-item>div{flex:1;min-width:0;}.news-photo-item .account-actions{margin:8px 0;flex-wrap:wrap;}.news-photo-item .account-field{margin:8px 0 0;}.platform-news-preview .news-post{max-width:420px;margin:auto;}.community-news-card:has(.news-post){padding:0;}.community-news-card .news-post{border:0;}.community-news-card .news-post-track{pointer-events:none;}.community-news-card .news-post-slide{aspect-ratio:1/1;}.overlay-body .news-post{max-width:480px;margin:auto;}
@media(prefers-reduced-motion:reduce){.news-post-track{scroll-behavior:auto;}}

/* Compact navigation rails and unbroken action labels (2026-10-11). */
:is(#main,#modal) .btn{white-space:nowrap;flex-shrink:0}
:is(#main,#modal) :is(.account-actions,.form-actions,.modal-actions){flex-wrap:wrap;min-width:0}
#main :is(.box-settings-workspace,.box-settings-content,.training-workspace){min-width:0;max-width:100%}
:is(.box-settings-navigation,.community-section-tabs,.wod-workspace-tabs,.record-page-tabs,.member-management-tabs,.purchase-category-tabs,.operator-tool-tabs,.tools-tabs,.operation-counts,.dashboard-box-tabs,.history-closeout-tabs,.box-preview-tabs,.post-categories){min-width:0;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:none}
:is(.box-settings-navigation,.community-section-tabs,.wod-workspace-tabs,.record-page-tabs,.member-management-tabs,.purchase-category-tabs,.operator-tool-tabs,.tools-tabs,.operation-counts,.dashboard-box-tabs,.history-closeout-tabs,.box-preview-tabs,.post-categories)::-webkit-scrollbar{display:none}
.is-menu-dragging,.is-menu-dragging *{cursor:grabbing!important;user-select:none!important}
@media(max-width:700px){
 #main :is(.community-section-tabs,.wod-workspace-tabs,.record-page-tabs,.member-management-tabs,.purchase-category-tabs,.operator-tool-tabs,.tools-tabs,.operation-counts,.dashboard-box-tabs,.history-closeout-tabs,.box-preview-tabs,.post-categories){display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-padding-inline:8px}
 #main :is(.community-section-tabs,.wod-workspace-tabs,.record-page-tabs,.member-management-tabs,.purchase-category-tabs,.operator-tool-tabs,.tools-tabs,.operation-counts,.dashboard-box-tabs,.history-closeout-tabs,.box-preview-tabs,.post-categories)>:is(a,button){flex:0 0 auto;white-space:nowrap}
 #main .box-settings-navigation{width:100%;box-sizing:border-box;overscroll-behavior-x:contain}
 #main .training-workspace .account-section-head .account-actions>.btn{flex:1 0 auto;white-space:nowrap}
 :is(#main,#modal) :is(.account-actions,.form-actions,.modal-actions)>.btn{flex-basis:auto;white-space:nowrap}
}

/* Three fixed tool choices share the available rail width equally. */
#main .operator-tool-tabs{gap:12px}
#main .operator-tool-tabs>button{flex:1 0 0;min-width:max-content;white-space:nowrap}

/* Daily handoff: one compact date row, quiet pending count, no page-footer spacing. */
.handoff-heading{display:flex;align-items:center;gap:8px;min-width:0}
.handoff-count{font-size:12px;color:var(--muted);white-space:nowrap}
.handoff-panel .handoff-row footer{padding:0;border:0;letter-spacing:normal;text-transform:none}
@media(max-width:700px){
 #main .handoff-panel{padding:16px}
 #main .handoff-panel .dashboard-section-head{gap:12px;margin-bottom:12px}
 #main .handoff-panel .dashboard-section-head h2{font-size:16px}
 #main .handoff-date{gap:8px;padding-bottom:12px}
 #main .handoff-date input{flex:1;width:0;max-width:none;min-height:var(--ui-control-size);padding:10px 12px;border-radius:var(--radius-control);font-size:16px;background:var(--paper);color:var(--ink)}
 #main .handoff-date input::-webkit-calendar-picker-indicator{width:18px;height:18px;padding:3px;cursor:pointer;background:center/18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23637169' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18'/%3E%3C/svg%3E")}
 #main .handoff-date>.text-link{flex:none;min-height:var(--ui-control-size);padding:0 12px;white-space:nowrap}
 #main .handoff-row{padding:12px 0}
 #main .handoff-row-head{gap:8px;flex-wrap:wrap}
 #main .handoff-row-head strong{min-width:100px}
 #main .handoff-row-head>.text-link{flex:none;white-space:nowrap}
 #main .handoff-row footer{gap:8px;flex-wrap:wrap;margin-top:8px}
 #main .handoff-row footer small{min-width:120px;line-height:1.5}
 #main .handoff-done{min-height:var(--ui-control-size);border-radius:var(--radius-control)}
 #main .handoff-panel .dashboard-zero{padding:24px 8px;font-size:12px;line-height:1.7;text-align:center}
}
@media(max-width:700px){
 #modal [data-handoff-form] .signup-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #modal [data-handoff-form] .signup-pair>.account-field{margin:0;min-width:0}
 #modal [data-handoff-form] .account-actions>.btn[type=submit]{flex:1}
 #modal [data-handoff-form] input[type=date]::-webkit-calendar-picker-indicator{width:18px;height:18px;padding:3px;background:center/18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23637169' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18'/%3E%3C/svg%3E")}
}
/* Fixed three-way record navigation keeps equal touch targets. */
#main .record-page-tabs>button{flex:1 0 0;min-width:max-content;white-space:nowrap}
@media(max-width:700px){
 #main .member-home-wod-actions{flex-wrap:wrap}
 #main .member-home-wod-actions>.btn{flex:1 0 auto;width:auto}
 #main .booking-wod-heading{flex-wrap:wrap}
 #main .booking-wod-heading>div{min-width:0;flex:1 1 160px}
}

/* Time results: fixed separator, numeric keyboard for each part. */
#modal .record-time-input{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;max-width:240px}
#modal .record-time-input[hidden]{display:none}
#modal .record-time-input input{min-width:0;width:100%;text-align:center}
#modal .record-time-input b{font-weight:600}

/* Drop-in booking: balanced time grid instead of a left-packed rail. */
.dropin-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.dropin-times .dropin-time{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;gap:4px;padding:12px 8px}
.dropin-time small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400}
.dropin-price{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.dropin-demo-confirm{display:flex;align-items:flex-start;gap:8px;margin:12px 0;font-size:13px}
.dropin-demo-confirm[hidden]{display:none}
.dropin-demo-confirm input{flex:none;width:auto}
@media(max-width:420px){.dropin-times{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared amenity options: native checkboxes, text choices, no empty public section. */
.box-amenity-field{border:0;padding:0;margin:0;min-width:0}
.box-amenity-field legend{font-weight:700;font-size:14px;padding:0}
.box-amenity-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}
.box-amenity-picker .box-amenity-option{display:flex;flex-direction:row;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);margin:0;min-width:0;cursor:pointer;font-weight:500}
.box-amenity-option input[type=checkbox]{position:static;width:14px;height:14px;min-height:0;margin:0;accent-color:var(--ink);flex:none}
.box-amenity-option:has(input:checked){background:var(--color-surface-soft);border-color:var(--ink);font-weight:700}
.box-amenity-option span{white-space:nowrap}
.box-amenity-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-4);padding:0;margin:var(--space-4) 0 0;list-style:none}
.box-amenity-list li{font-size:13px;overflow-wrap:anywhere;min-width:0;line-height:1.5}
@media(max-width:700px){.box-amenity-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Compact text choices and editable extra facility tags. */
.box-amenity-picker{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.box-amenity-picker .box-amenity-option{flex:0 1 auto;padding:var(--space-2) var(--space-3)}
.box-amenity-extras{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}
.box-amenity-add{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2)}
.box-amenity-add input{flex:1;min-width:0}
.box-amenity-add button{flex:none}
.box-amenity-tags,.box-amenity-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:var(--space-3) 0 0}
.box-amenity-tags:empty{display:none}
.box-amenity-tags li,.box-amenity-list li{display:flex;align-items:center;min-width:0;max-width:100%;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-soft);border-radius:var(--radius-control);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.box-amenity-tags li{padding:0 0 0 var(--space-3)}
.box-amenity-tags li>span{min-width:0;overflow-wrap:anywhere}
.box-amenity-tags [data-amenity-remove]{flex:none;border:0;background:transparent;padding:0;min-width:var(--touch-target);min-height:var(--touch-target)}
.box-amenity-section h2{margin-bottom:0}

/* Form geometry: grid items must not stretch controls to match autocomplete/help rows.
   Keep multiline editors, file/color/range controls and custom tools independent. */
:is(#main,#modal) :is(.account-field,.field){align-content:start}
:is(#main,#modal) :is(.form-grid,.signup-pair,.program-slot-fields,.session-options){align-items:start}
:is(#main,#modal) :is(.form-grid,.signup-pair,.program-slot-fields,.session-options)>*{min-width:0;max-width:100%}
:is(#main,#modal) :is(.form-grid,.program-slot-fields)>.movement-field{min-width:0;margin:0}
:is(#main,#modal) :is(.form-grid,.program-slot-fields)>.movement-field>.account-field{margin-block:0}
:is(#main,#modal) .program-slot-fields>.account-field{margin-block:0}
:is(#main,#modal) .program-slot-fields{gap:16px 12px;margin-block:16px}
:is(#main,#modal) :is(.account-field,.field) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not([type=hidden]),select){height:var(--ui-control-size);min-height:var(--ui-control-size);padding-block:8px;align-self:start}
/* WebKit's native time/date controls otherwise retain an intrinsic content width. */
:is(#main,#modal) :is(.account-field,.field) :is(input[type=time],input[type=date],input[type=datetime-local],input[type=month]){appearance:none;-webkit-appearance:none;display:block;min-inline-size:0;inline-size:100%;max-inline-size:100%}
:is(#main,#modal) :is(.account-field,.field) input::-webkit-date-and-time-value{min-width:0;text-align:left}
:is(#main,#modal) :is(.account-field,.field) input::-webkit-datetime-edit{min-width:0;padding:0}
/* Box color presets: shared controls, compact swatches and wrapping actions. */
.box-color-library{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#e5e7eb)}
.box-color-library h4{margin:0 0 12px}
.box-color-presets{display:grid;gap:8px;margin-bottom:16px}
.box-color-preset{display:flex;gap:8px;min-width:0}
.box-color-preset>.btn:first-child{flex:1;min-width:0;justify-content:flex-start}
.box-color-preset>.btn:first-child>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}
.box-color-preset small{margin-left:auto;color:var(--muted,#64748b);flex-shrink:0}
.box-color-swatches{display:inline-flex;gap:4px;flex-shrink:0}
.box-color-swatches i{width:20px;height:20px;border-radius:50%;border:1px solid #0002}
.box-color-save-row{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.box-color-save-row input{flex:1 1 160px;min-width:0}
.box-color-save-row .btn{flex:0 0 auto}

/* Password visibility preserves the native input and password-manager attributes. */
.auth-password-control{position:relative;display:block;min-width:0}
.auth-password-control input{width:100%;padding-right:72px!important}
.auth-password-toggle{position:absolute;right:4px;top:0;bottom:0;min-width:60px;border:0;background:transparent;color:var(--muted,#64748b);font:inherit;font-size:13px;cursor:pointer;border-radius:var(--ui-control-radius,12px)}

.member-dropin-guide{display:grid;gap:12px;margin-top:8px}
.member-dropin-guide>div{display:flex;justify-content:space-between;gap:16px}
.member-dropin-guide small{line-height:1.5;color:var(--muted,#64748b)}
.member-dropin-guide .btn{justify-self:start}

/* Keep daily inbox work separate from occasional reply/price configuration. */
.visitor-workspace-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.visitor-workspace-head>div{display:flex;align-items:center;gap:12px;min-width:0}
.visitor-workspace-head h2{margin:0}
.visitor-settings-view{display:grid;gap:16px}
.visitor-settings-view[hidden],[data-visitor-inbox-view][hidden]{display:none!important}
.visitor-settings-view>.visitor-reply-settings{margin:0}
.visitor-settings-view .box-settings-form{border:0;box-shadow:none;padding:16px 0 0;margin:0}
.visitor-settings-view>.tiny{margin:0}

/* Settings hierarchy: four groups, only the current group's local navigation. */
#main .box-settings-navigation.settings-organized{display:grid;gap:8px;padding:0;background:none;border:0;border-radius:0;overflow:visible;margin-bottom:20px}
.box-settings-categories,.box-settings-subnav{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px}
.box-settings-categories::-webkit-scrollbar,.box-settings-subnav::-webkit-scrollbar{display:none}
.box-settings-categories>.btn,.box-settings-subnav>.btn{flex:0 0 auto;white-space:nowrap}
.box-settings-subnav{gap:8px}
.box-settings-subnav>.btn{background:var(--paper);border-color:var(--line);color:var(--muted)}
.box-settings-subnav>.btn.is-current{background:var(--color-surface-soft);border-color:var(--line);color:var(--ink);font-weight:800;box-shadow:none}
.box-settings-content .box-settings-intro{margin-bottom:16px;padding-bottom:12px}
.box-settings-content .box-settings-intro .eyebrow{display:none}
.box-settings-content .box-settings-intro h2{margin:0 0 8px;font-size:18px}
.settings-section-label{margin:0 0 12px}
.settings-fold{border-top:1px solid var(--line);margin:0!important;padding:0!important}
.settings-fold>summary{padding:16px 0;cursor:pointer;font-size:14px;font-weight:700}
.settings-fold-body{padding:0 0 16px;min-width:0}
.settings-fold-body>.account-field{margin-bottom:16px}
.box-profile-editor .box-settings-fields>.account-field{grid-column:auto}
@media(max-width:700px){.box-profile-editor .box-settings-fields>.account-field{grid-column:1/-1}}

/* Content first: concise page headings, small operational summaries. */
#main>.page-head{margin-bottom:20px;gap:16px}
#main .page-head .eyebrow{display:none}
#main .page-head h1{margin-top:0;margin-bottom:8px}
#main .page-head p{margin:0;line-height:1.5}
.locker-metrics{gap:12px;margin:16px 0}
.locker-metrics>.panel{min-height:0;padding:16px;gap:8px}
.locker-metrics strong{font-size:28px}
.operation-history>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;min-height:var(--control-height)}
.operation-history>summary small{font-weight:400;color:var(--muted)}
.operation-history[open]>summary{margin-bottom:16px}
.purchase-demo-notice{padding:12px 16px;margin:12px 0 16px}
.purchase-demo-notice p{margin:4px 0 0;line-height:1.5}
.operation-pending-dot.is-new-request{animation:none!important}

/* Member screens: action/status first, optional guidance and history on demand. */
#main .page-head p:empty{display:none}
.member-inline-help{margin:8px 0 12px;color:var(--muted);font-size:12px}
.member-inline-help>summary{cursor:pointer;padding:8px 0;min-height:var(--control-height);display:flex;align-items:center}
.member-inline-help>summary::after{content:'⌄';margin-left:8px}
.member-inline-help[open]>summary::after{content:'⌃'}
.member-profile-fold{margin:16px 0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);padding:12px 16px}
.member-profile-fold>summary{min-height:var(--control-height);display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;cursor:pointer}
.member-profile-fold>summary span{font-size:12px;font-weight:400;color:var(--muted)}
.member-profile-fold .athlete-profile-card{margin:12px 0 0;box-shadow:none;border:0;padding:0}
.member-pending-requests{margin-bottom:20px}
/* Member mobile typography: semantic roles, not per-page size exceptions. */
:root{--member-text-body:15px;--member-text-control:14px;--member-text-help:13px;--member-text-meta:12px}
#main .community-section-tabs{width:100%;gap:8px;padding:4px;box-sizing:border-box}
#main .community-section-tabs>a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}
@media(max-width:700px){
 body[data-workspace="member"]:not(.signed-out){font-size:var(--member-text-body)}
 body[data-workspace="member"] :is(#main,#modal) :is(.btn,.chip,.text-link,.community-section-tabs>a,.record-page-tabs>button,.record-page-tabs>a){font-size:var(--member-text-control);white-space:nowrap}
 body[data-workspace="member"] :is(#main,#modal) :is(.account-field,.field){font-size:var(--member-text-control)}
 body[data-workspace="member"] :is(#main,#modal) :is(.tiny,.form-error,.member-inline-help,.member-profile-fold>summary span,.page-head p,.my-menu-link span,.locker-footnote,.community-sharing-intro,.member-home-empty,.member-home-no-news){font-size:var(--member-text-help);line-height:1.6}
 body[data-workspace="member"] #main :is(.community-hero p,.community-news-card p,.community-hot-text,.training-block pre,.scaling-block pre,.member-home-wod pre,.member-home-wod-section pre,.member-home-scaling pre){font-size:var(--member-text-body);line-height:1.65}
 body[data-workspace="member"] #main :is(.my-menu-link strong,.quick-card b){font-size:var(--member-text-body)}
 body[data-workspace="member"] #main :is(.community-sample,.community-wod-label,.community-autoplay-toggle,.eyebrow,.pill,.point-state,.locker-state,.quick-card small){font-size:var(--member-text-meta)}
 body[data-workspace="member"] #main :is(.point-wallet,.point-request-row,.point-product-row,.locker-member-card,.member-home-news-item,.operation-history) small{font-size:var(--member-text-help);line-height:1.5}
 body[data-workspace="member"] .mobile-nav a{font-size:var(--member-text-meta);white-space:nowrap}
 body[data-workspace="member"] #main .community-section-tabs>a{font-size:var(--member-text-control);flex:1 1 0}
}
@media(max-width:700px){
 body[data-workspace="member"] #main :is(.community-heading p,.community-mybox div>span,.community-news-copy>small,.community-footnote,.community-section-head>small,.pr-history-row small,.record-pr-group summary span){font-size:var(--member-text-help);line-height:1.6}
 body[data-workspace="member"] #main :is(.community-mybox>b,.community-news-copy>span,.pr-history-row b){font-size:var(--member-text-control)}
 body[data-workspace="member"] #main .community-heading{flex-wrap:wrap;gap:8px}
 body[data-workspace="member"] #main .community-heading>div{flex:1 1 100%}
 body[data-workspace="member"] #main .community-mybox{flex-wrap:wrap}
 body[data-workspace="member"] #main .community-mybox>div{flex:1;min-width:0}
}
@media(max-width:700px){
 body[data-workspace="member"] #main :is(.wod-space-card-main pre,.wod-space-body pre){font-size:var(--member-text-body);line-height:1.65}
 body[data-workspace="member"] #main :is(.wod-space-format,.wod-space-meta code){font-size:var(--member-text-meta)}
}
/* Member box identity: quiet brand detail without extra content or navigation. */
body[data-workspace="member"][data-page="today"] #main .member-home-intro{position:relative;isolation:isolate;overflow:hidden;padding:24px;background:linear-gradient(115deg,var(--box-soft,#edf3df),var(--paper) 85%);border:1px solid var(--line);border-radius:var(--radius-card);margin:0 0 20px;align-items:center}
body[data-workspace="member"][data-page="today"] #main .member-home-intro>div:first-child{border:0;padding:0;position:relative;z-index:1;min-width:0}
body[data-workspace="member"][data-page="today"] #main .member-home-intro h1{font-size:clamp(25px,3vw,34px);line-height:1.35;margin:8px 0;color:var(--box-deep,var(--ink));overflow-wrap:anywhere}
body[data-workspace="member"][data-page="today"] #main .member-home-intro .eyebrow{color:var(--box-ink,var(--muted));letter-spacing:1.2px}
body[data-workspace="member"][data-page="today"] #main .member-home-inquiry{font-size:var(--member-text-help);color:var(--box-ink,var(--ink))}
body[data-workspace="member"][data-page="today"] #main .member-home-wod[data-home-wod]{border-radius:var(--radius-card);border-color:var(--line);background:var(--paper);box-shadow:none}
body[data-workspace="member"][data-page="today"] #main .member-home-wod>.member-home-section-heading{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line);background:none;align-items:center}
body[data-workspace="member"][data-page="today"] #main .member-home-wod>.member-home-section-heading .eyebrow{display:none}
body[data-workspace="member"][data-page="today"] #main .member-home-wod>.member-home-section-heading h2{color:var(--box-deep,var(--ink))}
body[data-workspace="member"][data-page="today"] #main .member-home-wod>.member-home-section-heading p{margin:6px 0 0;font-size:var(--member-text-help)}
body[data-workspace="member"][data-page="today"] #main .member-home-wod-section>strong{display:inline-flex;align-items:center;gap:8px;color:var(--box-ink,var(--ink));font-size:var(--member-text-meta)}
body[data-workspace="member"][data-page="today"] #main .member-home-wod-section>strong::before{content:none}
body[data-workspace="member"][data-page="today"] #main .member-home-notices{padding:20px 24px;background:var(--paper)}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-news-item{border-radius:0;background:none;padding:12px 0;margin:0;border-top:1px solid var(--line)}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-section-heading{margin-bottom:12px}
body[data-workspace="member"][data-page="today"] #main .member-home-empty{padding:8px 0 0}
@media(max-width:700px){
 body[data-workspace="member"][data-page="today"] #main .member-home-intro{padding:20px;margin-bottom:16px;align-items:stretch}
 body[data-workspace="member"][data-page="today"] #main .member-home-notices{padding:20px}
 body[data-workspace="member"][data-page="today"] #main .member-home-wod>.member-home-section-heading{margin:0 0 16px;padding:0 0 12px}
}

/* Icon-only calendar keeps the native date picker and a full touch target. */
body[data-workspace="member"] #main .member-home-wod .home-wod-calendar{width:var(--touch-target);height:var(--touch-target);border:0;background:transparent;box-shadow:none}
body[data-workspace="member"] #main .member-home-wod .home-wod-calendar:hover{background:transparent}
body[data-workspace="member"] #main .member-home-wod .home-wod-calendar:focus-within{outline:none}
body[data-workspace="member"] #main .member-home-wod .home-wod-calendar:has(input:focus-visible){outline:2px solid var(--ui-focus);outline-offset:2px}
#main .community-section-tabs>a{min-height:var(--control-height);box-sizing:border-box}
/* Quiet surfaces: the member My Box visual contract across both workspaces.
   Structural layout, state colors, media and specialty editors remain feature-owned. */
:root{--ui-section-gap:20px;--ui-surface-line:#e4e9e5;--ui-surface-soft:#f5f7f4}
#main :is(.panel,.training-card,.wod-history-card,.class-card,.box-directory-card,.purchase-product,.point-product-card,.record-pr-group,.box-settings-form,.program-page-pane,.program-entry){border-color:var(--ui-surface-line);border-radius:var(--radius-card);box-shadow:none}
#main :is(.panel,.training-card,.wod-history-card,.class-card,.purchase-product,.point-product-card,.box-settings-form,.program-page-pane,.program-entry):not(.dashboard-wod):not(.wod-feature){background:var(--paper)}
#main :is(.page-head,.account-section-head,.dashboard-section-head,.program-pane-head){gap:12px}
#main :is(.account-section-head,.dashboard-section-head,.program-pane-head)>div{min-width:0}
#main :is(.account-section-head,.dashboard-section-head,.program-pane-head) h2{font-size:20px;line-height:1.4;letter-spacing:-.4px}
#main :is(.panel,.box-settings-form,.program-page-pane)>.eyebrow,#main :is(.account-section-head,.dashboard-section-head,.program-pane-head) .eyebrow{display:none}
#main :is(.setting-row,.point-product-row,.point-request-row,.point-ledger-row,.dashboard-request,.dashboard-class,.post-row,.wod-history-record){border-color:var(--ui-surface-line)}
#main :is(.training-block,.scaling-block){background:transparent;border:0;border-top:1px solid var(--ui-surface-line);border-radius:0;box-shadow:none;padding:16px 0}
#main :is(.training-block,.scaling-block) pre{color:var(--ink)}
#main :is(.program-slot,.program-review,.history-quick-bulk){background:var(--ui-surface-soft);border-color:var(--ui-surface-line);border-radius:var(--radius-control);box-shadow:none}
#main :is(.dashboard-metric,.dashboard-metric:hover){border:1px solid var(--ui-surface-line);box-shadow:none}
#main .dashboard-metric.needs-action{background:var(--box-soft,var(--color-surface-soft));border-color:var(--box-border,var(--line))}
#main .dashboard-wod{background:var(--paper);color:var(--ink);border-color:var(--ui-surface-line);box-shadow:none}
#main .dashboard-wod :is(.eyebrow,.text-link,.dashboard-wod-list span){color:var(--box-ink,var(--ink))}
#main .dashboard-wod :is(.dashboard-blank p,.dashboard-wod-count),#main .dashboard-wod>p{color:var(--muted)}
#main .dashboard-wod-list>div{border-color:var(--ui-surface-line)}
#main .point-wallet{background:linear-gradient(115deg,var(--box-soft,var(--color-surface-soft)),var(--paper) 85%);color:var(--ink);border:1px solid var(--ui-surface-line);border-radius:var(--radius-card);box-shadow:none}
#main .point-wallet span{color:var(--box-ink,var(--ink))}
#main .point-wallet p{color:var(--muted)}
#main .point-wallet-mark{color:var(--box-ink,var(--ink));opacity:.12}
#main :is(.member-profile-fold,.my-menu-link,.member-tools-shortcut,.point-coach-summary){border-color:var(--ui-surface-line);box-shadow:none}
#main :is(.community-section-tabs,.wod-workspace-tabs,.member-management-tabs,.purchase-category-tabs,.tools-tabs,.operator-tool-tabs,.history-closeout-tabs){box-shadow:none}
#main :is(.wod-workspace-tabs,.member-management-tabs,.purchase-category-tabs,.tools-tabs,.operator-tool-tabs,.history-closeout-tabs) :is(.active,.is-active,[aria-selected="true"]){box-shadow:none}
:is(#main,#modal) .btn.outline:not(.active):not(.is-current):not([aria-pressed="true"]):not([aria-selected="true"]){background:var(--paper);border-color:var(--ui-surface-line);box-shadow:none}
:is(#main,#modal) .btn.outline:hover{background:var(--ui-surface-soft)}
#modal .modal-head{border-bottom-color:var(--ui-surface-line)}
#main :is(.account-search,.wod-space-search){box-shadow:none}
@media(max-width:700px){
 #main :is(.account-section-head,.dashboard-section-head,.program-pane-head) h2{font-size:19px}
 #main :is(.training-block,.scaling-block){padding:14px 0}
}
/* Compact drop-in selection: two fields in one row, simple time cards. */
#modal .dropin-payment-options{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;margin:20px 0 12px}
#modal .dropin-payment-options>.account-field{min-width:0;margin:0}
#modal .dropin-payment-options select{padding-inline:10px 26px}
#modal .dropin-times .dropin-time{padding:12px 8px;gap:4px;background:var(--paper);border-color:var(--ui-surface-line);box-shadow:none}
#modal .dropin-time strong{font-size:16px;font-variant-numeric:tabular-nums;line-height:1.4}
#modal .dropin-time small{font-size:12px;color:var(--muted)}
#modal .dropin-times .dropin-time[aria-pressed="true"]{background:var(--box-soft,var(--color-surface-soft));border-color:var(--box-accent,var(--color-accent));color:var(--box-ink,var(--ink))}
#modal .dropin-time small{white-space:normal;line-height:1.5;overflow:visible;text-overflow:clip}
.plan-history-toggle{display:flex;align-items:center;gap:8px;min-height:var(--control-height);font-size:14px;margin:12px 0 0}
#main :is([data-special-row],[data-closed-date-row])[hidden]{display:none}
.plan-history-toggle input{width:18px;height:18px;accent-color:var(--box-ink,var(--ink))}

/* Box discovery: shared controls, compact saved state and distance. */
.box-discovery-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.box-discovery-tabs{display:flex;gap:8px;flex-wrap:wrap}
.box-discovery-tools .account-search{flex:1;min-width:200px}
.box-bookmark{flex:none;gap:6px}
.box-distance{display:block;font-size:12px;color:var(--muted);margin-top:4px}
@media(max-width:700px){.box-discovery-tabs{width:100%}.box-discovery-tabs a{flex:1}.box-discovery-tools .account-search{min-width:0;flex-basis:60%}.box-bookmark{padding-inline:10px}}

/* Discovery and monthly plan: separate navigation from actions. */
.box-discovery-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 8px}
.box-discovery-tabs{grid-column:1/-1;display:flex;gap:8px}
.box-discovery-tabs .btn{flex:1;min-width:0}
.box-discovery-tools .account-search{min-width:0;margin:0}
.box-discovery-tools [data-action="box-location"]{white-space:nowrap}
.box-browse-heading{align-items:start;gap:12px}
.box-browse-heading>div{min-width:0;flex:1}
.box-browse-heading .box-bookmark{padding:0;width:var(--ui-control-size,44px);flex:0 0 var(--ui-control-size,44px);border-color:transparent;background:transparent}
.box-browse-heading .box-bookmark span{display:none}
.box-browse-heading .box-bookmark[aria-pressed="true"]{color:var(--ink);background:transparent}
.box-detail-actions .box-bookmark{margin-left:auto;order:2}
.box-detail-actions .box-contact-icons{order:1}
#main .box-plan-notice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px;padding:0 0 20px;background:transparent;border-radius:0;border-bottom:1px solid var(--line,#e2e5df);margin-bottom:16px;align-items:end}
#main .box-plan-notice>div{grid-column:1/-1}
#main .box-plan-notice .account-field{min-width:0;margin:0;max-width:240px}
#main .box-plan-notice [data-plan-notice]{margin:0;white-space:nowrap}
#main .plan-history-toggle{margin:0 0 8px}
@media(max-width:700px){.box-discovery-tools{gap:12px 8px}.box-discovery-tabs{width:auto}.box-discovery-tools .account-search{min-width:0}.box-detail-actions .box-bookmark{margin-left:0}#main .box-plan-notice{gap:12px 8px}#main .box-plan-notice .account-field{max-width:none}}
#main .box-bookmark.btn{border:0;box-shadow:none;background:transparent;padding:0;width:var(--ui-control-size,44px);min-width:var(--ui-control-size,44px);flex:0 0 var(--ui-control-size,44px);color:var(--muted,#68716b)}
#main .box-bookmark.btn[aria-pressed="true"]{background:transparent;color:var(--ink,#19241e)}
#main .box-bookmark span{display:none}
#main .box-browse-heading .box-bookmark{align-self:center;margin:0 -8px 0 0}
#main .box-detail-actions .box-bookmark{margin-left:auto;order:2}
#main .box-distance{font-size:13px;font-weight:600;color:var(--ink,#19241e);line-height:1.5}

#main .box-discovery-tools input[type="search"]{height:var(--ui-control-size);min-height:var(--ui-control-size);padding-block:8px}
/* Opt-in map surface; common controls retain shared dimensions. */
.box-map{position:relative;width:100%;height:420px;min-width:0;border:1px solid var(--line,#e5e7eb);border-radius:20px;margin:16px 0;overflow:hidden;background:#f4f5f5;display:grid;place-items:center;color:#53605b}
.box-map-info{padding:12px 16px;font-size:14px}.box-map-info a{color:#172c23;font-weight:700}
.box-map-location{display:block;width:16px;height:16px;background:#3182f6;border:3px solid white;border-radius:50%;box-shadow:0 0 0 4px #3182f633}
.box-map-empty{position:absolute;z-index:10;top:12px;left:12px;right:12px;background:white;padding:12px;border-radius:12px;font-size:14px}
@media(max-width:700px){.box-map{height:340px}}
.box-map-label{display:block;transform:translate(-50%,-100%);white-space:nowrap;padding:8px 12px;background:#fff;color:#19241e!important;font-size:13px;font-weight:700;border:1px solid #d8ded9;border-radius:12px;box-shadow:0 2px 8px #17241b20;text-decoration:none}
.box-map-label:after{content:'';position:absolute;left:calc(50% - 4px);bottom:-5px;width:8px;height:8px;background:white;border-right:1px solid #d8ded9;border-bottom:1px solid #d8ded9;transform:rotate(45deg)}
.box-map-me{position:relative;white-space:nowrap}.box-map-me strong{position:absolute;top:24px;left:8px;transform:translateX(-50%);padding:4px 8px;border-radius:8px;background:#fff;color:#2367ca;font-size:13px;box-shadow:0 2px 6px #0002}
.box-map .box-map-locate{position:absolute;right:12px;top:12px;z-index:20;background:#fff;color:#19241e}
.box-detail-actions .box-bookmark.btn{border:0!important;box-shadow:none!important;background:transparent!important;padding:0;width:var(--ui-control-size,44px);min-width:var(--ui-control-size,44px);flex:0 0 var(--ui-control-size,44px);margin-left:auto}
.box-detail-actions .box-bookmark span{display:none}
.box-map.box-map-expanded{height:clamp(420px,65dvh,780px)}
@media(max-width:700px){.box-map.box-map-expanded{height:clamp(360px,65dvh,640px)}}
.box-discovery-tools.location-ready .account-search{grid-column:1/-1}
.box-map .box-map-cluster.btn{transform:translate(-50%,-50%);width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%;background:#243c30;color:white;border:3px solid white;box-shadow:0 2px 10px #172c2340;font-weight:800;font-size:16px;animation:box-cluster-in .18s ease-out}
.box-map-group-menu{position:absolute;z-index:30;bottom:28px;left:12px;right:12px;max-height:60%;overflow:auto;display:grid;gap:8px;padding:12px;background:white;border-radius:16px;box-shadow:0 4px 20px #172c2330}
.box-map-group-menu .btn{white-space:normal;text-align:left}
@keyframes box-cluster-in{from{opacity:.3}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.box-map .box-map-cluster.btn{animation:none}}
#main .box-map .box-map-cluster.btn{border-radius:50%!important}
/* Operating plan: month toolbar, date exceptions, recurring rules. */
#main .operating-plan-form .box-settings-intro{margin-bottom:20px}
#main .operating-plan-form .box-settings-intro h2{margin:0 0 8px}
#main .operating-plan-form .box-plan-notice{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;background:var(--ui-surface-soft,#f5f6f3);padding:16px;border:1px solid var(--ui-surface-line,#e2e5df);border-radius:var(--radius-card,20px)}
#main .operating-plan-form .box-plan-notice .account-field{max-width:none}
#main .operating-plan-form .plan-month-options{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;grid-column:1/-1}
#main .operating-plan-form .plan-month-options :is(p,.plan-history-toggle){margin:0}
#main .operating-plan-form .box-plan-sections{gap:20px}
#main .operating-plan-form .box-closed-settings{padding:20px;background:var(--paper);border-radius:var(--radius-card,20px)}
#main .operating-plan-form .account-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:0 0 16px}
#main .operating-plan-form .account-section-head :is(h3,p){margin:0}
#main .operating-plan-form .account-section-head h3{margin-bottom:6px}
#main .operating-plan-form .account-section-head>.btn{margin:0}
#main .operating-plan-form .box-special-row{background:var(--ui-surface-soft,#f5f6f3);border:1px solid var(--ui-surface-line,#e2e5df);margin:12px 0;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--ui-control-size,44px)}
#main .operating-plan-form .box-special-row>.account-field{margin:0}
#main .box-closed-rule-row>.account-field{margin:0}
#main .box-closed-rule-row>[data-rule-remove]{align-self:end;flex:0 0 var(--ui-control-size);width:var(--ui-control-size);height:var(--ui-control-size);margin:0;padding:0}
@media(max-width:700px){#main .box-closed-rule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--ui-control-size)}}
#main .operating-plan-form [data-special-remove]{align-self:start;margin-top:26px;grid-row:1;grid-column:3}
#main .operating-plan-form [data-plan-month-empty]{padding:16px;margin:0 0 12px;background:var(--ui-surface-soft,#f5f6f3);border-radius:var(--radius-control,12px);text-align:center}
#main .operating-plan-form .box-settings-save{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;border-top:1px solid var(--ui-surface-line,#e2e5df);padding-top:20px;margin-top:24px}
#main .operating-plan-form .box-settings-save .form-error{flex-basis:100%;margin:0}
#main .operating-plan-form .box-settings-save .form-error:empty{display:none}
#main .box-discovery-tools.location-ready .account-search{grid-column:auto}
#main .box-discovery-tools .account-search{width:100%;max-width:none}
#main .box-discovery-tools>[data-action="box-map"]{margin:0;align-self:end}
#main .box-discovery-tools>[data-action="box-location"]{grid-column:1/-1;justify-self:end}
#main #box-location-status{margin:0 0 12px;line-height:1.6}
#main .box-map-expanded{margin-top:0}
@media(max-width:700px){
 #main .operating-plan-form .box-plan-notice{grid-template-columns:minmax(0,1fr);padding:16px}
 #main .operating-plan-form [data-plan-notice]{justify-self:stretch}
 #main .operating-plan-form .box-closed-settings{padding:16px}
 #main .operating-plan-form .box-special-row{grid-template-columns:minmax(0,1fr) var(--ui-control-size,44px);padding:12px}
 #main .operating-plan-form .box-special-row>.account-field{grid-column:1/-1}
 #main .operating-plan-form .box-special-row>.account-field:first-child{grid-column:1}
 #main .operating-plan-form [data-special-remove]{grid-column:2;grid-row:1}
 #main .operating-plan-form .box-settings-save>.btn{width:100%}
}

/* Coach social link uses the shared contact icon and touch-target token. */
.coach-profile-details .box-instagram{width:var(--ui-control-size);height:var(--ui-control-size)}

/* Signed-out pages have no member navigation; keep the mobile entry/form in normal flow. */
body.signed-out #mobile-nav{display:none!important}
@media(max-width:700px){
 body.signed-out .shell{min-height:100dvh;display:flex;flex-direction:column}
 body.signed-out #topbar{position:static;flex:none}
 body.signed-out #topbar .top-context{width:auto;max-width:100%;flex:1;min-width:0}
 body.signed-out #topbar .top-context strong{max-width:none;white-space:nowrap}
 body.signed-out #main{display:flex;flex-direction:column;flex:1;width:100%;box-sizing:border-box;padding:16px 24px 24px;min-width:0}
 body.signed-out #main .auth-refined{width:100%;min-width:0;margin:0 auto}
 body.signed-out #main .auth-refined:not(.auth-form-open){min-height:0;flex:1;gap:32px}
 body.signed-out #main .auth-refined .auth-story{padding:24px 0 0}
 body.signed-out #main .auth-refined .auth-brand-mark{margin-top:24px}
 body.signed-out #main .auth-refined .auth-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
 body.signed-out #main .auth-refined .auth-entry-actions{margin-top:auto;padding-top:24px;padding-bottom:0}
 body.signed-out #main .auth-refined .auth-card-intro h2{margin-top:0}
 body.signed-out footer{padding:16px 24px max(16px,env(safe-area-inset-bottom));flex:none}
}
.member-badge-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.member-custom-badge{display:inline-flex;align-items:center;margin-right:6px;padding:2px 6px;border-radius:6px;background:var(--bg);color:var(--muted);font-size:11px;font-weight:600;vertical-align:middle;white-space:nowrap}
.account-pass-summary + .btn[href^="#store/"]{margin-bottom:20px;}
/* Member home: compact box identities, branded status, WOD first. */
.community-box-shortcuts{display:grid;gap:20px;margin:16px 0 24px;min-width:0}
.community-box-shortcuts>div{min-width:0}
#main .community-box-shortcuts h2{font-size:14px;margin:0 0 12px;font-weight:650}
.community-box-profile-list{display:flex;gap:12px;padding:2px;align-items:flex-start;max-width:100%;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.community-box-profile-list::-webkit-scrollbar{display:none}
.community-box-profile{display:flex;flex:0 0 76px;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:var(--ink);text-align:center;min-width:0;scroll-snap-align:start}
.community-box-photo{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--line);overflow:hidden;font-size:20px;font-weight:700}
.community-box-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.community-box-name{font-size:12px;line-height:1.4;max-width:100%;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.community-box-profile--own{flex:0 0 min(320px,88%);flex-direction:row;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);text-align:left;align-items:center;box-sizing:border-box}
.community-box-profile--own:only-child{flex-basis:100%}
.community-box-profile--own .community-box-name{flex:1;min-width:0;font-size:16px;font-weight:650;line-height:1.45}
.community-box-profile--own>svg{width:20px;height:20px;flex:none;color:var(--muted)}
.member-home-contact{display:flex;justify-content:flex-end;margin:0 0 16px}
body[data-workspace="member"][data-page="today"] #topbar{background:color-mix(in srgb,var(--box-accent) 12%,var(--paper));border-bottom:1px solid color-mix(in srgb,var(--box-accent) 25%,var(--line))}
body[data-workspace="member"][data-page="today"] .top-context strong{color:var(--box-deep,var(--ink))}
.member-home-compact-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0 0 8px}.member-home-compact-actions .training-toolbar{margin:0;flex:1}
body[data-workspace="member"][data-page="today"] #main .member-home-notices{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 8px;padding:8px 12px;margin:0 0 12px;border:0;border-radius:var(--radius-control);background:color-mix(in srgb,var(--box-accent) 5%,var(--paper));box-shadow:none}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-section-heading{display:contents}
.member-notice-symbol{grid-column:1;grid-row:1 / span 4;align-self:center;display:flex;align-items:center;justify-content:center;color:var(--muted)}.member-notice-symbol svg{display:block;flex:none}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-section-heading>a{grid-column:2;justify-self:end;font-size:12px}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-news-item{grid-column:2;padding:8px 0;border:0;min-width:0}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-news-item strong{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-home-notices .member-home-news-item>div{min-width:0}.member-home-notices .member-home-no-news{grid-column:2;margin:4px 0;font-size:13px}
body[data-workspace="member"][data-page="today"] #main .member-home-wod[data-home-wod]{border:1px solid var(--line);margin-top:0}
body[data-workspace="member"][data-page="today"] #main .member-home-wod>.member-home-section-heading h2{font-size:24px;font-weight:750}
@media(max-width:700px){body[data-workspace="member"][data-page="today"] #main{padding-top:12px}}
body[data-workspace="member"][data-page="today"] #main .member-home-notices{grid-template-columns:28px minmax(0,1fr) 64px;align-items:center}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-section-heading>a{grid-column:3;grid-row:1;align-self:center}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-news-item{grid-column:2}
body[data-workspace="member"][data-page="today"] #main .member-home-notices .member-home-news-item>span{display:none}

.community-box-none{display:flex;flex-direction:column;gap:8px;max-width:120px}

/* Community destinations: text and a single sliding underline. */
#main .community-section-tabs{position:relative;display:flex;gap:0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
#main .community-section-tabs>a{flex:1 1 0;padding:10px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);text-decoration:none}
#main .community-section-tabs>a.active{background:transparent;color:var(--ink);font-weight:700;box-shadow:none}
#main .community-section-tabs::after{content:"";position:absolute;bottom:0;left:0;height:2px;width:calc(100% / var(--tab-count));background:var(--ink);transform:translateX(var(--tab-to));animation:community-tab-slide .2s ease-out;pointer-events:none}
@keyframes community-tab-slide{from{transform:translateX(var(--tab-from))}to{transform:translateX(var(--tab-to))}}
@media(prefers-reduced-motion:reduce){#main .community-section-tabs::after{animation:none}}

body[data-page="community"] #main .community-heading{margin:16px 0;padding:0}
body[data-page="community"] #main .community-heading h1{margin:8px 0}
body[data-page="community"] #main .community-heading p{margin:0}
body[data-page="community"] #main .community-box-shortcuts{margin:16px 0 20px}
@media(max-width:700px){body[data-page="community"] #main{padding-top:12px}body[data-page="community"] #main .community-section-tabs{margin-top:0;margin-bottom:16px}}
/* Member foundation: neutral surfaces + confident athletic typography. */
body[data-workspace="member"]{
 --color-canvas:#f5f6f8;--color-surface:#fff;--color-surface-soft:#eef1f4;
 --color-ink:#20262d;--color-secondary:#68717c;--color-line:#e5e8ec;
 --member-text-body:15px;--member-text-help:13px;--member-text-meta:12px;--member-text-control:14px;
 --member-title:28px;--member-section-title:20px;
 --bg:var(--color-canvas);--paper:var(--color-surface);--ink:var(--color-ink);--muted:var(--color-secondary);--line:var(--color-line);
 background:var(--bg);color:var(--ink)
}
body[data-workspace="member"] #topbar{background:var(--bg);border-bottom:0;box-shadow:none}
body[data-workspace="member"] #topbar .top-context strong{font-size:14px;letter-spacing:-.3px}
body[data-workspace="member"][data-page="today"] #topbar{background:color-mix(in srgb,var(--box-accent) 8%,var(--paper));border-bottom:1px solid color-mix(in srgb,var(--box-accent) 14%,var(--line))}
body[data-workspace="member"] #main :is(.page-head,.community-heading){margin:0 0 24px;padding:0;gap:16px}
body[data-workspace="member"] #main :is(.page-head,.community-heading) h1{font-size:var(--member-title);font-weight:800;line-height:1.3;letter-spacing:-.8px;margin:0}
body[data-workspace="member"] #main :is(.page-head,.community-heading) p{font-size:var(--member-text-help);line-height:1.6;color:var(--muted);margin:8px 0 0}
body[data-workspace="member"] #main :is(.page-head,.community-heading) .eyebrow{display:none}
body[data-workspace="member"] #main :is(.panel,.box-browse-card,.community-news-card,.community-hot-card){border-color:var(--line);border-radius:var(--radius-card);box-shadow:none;background:var(--paper)}
body[data-workspace="member"] #main .panel{padding:24px}
body[data-workspace="member"] #main .box-browse-card{padding:0}
body[data-workspace="member"] #main :is(.panel h2,.community-section-head h2,.record-history-heading h2){font-size:var(--member-section-title);font-weight:750;line-height:1.4;letter-spacing:-.5px}
body[data-workspace="member"] #main :is(.community-section-head,.account-section-head,.record-history-heading){margin-bottom:16px;gap:12px;align-items:center}
body[data-workspace="member"] #main :is(.community-section-head) .eyebrow{display:none}
body[data-workspace="member"] #main .community-section-tabs{margin:0 0 24px}
body[data-workspace="member"] #main .community-box-shortcuts{margin:0 0 28px}
body[data-workspace="member"] #main .community-heading{margin-bottom:24px}
body[data-workspace="member"] #main :is(.record-page-tabs,.box-discovery-tabs){display:flex;gap:0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;margin-bottom:20px}
body[data-workspace="member"] #main :is(.record-page-tabs,.box-discovery-tabs)>:is(a,button){flex:1 1 0;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;color:var(--muted);padding:12px 8px;min-height:var(--control-height);font-size:var(--member-text-control);white-space:nowrap}
body[data-workspace="member"] #main :is(.record-page-tabs,.box-discovery-tabs)>:is([aria-selected="true"],[aria-current="page"]){color:var(--ink);border-bottom-color:var(--ink);font-weight:750;background:transparent}
body[data-workspace="member"] #main :is(.record-search-field,.account-search input){background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control)}
body[data-workspace="member"] #main .record-search-field input{background:transparent}
body[data-workspace="member"] #main .record-page-heading .account-actions{gap:8px}
body[data-workspace="member"] #main :is(.record-pr-card,.record-pr-group){border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-control);box-shadow:none}
body[data-workspace="member"] #main .record-pr-group[open]{background:var(--color-surface-soft)}
body[data-workspace="member"] #main .record-pr-group summary strong{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.5px}
body[data-workspace="member"] #main .my-summary{margin:0 0 16px}
body[data-workspace="member"] #main .member-inquiry-hub-entry{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px;margin:0 0 16px;box-shadow:none}
body[data-workspace="member"] #main .member-inquiry-entry-icon{background:var(--color-surface-soft);color:var(--ink);border-radius:var(--radius-control)}
body[data-workspace="member"][data-page="my"] #main>.panel{margin-top:0;margin-bottom:16px}
body[data-workspace="member"] #main :is(.my-hub-grid,.account-profile-layout){gap:16px}
body[data-workspace="member"] #main .my-menu-link{padding:16px 0;border-color:var(--line)}
body[data-workspace="member"] #main .my-menu-link strong{font-size:15px;font-weight:650}
body[data-workspace="member"] #main .my-menu-link small{font-size:13px;line-height:1.5;color:var(--muted);margin-top:4px}
body[data-workspace="member"] #main .my-menu-link>.nav-icon{color:var(--muted)}
body[data-workspace="member"] #main .member-profile-fold{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);margin:16px 0;padding:16px 20px}
body[data-workspace="member"] #main .box-browse-body{padding:20px}
body[data-workspace="member"] #main .box-browse-heading h3{font-size:20px;line-height:1.4;font-weight:750;letter-spacing:-.5px}
body[data-workspace="member"] #main .box-discovery-tools{gap:12px}
body[data-workspace="member"] #main .box-discovery-tools .box-discovery-tabs{margin-bottom:0}
body[data-workspace="member"] #main .member-home-wod[data-home-wod]{background:var(--paper);border-color:var(--line);box-shadow:none}
body[data-workspace="member"] #main .member-home-wod h3{font-size:28px;font-weight:800;line-height:1.25;letter-spacing:-.6px}
body[data-workspace="member"] #main .member-tools-shortcut{margin-bottom:16px}
body[data-workspace="member"] #mobile-nav{background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 20px #20262d04}
body[data-workspace="member"] #mobile-nav a{color:var(--muted)}
body[data-workspace="member"] #mobile-nav a.active{color:var(--ink)}
body[data-workspace="member"] #mobile-nav a.active .nav-icon{color:var(--ink);background:var(--lime);border-radius:8px;box-shadow:0 0 0 5px var(--lime)}
@media(max-width:700px){
 body[data-workspace="member"]{--member-title:26px;--member-section-title:19px}
 body[data-workspace="member"] #main{padding:16px 18px 28px}
 body[data-workspace="member"] #main .panel{padding:20px}
 body[data-workspace="member"] #main .box-browse-card{padding:0}
 body[data-workspace="member"] #main :is(.page-head,.community-heading){margin-bottom:20px}
 body[data-workspace="member"] #main .record-page-heading .account-actions{width:100%}
 body[data-workspace="member"] #main .record-page-heading .account-actions>.btn{flex:1 1 auto;padding-inline:12px}
 body[data-workspace="member"] #main .community-section-tabs{margin-bottom:20px}
 body[data-workspace="member"] #main .community-box-shortcuts{margin-bottom:24px}
}
/* Outline actions inside navigation remain text tabs, not white buttons. */
body[data-workspace="member"] #main .box-discovery-tabs>.btn.outline:not(.active):not(.is-current):not([aria-pressed="true"]):not([aria-selected="true"]){background:transparent;border-color:transparent}
body[data-workspace="member"] #main .box-discovery-tabs>.btn[aria-current="page"]{border-bottom-color:var(--ink)}
@media(max-width:700px){body[data-workspace="member"]:not([data-page="today"]) #topbar .top-context strong{max-width:calc(100vw - 150px)}}
/* Intent-first member journey: date -> time -> workout -> one action. */
.member-date-choices{display:flex;align-items:center;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.member-date-choices>.btn{flex:0 0 auto;min-width:64px}
.member-date-choices>.btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.member-date-input{flex:1;min-width:140px;max-width:220px}.member-date-input input{width:100%;box-sizing:border-box}
.member-next-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:var(--color-surface-soft);border-radius:var(--radius-control);margin-bottom:20px}
.member-next-action strong{font-size:14px;line-height:1.5}.member-next-action>.btn{flex:none}
body[data-workspace="member"] #main .booking-time-card{padding:0;margin:0 0 12px;overflow:hidden}
.booking-time-card>summary{display:flex;align-items:center;gap:12px;padding:20px;list-style:none;cursor:pointer}
.booking-time-card>summary::-webkit-details-marker{display:none}
.booking-time-card>summary>time{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;flex:none;letter-spacing:-.5px}
.booking-time-title{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.booking-time-title small{font-size:12px;color:var(--muted)}.booking-time-title strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.booking-time-state{font-size:12px;color:var(--muted);white-space:nowrap;display:flex;gap:8px;align-items:center}.booking-time-state.is-booked{color:var(--ink);font-weight:750}
.booking-time-card[open]{border-color:var(--box-accent,var(--ink))}.booking-time-card[open]>summary{border-bottom:1px solid var(--line)}
.booking-time-detail{padding:20px}.booking-workout-section{margin-bottom:16px}.booking-workout-section>strong{font-size:13px}.booking-workout-section pre{font:inherit;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.booking-time-detail .booking-slot{margin-top:16px;border-top:1px solid var(--line);padding:16px 0 0}.booking-time-detail .booking-slot-actions{display:flex;flex-wrap:wrap;gap:8px}
.record-quick-actions{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}
body[data-workspace="member"][data-page="my"] .my-hub-grid{margin:16px 0}
.member-my-organized{display:flex;flex-direction:column;gap:16px;max-width:760px;margin-inline:auto}
.member-membership-page{max-width:760px;margin-inline:auto}
.member-membership-page .holding-box-picker{display:none}
body[data-workspace="member"] #main .member-my-organized>:is(.panel,.member-profile-fold){margin:0}
.member-my-organized>.panel>h2{margin:0 0 8px}
.member-my-organized>.my-menu-group>h2{font-size:13px;line-height:1.5;font-weight:600;color:var(--muted);margin-bottom:4px}
body[data-workspace="member"] #main .member-my-organized .my-account-entry .my-menu-link{padding-block:0}
.my-menu-chevron{width:18px;height:18px;flex:none;color:var(--muted)}
@media(max-width:700px){.member-next-action{align-items:stretch;flex-direction:column;gap:10px}.member-next-action>.btn{width:100%}.booking-time-card>summary{padding:16px;gap:10px}.booking-time-card>summary>time{font-size:21px}.booking-time-state{font-size:11px;gap:4px}.booking-time-detail{padding:16px}.record-quick-actions>.btn{flex:1 1 auto;padding-inline:12px}}
body[data-workspace="member"] #main .member-date-choices>.btn.outline[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.member-date-choices .account-field.member-date-input{margin:0}

/* Box operations: same foundation as member pages; task first, settings second. */
body[data-workspace="box"]{
 --color-canvas:#f5f6f8;--color-surface:#fff;--color-surface-soft:#eef1f4;
 --color-ink:#20262d;--color-secondary:#68717c;--color-line:#e5e8ec;
 --bg:var(--color-canvas);--paper:var(--color-surface);--ink:var(--color-ink);--muted:var(--color-secondary);--line:var(--color-line);
 background:var(--bg);color:var(--ink)
}
body[data-workspace="box"] #topbar{background:var(--bg);box-shadow:none;border-bottom:0}
body[data-workspace="box"] #main :is(.page-head,.dashboard-head){margin:0 0 24px;padding:0;border:0;gap:16px;align-items:center}
body[data-workspace="box"] #main :is(.page-head,.dashboard-head)>div:first-child{border:0;padding:0;min-width:0}
body[data-workspace="box"] #main :is(.page-head,.dashboard-head) h1{font-size:28px;font-weight:800;line-height:1.3;letter-spacing:-.8px;margin:0}
body[data-workspace="box"] #main :is(.page-head,.dashboard-head) p{font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0 0}
body[data-workspace="box"] #main :is(.page-head,.dashboard-head) .eyebrow{display:none}
body[data-workspace="box"] #main .panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:none;padding:24px;min-width:0}
body[data-workspace="box"] #main :is(.panel h2,.account-section-head h2,.dashboard-section-head h2){font-size:20px;font-weight:750;line-height:1.4;letter-spacing:-.5px}
body[data-workspace="box"] #main :is(.account-section-head,.dashboard-section-head){align-items:center;gap:12px;margin-bottom:16px}
body[data-workspace="box"] #main :is(.account-actions,.dashboard-head-actions,.admin-page-actions){gap:8px;flex-wrap:wrap;align-items:center}
body[data-workspace="box"] #main .admin-page-actions{display:flex;margin-bottom:24px}
body[data-workspace="box"] #main .btn{font-size:14px}
body[data-workspace="box"] #main :is(.dashboard-metrics,.member-overview,.locker-metrics){gap:12px;margin-bottom:20px}
body[data-workspace="box"] #main :is(.dashboard-metric,.member-overview>.panel,.locker-metrics>.panel){padding:16px 20px;min-height:0}
body[data-workspace="box"] #main :is(.dashboard-metric,.member-overview>.panel,.locker-metrics>.panel) strong{font-size:28px;line-height:1.3;margin:8px 0}
body[data-workspace="box"] #main .dashboard-columns{gap:20px}
body[data-workspace="box"] #main .dashboard-column{gap:20px}
body[data-workspace="box"] #main .dashboard-class{color:var(--ink);text-decoration:none;min-width:0;transition:background var(--motion-fast)}
body[data-workspace="box"] #main .dashboard-class:hover{background:var(--color-surface-soft)}
body[data-workspace="box"] #main .dashboard-seats{flex-shrink:0}
body[data-workspace="box"] #main .dashboard-zero{padding:16px 0;margin:0;font-size:13px}
body[data-workspace="box"] #main :is(.class-card,.locker-row,.point-request-row,.member-list-row){gap:16px}
body[data-workspace="box"] #main .class-card{align-items:center;margin-bottom:12px}
body[data-workspace="box"] #main .class-card>div:first-child{min-width:0;flex:1}
body[data-workspace="box"] #main .class-card h3{font-size:18px;line-height:1.45;margin:8px 0}
body[data-workspace="box"] #main .class-card .class-when time{font-size:24px;font-weight:800}
body[data-workspace="box"] #main .class-card-actions{flex:0 1 auto;justify-content:flex-end;max-width:440px}
body[data-workspace="box"] #main .class-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:240px}
body[data-workspace="box"] #main .class-card-actions>:is(.btn,.admin-row-more){width:100%;margin:0}
body[data-workspace="box"] #main .admin-row-more{flex:0 0 auto;position:relative}
body[data-workspace="box"] #main .admin-row-more>summary{display:flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:8px 12px;box-sizing:border-box;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--paper);cursor:pointer;font-size:14px;list-style:none;white-space:nowrap}
body[data-workspace="box"] #main .admin-row-more>summary::-webkit-details-marker{display:none}
body[data-workspace="box"] #main .admin-row-more>summary::after{content:'⌄';margin-left:8px}
body[data-workspace="box"] #main .admin-row-more[open]>summary::after{content:'⌃'}
body[data-workspace="box"] #main .admin-row-more>div{position:absolute;right:0;top:calc(100% + 8px);z-index:5;display:grid;gap:8px;padding:12px;min-width:160px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:var(--shadow-soft)}
body[data-workspace="box"] #main .admin-row-more [data-train="class-close"]{color:var(--color-danger)}
body[data-workspace="box"] #main .past-class-list{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}
body[data-workspace="box"] #main .past-class-list>summary{padding:16px 0;cursor:pointer;font-size:14px;font-weight:650}
body[data-workspace="box"] #main .checkin-device-settings{margin-top:20px}
body[data-workspace="box"] #main .checkin-device-settings>summary{cursor:pointer;min-height:var(--control-height);display:flex;gap:12px;align-items:center;font-weight:650}
body[data-workspace="box"] #main .checkin-device-settings>summary small{font-weight:400;color:var(--muted)}
body[data-workspace="box"] #main .checkin-device-settings .checkin-admin-device{border:0;box-shadow:none;padding:16px 0 0;margin:0;background:transparent}
body[data-workspace="box"] #main .purchase-demo-notice{padding:12px 16px;margin-bottom:20px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-control)}
body[data-workspace="box"] #main .purchase-demo-notice p{margin:4px 0 0;font-size:13px}
/* Destination tabs: one underline; filters and selections remain compact pills. */
body[data-workspace="box"] #main :is(.wod-workspace-tabs,.member-management-tabs,.purchase-category-tabs,.checkin-section-tabs,.history-closeout-tabs,.operator-tool-tabs){display:flex;gap:0;padding:0;margin:0 0 20px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;overflow-x:auto;scrollbar-width:none}
body[data-workspace="box"] #main :is(.wod-workspace-tabs,.member-management-tabs,.purchase-category-tabs,.checkin-section-tabs,.history-closeout-tabs,.operator-tool-tabs)>:is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:10px 16px;flex:0 0 auto;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap;box-shadow:none}
body[data-workspace="box"] #main :is(.wod-workspace-tabs,.member-management-tabs,.purchase-category-tabs,.checkin-section-tabs,.history-closeout-tabs,.operator-tool-tabs)>:is(.active,.is-active,[aria-current="page"],[aria-selected="true"],[aria-pressed="true"]){color:var(--ink);border-bottom-color:var(--ink);background:transparent;font-weight:750}
body[data-workspace="box"] #main :is(.box-settings-navigation,.box-settings-groups){box-shadow:none}
body[data-workspace="box"] #main :is(.box-settings-content,.box-settings-workspace,.training-workspace){min-width:0}
body[data-workspace="box"] #main :is(.account-search input,.checkin-ranking-controls input,.checkin-ranking-controls select){background:var(--paper);border-color:var(--line)}
body[data-workspace="box"] #main .purchase-category-tabs>.btn.outline:not(.active):not(.is-current):not([aria-pressed="true"]):not([aria-selected="true"]){background:transparent;border-color:transparent;box-shadow:none}
#main .checkin-ranking-controls{min-width:0;max-width:100%}
#main .checkin-ranking-controls>label{min-width:0;max-width:100%}
@media(max-width:700px){
 #main .checkin-ranking-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;align-items:end}
}
@media(max-width:1050px){
 body[data-workspace="box"] #main .dashboard-columns .dashboard-queue{order:0}
 body[data-workspace="box"] #main .dashboard-columns .dashboard-schedule{order:1}
 body[data-workspace="box"] #main .dashboard-columns .handoff-panel{order:2}
 body[data-workspace="box"] #main .dashboard-columns .dashboard-wod{order:3}
 body[data-workspace="box"] #main .class-card{flex-direction:column;align-items:stretch}
 body[data-workspace="box"] #main .class-card-actions{max-width:none;justify-content:flex-start}
 body[data-workspace="box"] #main .class-card-actions{width:100%}
}
@media(max-width:700px){
 body[data-workspace="box"] #main :is(.page-head,.dashboard-head){margin-bottom:20px;gap:16px}
 body[data-workspace="box"] #main :is(.page-head,.dashboard-head) h1{font-size:26px}
 body[data-workspace="box"] #main .panel{padding:20px}
 body[data-workspace="box"] #main :is(.panel h2,.account-section-head h2,.dashboard-section-head h2){font-size:19px}
 body[data-workspace="box"] #main :is(.dashboard-metric,.member-overview>.panel,.locker-metrics>.panel){padding:12px}
 body[data-workspace="box"] #main .dashboard-head-actions{justify-content:flex-start;width:100%}
 body[data-workspace="box"] #main .admin-page-actions{display:flex;gap:8px}
 body[data-workspace="box"] #main .training-workspace--classes>.account-section-head{flex-direction:row;text-align:left;justify-content:space-between}
 body[data-workspace="box"] #main .training-workspace--classes>.account-section-head h2{margin:0}
 body[data-workspace="box"] #main .class-card-actions>.btn{flex:1 1 auto;padding-inline:12px}
 body[data-workspace="box"] #main .dashboard-columns{gap:16px}
}

body[data-workspace=box] #main .wod-history-page:has(.wod-history-detail-layout) .page-head p{display:block}
body[data-workspace=box] #main :is(.history-closeout-tabs,.operator-tool-tabs)>button{flex:1 0 auto}

/* Unified daily workout + class schedule: one date context, operational sidebar. */
body[data-workspace="box"] #main .dashboard-session-group+.dashboard-session-group{border-top:1px solid var(--ui-surface-line);margin-top:24px;padding-top:16px}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-wod-full summary{padding:16px 0}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-wod-times{display:block;color:var(--muted);margin-top:4px;font-size:12px}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-wod-expanded{background:var(--color-surface-soft);border-radius:var(--radius-control);padding:16px;margin-bottom:16px}
body[data-workspace="box"] #main .dashboard-session-panel :is(pre,.dashboard-wod-block-label,.dashboard-wod-scales,.dashboard-wod-notes){color:var(--ink)}
body[data-workspace="box"] #main .dashboard-session-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-seats{flex-shrink:0}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-class-info h3{font-size:14px}
@media(max-width:1050px){
 body[data-workspace="box"] #main .dashboard-unified .dashboard-session-panel{order:0}
 body[data-workspace="box"] #main .dashboard-unified .dashboard-queue{order:1}
 body[data-workspace="box"] #main .dashboard-unified .handoff-panel{order:2}
}

body[data-workspace="box"] #main .dashboard-session-panel .dashboard-day-label{color:var(--muted)}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-day-actions button{color:var(--ink);background:transparent;min-width:var(--ui-control-size);min-height:var(--ui-control-size);border-radius:var(--radius-control)}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-day-actions [data-dashboard-today],body[data-workspace="box"] #main .dashboard-session-panel .dashboard-day-actions button:hover:not(:disabled){background:var(--color-surface-soft);color:var(--ink)}
body[data-workspace="box"] #main .dashboard-session-panel :is(.dashboard-wod-block-label strong,.dashboard-wod-scales strong,.dashboard-wod-notes strong){color:var(--ink)}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-wod-block-label span{color:var(--muted)}
body[data-workspace="box"] #main .dashboard-session-panel :is(.dashboard-wod-scales,.dashboard-wod-notes){border-color:var(--ui-surface-line)}
/* Short operational outlook, no repeated daily totals. */
body[data-workspace="box"] #main .dashboard-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
body[data-workspace="box"] #main .dashboard-insight{position:relative;display:grid;gap:8px;text-align:left;cursor:pointer;padding:16px 32px 16px 20px;font:inherit;color:var(--ink);min-width:0}
body[data-workspace="box"] #main .dashboard-insight>span:first-child{font-size:13px;color:var(--muted)}
body[data-workspace="box"] #main .dashboard-insight strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.dashboard-insight-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.dashboard-insight-detail{color:var(--ink);text-decoration:none}
.dashboard-member-counts{display:flex;flex-wrap:wrap;gap:4px 12px}
.member-list-filters{display:flex;gap:var(--space-2);margin-block:var(--space-4);max-width:100%;overflow-x:auto;scrollbar-width:none}
.member-list-filters::-webkit-scrollbar{display:none}
.member-list-filters>.btn{flex:0 0 auto;white-space:nowrap}
#main .member-list-filters .btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.dashboard-member-counts>span{white-space:nowrap}
body[data-workspace="box"] #main .dashboard-insight>:is(strong,small){min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(min-width:1051px){
 body[data-workspace="box"] #main .dashboard-unified{align-items:stretch}
 body[data-workspace="box"] #main .dashboard-unified>.dashboard-column:first-child{display:flex}
 body[data-workspace="box"] #main .dashboard-unified .dashboard-session-panel{width:100%}
 body[data-workspace="box"] #main .dashboard-unified>.dashboard-column:last-child{grid-template-rows:auto minmax(0,1fr);align-content:stretch}
}
@media(max-width:700px){
 body[data-workspace="box"] #main .dashboard-insights{gap:8px;margin-bottom:16px}
 body[data-workspace="box"] #main .dashboard-member-counts{flex-direction:column;gap:4px}
 body[data-workspace="box"] #main .dashboard-insight{padding:12px;gap:6px}
 body[data-workspace="box"] #main .dashboard-insight>span:first-child{font-size:12px;line-height:1.5}
 body[data-workspace="box"] #main .dashboard-insight strong{font-size:13px}
 body[data-workspace="box"] #main .dashboard-insight-arrow{display:none}
}
.insight-label-short{display:none}
@media(max-width:700px){.insight-label-full{display:none}.insight-label-short{display:inline}body[data-workspace="box"] #main .dashboard-insight{padding:12px 8px}body[data-workspace="box"] #main .dashboard-insight>span:first-child{white-space:nowrap}body[data-workspace="box"] #main .dashboard-insight strong{word-break:keep-all}}
body[data-workspace="box"] #main .dashboard-insight>small{word-break:keep-all;line-height:1.5}

/* Multi-result input: common controls, compact grouped fields. */
[data-extra-results]{margin-block:16px}.extra-result-row{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr) auto;gap:8px;align-items:end;padding-block:12px;border-top:1px solid var(--line,#e5e7eb)}.extra-result-row .account-field{min-width:0;margin:0}.extra-time{display:flex;align-items:center;gap:6px}.extra-time input{min-width:0;width:100%}.extra-time[hidden]{display:none}.record-board-row{padding-block:16px;border-bottom:1px solid var(--line,#e5e7eb)}.record-board-row .form-grid>*{min-width:0}@media(max-width:700px){.extra-result-row{grid-template-columns:minmax(0,1fr) 90px}.extra-result-row>button{justify-self:end}}

/* Keep each result and its unit together; hidden metric-specific fields never occupy grid cells. */
:is(#main,#modal) .record-primary-result{display:grid;gap:12px}
:is(#main,#modal) .record-value-unit{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px;align-items:end}
:is(#main,#modal) .record-value-unit>.account-field{margin:0;min-width:0}
:is(#main,#modal) .record-value-unit:not(:has(select:not(:disabled))){grid-template-columns:minmax(0,1fr)}
:is(#main,#modal) .record-value-unit:has(>label[hidden]){grid-template-columns:minmax(0,1fr)}
:is(#main,#modal) .extra-result-row{grid-template-columns:minmax(0,1fr);gap:12px}
:is(#main,#modal) .extra-result-row>button{justify-self:end}
:is(#main,#modal) [data-training="record-save"] [hidden],:is(#main,#modal) [data-extra-results] [hidden]{display:none!important}
:is(#main,#modal) [data-training="record-save"] input[type="hidden"]{display:none!important}

/* Member WOD: detail first, next action directly below it. */
.member-home-wod .member-next-action{margin-top:12px;margin-bottom:0;padding:0;background:transparent}

/* Separate box avatar shares the profile form without displacing its preview. */
.box-avatar-settings{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.box-avatar-settings>[data-box-avatar-editor]{margin-top:16px}
#main [data-box-avatar-editor] [hidden]{display:none!important}
[data-box-avatar-editor]{min-width:0;flex-wrap:wrap}
[data-box-avatar-editor] .account-field{min-width:0;flex:1 1 180px}
[data-box-avatar-editor] input[type="file"]{max-width:100%;min-width:0}

/* Expanded coach biographies use the full row and readable, separate entries. */
.coach-public-grid>.coach-public-card[open]{grid-column:1/-1}
.coach-public-card .coach-profile-details{padding-top:16px;overflow-wrap:break-word;word-break:keep-all}
.coach-history-section+.coach-history-section{margin-top:20px}
.coach-public-card .coach-history-section h4{font-size:14px;margin:0 0 10px}
.coach-history-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.coach-history-list>li{position:relative;padding-left:12px;font-size:14px;line-height:1.65;word-break:keep-all;overflow-wrap:break-word}
.coach-history-list>li::before{content:"";position:absolute;left:0;top:.7em;width:4px;height:4px;border-radius:50%;background:var(--muted)}
.box-member-preview .coach-public-grid{grid-template-columns:minmax(0,1fr)}
.coach-public-heading>.box-instagram{flex-shrink:0;margin:0;border:0;background:transparent;box-shadow:none}
.coach-public-heading>.box-instagram+.coach-expand{margin-left:0}
.coach-public-heading{padding-inline-end:8px}
.coach-public-heading>.coach-expand{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;line-height:0;transform-origin:50% 50%}
.coach-expand>svg{display:block;width:20px;height:20px}
.personal-load-pr-action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px}
.personal-load-pr-action>span{font-size:13px}
.record-kind-filters{display:flex;gap:8px;margin:0 0 16px}
.record-kind-filters>.btn{flex:1;white-space:nowrap;padding-inline:8px}
:is(#main,#modal) .record-kind-filters>.btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.box-preview-content .box-coaches{padding:0;border:0;background:transparent}
.box-preview-content .coach-public-card{padding:12px 10px}
@media(max-width:700px){.coach-public-grid{grid-template-columns:minmax(0,1fr)}.coach-history-list>li{font-size:15px}.box-coaches{padding:12px}.coach-public-card{padding:12px 8px}}
@media(max-width:700px){.box-member-preview{padding:12px}.box-preview-content{padding:10px}}
/* Member box home: quiet identity header, then notices and the selected day's workout. */
.member-holding-collapse>summary{display:flex;align-items:center;gap:12px;min-height:var(--touch-target);list-style:none;cursor:pointer}
.member-holding-collapse>summary::-webkit-details-marker{display:none}
.member-holding-collapse>summary>strong{font-size:17px;white-space:nowrap}
.member-holding-collapse>summary>span{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.member-holding-collapse>summary>svg{flex-shrink:0;transition:transform var(--motion-fast)}
.member-holding-collapse[open]>summary>svg{transform:rotate(180deg)}
.member-holding-body{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.saved-wod-row>.account-actions{flex-wrap:wrap}
.saved-wod-detail-actions{gap:8px;margin-top:16px;flex-wrap:wrap}
body[data-workspace="member"][data-page="today"] #main>.member-home-notices{max-width:760px}
body[data-workspace="member"][data-page="today"] .member-box-home-heading{display:flex;align-items:center;gap:16px;max-width:760px;padding:20px;margin:0 0 16px;border:1px solid color-mix(in srgb,var(--box-accent,var(--lime)) 24%,var(--line));border-radius:var(--radius-card);background:linear-gradient(110deg,color-mix(in srgb,var(--box-accent,var(--lime)) 10%,var(--paper)),var(--paper) 85%)}
.member-box-home-avatar{display:grid;place-items:center;flex:0 0 56px;width:56px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;font-weight:800}
.member-box-home-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.member-box-home-identity{min-width:0}
.member-box-home-identity>p{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 4px}
.member-box-home-identity>p>span{font-weight:400}
body[data-workspace="member"][data-page="today"] .member-box-home-identity>h1{margin:0;font-size:clamp(20px,3vw,26px);font-weight:800;line-height:1.35;letter-spacing:-.7px;overflow-wrap:anywhere}
body[data-workspace="member"][data-page="today"] .member-home-workout-label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:4px}
@media(max-width:700px){body[data-workspace="member"][data-page="today"] .member-box-home-heading{padding:16px;gap:12px;margin-bottom:12px}.member-box-home-avatar{flex-basis:48px;width:48px}}

/* Composer cards retain breathing room instead of placing controls against the edge. */
/* Mobile member rows: identity first, membership and actions grouped below it. */
@media(max-width:700px){
 body[data-workspace="box"] #main .member-list-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-2) var(--space-3);padding-block:var(--space-4)}
 body[data-workspace="box"] #main .member-list-row>.member-identity{grid-column:1;grid-row:1;gap:var(--space-3)}
 body[data-workspace="box"] #main .member-identity>div{min-width:0}
 body[data-workspace="box"] #main .member-identity strong{font-size:15px;line-height:1.5}
 body[data-workspace="box"] #main .member-list-row>.pill{grid-column:2;grid-row:1;justify-self:end;align-self:center;width:auto}
 body[data-workspace="box"] #main .member-list-row:has(.member-coach-badge)>.pill{display:none}
 body[data-workspace="box"] #main .member-list-row:has(.member-coach-badge)>.member-identity{grid-column:1/-1}
 body[data-workspace="box"] #main .member-list-row>.member-pass{grid-column:1/-1;grid-row:2;margin-left:50px;font-size:13px;overflow-wrap:anywhere}
 body[data-workspace="box"] #main .member-list-row>.member-row-actions{grid-column:1/-1;grid-row:3;margin-left:50px;justify-content:flex-start;gap:var(--space-2)}
 body[data-workspace="box"] #main .member-list-row>.member-row-actions .btn{flex:0 1 auto}
 body[data-workspace="box"] #main .member-list-row:hover{background:transparent}
}
@media(max-width:700px){
 #main .training-workspace--compose .program-page-pane{padding:var(--space-5) var(--space-4)!important;border:1px solid var(--ui-surface-line);border-radius:var(--radius-card);background:var(--paper)}
 #main .training-workspace--compose :is(.training-block>.form-grid,.program-slot-fields){gap:var(--space-4)}
 #main .training-workspace--compose .program-slot{padding:var(--space-4);margin-block:var(--space-5)}
 #main .training-workspace--compose .program-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
 #main .training-workspace--compose .program-page-actions>.btn{width:100%;min-width:0;justify-self:stretch;margin-inline:0}
 #main .training-workspace--compose .program-page-actions [type="submit"],#main .training-workspace--compose .program-page-actions:has([data-train="compose-prev"]:not([hidden])) [data-train="compose-next"]{grid-column:1/-1;width:100%;min-width:0}
}
.member-box-slide{position:relative;flex:0 0 88%;min-width:0;scroll-snap-align:start}
.member-box-rail:has(>.member-box-slide:only-child)>.member-box-slide{flex-basis:100%}
.member-box-slide>.member-box-option{width:100%;height:100%;padding-right:54px}
.member-box-hide{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;padding:0;width:36px;height:36px;background:transparent;border:0;color:var(--muted)}
.member-box-hide svg{width:20px;height:20px}
.member-box-slide>.member-box-option>span:last-child{display:none}
.member-hidden-box-link{margin-top:12px}

.member-box-empty p{word-break:keep-all;overflow-wrap:anywhere}

.member-previous-box-copy{flex:1;min-width:0}
.member-previous-box-copy small{display:block;margin-top:4px}
.member-previous-box .account-actions{justify-content:space-between}

/* Keep the return action beside the existing date picker. */
.home-wod-date-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.member-home-wod>.member-home-section-heading{flex-wrap:wrap;gap:12px}
.home-wod-date-actions .btn{white-space:nowrap}


.home-wod-weekday{display:flex;align-items:center;gap:8px}
.home-wod-weekday .text-link{border:0;background:transparent;padding:0;color:var(--box-deep,var(--ink));font:inherit;font-weight:600;white-space:nowrap}

/* Reserve today action space so repeated date navigation stays in place. */
.dashboard-day-actions{display:grid;grid-template-columns:var(--ui-control-size) 60px var(--ui-control-size);gap:4px;flex-shrink:0}
.dashboard-day-actions [data-dashboard-today]:disabled{visibility:hidden;pointer-events:none}
.dashboard-day-actions [data-dashboard-today]{white-space:nowrap}

.wod-history-person .history-member-avatar{width:40px;height:40px;aspect-ratio:1;object-fit:cover;border-radius:50%;flex-shrink:0}
.wod-history-person .history-member-placeholder.has-photo{display:none}

.personal-workout-results{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.personal-workout-results summary{font-weight:700;cursor:pointer}
.personal-workout-result-fields{display:grid;gap:16px;padding-top:16px}


.personal-workout-actions{display:grid;grid-template-columns:1fr;gap:12px}
.personal-workout-actions>.account-field,.personal-workout-actions>p,.personal-workout-actions>.btn{grid-column:1/-1;margin:0}
.personal-workout-draft-tools{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--muted)}
.personal-workout-draft-tools .text-link{background:transparent;border:0;color:var(--muted);font:inherit;white-space:nowrap}

.personal-workout-actions{grid-template-columns:1fr 1fr;gap:8px}
.personal-workout-actions>.btn{grid-column:auto;white-space:nowrap}
.personal-workout-actions>[value="record"]{grid-column:1/-1}
.draft-leave-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.draft-leave-actions>[data-draft-leave="save"]{grid-column:1/-1}

/* Keep personal workout actions above the actual mobile navigation height. */
@media(max-width:700px){body[data-workspace="member"] #main .personal-workout-actions{bottom:calc(var(--mobile-nav-height,calc(80px + env(safe-area-inset-bottom))) + 8px);z-index:5}}

@media(max-width:700px) and (display-mode:standalone){#topbar{height:calc(65px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}}

@media(max-width:700px){
 body[data-workspace] #main .wod-space-library-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;text-align:left}
 body[data-workspace] #main .wod-space-library-head>div{display:contents}
 body[data-workspace] #main .wod-space-library-head h1{grid-column:1;grid-row:1;min-width:0;margin:0;font-size:clamp(20px,6vw,24px);line-height:1.3;word-break:keep-all}
 body[data-workspace] #main .wod-space-library-head>.btn{grid-column:2;grid-row:1;justify-self:end;margin:0;font-size:14px;min-height:var(--control-height);white-space:nowrap}
 body[data-workspace] #main .wod-space-library-head p{grid-column:1/-1;grid-row:2;margin:0;text-align:left}
 body[data-workspace] #main .wod-space-library-head .eyebrow{display:none}
}

/* Screens shared by members and box owners use the same content controls. */
body[data-workspace] #main .wod-space-compose>.page-head{align-items:flex-start;text-align:left;gap:16px;margin:0 0 24px}
body[data-workspace] #main .wod-space-compose>.page-head h1{font-size:28px;line-height:1.3;font-weight:800;letter-spacing:-.8px;margin:0}
body[data-workspace] #main .wod-space-compose>.page-head p{font-size:13px;line-height:1.6;margin:8px 0 0;color:var(--muted)}
body[data-workspace] #main .wod-space-page :is(.btn,.chip){font-size:14px}
body[data-workspace][data-page="community"] #main .community-section-head{margin-bottom:16px;gap:12px;align-items:center}
body[data-workspace][data-page="community"] #main .community-section-head .eyebrow{display:none}
body[data-workspace][data-page="community"] #main .community-autoplay-toggle{font-size:12px;min-height:var(--control-height);flex-shrink:0}
@media(max-width:700px){
 body[data-workspace] #main .wod-space-compose>.page-head{margin-bottom:20px}
 body[data-workspace] #main .wod-space-compose>.page-head h1{font-size:26px}
}

@media(max-width:700px){
 body[data-workspace] #main .community-section-tabs>a{font-size:14px;flex:1 1 0}
}

/* Benchmark input entry follows the same title/action rhythm as shared WODs. */
body[data-workspace] #main .benchmark-panel>.account-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;text-align:left}
body[data-workspace] #main .benchmark-panel>.account-section-head>div{display:contents}
body[data-workspace] #main .benchmark-panel>.account-section-head .eyebrow{display:none}
body[data-workspace] #main .benchmark-panel>.account-section-head h2{grid-column:1;grid-row:1;min-width:0;margin:0;word-break:keep-all}
body[data-workspace] #main .benchmark-panel>.account-section-head>.btn{grid-column:2;grid-row:1;justify-self:end;margin:0;min-height:var(--control-height);white-space:nowrap}
body[data-workspace] #main .benchmark-panel>.account-section-head p{grid-column:1/-1;grid-row:2;margin:0;text-align:left}

#history-closeout .account-actions[hidden]{display:none!important}
.history-quick-time{display:block;margin-bottom:var(--space-2);color:var(--muted);font-size:13px}

/* In-app brand keeps the original lime tile; launcher icon is separate. */
.sidebar .brand .aglet-brand-mark{width:34px;height:38px;flex-shrink:0}

/* Category filters use native touch inertia, not the card carousel gesture handler. */
.wod-space-categories{touch-action:pan-x pan-y;scroll-behavior:auto;scroll-snap-type:none;-webkit-overflow-scrolling:touch}
.wod-space-categories.is-menu-dragging{cursor:grabbing;user-select:none;scroll-behavior:auto}

/* Touch gestures on card rails stay browser-native; mouse retains drag and snap. */
:is(.community-news,.community-hot-track,.community-story-detail,.member-box-rail){touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
:is(.community-news,.community-hot-track,.community-story-detail,.member-box-rail).is-dragging{scroll-behavior:auto}

/* Page overlays with native horizontal media must not block pan-x at the ancestor. */
#modal[open][data-presentation="page"]:has([data-community-slider],[data-gallery-track],.news-post-track),body[data-workspace="box"] #modal[open][data-presentation="page"]:has([data-community-slider],[data-gallery-track],.news-post-track){touch-action:pan-x pan-y}
#modal[open][data-presentation="page"] .modal-head{touch-action:pan-y}

/* Mobile recommendations occupy their own row above the textarea, never covering typed text. */
@media(max-width:700px){.movement-suggestions[data-inline-mobile="true"]{position:relative;z-index:auto;margin:0 0 8px;max-height:144px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}

/* Keep photo references beside their context and navigation beside the WOD heading. */
#main .program-wod-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#main .program-wod-head h2{margin:0;min-width:0}
#main .program-wod-head [data-train="program-community"]{flex:none;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--muted);padding-inline:8px;white-space:nowrap}
.wod-photo-reference{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.wod-photo-reference p{margin:0;min-width:0;line-height:1.6}
.wod-photo-reference .btn{flex:none;white-space:nowrap}
@media(max-width:700px){
 #main .program-wod-head{gap:8px}
 #main .program-wod-head [data-train="program-community"]{padding-inline:0}
 #main .program-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #main .program-source-actions>.btn{width:100%;min-width:0;white-space:normal}
 .wod-photo-reference{align-items:flex-start;gap:8px}
 .wod-photo-reference p{align-self:center}
}

/* Align the first line, even when the WOD name wraps beneath the class type. */
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-class{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;gap:12px}
body[data-workspace="box"] #main .dashboard-session-panel :is(.dashboard-time strong,.dashboard-class-info h3,.dashboard-seats strong){margin:0;line-height:1.5}
body[data-workspace="box"] #main .dashboard-session-panel .dashboard-class-wod{margin:4px 0 0;line-height:1.5;overflow-wrap:anywhere}

.booking-roster-avatar{width:38px;height:38px;aspect-ratio:1;object-fit:cover;border-radius:50%;flex-shrink:0}

.history-quick-name:has(.booking-roster-avatar){display:flex;align-items:center;gap:8px}

/* Visits keep the member box context and use shared controls. */
.visit-page{max-width:820px;margin:0 auto}.visit-card{padding:24px;margin-bottom:16px;min-width:0;border:1px solid var(--line);box-shadow:none}.visit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.visit-heading>div{min-width:0}.visit-card h2{font-size:20px;line-height:1.4;margin:0;overflow-wrap:anywhere}.visit-heading .pill{flex:none}.visit-date{font-size:22px;font-weight:800;line-height:1.5;margin:16px 0}.visit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.visit-actions>.btn{width:100%;min-width:0;white-space:normal}.visit-primary{display:flex;width:100%;margin-top:16px}.visit-facts{margin:16px 0 0}.visit-facts>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.6}.visit-facts dt{color:var(--muted)}.visit-facts dd{margin:0;overflow-wrap:anywhere}.visit-extra,.visit-wod-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.visit-wod-section pre{white-space:pre-wrap;font:inherit;line-height:1.75}.visit-cancel-link{margin-top:16px;text-align:right}.visit-home-cards{margin-top:16px}.visit-card .text-pre{white-space:pre-wrap}
@media(max-width:700px){.visit-card{padding:20px 16px}.visit-card h2{font-size:19px}}

/* Native snapping settles visits after the gesture; no JS scroll correction or rerender. */
.visit-home-cards{min-width:0}.visit-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.visit-rail-heading h2{margin:0;font-size:17px;line-height:1.5}.visit-rail-controls{display:flex;align-items:center;gap:12px;flex:none;color:var(--muted);font-size:13px}.visit-reservation-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:1px 1px 4px;min-width:0;-webkit-overflow-scrolling:touch}.visit-reservation-rail::-webkit-scrollbar{display:none}.visit-reservation-rail>.visit-card{scroll-snap-align:start;scroll-snap-stop:normal;flex:0 0 calc(100% - 32px);min-width:0;box-sizing:border-box;margin:0}.visit-reservation-rail>.visit-card:only-child{flex-basis:100%}
.visit-reservation-rail.is-dragging{scroll-snap-type:none}
