.fitness-nav{display:flex;flex-wrap:wrap;gap:.6rem 1.3rem;padding:1rem 0;border-bottom:1px solid #dce8e1;margin-bottom:1.5rem}.fitness-nav a{font-weight:650;color:#176b4c}.fitness-hero{padding:clamp(1.5rem,4vw,3.5rem);border-radius:20px;background:#eaf4ee;margin-bottom:1.6rem;max-width:100%}.fitness-hero h1{font-size:clamp(2rem,4.5vw,3.6rem);letter-spacing:-.04em;line-height:1.07;max-width:900px;color:#163f2f;margin:.6rem 0 1rem}.fitness-hero p{max-width:780px;line-height:1.65}.fitness-eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.12em}.fitness-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1rem 0}.fitness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.2rem;margin:1.5rem 0}.fitness-list{grid-template-columns:1fr}.fitness-card,.fitness-panel,.fitness-filters,.fitness-empty,.fitness-map{border:1px solid #dbe6df;background:#fff;border-radius:14px;padding:1.4rem;margin-bottom:1rem;min-width:0;overflow-wrap:anywhere}.fitness-card{height:100%;margin:0;display:flex;flex-direction:column;gap:.4rem}.fitness-card-heading{display:flex;gap:1rem;align-items:center}.fitness-card-heading img,.fitness-avatar{border-radius:50%;width:64px;height:64px;object-fit:cover;flex-shrink:0}.fitness-avatar{background:#eaf4ee;color:#176b4c;display:grid;place-items:center;font-size:1.6rem}.fitness-card h2{font-size:1.25rem;margin:.1rem 0}.fitness-card p{margin:.3rem 0;line-height:1.55}.fitness-card .btn{align-self:flex-start;margin-top:auto}.fitness-specialties{font-weight:650;color:#285a44}.fitness-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.fitness-badges span{background:#edf4ef;color:#22573e;padding:.3rem .65rem;border-radius:2rem;font-size:.8rem}.fitness-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin:1rem 0}.fitness-panel label,.fitness-filters label{display:block;font-weight:600;margin:.4rem 0}.fitness-panel input:not([type=checkbox]),.fitness-panel select,.fitness-panel textarea,.fitness-filters input:not([type=checkbox]),.fitness-filters select{width:100%;max-width:100%;border:1px solid #aebfb4;border-radius:7px;padding:.65rem;background:white;color:#162f23;min-height:44px}.fitness-panel textarea{min-height:115px;margin-bottom:1rem}.fitness-panel select[multiple]{min-height:145px}.fitness-check{display:flex!important;align-items:center;gap:.6rem;font-weight:500!important;padding:.5rem 0}.fitness-check input{width:20px;height:20px;flex-shrink:0}.fitness-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.fitness-panel h2{font-size:1.35rem;margin:0 0 1rem}.fitness-panel h3{font-size:1.1rem}.fitness-panel form+form{margin-top:1rem}.fitness-panel article+article,.fitness-review{border-top:1px solid #e2eae5;padding:1rem 0}.fitness-prose{white-space:pre-wrap}.fitness-portrait{border-radius:14px;object-fit:cover;margin-bottom:1rem}.fitness-panel dt{font-size:.85rem;color:#4b6155}.fitness-panel dd{margin:.2rem 0 1rem}.fitness-muted{color:#4b6155;line-height:1.6}.fitness-panel summary,.fitness-filters summary{font-size:1.05rem;font-weight:700;cursor:pointer;padding:.3rem}.fitness-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.fitness-kpis strong{display:block;font-size:2rem;color:#176b4c}.fitness-map [data-fitness-map-canvas]{height:380px;border-radius:12px}.fitness-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}.fitness-nav a:focus-visible,.fitness-panel :focus-visible,.fitness-filters :focus-visible{outline:3px solid #2169a6;outline-offset:3px}@media(max-width:700px){.fitness-detail-grid{grid-template-columns:1fr}.fitness-card,.fitness-panel,.fitness-filters{padding:1.1rem}.fitness-nav{gap:.6rem 1rem}.fitness-map [data-fitness-map-canvas]{height:290px}}

.fitness-shell{padding-top:1rem;padding-bottom:3rem}.fitness-grid>div{min-width:0;display:flex;flex-direction:column}.fitness-grid>div>.fitness-card{height:auto;flex:1}

/* Management inherits the shared dashboard shell and mobile navigation. */
.fitness-management { min-width: 0; max-width: 100%; overflow-wrap: anywhere; padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
.fitness-management .dashboard-heading > div,
.fitness-management .fitness-form-grid > div { min-width: 0; }
.fitness-management .fitness-kpis { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.fitness-management .fitness-actions { padding-inline-end: var(--platform-feedback-clearance-right, 0px); }
.fitness-management .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.fitness-management fieldset { min-width: 0; }

/* Fitness management dashboard refresh */
.fitness-management{
  width:min(1480px,100%);
  margin-inline:auto;
}
.fitness-management svg{
  display:block;
}
.fitness-management-hero{
  position:relative;
  overflow:hidden;
  margin:0 0 1rem;
  padding:1.15rem 1.35rem 1.35rem;
  border:1px solid #dfeae7;
  border-radius:20px;
  background:
    radial-gradient(circle at 78% 14%,rgba(0,107,94,.10),transparent 29%),
    radial-gradient(circle at 92% 84%,rgba(248,170,32,.09),transparent 26%),
    linear-gradient(135deg,#fff 0%,#fbfefd 58%,#f1f9f7 100%);
  box-shadow:0 10px 34px rgba(0,78,72,.055);
}
.fitness-management-hero::after{
  content:"";
  position:absolute;
  width:360px;
  height:180px;
  right:-80px;
  top:-92px;
  border:38px solid rgba(0,107,94,.04);
  border-radius:50%;
  transform:rotate(-10deg);
  pointer-events:none;
}
.fitness-management-breadcrumb{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.9rem;
  color:#6d8481;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.01em;
}
.fitness-management-breadcrumb strong{
  color:var(--pm-primary-dark);
}
.fitness-management-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,320px);
  gap:1.5rem;
  align-items:center;
}
.fitness-management-title-block{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  min-width:0;
}
.fitness-management-title-icon,
.fitness-community-icon,
.fitness-dashboard-heading-icon,
.fitness-kpi-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.fitness-management-title-icon{
  width:48px;
  height:48px;
  margin-top:.15rem;
  color:var(--pm-primary);
  background:var(--pm-primary-soft);
  border:1px solid var(--pm-primary-border);
  border-radius:14px;
}
.fitness-management-title-icon svg,
.fitness-community-icon svg,
.fitness-dashboard-heading-icon svg,
.fitness-kpi-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fitness-management-title-block h1{
  max-width:920px;
  margin:0;
  color:#083f3b;
  font-size:clamp(2rem,3.6vw,3.35rem);
  line-height:1.03;
  letter-spacing:-.05em;
}
.fitness-management-title-block p{
  max-width:820px;
  margin:.65rem 0 0;
  color:#58716e;
  font-size:.98rem;
  line-height:1.55;
}
.fitness-community-card{
  min-width:0;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:.9rem;
  padding:1rem;
  border:1px solid rgba(175,207,201,.75);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 30px rgba(0,78,72,.07);
  backdrop-filter:blur(8px);
}
.fitness-community-icon{
  width:52px;
  height:52px;
  color:var(--pm-primary);
  background:#e4f6f1;
  border-radius:14px;
}
.fitness-community-card strong,
.fitness-community-card span{
  display:block;
}
.fitness-community-card strong{
  color:#163f3b;
  font-size:.9rem;
  line-height:1.3;
}
.fitness-community-card div>span{
  margin-top:.3rem;
  color:#718481;
  font-size:.72rem;
}
.fitness-management .fitness-nav{
  flex-wrap:nowrap;
  gap:0;
  margin:0 0 1.25rem;
  padding:0 .2rem;
  overflow-x:auto;
  border-bottom:1px solid #dce8e5;
  scrollbar-width:thin;
  scrollbar-color:#b8cfca transparent;
}
.fitness-management .fitness-nav a{
  position:relative;
  flex:0 0 auto;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  padding:.4rem .85rem .65rem;
  color:#526b68;
  font-size:.82rem;
  font-weight:720;
  text-decoration:none;
  white-space:nowrap;
  transition:color .15s ease,background .15s ease;
}
.fitness-management .fitness-nav a::after{
  content:"";
  position:absolute;
  left:.85rem;
  right:.85rem;
  bottom:-1px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:transparent;
  transform:scaleX(.45);
  transition:background .15s ease,transform .15s ease;
}
.fitness-management .fitness-nav a:hover{
  color:var(--pm-primary-dark);
  background:linear-gradient(to bottom,transparent,#f5faf8);
}
.fitness-management .fitness-nav a.is-active,
.fitness-management .fitness-nav a[aria-current="page"]{
  color:var(--pm-primary-dark);
  font-weight:850;
}
.fitness-management .fitness-nav a.is-active::after,
.fitness-management .fitness-nav a[aria-current="page"]::after{
  background:var(--pm-primary);
  transform:scaleX(1);
}
.fitness-dashboard-panel{
  min-width:0;
  padding:1.35rem;
  border:1px solid #e1ebe8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 38px rgba(0,78,72,.065);
}
.fitness-dashboard-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.25rem;
}
.fitness-dashboard-heading-wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:.85rem;
}
.fitness-dashboard-heading-icon{
  width:46px;
  height:46px;
  color:var(--pm-primary);
  background:linear-gradient(145deg,#e7f6f2,#f4fbf9);
  border:1px solid #d2ebe4;
  border-radius:14px;
}
.fitness-dashboard-panel-head h2{
  margin:0;
  color:#153e3a;
  font-size:1.55rem;
  letter-spacing:-.03em;
}
.fitness-dashboard-panel-head p{
  margin:.22rem 0 0;
  color:#6a807d;
  font-size:.8rem;
}
.fitness-live-pill{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  flex:0 0 auto;
  padding:.35rem .75rem;
  color:#315f58;
  background:#f5faf8;
  border:1px solid #dce9e5;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.fitness-live-pill>span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#25a878;
  box-shadow:0 0 0 4px rgba(37,168,120,.12);
}
.fitness-management .fitness-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.85rem;
}
.fitness-kpi-card{
  position:relative;
  min-width:0;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:1rem;
  overflow:hidden;
  border:1px solid #dfe9e6;
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fcfefd 100%);
  box-shadow:0 5px 16px rgba(0,78,72,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.fitness-kpi-card::after{
  content:"";
  position:absolute;
  width:72px;
  height:72px;
  right:-34px;
  bottom:-34px;
  border-radius:50%;
  background:currentColor;
  opacity:.035;
}
.fitness-kpi-card:hover{
  transform:translateY(-2px);
  border-color:#cbded9;
  box-shadow:0 12px 25px rgba(0,78,72,.075);
}
.fitness-kpi-icon{
  width:40px;
  height:40px;
  margin-bottom:.75rem;
  border-radius:11px;
}
.fitness-kpi-icon svg{
  width:20px;
  height:20px;
  stroke-width:1.8;
}
.fitness-kpi-label{
  min-height:2.55em;
  color:#395956;
  font-size:.76rem;
  font-weight:720;
  line-height:1.28;
}
.fitness-kpi-value{
  margin-top:auto;
  color:#064f48;
  font-size:2rem;
  font-weight:850;
  line-height:1;
  letter-spacing:-.04em;
}
.fitness-kpi-people .fitness-kpi-icon,
.fitness-kpi-clock .fitness-kpi-icon,
.fitness-kpi-eye .fitness-kpi-icon{color:#0b8c67;background:#e7f7f1}
.fitness-kpi-document .fitness-kpi-icon,
.fitness-kpi-flag .fitness-kpi-icon,
.fitness-kpi-message .fitness-kpi-icon{color:#2d78d4;background:#edf5ff}
.fitness-kpi-application .fitness-kpi-icon,
.fitness-kpi-star .fitness-kpi-icon{color:#c47b04;background:#fff6df}
.fitness-kpi-shield .fitness-kpi-icon,
.fitness-kpi-search .fitness-kpi-icon{color:#7259cf;background:#f1edff}
.fitness-kpi-link .fitness-kpi-icon,
.fitness-kpi-mail .fitness-kpi-icon{color:#c9485a;background:#fff0f3}
.fitness-kpi-default .fitness-kpi-icon{color:#526f6c;background:#eef4f2}
.fitness-dashboard-note{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:.75rem;
  margin-top:1.1rem;
  padding:.85rem 1rem;
  border:1px solid #d9ece7;
  border-radius:13px;
  background:linear-gradient(90deg,#eaf8f4,#f5fbf9);
}
.fitness-dashboard-note-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--pm-primary);
  border-radius:50%;
  font-size:.82rem;
  font-weight:900;
}
.fitness-dashboard-note p{
  margin:0;
  color:#486763;
  font-size:.76rem;
  line-height:1.5;
}
.fitness-dashboard-note strong{
  color:#1a514b;
}
.fitness-management>.fitness-panel{
  border-color:#e0ebe8;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,78,72,.045);
}
.fitness-management>.fitness-panel h2{
  color:#164a44;
}

@media(max-width:1280px){
  .fitness-management .fitness-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1050px){
  .fitness-management-hero-grid{grid-template-columns:1fr}
  .fitness-community-card{max-width:380px}
  .fitness-management .fitness-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .fitness-management-hero{padding:1rem;border-radius:16px}
  .fitness-management-title-icon{width:42px;height:42px;border-radius:12px}
  .fitness-management-title-block{gap:.8rem}
  .fitness-management-title-block h1{font-size:clamp(1.8rem,8vw,2.45rem)}
  .fitness-management-title-block p{font-size:.88rem}
  .fitness-community-card{display:none}
  .fitness-management .fitness-nav{margin-inline:-.25rem;padding-inline:.25rem}
  .fitness-dashboard-panel{padding:1rem;border-radius:16px}
  .fitness-dashboard-panel-head{align-items:flex-start}
  .fitness-management .fitness-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fitness-kpi-card{min-height:140px}
}
@media(max-width:480px){
  .fitness-management-title-icon{display:none}
  .fitness-management-breadcrumb{margin-bottom:.65rem}
  .fitness-dashboard-panel-head{flex-direction:column}
  .fitness-live-pill{margin-left:3.8rem}
  .fitness-management .fitness-kpis{grid-template-columns:1fr}
  .fitness-kpi-card{min-height:126px}
  .fitness-kpi-label{min-height:auto}
  .fitness-dashboard-note{align-items:start}
}
@media(prefers-reduced-motion:reduce){
  .fitness-kpi-card,.fitness-management .fitness-nav a,.fitness-management .fitness-nav a::after{transition:none}
  .fitness-kpi-card:hover{transform:none}
}

/* Fitness manager assignment refresh */
.fitness-manager-assignment{
  padding:1.55rem!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff 0%,#fdfefe 100%);
  box-shadow:0 14px 36px rgba(0,78,72,.06)!important;
}
.fitness-manager-assignment-head{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1.35rem;
}
.fitness-manager-assignment-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--pm-primary);
  background:linear-gradient(145deg,#e4f7f1,#effbf7);
  border:1px solid #d3ece5;
  border-radius:50%;
}
.fitness-manager-assignment-icon svg,
.fitness-manager-email-input svg,
.fitness-manager-permission-icon svg,
.fitness-manager-save svg{
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fitness-manager-assignment-icon svg{width:27px;height:27px}
.fitness-manager-assignment-head h2{
  margin:0 0 .38rem!important;
  color:#103f3a!important;
  font-size:clamp(1.5rem,2.4vw,1.85rem)!important;
  line-height:1.15;
  letter-spacing:-.035em;
}
.fitness-manager-assignment-head p{
  max-width:790px;
  margin:0;
  color:#607773;
  font-size:.9rem;
  line-height:1.5;
}
.fitness-manager-assignment-form{
  display:grid;
  gap:1.35rem;
}
.fitness-manager-email-field>label{
  margin:0 0 .48rem!important;
  color:#144d46;
  font-size:.82rem;
  font-weight:800!important;
}
.fitness-manager-email-input{
  position:relative;
  display:flex;
  align-items:center;
}
.fitness-manager-email-input>span{
  position:absolute;
  left:1rem;
  z-index:1;
  display:grid;
  place-items:center;
  color:#0b796c;
  pointer-events:none;
}
.fitness-manager-email-input svg{width:20px;height:20px}
.fitness-manager-assignment .fitness-manager-email-input input{
  min-height:50px;
  padding:.72rem 1rem .72rem 3rem;
  border:1px solid #bdd1cc;
  border-radius:10px;
  background:#fff;
  color:#173d39;
  font-size:.95rem;
  box-shadow:inset 0 1px 2px rgba(0,78,72,.02);
  transition:border-color .16s ease,box-shadow .16s ease;
}
.fitness-manager-assignment .fitness-manager-email-input input::placeholder{color:#82938f}
.fitness-manager-assignment .fitness-manager-email-input input:focus{
  border-color:#148473;
  outline:0;
  box-shadow:0 0 0 3px rgba(20,132,115,.13);
}
.fitness-manager-field-help,
.fitness-manager-permissions-help{
  margin:.4rem 0 0;
  color:#718480;
  font-size:.76rem;
  line-height:1.45;
}
.fitness-manager-permissions{
  margin:0;
  padding:0;
  border:0;
}
.fitness-manager-permissions legend{
  padding:0;
  color:#123f3a;
  font-size:1.32rem;
  font-weight:850;
  line-height:1.2;
  letter-spacing:-.025em;
}
.fitness-manager-permissions-help{margin-top:.3rem}
.fitness-manager-permission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin-top:.9rem;
}
.fitness-manager-assignment .fitness-manager-permission-card{
  min-width:0;
  min-height:68px;
  display:grid!important;
  grid-template-columns:22px 42px minmax(0,1fr);
  align-items:center;
  gap:.75rem;
  margin:0!important;
  padding:.7rem .85rem;
  border:1px solid #d9e5e2;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.fitness-manager-assignment .fitness-manager-permission-card:hover{
  border-color:#b9d7d0;
  background:#fbfefd;
  box-shadow:0 7px 18px rgba(0,78,72,.055);
  transform:translateY(-1px);
}
.fitness-manager-permission-card input{
  width:19px;
  height:19px;
  margin:0;
  accent-color:var(--pm-primary);
}
.fitness-manager-permission-card:has(input:checked){
  border-color:#9fcfc4;
  background:linear-gradient(180deg,#fbfefd,#f4fbf8);
  box-shadow:0 0 0 2px rgba(0,107,94,.05);
}
.fitness-manager-permission-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:#0b796c;
  background:#e6f7f2;
  border-radius:50%;
}
.fitness-manager-permission-icon svg{width:21px;height:21px}
.fitness-manager-permission-copy{
  min-width:0;
  display:block;
}
.fitness-manager-permission-copy strong,
.fitness-manager-permission-copy span{display:block}
.fitness-manager-permission-copy strong{
  color:#155249;
  font-size:.85rem;
  font-weight:820;
  line-height:1.25;
}
.fitness-manager-permission-copy span{
  margin-top:.18rem;
  color:#718480;
  font-size:.72rem;
  font-weight:500;
  line-height:1.35;
}
.fitness-manager-assignment .fitness-manager-active-access{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:.9rem;
  margin:0!important;
  padding:.82rem 1rem;
  border:1px solid #cee8e1;
  border-radius:11px;
  background:linear-gradient(90deg,#eaf8f4 0%,#f6fbf9 100%);
  cursor:pointer;
}
.fitness-manager-active-checkbox{
  position:absolute;
  width:1px!important;
  height:1px!important;
  opacity:0;
  pointer-events:none;
}
.fitness-manager-toggle{
  width:50px;
  height:28px;
  display:block;
  position:relative;
  border-radius:999px;
  background:#a9bbb7;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
  transition:background .16s ease;
}
.fitness-manager-toggle>span{
  position:absolute;
  width:22px;
  height:22px;
  top:3px;
  left:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.18);
  transition:transform .16s ease;
}
.fitness-manager-active-checkbox:checked+.fitness-manager-toggle{background:#08796c}
.fitness-manager-active-checkbox:checked+.fitness-manager-toggle>span{transform:translateX(22px)}
.fitness-manager-active-checkbox:focus-visible+.fitness-manager-toggle{outline:3px solid #2169a6;outline-offset:3px}
.fitness-manager-active-copy{min-width:0;display:block}
.fitness-manager-active-copy strong,
.fitness-manager-active-copy span{display:block}
.fitness-manager-active-copy strong{color:#173f3b;font-size:.84rem;font-weight:850}
.fitness-manager-active-copy span{margin-top:.15rem;color:#6d827e;font-size:.72rem;font-weight:500;line-height:1.35}
.fitness-manager-active-note{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#6d827e;
  font-size:.7rem;
  font-weight:550;
  white-space:nowrap;
}
.fitness-manager-active-note>span{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  color:#0b796c;
  border:1px solid #6db6aa;
  border-radius:50%;
  font-size:.7rem;
  font-weight:900;
}
.fitness-manager-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
  margin-top:.05rem;
}
.fitness-manager-save{
  min-height:46px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding-inline:1.05rem!important;
}
.fitness-manager-save svg{width:18px;height:18px}
.fitness-manager-clear{
  min-height:46px;
  min-width:94px;
}

@media(max-width:820px){
  .fitness-manager-permission-grid{grid-template-columns:1fr}
  .fitness-manager-assignment .fitness-manager-active-access{grid-template-columns:56px minmax(0,1fr)}
  .fitness-manager-active-note{grid-column:2;white-space:normal}
}
@media(max-width:560px){
  .fitness-manager-assignment{padding:1rem!important}
  .fitness-manager-assignment-head{gap:.75rem}
  .fitness-manager-assignment-icon{width:46px;height:46px}
  .fitness-manager-assignment-icon svg{width:23px;height:23px}
  .fitness-manager-assignment-head h2{font-size:1.42rem!important}
  .fitness-manager-assignment .fitness-manager-permission-card{grid-template-columns:20px 38px minmax(0,1fr);gap:.65rem;padding:.68rem}
  .fitness-manager-permission-icon{width:38px;height:38px}
  .fitness-manager-assignment .fitness-manager-active-access{grid-template-columns:50px minmax(0,1fr);gap:.75rem;padding:.78rem}
  .fitness-manager-toggle{width:46px;height:26px}
  .fitness-manager-toggle>span{width:20px;height:20px}
  .fitness-manager-active-checkbox:checked+.fitness-manager-toggle>span{transform:translateX(20px)}
  .fitness-manager-actions .btn{flex:1 1 150px}
}
@media(prefers-reduced-motion:reduce){
  .fitness-manager-assignment .fitness-manager-permission-card,
  .fitness-manager-assignment .fitness-manager-email-input input,
  .fitness-manager-toggle,
  .fitness-manager-toggle>span{transition:none}
  .fitness-manager-assignment .fitness-manager-permission-card:hover{transform:none}
}

/* Fitness coach directory refresh */
.fitness-directory{
  --fitness-ink:#113f38;
  --fitness-muted:#667b77;
  --fitness-border:#dce8e4;
  --fitness-soft:#f5faf8;
  --fitness-soft-strong:#eaf6f2;
  width:min(1480px,100%);
  margin-inline:auto;
  color:var(--fitness-ink);
}
.fitness-directory svg{
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fitness-directory .fitness-nav{
  flex-wrap:nowrap;
  gap:.2rem;
  margin:0 0 1.25rem;
  padding:.25rem 0 .8rem;
  overflow-x:auto;
  border-bottom:1px solid var(--fitness-border);
  scrollbar-width:thin;
}
.fitness-directory .fitness-nav a{
  flex:0 0 auto;
  padding:.55rem .72rem;
  border-radius:9px;
  color:#46645e;
  text-decoration:none;
  font-size:.86rem;
  font-weight:750;
  white-space:nowrap;
}
.fitness-directory .fitness-nav a:first-child{
  color:var(--pm-primary-dark,#005b52);
  background:#edf7f4;
  box-shadow:inset 0 -2px 0 var(--pm-primary,#006b5e);
}
.fitness-directory .fitness-nav a:hover{background:#f4f9f7;color:var(--pm-primary-dark,#005b52)}
.fitness-directory-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);
  gap:clamp(1.3rem,3vw,3.6rem);
  align-items:center;
  margin-bottom:1rem;
  padding:clamp(1.65rem,4vw,3.5rem);
  border:1px solid #d9e9e4;
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 18%,rgba(0,107,94,.13),transparent 28%),
    radial-gradient(circle at 72% 110%,rgba(245,149,31,.10),transparent 34%),
    linear-gradient(135deg,#eef8f4 0%,#f8fcfa 58%,#e5f3ee 100%);
  box-shadow:0 18px 44px rgba(0,78,72,.07);
}
.fitness-directory-hero::before,
.fitness-directory-hero::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}
.fitness-directory-hero::before{width:210px;height:210px;right:-75px;top:-85px;border:34px solid rgba(255,255,255,.38)}
.fitness-directory-hero::after{width:160px;height:160px;left:-95px;bottom:-105px;border:32px solid rgba(0,107,94,.04)}
.fitness-directory-hero-copy,.fitness-directory-hero-aside{position:relative;z-index:1;min-width:0}
.fitness-directory .fitness-eyebrow{
  margin:0;
  color:#4c746d;
  font-size:.73rem;
  font-weight:850;
  letter-spacing:.13em;
}
.fitness-directory-hero h1{
  max-width:820px;
  margin:.6rem 0 .8rem;
  color:#0b3f38;
  font-size:clamp(2.4rem,5vw,4.65rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.fitness-directory-lead{
  max-width:760px;
  margin:0;
  color:#54716c;
  font-size:clamp(.98rem,1.6vw,1.14rem);
  line-height:1.65;
}
.fitness-directory-hero-actions{margin:1.4rem 0 0}
.fitness-directory-hero-actions .btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding-inline:1rem;
  border-radius:10px;
  font-weight:800;
}
.fitness-directory-hero-actions svg{width:19px;height:19px}
.fitness-directory-hero-aside{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:1rem;
  padding:1.1rem;
  border:1px solid rgba(168,204,196,.8);
  border-radius:18px;
  background:rgba(255,255,255,.75);
  box-shadow:0 14px 34px rgba(0,78,72,.075);
  backdrop-filter:blur(7px);
}
.fitness-hero-mark{
  width:90px;
  height:90px;
  display:grid;
  place-items:center;
  align-self:center;
  color:var(--pm-primary,#006b5e);
  background:linear-gradient(145deg,#dff4ed,#f1faf7);
  border-radius:50%;
}
.fitness-hero-mark svg{width:54px;height:54px;stroke-width:2.4}
.fitness-hero-benefits{display:grid;gap:.65rem;min-width:0}
.fitness-hero-benefits>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.6rem;align-items:start}
.fitness-hero-benefits>div>span{
  width:28px;height:28px;display:grid;place-items:center;
  color:#0c7367;background:#e7f5f1;border-radius:8px;
  font-size:.65rem;font-weight:900;
}
.fitness-hero-benefits p{margin:0;line-height:1.25}
.fitness-hero-benefits strong,.fitness-hero-benefits small{display:block}
.fitness-hero-benefits strong{color:#174b44;font-size:.82rem}
.fitness-hero-benefits small{margin-top:.18rem;color:#748681;font-size:.7rem;line-height:1.35}

.fitness-directory-filters{
  margin:0 0 .9rem;
  padding:0;
  overflow:hidden;
  border:1px solid var(--fitness-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(0,78,72,.055);
}
.fitness-directory-filters>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.2rem;
  border-bottom:1px solid transparent;
  cursor:pointer;
}
.fitness-directory-filters[open]>summary{border-bottom-color:#edf2f0}
.fitness-directory-filters>summary::-webkit-details-marker{display:none}
.fitness-filter-summary-title{display:flex;align-items:center;gap:.7rem;min-width:0}
.fitness-filter-summary-title>svg{width:22px;height:22px;color:var(--pm-primary,#006b5e)}
.fitness-filter-summary-title>span{display:flex;align-items:baseline;gap:.7rem;min-width:0}
.fitness-filter-summary-title strong{color:#174a43;font-size:1rem}
.fitness-filter-summary-title small{color:#768984;font-size:.76rem;font-weight:550}
.fitness-filter-summary-toggle{color:#4e746c;font-size:1.1rem;transition:transform .15s ease}
.fitness-directory-filters[open] .fitness-filter-summary-toggle{transform:rotate(180deg)}
.fitness-directory-filter-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem 1rem;
  margin:0;
  padding:1rem 1.2rem 1.2rem;
}
.fitness-directory .fitness-filter-field label{
  margin:0 0 .4rem;
  color:#174c45;
  font-size:.75rem;
  font-weight:800;
}
.fitness-directory-filters input:not([type=checkbox]),
.fitness-directory-filters select{
  min-height:46px;
  padding:.65rem .78rem;
  border:1px solid #bdcfca;
  border-radius:9px;
  background:#fff;
  color:#173b36;
  font-size:.87rem;
  box-shadow:inset 0 1px 2px rgba(0,78,72,.02);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.fitness-directory-filters input:not([type=checkbox]):focus,
.fitness-directory-filters select:focus{
  border-color:#3a9488;
  outline:0;
  box-shadow:0 0 0 3px rgba(0,107,94,.10);
}
.fitness-directory-filters input::placeholder{color:#8a9996}
.fitness-input-icon{position:relative}
.fitness-input-icon svg{position:absolute;left:.78rem;top:50%;width:18px;height:18px;color:#6f8782;transform:translateY(-50%);pointer-events:none}
.fitness-directory-filters .fitness-input-icon input{padding-left:2.5rem}
.fitness-filter-footer{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.1rem;
  padding-top:.9rem;
  border-top:1px solid #edf2f0;
}
.fitness-filter-checks{display:flex;flex-wrap:wrap;gap:.7rem}
.fitness-directory .fitness-filter-check{
  position:relative;
  display:grid!important;
  grid-template-columns:20px 30px minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  min-height:50px;
  margin:0;
  padding:.45rem .65rem;
  border:1px solid #e0eae7;
  border-radius:10px;
  background:#fbfdfc;
  cursor:pointer;
}
.fitness-directory .fitness-filter-check:has(input:checked){border-color:#b9d9d1;background:#f2faf7}
.fitness-filter-check input{width:18px!important;height:18px!important;margin:0;accent-color:var(--pm-primary,#006b5e)}
.fitness-check-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#0b776a;background:#e4f4ef;font-size:.8rem;font-weight:900}
.fitness-check-clients{font-size:1rem}
.fitness-filter-check strong,.fitness-filter-check small{display:block}
.fitness-filter-check strong{color:#184941;font-size:.75rem}
.fitness-filter-check small{margin-top:.12rem;color:#74847f;font-size:.65rem;font-weight:500;line-height:1.3}
.fitness-filter-actions{display:flex;align-items:center;gap:.7rem;margin-left:auto}
.fitness-clear-filters{display:inline-flex;align-items:center;gap:.4rem;color:#217669;font-size:.78rem;font-weight:760;text-decoration:none;white-space:nowrap}
.fitness-clear-filters:hover{text-decoration:underline}
.fitness-clear-filters svg{width:17px;height:17px}
.fitness-find-button{min-height:48px;display:inline-flex!important;align-items:center;justify-content:center;gap:.6rem;padding-inline:1.15rem!important;border-radius:10px!important;white-space:nowrap}
.fitness-find-button svg{width:18px;height:18px}

.fitness-directory-note{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin:.7rem .1rem 1rem;
  color:#607570;
  font-size:.77rem;
  line-height:1.45;
}
.fitness-directory-note svg{width:20px;height:20px;flex:0 0 auto;color:#297d70}
.fitness-results-section{margin-top:.5rem}
.fitness-results-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 .85rem;padding:0 .1rem}
.fitness-results-kicker{margin:0 0 .18rem!important;color:#5d7f78;font-size:.65rem!important;font-weight:850;letter-spacing:.12em!important}
.fitness-results-heading h2{margin:0;color:#153f39;font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:-.025em}
.fitness-results-heading p:not(.fitness-results-kicker){margin:.2rem 0 0;color:#72847f;font-size:.76rem}
.fitness-results-view-label{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border:1px solid #dce7e4;border-radius:999px;color:#5b716d;background:#fff;font-size:.7rem;font-weight:750;white-space:nowrap}
.fitness-results-dot{width:7px;height:7px;border-radius:50%;background:var(--pm-primary,#006b5e)}
.fitness-results-form{margin:0}
.fitness-directory .fitness-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0}
.fitness-directory .fitness-grid.fitness-list{grid-template-columns:1fr}
.fitness-card-wrap{display:flex;flex-direction:column;min-width:0;border:1px solid #dce8e4;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(0,78,72,.055);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.fitness-card-wrap:hover{transform:translateY(-2px);border-color:#c8ddd7;box-shadow:0 16px 36px rgba(0,78,72,.085)}
.fitness-directory .fitness-coach-card{flex:1;height:auto;margin:0;padding:1rem;border:0;border-radius:0;box-shadow:none;gap:.75rem}
.fitness-card-heading{align-items:flex-start;gap:.8rem}
.fitness-card-avatar-wrap{position:relative;flex:0 0 auto}
.fitness-coach-card .fitness-card-heading img,.fitness-coach-card .fitness-avatar{width:72px;height:72px;border:2px solid #eef4f2;box-shadow:0 4px 12px rgba(0,78,72,.08)}
.fitness-coach-card .fitness-avatar{font-size:1.8rem;font-weight:800}
.fitness-avatar-verified{position:absolute;right:-2px;bottom:0;width:22px;height:22px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:#0b8a78;font-size:.68rem;font-weight:900}
.fitness-card-title{min-width:0;flex:1}
.fitness-card-name-row{display:flex;align-items:center;gap:.45rem;min-width:0;flex-wrap:wrap}
.fitness-directory .fitness-card h2{margin:0;font-size:1.02rem;line-height:1.2}
.fitness-directory .fitness-card h2 a{color:#16473f;text-decoration:none}
.fitness-directory .fitness-card h2 a:hover{text-decoration:underline}
.fitness-card-title>p{margin:.22rem 0!important;color:#6e817d;font-size:.72rem;line-height:1.3}
.fitness-verified-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .42rem;border-radius:999px;color:#0b7568;background:#e5f5f0;font-size:.59rem;font-weight:850;white-space:nowrap}
.fitness-card-rating{display:flex;align-items:center;gap:.3rem;margin-top:.36rem;color:#536b66;font-size:.7rem;white-space:nowrap;flex-wrap:wrap}
.fitness-card-rating>span{color:#f5a623;font-size:.95rem;line-height:1}
.fitness-card-rating strong{color:#264f48;font-size:.72rem}
.fitness-card-rating small{color:#6f817d;font-size:.66rem}
.fitness-card-rating i{width:1px;height:13px;background:#dbe5e2;margin:0 .15rem}
.fitness-card-rating-empty{margin-top:.45rem}
.fitness-specialty-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.fitness-specialty-chips span{padding:.25rem .5rem;border-radius:999px;color:#536f69;background:#f0f5f3;font-size:.62rem;font-weight:650;line-height:1.2}
.fitness-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;padding:.75rem 0;border-top:1px solid #edf2f0;border-bottom:1px solid #edf2f0}
.fitness-card-facts>div{min-width:0;display:flex;align-items:center;gap:.45rem;color:#617672;font-size:.69rem;line-height:1.35}
.fitness-card-facts svg{width:17px;height:17px;flex:0 0 auto;color:#2e7c70}
.fitness-card-facts span,.fitness-card-facts strong{min-width:0;overflow-wrap:anywhere}
.fitness-card-rate strong{color:#16483f;font-size:.72rem}
.fitness-card-status-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:24px}
.fitness-card-status-row>span{font-size:.63rem;font-weight:750}
.fitness-status-open,.fitness-status-closed{display:inline-flex;align-items:center;gap:.35rem}
.fitness-status-open{color:#25745f}.fitness-status-closed{color:#7c7069}
.fitness-status-open i,.fitness-status-closed i{width:7px;height:7px;border-radius:50%}.fitness-status-open i{background:#29a47e}.fitness-status-closed i{background:#a7958d}
.fitness-card-badge-count{color:#71827e}
.fitness-card-profile-button{width:100%;min-height:42px;display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;border-radius:9px!important;font-size:.76rem!important}
.fitness-card-profile-button span{font-size:1rem}
.fitness-directory .fitness-compare-check{display:flex!important;align-items:center;gap:.45rem;margin:0;padding:.65rem 1rem;border-top:1px solid #edf2f0;color:#657a75;background:#fbfdfc;font-size:.68rem;font-weight:650!important;cursor:pointer}
.fitness-directory .fitness-compare-check input{width:17px;height:17px;margin:0;accent-color:var(--pm-primary,#006b5e)}
.fitness-results-actions{display:flex;justify-content:flex-end;margin-top:.85rem}
.fitness-compare-button{min-height:42px;border-radius:9px!important;font-size:.75rem!important}.fitness-compare-button span{font-weight:550;color:#70817d}

.fitness-directory-empty{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  align-items:center;
  gap:1.2rem;
  min-height:220px;
  margin:1rem 0;
  padding:1.5rem;
  border:1px solid #dce8e4;
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#fbfefd 62%,#f1f8f6 100%);
  box-shadow:0 12px 30px rgba(0,78,72,.05);
}
.fitness-empty-icon{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;color:#298176;background:#e8f5f1}
.fitness-empty-icon svg{width:46px;height:46px}
.fitness-directory-empty h2{margin:.15rem 0 .4rem;color:#17453f;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em}
.fitness-directory-empty p:not(.fitness-results-kicker){max-width:720px;margin:0;color:#687c77;line-height:1.55}
.fitness-directory-empty .fitness-actions{margin:.95rem 0 0}
.fitness-directory-empty .btn{min-height:43px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}
.fitness-directory-map{padding:1.2rem;border-radius:18px;box-shadow:0 10px 28px rgba(0,78,72,.05)}
.fitness-directory-map [data-fitness-map-canvas]{overflow:hidden;border:1px solid #dce7e4;border-radius:14px}
.fitness-pagination{justify-content:center;margin:1.2rem 0 0}
.fitness-pagination .btn{min-height:42px;display:inline-flex;align-items:center;border-radius:9px}

@media(max-width:1120px){
  .fitness-directory-hero{grid-template-columns:1fr minmax(280px,380px)}
  .fitness-directory-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fitness-directory .fitness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .fitness-directory-hero{grid-template-columns:1fr;padding:1.6rem}
  .fitness-directory-hero-aside{grid-template-columns:72px minmax(0,1fr)}
  .fitness-hero-mark{width:72px;height:72px}.fitness-hero-mark svg{width:44px;height:44px}
  .fitness-directory-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fitness-filter-footer{align-items:stretch;flex-direction:column}
  .fitness-filter-actions{width:100%;justify-content:flex-end}
}
@media(max-width:640px){
  .fitness-directory .fitness-nav{margin-inline:-.2rem;padding-inline:.2rem}
  .fitness-directory-hero{padding:1.25rem;border-radius:18px}
  .fitness-directory-hero h1{font-size:clamp(2.2rem,11vw,3.25rem)}
  .fitness-directory-hero-aside{display:none}
  .fitness-directory-hero-actions{align-items:stretch;flex-direction:column}
  .fitness-directory-hero-actions .btn{width:100%}
  .fitness-filter-summary-title>span{display:block}.fitness-filter-summary-title small{display:block;margin-top:.12rem}
  .fitness-directory-filter-grid{grid-template-columns:1fr;padding:.9rem}
  .fitness-filter-checks{display:grid;grid-template-columns:1fr;width:100%}
  .fitness-filter-actions{display:grid;grid-template-columns:1fr;gap:.6rem}
  .fitness-clear-filters{justify-content:center;min-height:42px;order:2}
  .fitness-find-button{width:100%}
  .fitness-directory-note{align-items:flex-start}
  .fitness-results-heading{align-items:flex-start;flex-direction:column}
  .fitness-directory .fitness-grid{grid-template-columns:1fr}
  .fitness-card-facts{grid-template-columns:1fr}
  .fitness-directory-empty{grid-template-columns:1fr;text-align:center;justify-items:center}
  .fitness-directory-empty .fitness-actions{justify-content:center}
  .fitness-results-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .fitness-card-wrap,.fitness-filter-summary-toggle,.fitness-directory-filters input,.fitness-directory-filters select{transition:none}
  .fitness-card-wrap:hover{transform:none}
}
