/* UX/UI consolidation 2026-09-30 */
.mobile-dock-guest{grid-template-columns:repeat(4,1fr)!important}.mobile-dock-auth{grid-template-columns:repeat(5,1fr)!important}
@media(max-width:760px){body:has(.mobile-dock){padding-bottom:calc(92px + env(safe-area-inset-bottom))}body:has(.mobile-dock-guest){padding-bottom:calc(84px + env(safe-area-inset-bottom))}}
.dock-icon-badge{position:relative}.dock-icon-badge>b{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--volt);color:#17200f;font-size:9px;line-height:16px;text-align:center;font-weight:900}
.system-bubble-v16{max-width:90%!important;margin:10px auto!important;background:color-mix(in srgb,var(--paper-2) 88%,transparent)!important;border:1px dashed var(--line-strong)!important;color:var(--muted)!important;text-align:center!important}
.booking-unavailable-note{display:block;padding:10px 0;font-weight:700}.direct-payment-note{font-size:12px;line-height:1.45;color:var(--muted)}.booking-self-note18 small{display:block;margin-top:6px;color:var(--muted);line-height:1.4}.profile-slot-count{display:block;margin-top:4px;color:var(--muted)}
.club-hub-grid-v1{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.club-create-card-v1{margin-top:22px}@media(max-width:900px){.club-hub-grid-v1{grid-template-columns:1fr 1fr}}@media(max-width:620px){.club-hub-grid-v1{grid-template-columns:1fr}}
.notification-row-v1{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.notification-read-v1{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:8px}.notification-read-v1:hover{color:var(--text)}
.profile-more-actions-v1{margin-top:6px}.profile-more-actions-v1>summary{cursor:pointer;list-style:none;text-align:center;color:var(--muted);font-weight:700;font-size:13px;padding:9px}.profile-more-actions-v1>summary::-webkit-details-marker{display:none}.profile-more-actions-v1[open]>summary{color:var(--text)}
.progress-disclaimer19{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}
/* Staff workspace cards: restore the intended title/description hierarchy. */
.staff-refactor-actions a,.club-manage-actions a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 14px;font-weight:400}
.staff-refactor-actions a>span,.club-manage-actions a>span{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0}
.staff-refactor-actions a>b,.club-manage-actions a>b{font-weight:800}
.staff-refactor-actions a b,.club-manage-actions a b{display:block;min-width:0;font-size:13px;line-height:1.3;font-weight:800;overflow-wrap:anywhere}
.staff-refactor-actions a small,.club-manage-actions a small{display:block;min-width:0;margin:0;color:var(--muted);font-size:11px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}
.staff-refactor-actions a>strong,.club-manage-actions a>strong{display:grid;place-items:center;flex:0 0 auto;margin:0;font-size:20px;line-height:1;font-weight:900}
@media(max-width:600px){.staff-refactor-actions a,.club-manage-actions a{grid-template-columns:minmax(0,1fr) auto;gap:10px}}

/* Trainer tools: keep short management cards at content height instead of stretching to the tallest card. */
.internal-workspace18 .workspace-forms18{align-items:start!important}
.internal-workspace18 .workspace-form18{align-self:start!important;height:max-content!important;min-height:0!important}
.internal-workspace18 .workspace-form18 .workspace-form-head18{margin:0!important}
.internal-workspace18 .workspace-form18 .workspace-settings18{align-content:start!important}

/* 2026-10-06 — GLOBAL CHECKBOX RENDERING
   Use one explicit cross-browser visual for all real checkboxes.
   Hidden custom switch/choice inputs remain hidden by their component rules. */
input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  min-height:21px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 21px!important;
  display:inline-grid!important;
  place-items:center!important;
  vertical-align:middle!important;
  border:2px solid var(--line-strong)!important;
  border-radius:5px!important;
  background-color:var(--paper)!important;
  background-image:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  accent-color:auto!important;
}
input[type="checkbox"]:checked{
  border-color:var(--volt)!important;
  background-color:var(--volt)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5 8 14.5 16 5.8' fill='none' stroke='%23182014' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:15px 15px!important;
}
input[type="checkbox"]:hover{border-color:var(--volt-ink)!important}
input[type="checkbox"]:focus-visible{outline:3px solid color-mix(in srgb,var(--volt) 45%,transparent)!important;outline-offset:2px!important}
input[type="checkbox"]:disabled{opacity:.55!important;cursor:not-allowed!important}
/* Existing component-specific hidden checkbox controls. */
.switch18 input[type="checkbox"],
.tariff-toggle18 input[type="checkbox"],
.progress-goal-option19 input[type="checkbox"]{
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
/* consent-v4 previously relied on a form-control pseudo-element. Use the same explicit mark. */
.consent-v4>input[type="checkbox"]:checked{
  background-color:var(--volt)!important;
  border-color:var(--volt)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5 8 14.5 16 5.8' fill='none' stroke='%23182014' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.consent-v4>input[type="checkbox"]:checked::after{content:none!important}
