/* Shared UI contract. Load after feature styles; do not style editors as ordinary fields. */
: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:flex;gap:16px;margin:16px 0 24px;overflow-x:auto;scrollbar-width:none;align-items:stretch}
.community-box-shortcuts>div{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}.community-box-shortcuts>div+div .community-box-profile-list{border-left:1px solid var(--line);padding-left:16px}.community-box-shortcuts>div+div h2{padding-left:16px}
#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 0 0;align-items:flex-start;width:max-content;flex:1}
.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}
.community-box-photo{width:56px;height:56px;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-profile small{font-size:12px;line-height:1.4;max-width:100%;overflow-wrap:anywhere}.community-box-profile small>span{display:block}.community-box-profile{width:76px}.community-box-shortcuts::-webkit-scrollbar{display:none}.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}}
