/* Shared workspace refinements. Loaded after feature styles; tenant colours remain authoritative. */
:root { --workspace-space:clamp(1rem,2vw,1.6rem); }
.main-content,.member-content { min-width:0; }
.workspace .topbar { gap:1rem; height:auto; min-height:76px; padding-block:.8rem; }
.topbar-heading,.topbar-title-block { min-width:0; }
.topbar-heading { flex:1; }
.page-heading { max-width:none; line-height:1.5; text-wrap:balance; }
.topbar-actions { flex-shrink:0; gap:.6rem; }
.main-content { padding:var(--workspace-space); }
.main-content > .row,.member-content > .row { --bs-gutter-x:1.25rem; }
.workspace-intro { display:flex; justify-content:space-between; align-items:center; gap:1.25rem; position:relative; padding:clamp(1.15rem,2.4vw,1.8rem); border:1px solid var(--border-soft); border-radius:22px; background:linear-gradient(115deg,var(--surface,#fff) 45%,color-mix(in srgb,var(--gym-primary) 5%,white)); box-shadow:var(--elev-1); }
.workspace-intro::before { content:""; position:absolute; inset-block:24%; inset-inline-start:0; width:3px; background:var(--gym-primary); border-radius:4px; }
.workspace-intro-copy { min-width:0; }
.workspace-eyebrow { display:block; color:var(--gym-primary); font-size:.75rem; font-weight:800; margin-bottom:.35rem; }
.workspace-intro h2 { margin:0 0 .45rem; font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.45; font-weight:800; color:var(--ink-strong); }
.workspace-intro p { margin:0; color:var(--ink-soft); font-size:.88rem; line-height:1.9; max-width:70ch; }
.workspace-intro-icon { flex:0 0 58px; width:58px; height:58px; display:grid; place-items:center; background:color-mix(in srgb,var(--gym-primary) 8%,white); color:var(--gym-primary); border:1px solid color-mix(in srgb,var(--gym-primary) 12%,white); border-radius:18px; }
.workspace-intro-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; }
.card { min-width:0; }
.card-header { flex-wrap:wrap; gap:.5rem; line-height:1.7; }
.card-header > .badge { margin-inline-start:auto; }
.card-body { padding:var(--workspace-space); }
.card .card:last-child { margin-bottom:0; }
label:not(.btn) { line-height:1.65; }
.form-control,.form-select { max-width:100%; }
.form-control:disabled,.form-select:disabled { background:#f1f3f8; color:#646e87; cursor:not-allowed; }
input[dir=ltr] { text-align:start; }
.form-control[type=email],.form-control[type=tel],.form-control[type=url],.form-control[type=number] { direction:ltr; text-align:start; }
.form-grid > *,form.row > * { min-width:0; }
.form-text,.invalid-feedback { line-height:1.8; }
.invalid-feedback { color:#b5264b; margin-top:.4rem; }
.workspace-password { position:relative; }
.workspace-password > .form-control { padding-inline-end:5rem; }
.workspace-password-button { position:absolute; inset-inline-end:.35rem; top:50%; transform:translateY(-50%); min-height:38px; min-width:54px; border:0; border-radius:8px; background:transparent; color:var(--gym-primary); font-size:.75rem; font-weight:800; padding:.4rem; }
.workspace-password-button:hover { background:color-mix(in srgb,var(--gym-primary) 7%,white); }
.workspace-password-button:focus-visible { outline:2px solid var(--gym-primary); outline-offset:1px; }
.table-responsive { max-width:100%; scrollbar-width:thin; scrollbar-color:#b8bfd3 #f5f6fa; scroll-margin-block:1rem; }
.table-responsive::after { display:none; }
.table-responsive > .table { min-width:100%; width:100%; }
.table thead th { padding-block:1rem; color:#53607c; font-size:.76rem; line-height:1.6; white-space:nowrap; vertical-align:middle; }
.table tbody td { line-height:1.8; vertical-align:middle; }
.table td code { overflow-wrap:anywhere; }
.table td .btn-sm { min-height:38px; white-space:nowrap; }
.table caption { color:var(--ink-soft); }
.table-scroll-hint { display:flex; align-items:center; gap:.45rem; margin:0; padding:.5rem .9rem; font-size:.74rem; color:#5d6780; background:#f8f9fc; border-block-end:1px solid var(--border-soft); }
.table-scroll-hint::before { content:"↔"; color:var(--gym-primary); font-size:1rem; }
.table-scroll-hint[hidden] { display:none; }
.table-responsive:focus-visible { outline:2px solid var(--gym-primary); outline-offset:3px; }
.empty-state { text-align:center; font-size:.87rem; line-height:1.9; }
.empty-state::before { width:36px; }
.page-toolbar-copy h3 { margin:.15rem 0; font-size:1.05rem; font-weight:800; }
.page-toolbar-actions { min-width:0; }
.pagination { flex-wrap:wrap; gap:.2rem; margin:0; }
.pagination .page-link { border-radius:9px!important; min-height:40px; display:grid; place-items:center; }
.badge { max-width:100%; line-height:1.5; white-space:normal; }
.modal { --bs-modal-margin:1rem; }
.modal-header { gap:1rem; }
.modal-title { line-height:1.7; overflow-wrap:anywhere; }
.modal-header .btn-close { flex-shrink:0; }
.modal-body { overflow-wrap:anywhere; }
.modal-footer { flex-wrap:wrap; gap:.5rem; }
.modal-footer > * { margin:0; }
:is(.module-hero,.management-hero,.finance-hero,.nutrition-studio-hero,.workout-builder-hero,.progress-studio-hero,.members-hero,.member-onboarding-hero) p { font-size:.86rem; line-height:1.9; }
:is(.module-orbit,.management-orbit,.finance-orbit,.nutrition-orb,.members-hero-orbit,.progress-orbit,.ops-orbit) i { animation:none; }
.member-table tbody tr:hover { transform:none; }
.auth-back-link { display:inline-flex; align-items:center; gap:.4rem; color:var(--ink-soft); text-decoration:none; font-size:.8rem; font-weight:700; }
.auth-back-link:hover { color:var(--gym-primary); }
.auth-form-top { gap:1rem; flex-wrap:wrap; }
.staff-page .feedback-stack,.member-page .feedback-stack { max-height:calc(100dvh - 2rem); overflow:auto; }
@media(max-width:991.98px) {
 .workspace .topbar { min-height:70px; }
 .advanced-toc { position:static; }
 .modal { --bs-modal-margin:.75rem; }
}
@media(max-width:767.98px) {
 .workspace-intro { gap:.8rem; border-radius:18px; }
 .workspace-intro-icon { width:46px; height:46px; flex-basis:46px; border-radius:14px; }
 .workspace-intro p { font-size:.83rem; }
 .form-control,.form-select { font-size:16px; }
 .table td .btn-sm { min-height:44px; }
 .table thead th,.table td { padding:.8rem; }
 .modal-footer .btn { flex:1 1 auto; min-height:44px; }
 .workspace-password-button { min-height:44px; }
 .member-topbar { flex-wrap:wrap; gap:.7rem; }
 .member-topbar .member-actions { flex-wrap:wrap; gap:.4rem; }
}
@media(max-width:575.98px) {
 .workspace .topbar { padding-inline:.8rem; gap:.55rem; }
 .topbar-actions { gap:.3rem; }
 .topbar-account { padding:.3rem; }
 .page-heading { font-size:.95rem; }
 .workspace-intro { padding:1rem; align-items:flex-start; }
 .workspace-intro-icon { display:none; }
 .workspace-eyebrow { font-size:.7rem; }
 .main-content > .row,.member-content > .row { --bs-gutter-x:1rem; }
 .card-header { min-height:54px; }
 .form-grid { grid-template-columns:minmax(0,1fr); }
 .form-grid .span-2 { grid-column:1; }
 .modal-dialog { margin:.5rem; }
 .platform-detail-grid { grid-template-columns:minmax(0,1fr); }
 .platform-intro { align-items:flex-start; flex-wrap:wrap; }
 .auth-back-link { font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
@media print {
 .workspace-intro,.table-scroll-hint,.workspace-password-button { display:none!important; }
 .table-responsive { overflow:visible; border:0; }
}
