/* SPOTTER v0.8.7 — visual system based on the supplied dashboard reference. */
:root,
[data-theme="default"]{
  --ink:#1d2936;
  --muted:#718090;
  --line:#e4e9ef;
  --paper:#f6f8fb;
  --green:#708dab;
  --lime:#e9f1f8;
  --radius:14px;
  --ui-bg:#f6f8fb;
  --ui-surface:#ffffff;
  --ui-soft:#f8fafc;
  --ui-line:#e4e9ef;
  --ui-ink:#1d2936;
  --ui-muted:#718090;
  --ui-accent:#708dab;
  --ui-mint:#e9f1f8;
  --ui-shadow:0 10px 28px rgba(31,48,67,.055);
  color-scheme:light;
}

/* v0.15.4 — collapsed navigation groups and direct nutrition metric entry */

/* v0.16.0 — WhatsApp Business integration */
.whatsapp-consent-note{grid-column:1/-1;margin:-10px 0 4px}
.whatsapp-template-list{display:grid;gap:10px;margin:12px 0 24px}
.whatsapp-template-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) 100px 120px;gap:12px;align-items:end;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#f8faf9)}
.whatsapp-template-row>div:first-child{align-self:center;display:grid;gap:4px}.whatsapp-template-row small{color:var(--muted)}
.whatsapp-template-row .field{margin:0}.whatsapp-message-log{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:14px}
@media(max-width:800px){.whatsapp-template-row{grid-template-columns:1fr 1fr}.whatsapp-template-row>div:first-child{grid-column:1/-1}}
@media(max-width:520px){.whatsapp-template-row{grid-template-columns:1fr}}
.whatsapp-connect-card,.whatsapp-connection-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;margin:0 0 20px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#f7fff9,#f7f8ff)}
.whatsapp-connect-card h3,.whatsapp-connection-card h3{margin:4px 0 6px}.whatsapp-connect-card p,.whatsapp-connection-card p{margin:0;color:var(--muted)}
.whatsapp-manual{margin:18px 0;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#fff)}.whatsapp-manual summary{cursor:pointer;font-weight:700}.whatsapp-manual[open] summary{margin-bottom:14px}
@media(max-width:720px){.whatsapp-connect-card,.whatsapp-connection-card{align-items:flex-start;flex-direction:column}.whatsapp-connect-card>.button{width:100%}.whatsapp-connection-card .actions{width:100%}}
.nav-group-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:2px}
.nav-group-row>.nav-link,.nav-group-row>.nav-group-title{min-width:0;margin:0}
.nav-group-toggle{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#82909f;cursor:pointer}
.nav-group-toggle:hover,.nav-group-toggle:focus-visible{background:#eef3f7;color:#587796}
.nav-group-toggle span{display:block;font-size:20px;line-height:1;transition:transform .18s ease}
.nav-group.is-expanded .nav-group-toggle span{transform:rotate(180deg)}
.nav-children[hidden]{display:none!important}
.app.sidebar-collapsed .nav-group-toggle{display:none}
.session-status-section{display:none!important}
button.nutrition-source{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer}
.nutrition-source.is-actionable{border-color:#a8bdd1;background:#f3f7fb;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.nutrition-source.is-actionable:hover,.nutrition-source.is-actionable:focus-visible{border-color:#708dab;box-shadow:0 0 0 3px rgba(112,141,171,.14);transform:translateY(-1px);outline:0}
.nutrition-source.is-actionable small{color:#617f9d;font-weight:650}
@media(max-width:700px){.app.sidebar-collapsed .nav-group-toggle{display:grid}}

html{background:#f6f8fb;overflow-x:hidden}
body{background:#f6f8fb;color:#1d2936;font-family:Inter,"DM Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55;overflow-x:hidden}
h1,h2,h3{font-family:Inter,"DM Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#192635}
h1{font-size:30px;font-weight:720;letter-spacing:-.9px}
h2{font-size:17px;font-weight:680;letter-spacing:-.25px}
h3{font-size:14px;font-weight:650}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(112,141,171,.34);outline-offset:2px}
.spotter-icon{display:inline-block;width:20px;height:20px;object-fit:contain;flex:0 0 20px;opacity:.77}

/* App shell and supplied SPOTTER logo */
.app{background:#f6f8fb}
.sidebar{width:252px;padding:24px 18px 18px;background:#fff!important;color:#526171!important;border-right:1px solid #e7ebf0!important;color-scheme:light!important;transition:width .22s ease,padding .22s ease}
.sidebar-brand-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:23px}
.sidebar .brand{min-width:0;min-height:32px;padding:0 7px;color:#111!important;overflow:hidden}
.wordmark{display:block;width:148px;height:34px;aspect-ratio:auto;background:url('spotter-wordmark.png') left center/contain no-repeat!important;filter:none!important;mix-blend-mode:multiply!important;opacity:1!important;flex-shrink:0}
.sidebar-collapse{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;padding:0;border:1px solid #e2e7ed;border-radius:9px;background:#fff;color:#607183;cursor:pointer;transition:background .18s ease,transform .22s ease}
.sidebar-collapse:hover{background:#f0f4f8;color:#40566d}
.sidebar-collapse svg{width:17px;height:17px}
.sidebar .workspace-select{width:100%;margin:0 0 24px;padding:11px 34px 11px 12px;border:1px solid #e2e7ed;border-radius:9px;background:#fff;color:#3e4c5b;font-size:13px;box-shadow:none}
.sidebar .nav-label{margin:0 0 8px;padding:0 12px;color:#9aa5b1;font-size:10px;font-weight:700;letter-spacing:1.45px}
.sidebar nav{gap:4px;overflow-x:hidden;scrollbar-color:#dce2e8 transparent}
.sidebar .nav-link,.sidebar .nav-group-title{min-height:42px;padding:10px 12px;border-radius:9px;color:#536272;font-size:14px;font-weight:540;line-height:1.35;gap:12px;transition:background .16s ease,color .16s ease}
.sidebar .nav-link svg,.sidebar .nav-group-title svg,.sidebar .nav-link .spotter-icon,.sidebar .nav-group-title .spotter-icon{width:19px;height:19px;stroke-width:2;flex:0 0 19px}
.sidebar .nav-link:hover{background:#f2f5f8;color:#26394c}
.sidebar .nav-link.active{background:#e8f0f7;color:#577798;font-weight:680;box-shadow:none}
.sidebar .nav-link.active .spotter-icon,.sidebar .group-active>.nav-group-title .spotter-icon{filter:invert(47%) sepia(16%) saturate(1100%) hue-rotate(169deg) brightness(91%);opacity:1}
.sidebar .nav-group.group-active>.nav-link:not(.active){background:#f2f6f9;color:#5d7894}
.sidebar .group-active>.nav-group-title{color:#5d7894}
.sidebar .nav-children{margin:4px 0 7px 21px;padding-left:13px;border-left:1px solid #e2e7ec}
.sidebar .nav-link.nav-child{min-height:34px;padding:7px 9px;border-radius:7px;font-size:12px;color:#718090}
.sidebar .nav-link.nav-child.active{background:#eef4f8;color:#567594;font-weight:650}
.sidebar-bottom{padding-top:20px}
.sidebar .plan-box{padding:15px;border:1px solid #e4e9ef;border-radius:12px;background:#f7f9fb;box-shadow:none}
.sidebar .mini-tag{color:#708dab;font-size:10px;font-weight:750;letter-spacing:1.25px}
.sidebar .plan-box p{margin:8px 0 4px;color:#253547;font:650 14px/1.45 Inter,"DM Sans",sans-serif}
.sidebar .plan-box small{color:#7b8998;font-size:11px}
.sidebar .profile{min-height:54px;padding:14px 5px 2px;color:#334456!important;font-size:13px}
.sidebar .profile>span:last-child{margin-left:0;min-width:0;overflow:hidden}
.sidebar .profile small{color:#8794a0;font-size:11px}
.avatar,.avatar.lime,.avatar.peach,.avatar.lavender,.avatar.blue{background:#dfe9f2;color:#52718f}

.main-shell{margin-left:252px;width:calc(100% - 252px);transition:margin-left .22s ease,width .22s ease}
.main-shell>header{height:76px;padding:0 34px;background:#fff;border-bottom:1px solid #e7ebf0}
.breadcrumb{color:#9aa5b1;font-size:12px}
.breadcrumb span{margin:0 9px;color:#c2c9d0}
.breadcrumb b{color:#3f5367;font-weight:630}
.header-right{gap:9px}
.header-right .button{min-height:38px;padding:8px 12px;border-color:#e1e6ec;background:#fff;color:#536272}
.header-right .button:hover{background:#f4f7f9}
.header-right>.avatar{margin-left:5px}
.main-shell>main{max-width:1680px;padding:34px 38px 46px;background:#f6f8fb}
.main-shell>footer{padding:18px 38px 28px;color:#9aa5b1;font-size:10px;letter-spacing:.55px}

/* Persisted compact sidebar */
.app.sidebar-collapsed .sidebar{width:84px;padding-inline:14px}
.app.sidebar-collapsed .main-shell{margin-left:84px;width:calc(100% - 84px)}
.app.sidebar-collapsed .sidebar-brand-row{flex-direction:column;gap:9px;margin-bottom:17px}
.app.sidebar-collapsed .sidebar .brand{width:56px;padding:0;justify-content:center}
.app.sidebar-collapsed .sidebar .wordmark{width:56px;height:20px;background-position:center}
.app.sidebar-collapsed .sidebar-collapse{transform:rotate(180deg)}
.app.sidebar-collapsed .workspace-select,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .nav-text,.app.sidebar-collapsed .nav-group-title span,.app.sidebar-collapsed .nav-children,.app.sidebar-collapsed .plan-box,.app.sidebar-collapsed .profile>span:last-child{display:none}
.app.sidebar-collapsed .sidebar .nav-link,.app.sidebar-collapsed .sidebar .nav-group-title{justify-content:center;padding:10px;width:48px;margin-inline:auto}
.app.sidebar-collapsed .sidebar-bottom{display:flex;justify-content:center}
.app.sidebar-collapsed .profile{width:auto;padding:8px 0}

/* Page hierarchy and dashboard layout */
.page-top{align-items:flex-end;gap:24px;margin-bottom:30px}
.page-top .eyebrow{margin-bottom:8px;color:#8794a1;font-size:10px;font-weight:700;letter-spacing:1.45px}
.page-top .subtitle{margin-top:7px;color:#738190;font-size:14px}
.page-top>.actions{align-self:center;flex-wrap:wrap}
.stats{gap:18px;margin-bottom:26px}
.stat{min-height:132px;padding:20px 21px;border:1px solid #e4e9ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,48,67,.035);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.stat-link:hover{border-color:#cfd9e4;box-shadow:0 12px 30px rgba(31,48,67,.075);transform:translateY(-1px)}
.stat-top{color:#6f7e8d;font-size:12px;font-weight:550}
.stat-top svg,.stat-top .spotter-icon{width:18px;height:18px;color:#8298ae;stroke-width:2}
.stat-value{margin:14px 0 7px;color:#1c2937;font-size:31px;font-weight:660;letter-spacing:-1px}
.stat-bottom{color:#96a1ac;font-size:11px}
.dashboard-grid{grid-template-columns:minmax(0,1.72fr) minmax(300px,.78fr);gap:20px}
.stack{gap:20px}
.card{border:1px solid #e4e9ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,48,67,.035)}
.card-head{min-height:64px;padding:18px 21px;border-bottom:1px solid #edf0f4}
.card-head h2{font-size:15px;font-weight:680}
.session-row{min-height:76px;padding:17px 21px;gap:15px;border-bottom:1px solid #edf0f4}
.session-row .time{min-width:54px;color:#26384a;font-size:13px;font-weight:650}
.session-row .time small{color:#9aa4ae;font-size:10px;font-weight:500}
.session-line{width:3px;background:#8ba2b8}
.session-info strong{color:#26384a;font-size:13px}
.session-info p{margin-top:5px;color:#7c8995;font-size:11px}
.badge{padding:5px 8px;border-radius:6px;background:#edf4f8;color:#5c7b98;font-size:10px;font-weight:650;text-transform:capitalize}
.badge.orange{background:#f8f1e6;color:#a27e49}.badge.green{background:#e7f5eb;color:#34704a}.badge.gray{background:#f0f2f4;color:#7b858e}.badge.purple{background:#f1edf6;color:#806f96}
.dashboard-create-actions{display:flex;gap:8px}
@media(max-width:700px){.dashboard-create-actions .button{width:44px;min-width:44px;padding:10px}.dashboard-create-actions .action-icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}}
.line-item{padding:16px 20px;border-color:#edf0f4}
.line-item h3{color:#26384a;font-size:13px}.line-item p{color:#87939e;font-size:11px;line-height:1.55}
.counter{border-radius:6px;background:#eff3f6;color:#718090}
.insight{padding:22px;border-color:#dfe7ee;background:#eaf1f7}
.insight .eyebrow{color:#7089a2}.insight h2{margin:12px 0 8px;color:#30475d;font-size:20px;line-height:1.4}.insight p{color:#6e8295;font-size:12px}

/* Buttons and controls: restrained steel-blue like the supplied design. */
.button{min-height:40px;padding:9px 14px;border:1px solid #dde4ea;border-radius:8px;background:#fff;color:#3f5061;font-size:13px;font-weight:620;box-shadow:none}
.button:hover{border-color:#cfd9e2;background:#f4f7fa;color:#2c4054}
.button.primary{border-color:#708dab;background:#708dab;color:#fff;box-shadow:0 6px 14px rgba(84,112,142,.16)}
.button.primary:hover{border-color:#617f9f;background:#617f9f}
.button.small{min-height:34px;padding:7px 10px;font-size:11px}
.button svg,.pictogram-button svg,.button .spotter-icon,.pictogram-button .spotter-icon{width:17px;height:17px;stroke-width:2;flex:0 0 17px}
.button .spotter-icon,.pictogram-button .spotter-icon{opacity:.78}.button.primary .spotter-icon{filter:invert(1);opacity:1}
.icon-btn{color:#617284}
input,select,textarea{padding:11px 12px;border:1px solid #dfe5eb;border-radius:8px;background:#fff;color:#2d4053;font-size:13px;box-shadow:none}
input:hover,select:hover,textarea:hover{border-color:#ccd7e1}
input:focus,select:focus,textarea:focus{border-color:#91a8be;box-shadow:0 0 0 3px rgba(112,141,171,.11);outline:0}
input::placeholder,textarea::placeholder{color:#a2acb5}
.field{gap:7px;color:#526171;font-size:12px;font-weight:570}
.toolbar{gap:12px;margin-bottom:20px;padding:12px;border:1px solid #e5e9ee;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(31,48,67,.025)}
.segmented{background:#edf2f6}.segmented button{color:#6f7e8d}.segmented button.selected{color:#45637f}

/* Lists, tables, dialogs and secondary pages use the same design language. */
.management-list,.responsive-table,.workout-settings-card,.profile-hero,.ui-form-section,.builder-section,.calendar-day{border-color:#e4e9ef!important;background:#fff!important;box-shadow:0 8px 24px rgba(31,48,67,.03)!important}
.management-list-item{min-height:78px;padding:16px 19px;border-color:#edf0f4}
.management-list-item:hover{background:#fafbfd}
.list-item-icon,.ui-section-icon,.progress-metric-icon,.progress-history-icon{border-radius:9px;background:#edf3f8;color:#6885a3}
.list-item-icon,.ui-section-icon,.session-workout-title-icon,.client-next-icon{display:grid!important;place-items:center!important;padding:0!important;line-height:0}
.list-item-icon .spotter-icon,.ui-section-icon .spotter-icon,.session-workout-title-icon .spotter-icon,.client-next-icon .spotter-icon{display:block;margin:auto;object-position:center}
.client-next-icon{width:34px;height:34px;border-radius:9px;background:#edf3f8;flex:0 0 34px}
.client-next-icon .spotter-icon{width:18px;height:18px}
.builder-direct-wrap{margin-bottom:16px;border:1px solid #e3e8ee;border-radius:12px;background:#fff;overflow:hidden}
.builder-direct-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e8edf1}
.builder-direct-heading>div{display:flex;align-items:center;gap:11px;min-width:0}.builder-direct-heading h3{margin:0}.builder-direct-heading p{margin:3px 0 0;color:#7c8995;font-size:11px}
.builder-direct-exercises{padding:0 16px}.builder-direct-exercises .builder-exercise:last-child{border-bottom:0}
.list-item-main h2{font-size:14px}.list-item-main p{color:#7c8995;font-size:11px}
.item-name-link,.client-name-link,.profile-session-link{color:#263b50;text-decoration:none}
.item-name-link:hover,.client-name-link:hover,.profile-session-link:hover{color:#5d7d9e;text-decoration:underline;text-underline-offset:3px}
.table-wrap{border:1px solid #e4e9ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,48,67,.03)}
table{background:#fff}th{padding:13px 18px;border-color:#e7ebef;background:#f8fafc;color:#8794a0;font-size:10px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}td{padding:17px 18px;border-color:#edf0f4;color:#334658;font-size:13px}
tbody tr:hover{background:#fafcfd}
.profile-hero{padding:24px;border-radius:14px}.profile-tabs{padding:5px;border:1px solid #e4e9ef;border-radius:10px;background:#fff}.profile-tab{border-radius:7px;color:#6e7e8e}.profile-tab.active{background:#e8f0f7;color:#557695}
.session-pill{border-color:#dfe6ec;background:#f5f8fa;color:#5b7084}.session-pill.pill-type{border-color:#dbe6ef;background:#eaf2f8;color:#527697}.session-pill.pill-status{border-color:#dce9e1;background:#edf6f0;color:#557b63}
.calendar-event.session-calendar-card{border-radius:9px!important;background:#edf4f8!important;border-left:3px solid #7692ad!important}.calendar-event .calendar-session-time,.calendar-session-title,.calendar-event .calendar-session-client{color:#3d5871}
dialog,dialog.wide-dialog{padding:0;border:1px solid #e2e7ec;border-radius:16px;background:#fff;color:#1d2936;box-shadow:0 28px 90px rgba(31,48,67,.22)}
dialog::backdrop{background:rgba(29,41,54,.34);backdrop-filter:blur(3px)}
.modal-heading{margin:0;padding:20px 22px;border-bottom:1px solid #e9edf1}.modal-heading h2{font-size:18px}.modal-heading .icon-btn{width:34px;height:34px;border:0;border-radius:9px;background:#f3f6f8}
#modal-body{padding:22px}
.ui-form-section{border-radius:12px}.ui-form-section-head{background:#fbfcfd}.ui-form-section-body{background:#fff}
.notice,.error-box{border-radius:10px}

/* Login uses the supplied logo and the same quiet blue surface. */
.auth-page{background:#fff}.auth-brand{background:#eef3f7;border-color:#e1e7ed;color:#30495f}.auth-brand .wordmark{width:260px;height:60px}.auth-brand h1{color:#263d52}.auth-brand p{color:#6d8193}.auth-card{border-radius:16px}

@media(max-width:1180px) and (min-width:701px){
  .sidebar{width:224px;padding-inline:14px}.main-shell{margin-left:224px;width:calc(100% - 224px)}
  .sidebar .wordmark{width:130px}.main-shell>main{padding-inline:26px}.main-shell>header{padding-inline:26px}
  .app.sidebar-collapsed .sidebar{width:80px}.app.sidebar-collapsed .main-shell{margin-left:80px;width:calc(100% - 80px)}
  .dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}
}

@media(max-width:900px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.stack{display:grid;grid-template-columns:1fr 1fr}.main-shell>main{padding:28px 22px 42px}
}

@media(max-width:700px){
  body{font-size:15px}
  .sidebar,.app.sidebar-collapsed .sidebar{width:268px;padding:22px 16px 18px}
  .app.sidebar-collapsed .main-shell,.main-shell{margin-left:0;width:100%}
  .app.sidebar-collapsed .sidebar-brand-row,.sidebar-brand-row{flex-direction:row;margin-bottom:20px}
  .app.sidebar-collapsed .sidebar .brand{width:auto;padding:0 7px}.app.sidebar-collapsed .sidebar .wordmark,.sidebar .wordmark{width:144px;height:32px}
  .sidebar-collapse{display:none}
  .app.sidebar-collapsed .workspace-select{display:block}.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .nav-text,.app.sidebar-collapsed .nav-group-title span,.app.sidebar-collapsed .nav-children,.app.sidebar-collapsed .plan-box,.app.sidebar-collapsed .profile>span:last-child{display:initial}
  .app.sidebar-collapsed .nav-children{display:block}.app.sidebar-collapsed .plan-box{display:block}.app.sidebar-collapsed .profile>span:last-child{display:block}
  .app.sidebar-collapsed .sidebar .nav-link,.app.sidebar-collapsed .sidebar .nav-group-title{justify-content:flex-start;width:auto;margin-inline:0;padding:10px 12px}
  .app.sidebar-collapsed .sidebar-bottom{display:block}.app.sidebar-collapsed .profile{width:100%;padding:14px 5px 2px}
  .main-shell>header{height:64px;padding:0 16px}.breadcrumb{display:none}.header-right{margin-left:auto}.header-right .button{min-height:36px;padding:7px 9px}.header-right .action-icon-label{display:none}
  .main-shell>main{padding:24px 16px 112px}.main-shell>footer{padding:16px 16px 100px}
  .page-top{align-items:stretch;margin-bottom:22px}.page-top>.actions{align-self:stretch}.page-top>.actions .button{flex:1 1 auto}
  .stats{gap:10px}.stat{min-height:112px;padding:15px}.stat-value{font-size:26px;margin:11px 0 5px}
  .dashboard-grid{gap:14px}.stack{display:flex;gap:14px}.card{border-radius:13px}.card-head{min-height:58px;padding:16px}.session-row{padding:15px 16px}
  .toolbar{padding:10px;border-radius:11px}.management-list-item{padding:15px}.list-item-actions{flex-wrap:wrap}
  .clients-overview-table.responsive-table tbody tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(132px,.9fr)!important;align-items:center!important;gap:10px!important;padding:14px!important}
  .clients-overview-table.responsive-table tbody td:first-child,.clients-overview-table.responsive-table tbody td:nth-child(4){display:block!important;width:auto!important;min-width:0!important;padding:0!important}
  .clients-overview-table .client-name{min-width:0;gap:9px}.clients-overview-table .client-name>span{min-width:0}.clients-overview-table .client-name-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .clients-overview-table .client-next-session{width:100%;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:0;text-align:left}
  .clients-overview-table .client-next-session>span:last-child{min-width:0}.clients-overview-table .client-next-session b,.clients-overview-table .client-next-session>span:last-child>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .clients-overview-table .client-no-session{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;min-width:0;font-size:12px}.clients-overview-table .client-no-session .spotter-icon{width:18px;height:18px;margin:auto}
  .builder-direct-heading{padding:12px}.builder-direct-heading>.button .action-icon-label{display:none}.builder-direct-exercises{padding:0 12px}
  dialog,dialog.wide-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:15px}.modal-heading{padding:17px 18px}#modal-body{padding:18px}
  .mobile-dock{min-height:80px;border-color:#243240;background:rgba(25,37,49,.96);box-shadow:0 -8px 26px rgba(20,31,42,.18)}
  .mobile-dock-link{color:#aebbc7}.mobile-dock-link.active{background:#31495f;color:#eef5fb}.mobile-dock-link svg{stroke-width:2}.mobile-dock-link .spotter-icon{filter:invert(1);opacity:.72}.mobile-dock-link.active .spotter-icon{opacity:1}
}

/* v0.21.3 — workout completion clarity and media */
.modal-heading:has(.workout-log-title-badges){display:flex;align-items:center;gap:12px}.modal-heading:has(.workout-log-title-badges)>h2{min-width:0;margin:0}.modal-heading:has(.workout-log-title-badges)>.icon-btn{margin-left:auto;flex:0 0 auto}.workout-log-title-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.workout-log-title-badges>span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border:1px solid #dce5ea;border-radius:999px;background:#f4f7f9;color:#607284;font-size:11px;font-weight:700;white-space:nowrap}
.workout-log-notes{margin-bottom:10px}.workout-log-exercise-content{display:grid;min-width:0}.workout-log-exercise-content.has-media{grid-template-columns:minmax(130px,190px) minmax(0,1fr);align-items:start;gap:14px;margin-top:11px}.workout-log-inline-media{display:block;width:100%;padding:0;overflow:hidden;border:1px solid #dfe6e9;border-radius:11px;background:#f4f6f5;cursor:zoom-in}.workout-log-inline-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff}.workout-log-set-panel{min-width:0}.workout-log-exercise-content.has-media .workout-log-prescription{margin-top:0}
.log-set-complete{border:2px solid #c6d0d5!important;background:#fff!important;color:transparent!important;box-shadow:inset 0 0 0 2px #fff}.log-check-empty{display:block;width:14px;height:14px;border:2px solid #91a0aa;border-radius:3px;background:#f7f9fa}.log-check-done{display:none;font-size:20px;font-weight:900;line-height:1}.log-set-complete:has(input:checked){border-color:#3e8b61!important;background:#3e8b61!important;color:#fff!important;box-shadow:0 0 0 3px rgba(62,139,97,.14)}.log-set-complete:has(input:checked) .log-check-empty{display:none}.log-set-complete:has(input:checked) .log-check-done{display:block}.workout-log-carousel .log-set.is-complete{background:#edf8f1;border-color:#d8ebdf}
.workout-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.workout-feedback-picker{margin:18px 0 2px;padding:0;border:0}.workout-feedback-picker legend{margin-bottom:10px;color:#344859;font-size:13px;font-weight:750}.workout-feedback-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.workout-feedback-choice{position:relative;cursor:pointer}.workout-feedback-choice input{position:absolute;opacity:0;pointer-events:none}.workout-feedback-choice>span,.workout-feedback-choice>b{display:block;text-align:center}.workout-feedback-choice{padding:12px 8px;border:1px solid #dfe6ea;border-radius:12px;background:#fff;color:#687886;transition:.15s}.workout-feedback-choice:hover{border-color:#aebec9;background:#f7fafb}.workout-feedback-choice:has(input:checked){border-color:#6d91ad;background:#edf4f9;color:#375a75;box-shadow:0 0 0 3px rgba(109,145,173,.13)}.workout-feedback-emoji{font-size:25px;line-height:1.2}.workout-feedback-choice b{margin-top:6px;font-size:10px;letter-spacing:.06em}
[data-theme="midnight"] .workout-log-title-badges>span,[data-theme="midnight"] .workout-feedback-choice{border-color:#33414d;background:#141d26;color:#b7c2cc}[data-theme="midnight"] .workout-feedback-choice:has(input:checked){border-color:#65a0c8;background:#1c3141;color:#dbeaf5}[data-theme="midnight"] .workout-log-inline-media{border-color:#33414d;background:#0f1720}
@media(max-width:700px){.modal-heading:has(.workout-log-title-badges){gap:8px;flex-wrap:wrap}.modal-heading:has(.workout-log-title-badges)>h2{flex:1 1 auto}.modal-heading:has(.workout-log-title-badges)>.icon-btn{order:2}.workout-log-title-badges{order:3;width:100%}.workout-log-exercise-content.has-media{grid-template-columns:96px minmax(0,1fr);gap:9px}.workout-log-inline-media{position:sticky;top:66px}.workout-feedback-picker>div{gap:6px}.workout-feedback-choice{padding:10px 4px}.workout-feedback-emoji{font-size:22px}}
@media(max-width:430px){.workout-log-exercise-content.has-media{grid-template-columns:1fr}.workout-log-inline-media{position:static;width:min(180px,100%)}.workout-feedback-choice b{font-size:9px}}

/* v0.21.1 — reliable signatures, polished authentication and legal text formatting */
.auth-card{padding:34px;border:1px solid #e6ebf0;box-shadow:0 18px 50px rgba(31,48,67,.09)}
.auth-card .auth-form{margin-top:26px;gap:15px}
.auth-card .auth-form .field{gap:7px;color:#536273;font-size:12px;font-weight:680}
.auth-card .auth-form input,.auth-card .auth-form select{min-height:47px;border-color:#dce4ea;border-radius:11px;background:#fbfcfd;box-shadow:0 1px 2px rgba(31,48,67,.025)}
.auth-card .auth-form input:focus,.auth-card .auth-form select:focus{border-color:#8da9c1;background:#fff;box-shadow:0 0 0 3px rgba(112,141,171,.12)}
.auth-primary-action{display:grid;margin-top:3px}.auth-primary-action .button{width:100%;min-height:46px;margin:0}
.auth-secondary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:11px}
.auth-secondary-actions .button{width:100%;min-height:43px;margin:0;border-color:#dce4ea;background:#fff}
.registration-card .auth-form{margin-top:22px}.registration-actions{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(210px,1.25fr);align-items:stretch;margin-top:3px}
.registration-actions .button,.registration-actions .button.primary{width:100%;min-width:0;min-height:46px;margin:0}
.legal-document p{margin:0 0 11px}.legal-document p:last-child{margin-bottom:0}.legal-document h3{margin:18px 0 8px;font-size:16px}.legal-document h3:first-child{margin-top:0}.legal-document ul{margin:4px 0 13px;padding-left:23px}.legal-document li{margin:4px 0}.legal-document .legal-spacer{height:8px}
.legal-editor{display:grid;gap:8px}.legal-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.legal-editor-head>label{color:#38495a;font-size:13px;font-weight:680}.legal-format-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.legal-format-toolbar .button{width:auto;min-width:36px;min-height:32px;padding:5px 9px;margin:0;border-radius:8px}.legal-editor>textarea{width:100%;min-height:180px;resize:vertical}.legal-editor>small{color:var(--muted);font-size:11px}
.signature-pad{overflow:hidden;border:1px solid #d9e2e9;border-radius:12px;background:#fff}.signature-pad canvas{height:160px;border:0;border-radius:0;cursor:crosshair}.signature-pad .button{z-index:2;background:rgba(255,255,255,.94)}.signature-status{display:block;margin-top:7px;color:var(--muted);font-weight:500}.signature-status.is-saved{color:#54784c;font-weight:680}
@media(max-width:760px){.auth-card{padding:24px 18px}.registration-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);flex-direction:initial}.registration-actions .button{font-size:12px;padding-inline:10px}.legal-editor-head{align-items:flex-start;flex-direction:column}.legal-format-toolbar{justify-content:flex-start}.signature-pad canvas{height:145px}}
@media(max-width:420px){.auth-secondary-actions,.registration-actions{grid-template-columns:1fr}.registration-actions .button:first-child{order:2}}

@media(max-width:480px){
  h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.stat-top{font-size:11px}.stat-bottom{font-size:10px}
  .header-right .button{width:38px;padding:0}.header-right .button svg{margin:0}
  .main-shell>main{padding-inline:13px}.page-top>.actions{width:100%}
  .clients-overview-table.responsive-table tbody tr{grid-template-columns:minmax(0,1fr) minmax(122px,.88fr)!important}
  .clients-overview-table.responsive-table tbody td:nth-child(4){padding:0!important}
}

@media(prefers-reduced-motion:reduce){.sidebar,.main-shell,.sidebar-collapse,.stat{transition:none!important}}

/* v0.8.9: exercise library, results and progress refinements. */
.exercise-controls{display:flex;align-items:center;gap:12px;margin-bottom:14px}.exercise-search{flex:1;max-width:540px}.exercise-search input{width:100%;min-height:44px;padding-left:16px}.exercise-filter-panel{margin-bottom:18px;padding:18px;border:1px solid #e3e9ee;border-radius:14px;background:#fff}.exercise-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.exercise-list{overflow:hidden;border:1px solid #e3e9ee;border-radius:14px;background:#fff}.exercise-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px;padding:14px 18px;border-bottom:1px solid #edf1f4}.exercise-list-row.is-search-hidden,.workout-library-card.is-search-hidden{display:none!important}.exercise-list-row:last-child{border-bottom:0}.exercise-list-row:hover{background:#fafcfd}.exercise-main{display:flex;align-items:center;gap:14px;min-width:0;flex:1;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.exercise-main-copy{display:block;min-width:0}.exercise-main-copy strong,.exercise-main-copy small{display:block}.exercise-main-copy strong{margin:4px 0;font-size:15px;color:#263b50}.exercise-main-copy small{color:#778795}.exercise-row-actions{display:flex;align-items:center;gap:8px}.exercise-star{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #dfe6ec;border-radius:9px;background:#fff;color:#8796a4;font-size:23px;line-height:1;cursor:pointer}.exercise-star:hover,.exercise-star.is-favorite{border-color:#aebfce;background:#edf3f8;color:#607f9d}.exercise-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.exercise-detail-meta span{padding:6px 10px;border:1px solid #dfe6ec;border-radius:999px;background:#f6f9fb;color:#607285;font-size:11px}.exercise-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:28px}.exercise-detail-copy{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e7ebef;border-radius:12px;overflow:hidden}.exercise-detail-copy section{min-height:132px;padding:20px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3}.exercise-detail-copy section:nth-child(2n){border-right:0}.exercise-detail-copy section:nth-last-child(-n+2){border-bottom:0}.exercise-detail-copy h3{margin:0 0 10px;font-size:13px}.exercise-detail-copy p{margin:0;color:#506173;line-height:1.65}.exercise-detail-side{display:flex;flex-direction:column;gap:14px}.exercise-detail-side>.button{width:100%}.exercise-media-empty{display:grid;place-items:center;min-height:190px;border:1px dashed #d8e0e7;border-radius:12px;background:#f8fafb;color:#8996a2}.exercise-relations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.exercise-relations>section{padding:16px;border:1px solid #e7ebef;border-radius:11px}.exercise-relations>section>span{display:block;margin-bottom:11px;color:#80909e;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.workout-result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}.workout-result-summary>div{padding:15px;border:1px solid #e5eaf0;border-radius:11px;background:#f8fafc}.workout-result-summary span,.workout-result-summary strong{display:block}.workout-result-summary span{margin-bottom:7px;color:#83919e;font-size:10px;font-weight:700;text-transform:uppercase}.workout-result-summary strong{font-size:14px;color:#2d4255}.workout-result-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workout-result-group{overflow:hidden;border:1px solid #e3e8ed;border-radius:12px}.workout-result-group-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;background:#f7f9fb}.workout-result-group-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e8f0f7;color:#607e9c;font-size:11px;font-weight:700}.workout-result-group-head h3{margin:0;font-size:14px}.workout-result-group-head small{color:#83909c}.workout-result-set-head,.workout-result-set{display:grid;grid-template-columns:70px 1fr 1fr;gap:12px;padding:9px 16px}.workout-result-set-head{color:#929eaa;font-size:10px;font-weight:700;text-transform:uppercase}.workout-result-set{border-top:1px solid #edf0f3;font-size:13px}.workout-result-set strong{text-align:right}.workout-result-feedback{margin-top:18px;padding:18px;border-radius:12px;background:#f5f8fa}.workout-result-feedback>span{color:#84929e;font-size:10px;font-weight:700;text-transform:uppercase}.workout-result-feedback p{margin:8px 0 0;line-height:1.6}
.progress-client-toolbar{display:flex!important;align-items:center;gap:10px;max-width:420px;margin:0 0 18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.progress-client-toolbar .field{display:contents}.progress-client-toolbar .field>span,.progress-client-toolbar label{color:#526171;font-size:12px;font-weight:650}.progress-client-toolbar select{min-width:230px}.progress-metric-sidebar{max-height:430px}.progress-metric-list{max-height:352px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.history-chart .chart-grid path{stroke:#e8edf2;stroke-width:1}.history-chart .chart-line{stroke:#7298bd;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.history-chart .chart-point-halo{fill:#fff;stroke:#7298bd;stroke-width:1.5}.history-chart .chart-point{fill:#7298bd}
@media(max-width:900px){.exercise-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-result-groups{grid-template-columns:1fr}.exercise-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.exercise-controls{align-items:stretch}.exercise-controls .button{flex:0 0 auto}.exercise-filter-grid{grid-template-columns:1fr}.exercise-list-row{align-items:flex-start;padding:14px}.exercise-row-actions .button{display:none}.exercise-main{align-items:flex-start}.exercise-detail-copy{grid-template-columns:1fr}.exercise-detail-copy section,.exercise-detail-copy section:nth-child(2n),.exercise-detail-copy section:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #edf0f3}.exercise-detail-copy section:last-child{border-bottom:0}.exercise-relations{grid-template-columns:1fr}.workout-result-summary{grid-template-columns:1fr 1fr}.progress-client-toolbar{max-width:none}.progress-client-toolbar select{min-width:0;flex:1}}

/* v0.10.0: exercise editor, nutrition and actionable notifications. */
.nav-text{display:flex;align-items:center;gap:8px;min-width:0}.notification-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d94b4b;box-shadow:0 0 0 3px rgba(217,75,75,.13);flex:0 0 8px}.mobile-dock-link>span{display:flex;align-items:center;gap:5px}.mobile-dock-link .notification-dot{width:7px;height:7px;flex-basis:7px;box-shadow:none}.notification-row.is-unread{background:#fbfdff;border-left:3px solid #7692ad}.button.alert{border-color:#dc6a6a;background:#c94b4b;color:#fff;box-shadow:0 6px 14px rgba(185,55,55,.18)}.button.alert:hover{border-color:#b83e3e;background:#b83e3e;color:#fff}
.settings-general{margin-bottom:24px}.settings-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}.settings-action{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;border:1px solid #e3e8ed;border-radius:12px;background:#fff;color:#33495d;text-align:left;cursor:pointer}.settings-action:hover{border-color:#bac9d6;background:#f7fafc}.settings-action-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#eaf1f7;color:#62809d}.settings-action b,.settings-action small{display:block}.settings-action small{margin-top:4px;color:#7d8b98;font-size:11px;line-height:1.45}
.modal-lead{margin:0 0 18px;color:#6f7e8d;line-height:1.6}.exercise-classification{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-relationship-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.exercise-relationship-grid select{min-height:132px}.exercise-relationship-grid small{color:#8a96a1;font-weight:400}.exercise-media-upload-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px;padding:15px;border:1px dashed #cfdbe5;border-radius:11px;background:#f7fafc}.exercise-media-upload-callout p,.exercise-media-hint{margin:5px 0 0;color:#748493;font-size:12px}.exercise-media-hint{padding:13px;border-radius:9px;background:#f6f8fa}.exercise-danger-zone{display:flex;justify-content:flex-end;margin-top:15px;padding-top:15px;border-top:1px solid #eceff2}.exercise-danger-zone .button{border-color:#efcccc;color:#a74646}
.nutrition-client-picker{display:flex;align-items:end;max-width:420px;margin-bottom:20px}.nutrition-client-picker .field{width:100%}.nutrition-approved{overflow:hidden;margin-bottom:20px}.nutrition-approved-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,#f6fafc,#eaf2f7)}.nutrition-approved-head h2{margin:5px 0 6px;font-size:22px}.nutrition-approved-head p{margin:0;color:#6d7f8f}.nutrition-calorie{text-align:right}.nutrition-calorie strong,.nutrition-calorie span{display:block}.nutrition-calorie strong{color:#385774;font-size:38px;line-height:1}.nutrition-calorie span{margin-top:7px;color:#758697;font-size:11px;text-transform:uppercase}.nutrition-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px}.nutrition-macros .macro{padding:16px;border:1px solid #e4e9ee;border-radius:11px;background:#fff}.nutrition-macros span,.nutrition-macros strong{display:block}.nutrition-macros span{margin-bottom:8px;color:#7c8995;font-size:11px}.nutrition-macros strong{font-size:20px;color:#2e4357}.nutrition-macros .protein{border-top:3px solid #6f91b1}.nutrition-macros .carbs{border-top:3px solid #8bad8b}.nutrition-macros .fat{border-top:3px solid #c6a76c}.nutrition-basis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-top:1px solid #edf0f3;background:#edf0f3}.nutrition-basis>span{padding:14px 20px;background:#fafbfd}.nutrition-basis small,.nutrition-basis b{display:block}.nutrition-basis small{margin-bottom:5px;color:#8b97a2}.nutrition-notes{padding:18px 20px;border-top:1px solid #edf0f3}.nutrition-notes p{margin:7px 0 0;color:#536576;line-height:1.6}.nutrition-disclaimer{margin:0;padding:0 20px 18px;color:#8a96a0;font-size:11px}.nutrition-editor{margin-top:20px}.nutrition-editor>.form-stack{gap:16px}.nutrition-sources{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.nutrition-source{padding:13px;border:1px solid #e3e8ed;border-radius:10px;background:#fff}.nutrition-source span,.nutrition-source strong,.nutrition-source small{display:block}.nutrition-source span{color:#82909c;font-size:10px;font-weight:700;text-transform:uppercase}.nutrition-source strong{margin:7px 0 4px;color:#31475b;font-size:15px;text-transform:capitalize}.nutrition-source small{color:#909ba5;font-size:10px}.nutrition-source.is-missing{border-color:#e8caca;background:#fff8f8}.nutrition-source-card{margin-top:20px}.nutrition-source-card .nutrition-sources{padding:20px}
@media(max-width:900px){.settings-action-grid{grid-template-columns:1fr}.exercise-relationship-grid{grid-template-columns:1fr}.nutrition-sources{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.exercise-classification{grid-template-columns:1fr}.exercise-media-upload-callout{align-items:stretch;flex-direction:column}.nutrition-approved-head{align-items:flex-start;flex-direction:column}.nutrition-calorie{text-align:left}.nutrition-macros,.nutrition-basis{grid-template-columns:1fr}.nutrition-sources{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-action-grid{padding:14px}}

/* v0.9.0 account, privacy and editor refinements. */
.stat-top>span{display:flex;align-items:center;gap:7px}.stat-reveal{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #d9e2e9;border-radius:7px;background:#fff;color:#6f8497;font-size:14px;line-height:1;cursor:pointer}.stat-reveal:hover{border-color:#aebfce;background:#edf3f8}.stat-value.is-hidden-value{letter-spacing:3px;color:#8b98a4}.account-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 23px 23px}.client-readonly-field>span{display:block;margin-bottom:6px;color:#526171;font-size:12px;font-weight:570}.client-readonly-field p{margin:0;padding:11px 12px;border:1px solid #e5e9ed;border-radius:8px;background:#f7f9fb;color:#617181}.builder-exercise-actions .button:disabled{opacity:.35;cursor:not-allowed}.metric-icon-choice{display:flex;align-items:center;gap:8px}
.settings-mobile-signout{display:none}.sortable-title-button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.sortable-title-button:hover span:first-child{text-decoration:underline}.sort-direction{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#edf3f8;color:#607f9d;font-size:13px}.list-sort-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px 10px;color:#758594;font-size:11px;font-weight:650;letter-spacing:.55px;text-transform:uppercase}.list-sort-header .sortable-title-button{color:#405567}.resource-access{display:block;margin-top:9px;color:var(--muted)}
@media(max-width:700px){.settings-mobile-signout{display:inline-flex;width:100%;justify-content:center;margin-top:6px}.exercise-controls{flex-wrap:wrap}.exercise-controls .exercise-search{flex:1 1 100%;max-width:none}.list-sort-header{padding-inline:12px}}
.import-preview{border:1px solid var(--ui-line);border-radius:14px;padding:16px;margin:14px 0;display:grid;gap:8px;background:var(--ui-soft)}
.import-preview-counts{display:flex;flex-wrap:wrap;gap:8px}.import-preview-counts span{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:999px;padding:6px 10px;color:var(--ui-ink)}
.import-confirm{align-items:flex-start!important;margin-top:16px}.import-confirm input{width:auto;margin-top:4px}.import-confirm span{display:grid;gap:4px}.import-confirm small{color:var(--muted)}

/* v0.11.2 contextual empty-state illustrations. */
.empty-state{display:flex;min-height:190px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:20px 20px 28px;text-align:center}
.empty-state-art{position:relative;display:block;width:min(270px,100%);height:122px;overflow:hidden;border-radius:18px;background:#fff}
.empty-state-art img{position:absolute;left:50%;top:50%;width:440px;max-width:none;height:auto;transform:translate(-50%,-50%);pointer-events:none;user-select:none}
.empty-state p{max-width:430px;margin:0;color:var(--ui-muted,var(--muted));line-height:1.55}
.empty-state-action{margin-top:10px}
.progress-metric-list .empty-state,.plan-slot-list .empty-state{min-height:150px;padding:12px 14px 20px}
.progress-metric-list .empty-state-art,.plan-slot-list .empty-state-art{width:min(220px,100%);height:88px}
.progress-metric-list .empty-state-art img,.plan-slot-list .empty-state-art img{width:340px}
.chat-body .empty-state{margin:auto;width:100%}
[data-theme="midnight"] .empty-state-art{box-shadow:0 0 0 1px rgba(255,255,255,.08);opacity:.92}
@media(max-width:600px){.empty-state{min-height:165px;padding:14px 14px 24px}.empty-state-art{width:min(235px,100%);height:105px}.empty-state-art img{width:390px}}

/* v0.11.3: polished business forms and manageable session types. */
.measurement-form-grid{grid-template-columns:minmax(220px,1.35fr) minmax(130px,.7fr) minmax(160px,.85fr)}
.session-type-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.session-type-list{overflow:hidden;border:1px solid #e3e9ee;border-radius:14px;background:#fff}.session-type-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:82px;padding:14px 17px;border-bottom:1px solid #edf1f4}.session-type-row:last-child{border-bottom:0}.session-type-row:hover{background:#fafcfd}.session-type-row h3,.session-type-row p{margin:0}.session-type-row h3{color:#2b4054;font-size:14px}.session-type-row p{margin-top:5px;color:#7b8996;font-size:12px}.session-type-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eaf1f7;color:#62809d}.session-type-credit{padding:6px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase}.session-type-credit.uses-credit{background:#e9f2ea;color:#4f7954}.session-type-credit.no-credit{background:#f2f4f6;color:#74808b}
@media(max-width:720px){.measurement-form-grid{grid-template-columns:1fr}.session-type-row{grid-template-columns:42px minmax(0,1fr)}.session-type-credit{grid-column:2}.session-type-row>.actions{grid-column:2;justify-content:flex-start}}

/* v0.11.3 mobile viewport lock: prevent field-focus zoom and horizontal layout drift. */
@media(max-width:900px){
 html,body,#root,.app,.main-shell,.main-shell>main,#screen{width:100%;max-width:100%;overflow-x:clip}
 input,select,textarea{font-size:16px!important;touch-action:manipulation}
 button,a,[role="button"]{touch-action:manipulation}
 dialog,.wide-dialog{max-width:calc(100vw - 20px)}
}

/* v0.12.0 platform administration */
.admin-tabs{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:8px;overflow-x:auto;margin:0 0 24px;padding:9px;background:linear-gradient(135deg,#fff,#f6f9fb);border:1px solid var(--line,#dfe5ec);border-radius:16px;box-shadow:0 8px 25px rgba(41,62,82,.06);scrollbar-width:thin}
.admin-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid transparent;background:transparent;color:var(--muted,#687386);font:inherit;font-size:12px;font-weight:750;line-height:1.25;white-space:normal;padding:9px 10px;border-radius:11px;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}
.admin-tabs button svg,.admin-tabs button .spotter-icon{width:18px;height:18px;flex:0 0 18px;opacity:.82}.admin-tabs button:hover{border-color:#dbe5ec;background:#fff;color:#36536c;transform:translateY(-1px)}
.admin-tabs button.active{border-color:#bfd1df;background:#eaf2f8;color:#385d7b;box-shadow:0 4px 12px rgba(73,105,132,.12)}.admin-tabs button.active svg,.admin-tabs button.active .spotter-icon{opacity:1}
.admin-toolbar{margin-bottom:16px}.admin-toolbar .search{min-width:min(420px,100%)}
.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.admin-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-overview-grid .admin-audit{grid-column:1/-1}
.admin-system-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px;margin-top:20px}
.admin-log-card{min-width:0}.admin-log{max-height:560px;overflow:auto;background:#101820;border-radius:12px;padding:10px}
.admin-log pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#dbe9f5;border-bottom:1px solid #2a3947;margin:0;padding:12px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.admin-checks{display:flex;flex-wrap:wrap;gap:12px 28px;padding:16px;background:var(--soft,#f6f8fa);border-radius:12px}.admin-checks label,.admin-active-check{display:flex;align-items:center;gap:10px;font-weight:700}.admin-checks input,.admin-active-check input{width:18px;height:18px}
.inline-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line,#dfe5ec);border-radius:12px}.inline-callout p{margin:4px 0 0;color:var(--muted,#687386)}
.platform-announcements{display:grid;gap:10px;margin-bottom:20px}.platform-announcements article{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #f1ba91;border-left:4px solid #ff6b22;border-radius:14px;background:#fff8f2}.platform-announcements h3{margin:4px 0}.platform-announcements p{margin:4px 0;white-space:pre-wrap}.platform-announcements small{white-space:nowrap;color:var(--muted,#687386)}
@media(max-width:900px){.admin-overview-grid,.admin-system-grid{grid-template-columns:1fr}.admin-overview-grid .admin-audit{grid-column:auto}.admin-toolbar{align-items:stretch}.admin-toolbar .search{min-width:0}.platform-announcements article{display:block}.platform-announcements small{display:block;margin-top:10px}.admin-tabs{margin-inline:-4px}.line-item .actions{justify-content:flex-start}}

/* v0.13.0 session package access and reusable templates */
.session-package-rules{margin-top:18px;padding:18px;border:1px solid var(--line,#dfe5ec);border-radius:14px;background:var(--soft,#f6f8fa)}
.session-package-rules[hidden]{display:none}.field-label{font-weight:700;margin-bottom:4px}
.session-package-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.session-package-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line,#dfe5ec);border-radius:12px;background:var(--surface,#fff);cursor:pointer}
.session-package-choice input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.session-package-choice span{display:grid;gap:3px}.session-package-choice small{color:var(--muted,#687386)}
.recurrence-options{margin-top:14px;padding:16px;border:1px solid var(--line,#dfe5ec);border-radius:14px;background:var(--soft,#f6f8fa)}
.recurrence-options[hidden],[data-session-plan-slot][hidden],[data-session-package][hidden]{display:none}
.recurrence-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:10px 0 14px}
.recurrence-day-grid label{cursor:pointer}.recurrence-day-grid input{position:absolute;opacity:0;pointer-events:none}.recurrence-day-grid span{display:grid;place-items:center;min-height:42px;border:1px solid var(--line,#dfe5ec);border-radius:10px;background:var(--surface,#fff);font-weight:700;color:var(--muted,#687386)}
.recurrence-day-grid input:checked+span{border-color:var(--accent,#7357ff);background:color-mix(in srgb,var(--accent,#7357ff) 12%,white);color:var(--text,#172033)}
.session-template-list{display:grid;gap:10px}.session-template-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line,#dfe5ec);border-radius:14px}
.session-template-row h3,.session-template-row p{margin:0}.session-template-row p{color:var(--muted,#687386);margin-top:4px}
@media(max-width:700px){.session-package-choice-grid{grid-template-columns:1fr}.session-template-row{grid-template-columns:auto 1fr}.session-template-row .actions{grid-column:1/-1}.recurrence-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v0.13.1 native-feeling mobile interface */
.mobile-header-brand,.mobile-header-title,.mobile-header-actions{display:none}

@media(max-width:700px){
  :root{--mobile-bar:58px;--mobile-dock:68px}
  html{scroll-padding-top:calc(var(--mobile-bar) + 10px);background:var(--ui-paper,#f6f8fb)}
  body{font-size:14px;overscroll-behavior-y:none}
  .app,.main-shell{min-height:100dvh}.main-shell{padding-bottom:0}

  /* Compact native-style app bar. */
  .main-shell>header{position:sticky;z-index:24;top:0;height:calc(var(--mobile-bar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:rgba(255,255,255,.96);box-shadow:0 1px 0 #e5eaf0;backdrop-filter:saturate(150%) blur(14px)}
  .main-shell>header>.mobile-menu,.main-shell>header>.breadcrumb,.main-shell>header>.header-right{display:none}
  .mobile-header-brand{display:flex;width:88px;align-items:center;flex:0 0 88px}
  .mobile-header-brand .wordmark{width:82px;height:22px;background-position:left center}
  .mobile-header-title{display:block;min-width:0;flex:1;overflow:hidden;color:#26394b;font-family:Manrope,'DM Sans',sans-serif;font-size:15px;font-weight:750;letter-spacing:-.2px;text-align:center;text-overflow:ellipsis;white-space:nowrap}
  .mobile-header-actions{display:flex;width:88px;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 88px}
  .mobile-header-icon,.mobile-header-avatar{position:relative;display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:#536b81}
  .mobile-header-icon:active,.mobile-header-avatar:active{background:#edf3f8}
  .mobile-header-icon .spotter-icon{width:20px;height:20px}
  .mobile-header-avatar .avatar{width:31px;height:31px;font-size:10px}
  .mobile-header-icon>.notification-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border:2px solid #fff;box-sizing:content-box}

  /* Content density and hierarchy. */
  .main-shell>main{padding:14px 12px calc(var(--mobile-dock) + 24px + env(safe-area-inset-bottom))}
  .main-shell>footer{display:none}
  h1{font-size:24px;line-height:1.15;letter-spacing:-.7px}h2{font-size:16px}h3{font-size:14px}
  .page-top{align-items:flex-end;gap:10px;margin:4px 0 14px}
  .page-top .eyebrow{display:none}.page-top .subtitle{display:none}
  .page-top>div:first-child{min-width:0}.page-top>.actions{width:auto;max-width:55%;align-self:auto;flex-direction:row;overflow-x:auto;justify-content:flex-end;scrollbar-width:none}
  .page-top>.actions::-webkit-scrollbar,.actions::-webkit-scrollbar{display:none}
  .page-top>.actions .button{min-height:40px;flex:0 0 auto;padding:9px 12px}
  .route-overview .page-top{align-items:center;margin-top:2px}.route-overview .page-top h1{font-size:23px}
  .route-client_profile .profile-content>.page-top,.client-profile-page .profile-content>.page-top{display:none}
  .card{border-radius:12px;box-shadow:0 1px 2px rgba(33,52,70,.03)}
  .card-head{min-height:50px;padding:13px 14px}.card-head .subtitle{display:none}
  .card-head .button.small{min-height:36px}
  .button{min-height:44px;padding:10px 13px;border-radius:10px}.button.small{min-height:40px;padding:8px 11px}
  .icon-btn{min-width:44px;min-height:44px}
  input,select,textarea{min-height:46px;border-radius:10px;padding:11px 12px;font-size:16px!important}
  textarea{min-height:96px}.field{gap:6px;font-size:12px}.form-grid,.form-grid-2,.form-grid-3{gap:12px}
  .notice,.error-box{padding:12px 13px;font-size:12px;line-height:1.5}
  .empty-state{min-height:136px;gap:5px;padding:10px 12px 18px}.empty-state-art{height:82px;width:min(205px,100%)}.empty-state-art img{width:320px}.empty-state p{font-size:12px}

  /* Dashboard: useful information first, with no oversized cards. */
  .dashboard-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .dashboard-stats .stat{min-height:94px;padding:12px;border-radius:12px}.stat-top{font-size:11px}.stat-top .spotter-icon{width:17px;height:17px}.stat-value{margin:8px 0 3px;font-size:23px}.stat-value small{font-size:11px}.stat-bottom{font-size:10px;line-height:1.3}
  .dashboard-grid,.lower-grid{gap:12px}.stack{gap:12px}.insight{padding:16px}.insight h2{margin:9px 0 5px;font-size:18px;line-height:1.35}.insight p{font-size:12px;line-height:1.5}
  .session-row{gap:10px;min-height:68px;padding:12px 14px}.session-row .time{min-width:43px;font-size:12px}.session-row .time small{margin-top:4px;font-size:10px}.session-row .session-info p{margin-top:4px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.session-row>.badge{padding:4px 6px;font-size:10px}
  .attention{padding:0 14px 6px}.attention-row,.line-item{gap:10px;padding:12px 14px}.attention-row strong,.line-item h3{font-size:13px}.attention-row p,.line-item p{margin-top:3px;font-size:11px;line-height:1.45}

  /* Lists, toolbars and data tables become thumb-friendly cards. */
  .toolbar{gap:8px;margin-bottom:12px;padding:8px;border-radius:11px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .toolbar>.actions{flex:0 0 auto;flex-wrap:nowrap}.toolbar .subtle{flex:0 0 auto;font-size:11px}.toolbar .search{min-width:min(72vw,310px)}
  .segmented{flex:0 0 auto}.segmented button{min-height:38px;padding:7px 10px}
  .management-list-item{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:12px}.list-item-icon{width:38px;height:38px}.list-item-main h2{font-size:14px}.list-item-main p{margin-top:4px;font-size:11px}.list-item-actions{grid-column:2/-1;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
  .responsive-table:not(.clients-overview-table){display:block}.responsive-table:not(.clients-overview-table) thead{display:none}.responsive-table:not(.clients-overview-table) tbody{display:grid;gap:10px;padding:10px}.responsive-table:not(.clients-overview-table) tbody tr{display:grid;padding:4px 12px;border:1px solid #e5eaf0;border-radius:12px;background:#fff}.responsive-table:not(.clients-overview-table) tbody td{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f4;white-space:normal;text-align:right}.responsive-table:not(.clients-overview-table) tbody td:last-child{border-bottom:0}.responsive-table:not(.clients-overview-table) tbody td::before{content:attr(data-label);color:#83909d;font-size:10px;font-weight:700;text-align:left;text-transform:uppercase}.responsive-table:not(.clients-overview-table) tbody .table-wide-cell{display:block;text-align:left}.responsive-table:not(.clients-overview-table) tbody .table-wide-cell::before{display:none}

  /* Schedule stays readable without desktop-sized day cards. */
  .schedule-control-groups{display:grid!important;width:100%;gap:8px}.schedule-view-switch,.schedule-date-nav{display:flex;width:100%;gap:5px;overflow-x:auto;scrollbar-width:none}.schedule-view-switch .button{flex:1}.schedule-date-nav input{min-width:146px;flex:1}.schedule-date-nav .button{flex:0 0 auto}
  .calendar-grid.week,.calendar-grid.month{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 1px 8px}.calendar-grid.week .calendar-day,.calendar-grid.month .calendar-day{min-width:82vw;min-height:118px;scroll-snap-align:center;padding:12px}
  .calendar-day h3{margin-bottom:8px}.calendar-event{margin-bottom:6px;padding:9px}
  .session-template-row{gap:10px;padding:12px}.session-package-rules{padding:12px}.session-package-choice{padding:10px}

  /* Client profile and detail views. */
  .client-profile-page{gap:12px}.profile-back{margin:0}.profile-hero{gap:14px;padding:14px}.profile-identity{gap:11px}.profile-identity>.avatar{width:44px;height:44px;font-size:15px}.profile-identity h1{margin:4px 0;font-size:21px}.profile-identity p{margin-bottom:9px;font-size:11px}.profile-identity .session-pills{gap:5px}.profile-hero-actions{width:100%;display:flex;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap}.profile-hero-actions .button{flex:0 0 auto}.profile-tabs{position:sticky;z-index:12;top:calc(var(--mobile-bar) + env(safe-area-inset-top));margin-inline:-12px;padding:6px 12px;border-width:1px 0;border-radius:0;background:rgba(255,255,255,.96);scrollbar-width:none;backdrop-filter:blur(12px)}.profile-tab{padding:9px 12px;font-size:12px}.profile-tabs-select{display:none}.profile-overview-grid{gap:12px;margin:12px 0}.profile-card-body{padding:2px 14px 14px}.profile-session-line{gap:8px;padding:12px 0}.profile-checkin{gap:10px;padding:14px}
  .session-detail-layout{gap:12px}.session-overview,.session-section,.session-workout{padding:14px}.session-client-heading{gap:10px;margin:13px 0}.session-primary-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.session-primary-facts>*{min-width:0;padding:10px}.session-detail-actions{overflow-x:auto;flex-wrap:nowrap}.session-detail-actions .button{flex:0 0 auto}.session-participant{gap:10px;padding:11px}.session-participant-person{min-width:0}.session-participant-person .avatar{width:36px;height:36px}

  /* Exercise, workout builder, logging and results. */
  .exercise-controls{gap:8px;margin-bottom:10px}.exercise-filter-panel{padding:12px}.exercise-list-row{min-height:70px;padding:11px 12px}.exercise-main{gap:10px}.exercise-main-copy strong{font-size:14px}.exercise-main-copy small{font-size:11px}.exercise-row-actions{gap:5px}.exercise-star{width:40px;height:40px}.exercise-detail-grid{gap:14px}.exercise-detail-copy section{min-height:auto;padding:14px}.exercise-media-empty{min-height:130px}.exercise-relations{gap:8px;margin-top:12px}.exercise-relations>section{padding:12px}
  .ui-form-section{margin-bottom:12px}.ui-form-section-head{gap:10px;padding:12px}.ui-form-section-head p{font-size:11px}.ui-form-section-body{padding:12px}.ui-section-icon{width:36px;height:36px}.builder-toolbar{gap:10px;padding:12px;align-items:flex-start;flex-direction:column}.builder-toolbar .actions{width:100%;overflow-x:auto;flex-wrap:nowrap}.builder-toolbar .button{flex:0 0 auto}.builder-section{padding:12px}.builder-section-heading{gap:8px}.builder-section-heading>.actions{overflow-x:auto;flex-wrap:nowrap}.builder-exercise{grid-template-columns:30px minmax(0,1fr) minmax(76px,.45fr);gap:8px;padding:12px 0}.builder-exercise>.field{grid-column:auto}.builder-exercise>.field:nth-of-type(n+3){grid-column:2/-1}.builder-exercise-actions{grid-column:2/-1;justify-content:flex-start}.builder-direct-exercises{padding:0 10px}
  .workout-log-intro{padding:12px}.workout-log-progressbar{position:sticky;z-index:8;top:0;padding:10px 12px;background:#fff}.workout-log-carousel{margin-inline:-12px}.workout-log-slide{width:calc(100vw - 24px);padding:12px}.workout-log-section-head{gap:8px}.workout-log-exercise{padding:12px}.workout-log-exercise-head{align-items:flex-start}.workout-log-sets{gap:7px}.log-set{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 40px;gap:6px;padding:8px}.log-field input{padding:8px;min-height:42px}.workout-log-navigation{position:sticky;z-index:8;bottom:0;margin:0 -12px;padding:9px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.workout-log-navigation .button{min-width:82px}.workout-result-summary{gap:7px;margin-bottom:12px}.workout-result-summary>div{padding:11px}.workout-result-groups{gap:10px}.workout-result-group-head{padding:11px 12px}.workout-result-set-head,.workout-result-set{padding:8px 12px}

  /* Progress metrics become a horizontal selector instead of a tall rail. */
  .progress-client-toolbar{margin-bottom:12px!important}.progress-client-toolbar .field{display:flex!important;flex:1}.progress-client-toolbar .field>span{display:none}.progress-client-toolbar select{width:100%;min-width:0}
  .progress-dashboard{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.progress-metric-sidebar{max-height:none;overflow:visible}.progress-metric-list{display:flex;max-height:none;gap:8px;padding:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}.progress-metric-list>*{min-width:158px;scroll-snap-align:start}.progress-history-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.progress-chart-stage{overflow-x:auto}.progress-panel-heading{padding:13px 14px}

  /* Nutrition remains scannable in one viewport. */
  .nutrition-client-picker{margin-bottom:12px}.nutrition-approved{margin-bottom:12px}.nutrition-approved-head{gap:10px;padding:14px;flex-direction:row;align-items:center}.nutrition-approved-head h2{font-size:17px}.nutrition-approved-head p{font-size:11px}.nutrition-calorie{text-align:right}.nutrition-calorie strong{font-size:27px}.nutrition-macros{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px}.nutrition-macros .macro{padding:10px 8px}.nutrition-macros span{font-size:9px}.nutrition-macros strong{font-size:15px}.nutrition-basis{grid-template-columns:repeat(3,minmax(0,1fr))}.nutrition-basis>span{padding:10px 8px}.nutrition-basis small{font-size:9px}.nutrition-basis b{font-size:11px}.nutrition-sources{gap:7px}.nutrition-source{padding:10px}

  /* Forms open as bottom sheets and keep primary actions reachable. */
  dialog,dialog.wide-dialog{width:100vw;max-width:100vw;max-height:94dvh;margin:auto 0 0;padding:0;border-width:1px 0 0;border-radius:20px 20px 0 0;overscroll-behavior:contain}
  dialog::backdrop{background:rgba(25,38,50,.46);backdrop-filter:none}
  .modal-heading{position:sticky;z-index:15;top:0;padding:13px 14px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.modal-heading h2{font-size:17px}.modal-heading .icon-btn{width:40px;height:40px}
  #modal-body{padding:12px 12px calc(12px + env(safe-area-inset-bottom));overflow-x:hidden}
  #modal-body>.form-stack>.modal-actions,#modal-body>.modal-actions{position:sticky;z-index:14;bottom:calc(-12px - env(safe-area-inset-bottom));margin:18px -12px -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e6ebef;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
  .modal-actions .button{flex:1}.modal-actions .button.primary{flex:1.4}

  /* Light, familiar five-item bottom navigation. */
  .mobile-dock{z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mobile-dock) + env(safe-area-inset-bottom));min-height:0;padding:5px 5px env(safe-area-inset-bottom);border-top:1px solid #dfe6ec;background:rgba(255,255,255,.96);box-shadow:0 -6px 22px rgba(32,49,65,.08);backdrop-filter:saturate(160%) blur(16px)}
  .mobile-dock-link{position:relative;display:flex;min-width:0;min-height:58px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:5px 2px;border:0;border-radius:12px;background:transparent;color:#7a8997;font:inherit;font-size:10px;font-weight:650;line-height:1;cursor:pointer}
  .mobile-dock-link.active{background:#eaf1f7;color:#416683}.mobile-dock-link .spotter-icon{width:21px;height:21px;filter:none;opacity:.74}.mobile-dock-link.active .spotter-icon{opacity:1}.mobile-dock-link>span{display:flex;align-items:center;gap:4px;max-width:100%}.mobile-dock-link .notification-dot{width:6px;height:6px;flex-basis:6px;background:#d94b4b}
  .menu-open .sidebar{z-index:55;padding-bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:0 0 0 100vmax rgba(25,38,50,.42)}
  .sidebar{height:100dvh;overflow-y:auto}.sidebar nav{max-height:none;overflow:visible}.sidebar-bottom{padding-top:18px}
  #toast{z-index:80;bottom:calc(var(--mobile-dock) + 12px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);padding:11px 14px;font-size:12px}
}

@media(max-width:390px){
  :root{--mobile-bar:56px;--mobile-dock:65px}
  .mobile-header-brand{width:76px;flex-basis:76px}.mobile-header-brand .wordmark{width:72px}.mobile-header-actions{width:76px;flex-basis:76px}.mobile-header-icon,.mobile-header-avatar{width:36px;height:40px}
  .main-shell>main{padding-inline:10px}.page-top h1{font-size:22px}.page-top>.actions{max-width:48%}.dashboard-stats .stat{padding:10px}.stat-value{font-size:21px}
  .mobile-dock-link{font-size:9px}.mobile-dock-link .spotter-icon{width:20px;height:20px}.profile-tabs{margin-inline:-10px;padding-inline:10px}
  .nutrition-macros .macro{padding-inline:6px}.nutrition-macros strong{font-size:14px}.workout-log-slide{width:calc(100vw - 20px)}
}

@media(max-width:700px) and (orientation:landscape){
  :root{--mobile-bar:52px;--mobile-dock:60px}.main-shell>main{padding-top:10px}.mobile-dock-link{min-height:50px}.modal-heading{padding-block:9px}dialog,dialog.wide-dialog{max-height:96dvh}
}

/* v0.13.2 mobile alignment and navigation corrections */
@media(max-width:700px){
  /* Keep menu links and account controls in separate, non-overlapping regions. */
  .sidebar,.app.sidebar-collapsed .sidebar{display:flex;height:100dvh;max-height:100dvh;overflow:hidden;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .sidebar .sidebar-brand-row,.sidebar .workspace-select,.sidebar>.nav-label{flex:0 0 auto}
  .sidebar nav,.app.sidebar-collapsed .sidebar nav{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 12px 0}
  .sidebar-bottom,.app.sidebar-collapsed .sidebar-bottom{position:relative;z-index:2;display:block;flex:0 0 auto;margin-top:0;padding-top:10px;border-top:1px solid #e8edf1;background:#fff}
  .sidebar .plan-box{padding:12px}.sidebar .profile{min-height:48px;padding:10px 4px 0}

  /* Buttons left, title right, aligned on one row. */
  .page-top{min-height:46px;align-items:center;justify-content:space-between;flex-direction:row-reverse;gap:10px;margin-bottom:14px}
  .page-top>div:first-child{min-width:0;margin-left:auto;text-align:right}
  .page-top>.actions{width:auto;max-width:62%;min-width:0;margin-right:auto;align-items:center;align-self:center;justify-content:flex-start;flex-direction:row;overflow-x:auto;overflow-y:hidden}
  .page-top>.actions .button{flex:0 0 auto}
  .page-top>.actions.compact-action-group{display:flex;width:auto;flex-wrap:nowrap}
  .page-top>.actions .clients-header-actions{display:flex;width:auto;align-items:center;gap:7px;grid-template-columns:none}
  .page-top>.actions .clients-header-actions .button{white-space:nowrap}
  .page-top>.actions .clients-header-actions [data-action="client-filter-toggle"].pictogram-button{width:44px;min-width:44px;padding:10px}
  .page-top>.actions .clients-header-actions [data-action="client-filter-toggle"] .action-icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}

  /* List actions share the title row and use consistent icon-only controls. */
  .management-list-item{grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;column-gap:10px;row-gap:5px}
  .management-list-item>.list-item-icon{grid-column:1;grid-row:1/span 2}
  .management-list-item>.list-item-main{grid-column:2;grid-row:1/span 2;min-width:0;padding-top:1px}
  .management-list-item>.list-item-meta{grid-column:2;grid-row:2;justify-content:flex-start}
  .management-list-item>.list-item-actions{grid-column:3;grid-row:1;align-self:start;justify-content:flex-end;overflow:visible;flex-wrap:nowrap;gap:6px}
  .management-list-item>.list-item-actions .button{width:40px;min-width:40px;height:40px;min-height:40px;padding:9px}
  .management-list-item>.list-item-actions .action-icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}

  /* Previous, date and next only; week/month are centered on today's card. */
  .schedule-date-nav{display:grid;width:100%;grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}
  .schedule-date-nav>[data-action="calendar-shift"]{width:44px;min-width:44px;padding:10px}
  .schedule-date-nav>[data-action="calendar-shift"] .action-icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
  .calendar-grid.week .calendar-day.today,.calendar-grid.month .calendar-day.today{border-color:#7898b7;box-shadow:0 0 0 2px rgba(120,152,183,.14)}
}

/* v0.14.0 weekly availability and approval-based booking requests */
.hours-week{display:grid;gap:12px}.hours-day{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface)}.hours-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hours-day-ranges{display:grid;gap:10px;margin-top:10px}.hours-interval{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:end;gap:10px}.hours-interval .field{margin:0}.hours-day-off{margin:2px 0}.booking-request-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);margin-bottom:12px}.booking-request-card h3{margin:4px 0}.booking-request-card p{margin:4px 0}.booking-request-note{padding:10px 12px;border-radius:10px;background:var(--surface-alt)}
@media(max-width:700px){.hours-interval{grid-template-columns:1fr 1fr}.hours-interval .button{grid-column:1/-1}.booking-request-card{display:block}.booking-request-card .actions{margin-top:14px}.booking-request-card .actions .button{flex:1}}

@media(max-width:390px){
  .page-top>.actions{max-width:66%}.page-top h1{font-size:21px}
  .page-top>.actions .button{padding-inline:10px}.page-top>.actions .button.primary{font-size:12px}
}

/* v0.14.1 mobile session, client profile and schedule corrections */
@media(max-width:700px){
  /* Keep profile actions in their own row so they never cover the client name. */
  .client-profile-page .profile-hero{display:flex!important;padding-top:14px!important;align-items:stretch;flex-direction:column}
  .client-profile-page .profile-identity{width:100%;min-width:0}
  .client-profile-page .profile-hero-actions,
  .client-profile-page .profile-hero-actions.compact-action-group{position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;margin:0;display:flex!important;align-items:center;justify-content:flex-start;gap:7px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap}
  .client-profile-page .profile-hero-actions>.button{min-width:0;min-height:38px;padding:8px 10px;font-size:12px;flex:0 0 auto}
  .client-profile-page .profile-hero-actions>.button.primary{flex:1 1 auto}

  /* Put schedule actions on the left and the page title on the right. */
  .route-schedule .page-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .route-schedule .page-top>div:first-child{grid-column:2;grid-row:1;margin:0;text-align:right}
  .route-schedule .page-top>.actions{grid-column:1;grid-row:1;width:100%;max-width:100%;margin:0;justify-content:flex-start}
  .schedule-date-nav{grid-template-columns:42px minmax(0,1fr) 42px!important;align-items:center;gap:7px;overflow:visible}
  .schedule-date-nav input,
  .schedule-date-nav #schedule-date{display:block;width:100%!important;min-width:0!important;max-width:100%!important;margin:0;box-sizing:border-box;text-align:center}
  .schedule-date-nav>[data-action="calendar-shift"]{position:relative;z-index:1;width:42px!important;min-width:42px!important;max-width:42px!important;margin:0;padding:8px!important}

  /* Compact session sheets without reducing tap targets. */
  dialog:has(.session-detail-layout) .modal-heading{padding:10px 12px}
  dialog:has(.session-detail-layout) .modal-heading h2{font-size:15px;line-height:1.35}
  dialog:has(.session-detail-layout) .modal-heading .icon-btn{width:36px;height:36px;min-width:36px;min-height:36px}
  dialog:has(.session-detail-layout) #modal-body{padding:9px 10px calc(10px + env(safe-area-inset-bottom))}
  .session-detail-layout{gap:9px;font-size:12px}
  .session-overview{gap:9px;padding:0!important}
  .session-title-pills{gap:6px;margin:0}
  .session-icon-pill{gap:5px;padding:5px 8px;font-size:11px}
  .session-icon-pill .spotter-icon,.session-icon-pill svg{width:14px;height:14px}
  .session-client-heading{gap:8px;margin:0;padding:8px 0!important}
  .session-client-heading .avatar{width:38px;height:38px;font-size:12px}
  .session-client-heading .eyebrow{margin-bottom:2px;font-size:8px}
  .session-client-heading h2{margin:0;font-size:17px;line-height:1.25}
  .session-primary-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-radius:10px}
  .session-primary-facts>*{min-height:62px;padding:7px!important;gap:7px}
  .session-fact-icon{width:30px;height:30px;flex-basis:30px;border-radius:8px}
  .session-fact-icon .spotter-icon,.session-fact-icon svg{width:16px;height:16px}
  .session-fact span small{font-size:8px;letter-spacing:.04em}
  .session-fact span b{margin-top:2px;font-size:11px;line-height:1.35}
  .session-detail-actions{gap:6px;margin-top:0;padding-top:9px;overflow-x:auto;flex-wrap:nowrap}
  .session-detail-actions .button{min-height:36px;padding:7px 9px;font-size:11px;flex:0 0 auto}
  .session-section,.session-workout{gap:9px;padding:10px!important}
  .session-workout-title{gap:8px}.session-workout-title-icon{width:36px;height:36px;flex-basis:36px;border-radius:9px}
  .session-workout-title-icon .spotter-icon,.session-workout-title-icon svg{width:18px;height:18px}
  .session-workout-title .eyebrow{margin-bottom:2px;font-size:8px}.session-workout-title h2{margin:0;font-size:15px}
  .session-workout-main-heading{gap:8px}.session-workout-main-heading>.session-pills{gap:5px}
  .session-workout-sections{gap:8px}
  .session-training-block{gap:6px;padding:9px!important;border-radius:10px}
  .session-training-block>.session-section-heading{gap:7px}
  .session-training-block h3{gap:7px;margin:0;font-size:13px}
  .session-section-number{padding:4px;font-size:10px}
  .session-training-block .session-pills{gap:5px}
  .session-training-block .session-pill{padding:4px 7px;font-size:10px}
  .session-exercise{gap:6px;margin:0;padding:9px 0!important}
  .session-exercise-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;flex-direction:initial}
  .session-exercise-heading>div:first-child{min-width:0}
  .session-exercise h4{font-size:13px;line-height:1.35}
  .session-exercise-media{gap:5px;margin-top:5px}
  .session-exercise-media .button{min-height:34px;padding:6px 8px;font-size:10px}
  .session-exercise-prescription{gap:5px;justify-content:flex-end}
  .session-exercise-prescription .session-pill,.session-exercise-prescription .pill-status{padding:5px 8px;font-size:11px}
  .session-exercise p,.session-workout-notes{margin:0;font-size:11px;line-height:1.45}
  .session-participant-list{gap:7px}.session-participant{gap:8px;padding:9px}.session-participant h3{margin-bottom:5px;font-size:13px}
}

/* v0.14.2 profile navigation and consistent compact badges */
.client-profile-page .profile-identity .session-pill{
  padding:5px 8px;border:0;border-radius:6px;background:#edf4f8;color:#5c7b98;
  font-size:10px;font-weight:650;line-height:1.35;text-transform:capitalize;
  white-space:nowrap;overflow-wrap:normal;word-break:normal
}
.client-profile-page .profile-hero-actions>.button,
.client-profile-page .profile-hero-actions>.action-dropdown-trigger.pictogram-button{
  height:42px;min-height:42px
}
.client-profile-page .profile-hero-actions>.action-dropdown-trigger.pictogram-button{flex-basis:42px}
#next-appointments{scroll-margin-top:calc(var(--mobile-bar,58px) + 14px)}

.session-detail-layout .session-pill{
  max-width:none;padding:5px 8px;border:0;border-radius:6px;background:#edf4f8;color:#5c7b98;
  font-size:10px;font-weight:650;line-height:1.35;
  white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important
}
.session-detail-layout .session-pill.pill-type{border:0;background:#eaf2f8;color:#527697}
.session-detail-layout .session-pill.pill-status{border:0;background:#edf6f0;color:#557b63}
.session-detail-layout .session-pill.pill-muted{border:0;background:#f0f2f4;color:#7b858e}
.session-fact-icon{display:grid!important;place-items:center!important;padding:0!important;line-height:0}
.session-fact-icon .spotter-icon,.session-fact-icon svg{display:block;margin:auto;object-fit:contain;object-position:center}

@media(max-width:700px){
  .client-profile-page .profile-hero-actions>.button,
  .client-profile-page .profile-hero-actions>.action-dropdown-trigger.pictogram-button{
    height:38px;min-height:38px
  }
  .client-profile-page .profile-hero-actions>.action-dropdown-trigger.pictogram-button{width:42px;min-width:42px;flex:0 0 42px;padding:8px}
  .session-detail-layout .session-pills{align-items:center}
  .session-detail-layout .session-pill{flex:0 0 auto}
}

/* v0.15.1 progress analytics redesign */
.progress-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.progress-summary .stat{min-height:132px;padding:18px 20px}
.progress-summary .stat-value{margin-top:12px;font-size:28px}
.progress-client-toolbar{width:min(100%,440px);max-width:440px;margin:-4px 0 18px!important}
.progress-client-toolbar .field{display:flex!important;align-items:center;gap:10px;width:100%}
.progress-client-toolbar .field>span{flex:0 0 auto;white-space:nowrap}
.progress-client-toolbar select{min-width:0;flex:1}
.progress-dashboard{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:16px;align-items:stretch}
.progress-metric-sidebar,.progress-trend-card,.progress-history-card{overflow:hidden}
.progress-metric-sidebar{display:flex;max-height:516px;flex-direction:column}
.progress-panel-heading{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--ui-line)}
.progress-panel-heading h2{margin:2px 0 0;font-size:16px}
.progress-panel-heading>div>small{display:block;margin-top:3px;color:var(--ui-muted);font-size:11px}
.progress-metric-search{position:relative;display:flex;align-items:center;margin:12px 12px 4px;color:var(--ui-muted)}
.progress-metric-search svg{position:absolute;left:11px;width:17px;height:17px;pointer-events:none}
.progress-metric-search input{width:100%;padding:9px 10px 9px 36px;background:var(--ui-soft)}
.progress-metric-list{min-height:0;max-height:none;flex:1;padding:7px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.progress-metric-row{display:grid;width:100%;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.progress-metric-row[hidden]{display:none!important}
.progress-metric-row:hover{background:var(--ui-soft)}
.progress-metric-row.active{background:var(--ui-mint);box-shadow:inset 3px 0 0 var(--ui-accent)}
.progress-metric-icon{display:grid;width:36px;height:36px;place-items:center;flex:0 0 36px}
.progress-metric-row.active .progress-metric-icon{background:var(--ui-surface)}
.progress-metric-row b,.progress-metric-row small,.progress-metric-value strong{display:block}
.progress-metric-row b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.progress-metric-row small{margin-top:2px;color:var(--ui-muted);font-size:10px}
.progress-metric-value{text-align:right;white-space:nowrap}.progress-metric-value strong{font-size:12px}.progress-metric-value small{font-weight:700}
.progress-latest{text-align:right;white-space:nowrap}.progress-latest strong,.progress-latest small{display:block}.progress-latest strong{font-size:22px}.progress-latest small{margin-top:3px;font-size:11px;font-weight:650}
.positive{color:#4f815f!important}.negative{color:#c65d5d!important}
.progress-range{display:flex;justify-content:flex-end;gap:4px;padding:10px 14px 0}
.progress-range .button{min-height:31px;padding:5px 10px;border-color:transparent;background:transparent}
.progress-range .button:hover{background:var(--ui-soft)}.progress-range .button.primary{background:var(--ui-ink);color:#fff}
.progress-chart-stage{display:flex;min-height:298px;align-items:center;justify-content:center;padding:8px 16px 4px}
.progress-chart-stage .history-chart{width:100%;height:286px;overflow:visible}
.history-chart .chart-grid path{stroke:#e8edf2;stroke-width:1}.history-chart .chart-grid text,.history-chart .chart-labels text{fill:var(--ui-muted);font-size:8px}
.history-chart .chart-line{stroke:#7298bd;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.history-chart .chart-point-halo{fill:var(--ui-surface);stroke:#7298bd;stroke-width:1.5}.history-chart .chart-point{fill:#7298bd}
.progress-chart-summary{display:flex;justify-content:space-between;gap:14px;padding:12px 18px;border-top:1px solid var(--ui-line);color:var(--ui-muted);font-size:11px}
.progress-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.progress-history-card .progress-panel-heading{align-items:flex-end}
.progress-history-filters{display:flex;align-items:flex-end;gap:7px}
.progress-history-filters .field{gap:3px;font-size:9px;text-transform:uppercase}.progress-history-filters select{min-width:108px;padding:7px 28px 7px 9px;font-size:11px;text-transform:none}
.progress-table-wrap{max-height:382px;overflow:auto;overscroll-behavior:contain}
.progress-table{width:100%;border-collapse:collapse;font-size:12px}
.progress-table th{position:sticky;z-index:1;top:0;padding:10px 14px;border-bottom:1px solid var(--ui-line);background:var(--ui-soft);color:var(--ui-muted);font-size:9px;font-weight:750;letter-spacing:.07em;text-align:left;text-transform:uppercase}
.progress-table td{padding:12px 14px;border-bottom:1px solid #edf1f4;vertical-align:middle}.progress-table tbody tr:hover{background:var(--ui-soft)}
.progress-table td:first-child{white-space:nowrap}.progress-table td:last-child{text-align:right}.progress-table .badge{white-space:nowrap}
.progress-table-link{padding:0;border:0;background:transparent;color:var(--ui-ink);font:inherit;font-weight:680;text-align:left;cursor:pointer}.progress-table-link:hover{color:var(--ui-accent);text-decoration:underline}
.progress-table .empty-state{min-height:145px;padding:12px}.progress-table .empty-state-art{height:72px}.progress-table .empty-state-art img{width:300px}
.progress-table-footer{padding:9px 14px;border-top:1px solid var(--ui-line);background:var(--ui-soft);color:var(--ui-muted);font-size:10px;text-align:right}

@media(max-width:1050px){
  .progress-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-dashboard{grid-template-columns:250px minmax(0,1fr)}
  .progress-history-grid{grid-template-columns:1fr}.progress-history-card .progress-table-wrap{max-height:330px}
}
@media(max-width:700px){
  .route-progress .page-top{align-items:flex-start}.route-progress .page-top>.actions{max-width:68%}
  .progress-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.progress-summary .stat{min-height:106px;padding:11px}.progress-summary .stat-top{gap:4px;font-size:9px}.progress-summary .stat-top .spotter-icon{width:16px;height:16px}.progress-summary .stat-value{margin-top:8px;font-size:20px}.progress-summary .stat-bottom{font-size:9px;line-height:1.3}
  .progress-client-toolbar{width:100%;max-width:none;margin-bottom:12px!important}.progress-client-toolbar .field>span{display:block!important}
  .progress-dashboard{grid-template-columns:1fr;gap:12px}.progress-metric-sidebar{max-height:none;overflow:hidden}
  .progress-panel-heading{min-height:60px;padding:12px 13px}.progress-panel-heading h2{font-size:15px}
  .progress-metric-search{margin:9px 10px 2px}.progress-metric-list{display:flex;max-height:none;gap:7px;padding:7px 10px 10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}
  .progress-metric-list>*{min-width:170px;scroll-snap-align:start}.progress-metric-row{grid-template-columns:32px minmax(0,1fr);padding:9px}.progress-metric-icon{width:32px;height:32px}.progress-metric-value{grid-column:2;text-align:left}.progress-metric-value strong,.progress-metric-value small{display:inline}.progress-metric-value small{margin-left:6px}
  .progress-trend-heading{align-items:flex-start}.progress-latest strong{font-size:18px}.progress-range{justify-content:flex-start;padding:8px 10px 0;overflow-x:auto}
  .progress-chart-stage{min-height:218px;padding:4px 8px}.progress-chart-stage .history-chart{min-width:310px;height:220px}.progress-chart-summary{align-items:flex-start;flex-direction:column;gap:2px;padding:9px 12px}
  .progress-history-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.progress-history-card .progress-panel-heading{align-items:flex-start;flex-direction:column}.progress-history-filters{width:100%}.progress-history-filters .field{flex:1}.progress-history-filters select{width:100%;min-width:0}
  .progress-table-wrap{max-height:340px}.progress-table{min-width:560px}.progress-history-card:nth-child(2) .progress-table{min-width:390px}.progress-table th,.progress-table td{padding:10px 12px}
}
@media(max-width:390px){.progress-summary{grid-template-columns:1fr}.progress-summary .stat{min-height:88px}.progress-summary .stat-value{font-size:19px}}

/* v0.15.2 — unified responsive page headers and polished client editor */
.page-top{display:flex;align-items:center;justify-content:space-between;gap:28px}
.page-title{min-width:0;flex:1 1 auto}
.page-header-controls{display:flex;min-width:0;align-items:flex-end;justify-content:flex-end;gap:10px;flex:0 1 auto}
.page-header-selector{min-width:260px}
.page-header-selector .field{display:flex!important;align-items:center;gap:10px;margin:0;color:#526171;font-size:12px;font-weight:650;white-space:nowrap}
.page-header-selector select{width:clamp(210px,22vw,340px);min-width:0;min-height:40px;background-color:#fff}
.page-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.page-header-actions .button{flex:0 0 auto;white-space:nowrap}
.client-profile-page .profile-content>.page-top .page-header-selector{display:none}

.client-form-shell{display:grid;gap:14px}
.client-form-shell .ui-form-section{margin:0;overflow:hidden}
.client-form-shell .ui-form-section-body{padding:18px}
.client-form-shell .form-grid{gap:14px}
.client-form-shell .field{min-width:0}
.client-form-shell input,.client-form-shell select,.client-form-shell textarea{background:#fff}
.client-form-shell textarea{min-height:104px;resize:vertical}
.client-form-shell .client-readonly-field{align-self:stretch;padding:0}
.client-form-shell .client-readonly-field p{min-height:42px;display:flex;align-items:center;padding:10px 12px;background:#f6f8fa}
.client-form-shell .client-readonly-field small{display:block;margin-top:6px;color:#8b97a2;font-size:10px;font-weight:450;line-height:1.45}

@media(max-width:900px) and (min-width:701px){
  .page-top{align-items:flex-start;gap:18px}.page-header-controls{flex-wrap:wrap}.page-header-selector{min-width:220px}.page-header-selector select{width:240px}
}

@media(max-width:700px){
  .page-top,.route-schedule .page-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"controls title";align-items:center;gap:9px 12px;margin:4px 0 14px;min-height:44px}
  .page-title,.route-schedule .page-top>.page-title{grid-area:title;min-width:0;margin:0;text-align:right}
  .page-title h1{overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}
  .page-header-controls{grid-area:controls;display:flex;width:auto;max-width:100%;align-items:center;justify-content:flex-start;gap:7px;margin:0;overflow:visible}
  .page-header-actions{justify-content:flex-start;gap:7px;overflow-x:auto;scrollbar-width:none}
  .page-header-actions::-webkit-scrollbar{display:none}
  .page-header-actions .button{min-height:40px;padding:9px 11px}
  .page-top.has-selector{grid-template-areas:"actions title" "selector selector"}
  .page-top.has-selector .page-header-controls{display:contents}
  .page-top.has-selector .page-header-actions{grid-area:actions;min-width:0;justify-self:start}
  .page-top.has-selector .page-header-selector{grid-area:selector;width:100%;min-width:0;margin-top:3px}
  .page-header-selector .field{width:100%;justify-content:flex-start}
  .page-header-selector select{width:auto;min-width:0;flex:1}
  .client-form-shell{gap:10px}.client-form-shell .ui-form-section-body{padding:12px}.client-form-shell .form-grid{grid-template-columns:1fr;gap:10px}.client-form-shell textarea{min-height:88px}
}

@media(max-width:390px){
  .page-title h1{font-size:20px}.page-header-actions .button{padding-inline:9px;font-size:11px}.page-header-selector .field{gap:7px;font-size:11px}
}

/* v0.15.3 — mobile header cleanup and schedule navigation fixes */
@media(max-width:700px){
  /* The persistent mobile app header already identifies the current page. */
  .app:not(.route-overview) .page-top>.page-title{display:none!important}
  .app:not(.route-overview) .page-top:not(:has(.page-header-controls)){display:none!important;margin:0!important;min-height:0!important}
  .app:not(.route-overview) .page-top:has(.page-header-controls){display:block!important;margin:0 0 12px!important;min-height:0!important}
  .app:not(.route-overview) .page-header-controls{display:flex!important;width:100%;max-width:none;align-items:center;justify-content:flex-start;gap:7px;margin:0;overflow:visible}
  .app:not(.route-overview) .page-header-actions{width:auto;max-width:100%;justify-content:flex-start}

  /* Pages with a client picker get a clean full-width selector without a duplicate label. */
  .app:not(.route-overview) .page-top.has-selector .page-header-controls{display:grid!important;grid-template-columns:minmax(0,1fr);gap:7px}
  .app:not(.route-overview) .page-top.has-selector .page-header-selector{grid-column:1;grid-row:1;width:100%;min-width:0;margin:0}
  .app:not(.route-overview) .page-top.has-selector .page-header-actions{grid-column:1;grid-row:2;margin:0}
  .page-header-selector .field{width:100%;gap:0!important;font-size:0!important}
  .page-header-selector select{width:100%;min-width:0;flex:1;font-size:16px!important}

  /* Lock each schedule control into its own column so the next arrow cannot overlap the date. */
  .schedule-date-nav{display:grid!important;width:100%;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;align-items:stretch;overflow:visible!important}
  .schedule-date-nav>*{min-width:0}
  .schedule-date-nav>[data-action="calendar-shift"][data-id="-1"]{grid-column:1;grid-row:1;justify-self:start}
  .schedule-date-nav>#schedule-date{grid-column:2;grid-row:1;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important}
  .schedule-date-nav>[data-action="calendar-shift"][data-id="1"]{grid-column:3;grid-row:1;justify-self:end}
  .schedule-date-nav>[data-action="calendar-shift"]{position:static!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:100%;min-height:44px;margin:0!important;padding:9px!important;transform:none!important}
}
/* v0.18 workout builder */
.workout-builder-shell .ui-form-section-body{padding:0}.workout-builder-layout{display:grid;grid-template-columns:minmax(245px,300px) minmax(0,1fr);gap:18px;align-items:start}.workout-builder-library{position:sticky;top:0;border:1px solid var(--line);border-radius:14px;background:#f8faf7;overflow:hidden;max-height:68vh}.workout-library-head{padding:16px;border-bottom:1px solid var(--line);background:#fff}.workout-library-head h3{font-size:16px;margin:0 0 4px}.workout-library-head p{font-size:12px;color:var(--muted);margin:0 0 12px}.workout-library-search input{width:100%;background:#f8faf7}.workout-library-list{padding:10px;display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:calc(68vh - 113px)}.workout-library-card{display:grid;grid-template-columns:56px minmax(0,1fr) 24px;gap:10px;align-items:center;width:100%;padding:8px;border:1px solid #e2e7df;border-radius:11px;background:#fff;text-align:left;color:var(--ink);cursor:grab}.workout-library-card:hover{border-color:#8fae7b;background:#f3f8ed;transform:translateY(-1px)}.workout-library-card.is-dragging{opacity:.45}.workout-library-card img,.workout-library-placeholder{width:56px;height:48px;border-radius:8px;object-fit:cover;background:#edf2e8;display:flex;align-items:center;justify-content:center}.workout-library-placeholder svg{width:22px;height:22px}.workout-library-card span:nth-child(2){min-width:0}.workout-library-card strong,.workout-library-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-library-card strong{font-size:13px}.workout-library-card small{font-size:11px;color:var(--muted);margin-top:5px}.workout-library-card>b{font-size:20px;color:#638054;text-align:center}.workout-builder-canvas{min-width:0}.builder-section-picker{padding:18px;border:1px solid #bed2ae;background:#f4f9ef;border-radius:14px;margin-bottom:16px}.builder-picker-head{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:14px}.builder-picker-head h3{margin:0 0 4px}.builder-picker-head p{margin:0;color:var(--muted);font-size:13px}.builder-section-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.builder-section-choice{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.builder-section-choice>span{grid-row:1/3;align-self:center;color:#5f7e51}.builder-section-choice strong{font-size:13px}.builder-section-choice small{font-size:11px;color:var(--muted);margin-top:3px}.builder-section-choice:hover{border-color:#8ca976;background:#f9fcf6}.builder-section-choice.saved{border-style:dashed}.workout-builder-dropzone{transition:border-color .15s,box-shadow .15s,background .15s;cursor:pointer}.workout-builder-dropzone.is-active{border-color:#7e9f68;box-shadow:0 0 0 2px #94b77c25}.workout-builder-dropzone.is-dragover{border-color:#527f42;background:#f0f8e9;box-shadow:0 0 0 3px #7da56835}.builder-drop-empty{margin-top:10px;min-height:84px;border:2px dashed #d9e2d3;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:15px;color:var(--muted);font-size:13px}.builder-exercise{grid-template-columns:30px minmax(180px,1.5fr) repeat(5,minmax(72px,.55fr)) auto!important;align-items:end;padding:12px;border:1px solid #e5e9e1;border-radius:11px;background:#fff;margin:10px 0!important}.builder-exercise-index{align-self:center;width:26px;height:26px;border-radius:7px;background:#edf3e7;display:flex;align-items:center;justify-content:center;font-size:11px}.builder-exercise-identity{display:flex;gap:10px;align-items:center;align-self:center;min-width:0}.builder-exercise-identity img,.builder-exercise-placeholder{width:52px;height:46px;border-radius:8px;object-fit:cover;background:#edf2e8;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.builder-exercise-placeholder svg{width:20px}.builder-exercise-identity>div{min-width:0}.builder-exercise-identity strong,.builder-exercise-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-exercise-identity strong{font-size:13px}.builder-exercise-identity small{font-size:11px;color:var(--muted);margin-top:4px}.compact-field{font-size:11px!important}.compact-field input,.compact-field select{padding:9px 8px;font-size:12px;min-width:0}.compact-field>small{font-size:9px;color:var(--muted);margin-top:-6px}.builder-exercise-actions{align-self:center;display:flex;gap:4px}.builder-section-save{margin-top:12px}.builder-toolbar{align-items:center}
@media(max-width:1050px){.workout-builder-layout{grid-template-columns:1fr}.workout-builder-library{position:static;max-height:none}.workout-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px}.builder-exercise{grid-template-columns:30px minmax(180px,1fr) repeat(3,minmax(80px,.5fr))!important}.builder-exercise .compact-field{grid-column:auto}.builder-exercise-actions{grid-column:-2/-1}}
@media(max-width:700px){.workout-library-list{grid-template-columns:1fr}.builder-section-choice-grid{grid-template-columns:1fr}.builder-exercise{grid-template-columns:30px 1fr 1fr!important}.builder-exercise-identity{grid-column:2/-1}.builder-exercise .compact-field{grid-column:auto}.builder-exercise-actions{grid-column:2/-1;justify-content:flex-end}.builder-toolbar{align-items:flex-start}.builder-toolbar>.actions{width:100%}.builder-toolbar>.actions .button{width:100%}}
button.builder-section-title{border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.builder-section-title>span:last-child{display:block}.builder-drop-empty{width:100%;background:transparent;cursor:pointer}

/* v0.19.0 two-step workout creation, compact headings and global exercise GIFs */
.modal-heading:has(.workout-wizard-steps){display:flex;align-items:center;gap:24px}.modal-heading:has(.workout-wizard-steps)>h2{flex:0 0 auto}.modal-heading:has(.workout-wizard-steps)>.icon-btn{flex:0 0 auto}.workout-wizard-steps{display:grid;grid-template-columns:1fr minmax(36px,90px) 1fr;align-items:center;width:min(570px,100%);margin:0 auto}.workout-wizard-steps>div{display:flex;align-items:center;gap:10px;color:#8a9585}.workout-wizard-steps>div>span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf1e9;color:#667460;font-weight:700}.workout-wizard-steps>div>b{font-size:13px}.workout-wizard-steps>div.is-active{color:var(--ink)}.workout-wizard-steps>div.is-active>span{background:var(--green);color:#fff}.workout-wizard-steps>i{height:2px;background:#e1e7dc}.workout-builder-section-head{display:flex;align-items:center;gap:12px}.workout-builder-heading-copy{min-width:180px;flex:1}.workout-builder-heading-copy h3{margin:0}.workout-builder-heading-copy p{margin:4px 0 0}.workout-builder-head-actions{margin-left:auto;flex:0 0 auto}.workout-step-actions{display:flex;justify-content:flex-end;margin-top:18px}.workout-step-actions-between{justify-content:flex-start}.form-stack[data-workout-step="1"]>.modal-actions button[type="submit"]{display:none}.builder-direct-wrap{border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;background:#fff}.builder-direct-wrap.is-active{border-color:#7e9f68;box-shadow:0 0 0 2px #94b77c25}.builder-direct-heading{width:100%;border:0;text-align:left;color:inherit;justify-content:flex-start;cursor:pointer}.builder-direct-heading>span:last-child{display:block}.builder-direct-heading .ui-section-icon{flex:0 0 auto}.builder-direct-exercises{padding:4px 14px 12px}.builder-optional-sections{padding:12px 4px;color:var(--muted);font-size:13px}.workout-library-card{padding:8px}.workout-library-preview{position:relative;width:56px;height:48px;padding:0;border:0;border-radius:8px;background:#edf2e8;overflow:hidden;cursor:zoom-in}.workout-library-preview img{width:100%;height:100%;object-fit:cover}.workout-library-preview>span{position:absolute;inset:auto 4px 4px;background:#172522d9;color:#fff;border-radius:4px;text-align:center;padding:2px;font-size:9px;opacity:0;transition:.15s}.workout-library-preview:hover>span,.workout-library-preview:focus-visible>span{opacity:1}.workout-library-add{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:4px;cursor:pointer}.workout-library-add>span{min-width:0}.workout-library-add>b{font-size:20px;color:#638054;text-align:center}.builder-media-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.builder-media-backdrop{position:absolute;inset:0;border:0;background:#0e1813cc;backdrop-filter:blur(5px)}.builder-media-dialog{position:relative;z-index:1;width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 48px);border-radius:16px;background:#fff;box-shadow:0 30px 100px #0008;overflow:hidden}.builder-media-dialog>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}.builder-media-dialog h3{margin:0;font-size:16px}.builder-media-dialog>img{display:block;width:100%;max-height:calc(100vh - 120px);object-fit:contain;background:#f4f6f2}.builder-media-lightbox .button{position:relative;z-index:2}.admin-exercise-identity{display:flex;align-items:center;gap:12px;min-width:0}.admin-exercise-identity img,.admin-exercise-media-empty{width:64px;height:52px;object-fit:cover;border-radius:9px;background:#edf2e8;display:grid;place-items:center;flex:0 0 auto}.admin-exercise-media-empty .spotter-icon{width:22px}.admin-global-media{display:grid;gap:12px}.admin-global-media article{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px}.admin-global-media article img{width:92px;height:70px;object-fit:cover;border-radius:8px}.admin-global-media article>div{display:grid;gap:4px;min-width:0;flex:1}.admin-global-media article small{color:var(--muted)}
@media(max-width:700px){.modal-heading:has(.workout-wizard-steps){gap:9px}.modal-heading:has(.workout-wizard-steps)>h2{font-size:14px}.workout-wizard-steps{grid-template-columns:1fr 20px 1fr}.workout-wizard-steps>div{gap:5px}.workout-wizard-steps>div>b{font-size:9px}.workout-wizard-steps>div>span{width:24px;height:24px;font-size:11px}.workout-builder-section-head{align-items:flex-start;flex-wrap:wrap}.workout-builder-head-actions{width:100%;margin-left:48px}.workout-builder-head-actions .button{flex:1}.builder-media-lightbox{padding:10px}.builder-media-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.admin-exercise-row{align-items:flex-start}.admin-global-media article{align-items:flex-start;flex-wrap:wrap}.admin-global-media article>div{min-width:150px}}

/* v0.20.0 — persistent client and trainer onboarding */
.onboarding-dialog{width:min(720px,calc(100vw - 32px))}.onboarding-welcome{display:flex;align-items:flex-start;gap:18px;padding:4px 2px 20px}.onboarding-welcome h3{margin:5px 0 6px;font-size:22px}.onboarding-welcome p{margin:0;color:var(--muted)}.onboarding-mark{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:17px;background:#e9f1f8;color:#5e7f9e}.onboarding-mark svg,.onboarding-mark .spotter-icon{width:28px;height:28px}.onboarding-progress{display:grid;gap:8px;margin:0 0 18px}.onboarding-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.onboarding-progress>div span{color:var(--muted)}.onboarding-progress>i{height:7px;border-radius:99px;background:#e9eef2;overflow:hidden}.onboarding-progress>i span{display:block;height:100%;border-radius:inherit;background:#708dab}.onboarding-task-list{display:grid;gap:10px}.onboarding-task{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.onboarding-task:hover,.onboarding-task:focus-visible{border-color:#91a9bf;background:#f8fbfd}.onboarding-task>span:nth-child(2){display:grid;gap:2px}.onboarding-task small{color:var(--muted)}.onboarding-task>span:last-child{color:#6686a4;font-size:12px;font-weight:700}.onboarding-task-state{display:grid;place-items:center;width:34px;height:34px;border:2px solid #dbe3e9;border-radius:50%;color:#fff}.onboarding-task.is-complete{background:#f6faf4;border-color:#dce8d5}.onboarding-task.is-complete .onboarding-task-state{border-color:#729660;background:#729660}.onboarding-hide{display:flex;align-items:flex-start;gap:11px;margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:12px}.onboarding-hide input{margin-top:4px}.onboarding-hide span{display:grid}.onboarding-hide small{color:var(--muted)}.onboarding-required-note{margin:18px 0 0;padding:12px 14px;border-radius:11px;background:#fff6df;color:#80662d}.legal-document{max-height:280px;overflow:auto;margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fafbfc;white-space:normal;line-height:1.7}.signature-pad{position:relative;margin-top:7px}.signature-pad canvas{display:block;width:100%;height:150px;border:1px dashed #9cabb8;border-radius:12px;background:#fff;touch-action:none}.signature-pad .button{position:absolute;right:9px;top:9px}.legal-accept{display:flex;align-items:flex-start;gap:9px;padding:12px 0;font-weight:650}.legal-accept input{margin-top:4px}
.signed-agreement{margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.signed-agreement summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;cursor:pointer}.signed-agreement summary>span{display:grid}.signed-agreement summary small,.signed-agreement-body>small{color:var(--muted)}.signed-agreement-body{padding:0 15px 16px;border-top:1px solid var(--line)}.signed-agreement-body .legal-document{margin-top:14px}.signed-signature{display:grid;gap:6px;margin:12px 0}.signed-signature span{font-size:12px;font-weight:700;color:var(--muted)}.signed-signature img{width:min(360px,100%);height:110px;object-fit:contain;object-position:left center;border:1px solid var(--line);border-radius:10px;background:#fff}
@media(max-width:700px){.onboarding-dialog{width:100vw}.onboarding-welcome{gap:12px;padding-bottom:16px}.onboarding-welcome h3{font-size:18px}.onboarding-mark{width:46px;height:46px;flex-basis:46px;border-radius:13px}.onboarding-task{grid-template-columns:32px minmax(0,1fr);padding:12px;gap:10px}.onboarding-task>span:last-child{grid-column:2}.signature-pad canvas{height:135px}.legal-document{max-height:34dvh;padding:14px}}

/* v0.21.4 — top-layer previews, visible modal notices and admin navigation */
dialog.builder-media-lightbox{position:fixed!important;inset:0!important;display:none;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:24px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important;place-items:center}
dialog.builder-media-lightbox[open]{display:grid}.builder-media-lightbox::backdrop{background:rgba(14,24,19,.8);backdrop-filter:blur(5px)}.builder-media-lightbox .builder-media-backdrop{background:transparent;backdrop-filter:none}.builder-media-lightbox .builder-media-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 48px)}
dialog>#toast{left:50%;bottom:24px;z-index:2147483647}
@media(max-width:900px){.admin-tabs{display:flex;margin-inline:-4px;padding:8px}.admin-tabs button{justify-content:flex-start;min-width:145px;min-height:46px;white-space:nowrap;scroll-snap-align:start}}
@media(max-width:700px){dialog.builder-media-lightbox{padding:10px!important}.builder-media-lightbox .builder-media-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}dialog>#toast{bottom:18px}.admin-tabs{margin-inline:-17px;padding:8px 17px;border-right:0;border-left:0;border-radius:0;scroll-snap-type:x proximity}.admin-tabs button{min-width:138px;font-size:11px}}

/* v0.21.8 — organized trainer registration */
.registration-page .auth-content{align-items:flex-start;width:min(1040px,100%);min-height:100vh;padding:32px}.registration-card{width:min(960px,100%);padding:36px 42px}.registration-heading{margin-bottom:24px}.registration-heading h1{margin:0 0 8px}.registration-heading .subtitle{margin:0}.registration-card .auth-form{margin-top:0}
.registration-form-grid{display:grid;gap:18px;padding:22px;border:1px solid #e5eaf0;border-radius:16px;background:#f9fbfc}.registration-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.registration-field-row-single{grid-template-columns:1fr}.registration-password-note{margin:-4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.registration-card .registration-actions{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:space-between;gap:14px;margin-top:5px}.registration-card .registration-actions .button{display:inline-flex;width:auto;min-width:0;min-height:46px;margin:0;padding:10px 18px;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.registration-card .registration-secondary-action{min-width:170px!important}.registration-card .registration-primary-action{min-width:250px!important}.registration-card .registration-primary-action>span:last-child,.registration-card .registration-secondary-action>span:first-child{font-size:18px;line-height:1}
.registration-plan-grid{gap:18px}.registration-plan-card{min-height:260px;padding:23px}.registration-plan-card>p{min-height:44px;line-height:1.55}.registration-plan-card>ul{margin-top:4px}.registration-plan-card>small{padding-top:14px;border-top:1px solid #e8edf1;line-height:1.45}.registration-payment-note{margin-top:4px}
@media(max-width:900px){.registration-page .auth-content{padding:24px}.registration-card{padding:30px}.registration-field-row{gap:14px}.registration-plan-card{padding:20px}}
@media(max-width:760px){.registration-page .auth-content{align-items:flex-start;padding:16px 12px}.registration-card{padding:21px 16px}.registration-heading{margin-bottom:18px}.registration-heading h1{font-size:25px}.registration-form-grid{gap:15px;padding:16px}.registration-field-row{grid-template-columns:1fr;gap:15px}.registration-plan-grid{gap:12px}.registration-plan-card{min-height:0}.registration-plan-card>p{min-height:0}.registration-card .registration-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.registration-card .registration-actions .button{width:100%;padding-inline:12px;white-space:normal}.registration-card .registration-secondary-action,.registration-card .registration-primary-action{min-width:0!important}}
@media(max-width:460px){.registration-card .registration-actions{grid-template-columns:1fr}.registration-card .registration-primary-action{grid-row:1}.registration-card .registration-secondary-action{grid-row:2}.registration-steps>div b{max-width:92px;line-height:1.25}}

/* v0.21.0 — two-step trainer registration and package selection */
.registration-page .auth-content{width:min(900px,100%)}.registration-card{width:min(860px,100%);max-width:none}.registration-steps{display:grid;grid-template-columns:auto minmax(30px,100px) auto;align-items:center;justify-content:center;gap:12px;margin-bottom:25px}.registration-steps>div{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.registration-steps>div span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf1f4;font-weight:750}.registration-steps>div.active,.registration-steps>div.complete{color:var(--ink)}.registration-steps>div.active span{background:var(--green);color:#fff}.registration-steps>div.complete span{background:#dcead6;color:#527245}.registration-steps>i{height:2px;background:#dde5ea}.registration-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.registration-plan{position:relative;cursor:pointer}.registration-plan>input{position:absolute;opacity:0;pointer-events:none}.registration-plan-card{position:relative;display:flex;flex-direction:column;height:100%;min-height:280px;padding:21px;border:2px solid var(--line);border-radius:17px;background:#fff;transition:.16s}.registration-plan:hover .registration-plan-card{border-color:#9db1c3;transform:translateY(-1px)}.registration-plan>input:checked+.registration-plan-card{border-color:var(--green);box-shadow:0 0 0 3px rgba(112,141,171,.13);background:#f8fbfd}.registration-plan-check{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7edf2;color:transparent}.registration-plan>input:checked+.registration-plan-card .registration-plan-check{background:var(--green);color:#fff}.registration-plan-card>b{margin:7px 0 1px;font-size:20px}.registration-plan-card>strong{font-size:18px;color:#587a99}.registration-plan-card>p{margin:9px 0;color:var(--muted)}.registration-plan-card>ul{display:grid;gap:5px;margin:5px 0 17px;padding-left:19px}.registration-plan-card>small{margin-top:auto;color:var(--muted)}.registration-payment-note{margin-top:17px}.registration-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.registration-actions .button.primary{min-width:210px}
@media(max-width:760px){.registration-page{display:block}.registration-page .auth-brand{display:none}.registration-page .auth-content{min-height:100dvh;padding:18px 12px}.registration-card{padding:20px 15px}.registration-plan-grid{grid-template-columns:1fr}.registration-plan-card{min-height:0}.registration-steps{grid-template-columns:auto 25px auto;gap:7px}.registration-steps>div{gap:5px}.registration-steps>div b{font-size:11px}.registration-steps>div span{width:25px;height:25px;font-size:11px}.registration-actions{align-items:stretch;flex-direction:column-reverse}.registration-actions .button{width:100%}.registration-actions .button.primary{min-width:0}}
.builder-selected-preview{width:52px;height:46px;padding:0;border:0;border-radius:8px;overflow:hidden;background:#edf2e8;cursor:zoom-in;flex:0 0 auto}.builder-selected-preview img{width:100%!important;height:100%!important;object-fit:cover}

/* v0.21.2 — persistent vector signature pad */
.signature-field{display:grid;gap:7px}.signature-label{color:inherit;font-size:inherit;font-weight:inherit}.signature-pad{position:relative;overflow:hidden;border:1px solid #d9e2e9;border-radius:12px;background:#fff}.signature-pad svg{display:block;width:100%;height:160px;border:0;background:#fff;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.signature-pad .signature-stroke{fill:none;stroke:#1d2936;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.signature-pad .button{position:absolute;z-index:2;right:9px;top:9px;background:rgba(255,255,255,.94)}
@media(max-width:700px){.signature-pad svg{height:145px}}

/* v0.21.23 client booking slots and calendar request states */
.booking-slot-picker{min-width:0;margin:0;padding:0;border:0}.booking-slot-picker>legend{margin-bottom:10px;color:var(--text);font-size:13px;font-weight:700}.booking-slot-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:360px;padding:2px 2px 4px;overflow:auto}.booking-slot-day{min-width:0;padding:13px;border:1px solid #e1e7ed;border-radius:13px;background:#f8fafc}.booking-slot-day>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px;color:#324a60}.booking-slot-day>header b{font-size:12px}.booking-slot-day>header span{color:#7d8b98;font-size:10px;font-weight:700;text-transform:uppercase}.booking-slot-times{display:grid;gap:7px}.booking-slot-option{position:relative;display:block;cursor:pointer}.booking-slot-option>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.booking-slot-option>span{display:flex;min-height:48px;flex-direction:column;justify-content:center;padding:9px 11px;border:1px solid #dce4eb;border-radius:9px;background:#fff;color:#40576b;transition:border-color .15s,background .15s,box-shadow .15s}.booking-slot-option b{font-size:12px}.booking-slot-option small{margin-top:3px;color:#81909e;font-size:10px}.booking-slot-option:hover>span{border-color:#9bb2c7;background:#f4f8fb}.booking-slot-option>input:focus-visible+span{outline:2px solid #6689a9;outline-offset:2px}.booking-slot-option>input:checked+span{border-color:#6689a9;background:#e8f1f7;box-shadow:0 0 0 2px rgba(102,137,169,.13);color:#29465f}.booking-slot-option>input:checked+span::after{content:'Selected';margin-top:5px;color:#527697;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.calendar-event.pending-booking-calendar-card{border:1px dashed #d8a551!important;border-left:3px solid #d8a551!important;border-radius:9px!important;background:#fff8e9!important}.pending-booking-calendar-card .calendar-session-time,.pending-booking-calendar-card .calendar-session-title,.pending-booking-calendar-card .calendar-session-client{color:#72552d}.session-pill.pill-pending{border-color:#ecd39e;background:#fff1cf;color:#8a6326;font-weight:800}.open-session-pills{gap:7px;margin:9px 0 7px}.open-session-pills .session-pill{min-height:32px;padding:7px 10px;font-size:11px;font-weight:700}.open-session-context{margin:4px 0!important}.bookable-session-row>div{min-width:0}
@media(max-width:900px){.booking-slot-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.booking-slot-calendar{grid-template-columns:1fr;max-height:46dvh}.booking-slot-day{padding:11px}.bookable-session-row{align-items:stretch;flex-direction:column}.bookable-session-row>.button{width:100%}.open-session-pills{flex-wrap:wrap}.open-session-pills .session-pill{flex:1 1 auto;justify-content:center}}

/* v0.21.24 compact booking-day navigation and visible client schedule actions */
.client-schedule-actions{display:flex;align-items:center;gap:8px}.booking-date-navigation{display:grid;grid-template-columns:38px minmax(0,1fr) 38px auto;align-items:stretch;gap:8px;margin-bottom:10px}.booking-date-arrow{display:grid;width:38px;min-width:38px;place-items:center;border:1px solid #dce4eb;border-radius:9px;background:#fff;color:#52708a;font-size:24px;line-height:1}.booking-date-arrow:hover{border-color:#9bb2c7;background:#f4f8fb}.booking-date-tabs{display:flex;min-width:0;gap:6px;padding:1px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}.booking-date-tab{min-width:64px;min-height:46px;padding:5px 8px;border:1px solid #dfe6ec;border-radius:9px;background:#fff;color:#65798b;text-align:center;scroll-snap-align:start}.booking-date-tab b,.booking-date-tab span{display:block}.booking-date-tab b{font-size:11px}.booking-date-tab span{margin-top:2px;font-size:9px;font-weight:700;text-transform:uppercase}.booking-date-tab.active{border-color:#6689a9;background:#e8f1f7;color:#29465f;box-shadow:0 0 0 2px rgba(102,137,169,.1)}.booking-date-picker{display:flex;min-width:150px;align-items:center;gap:7px;padding-left:2px;color:#6d7e8e;font-size:10px;font-weight:700;white-space:nowrap}.booking-date-picker input{width:142px;min-height:46px;padding:8px;font-size:12px}.booking-slot-calendar{display:block;max-height:330px}.booking-slot-day{padding:10px 11px}.booking-slot-day>header{min-height:0;margin-bottom:8px;padding:0 2px}.booking-slot-day>header b{font-size:12px}.booking-slot-times{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.booking-date-empty{margin:0;padding:24px 14px;text-align:center;color:#7d8b98;font-size:12px}.booking-slot-day[hidden],.booking-date-empty[hidden]{display:none!important}
@media(max-width:760px){.client-schedule-actions{gap:6px}.client-schedule-actions .button{padding-inline:9px;font-size:11px}.booking-date-navigation{grid-template-columns:36px minmax(0,1fr) 36px}.booking-date-arrow{width:36px;min-width:36px}.booking-date-picker{grid-column:1/-1;justify-content:flex-end;padding:0}.booking-date-picker input{width:150px}.booking-slot-times{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slot-calendar{max-height:38dvh}.booking-slot-option>span{min-height:44px;padding:7px 9px}}
@media(max-width:390px){.client-schedule-actions .button{padding-inline:8px;font-size:10px}.booking-date-tab{min-width:58px}.booking-date-picker{justify-content:space-between}.booking-date-picker input{width:145px}}

/* v0.19.2 mobile profile, builder actions and compact form typography */
@media(max-width:700px){
  input,select,textarea{font-size:14px!important}
  input::placeholder,textarea::placeholder{font-size:14px}
  .page-header-selector select{font-size:14px!important}

  .profile-goals-card .profile-card-body{display:grid;grid-template-columns:minmax(105px,.42fr) minmax(0,1fr);align-items:start;gap:10px 14px;padding:12px 14px 14px}
  .profile-goals-card .profile-card-body h3{margin:0;font-size:12px;line-height:1.45}
  .profile-goals-card .profile-card-body .profile-notes{min-width:0;margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
  .profile-quick-actions .profile-card-body.actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 14px 14px;overflow:visible}
  .profile-quick-actions .profile-card-body.actions>.button{width:100%;min-width:0;min-height:40px;justify-content:flex-start;padding:9px 10px;font-size:12px;line-height:1.3;white-space:normal;text-align:left}
  .profile-quick-actions .profile-card-body.actions>.button:last-child:nth-child(odd){grid-column:1/-1}

  .workout-builder-section-head{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px}
  .workout-builder-section-head>.ui-section-icon{grid-column:1;grid-row:1}
  .workout-builder-heading-copy{grid-column:2;grid-row:1;min-width:0}
  .workout-builder-head-actions{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;margin:2px 0 0;gap:8px;overflow:visible}
  .workout-builder-head-actions .button{width:100%;min-width:0;min-height:42px;padding:8px 9px;font-size:12px;line-height:1.25;white-space:normal;text-align:center;justify-content:center}
  .workout-builder-head-actions .button .spotter-icon{width:16px;height:16px;flex-basis:16px}
}

/* v0.21.9 — scheduling, attendance and workout media */
.exercise-media-play{gap:8px}.exercise-media-play-icon{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;padding-left:2px;background:var(--ui-accent);color:#fff;font-size:10px}
.workout-preview-exercise{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.workout-preview-exercise>p{margin:0;min-width:0}.workout-preview-exercise .exercise-media-play{flex:0 0 auto}
.builder-media-dialog>.exercise-media-stage{display:grid;place-items:center;gap:16px;padding:16px;border-bottom:0;background:#101714;max-height:calc(100dvh - 120px);overflow:auto}.exercise-media-stage img,.exercise-media-stage video,.exercise-media-stage iframe{display:block;width:100%;max-width:100%;max-height:calc(100dvh - 152px);object-fit:contain;border:0;border-radius:8px;background:#000}.exercise-media-stage iframe{aspect-ratio:16/9;min-height:min(480px,55vw)}
@media(max-width:700px){.workout-preview-exercise{align-items:flex-start}.exercise-media-stage{padding:8px}.exercise-media-stage iframe{min-height:52vw}.exercise-media-play .action-icon-label{display:none}.exercise-media-play{width:38px;min-width:38px;padding:6px}}

/* v0.21.13 — clearer, icon-led workout preview */
.workout-preview{display:grid;gap:14px}
.workout-preview-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 2px 0}
.workout-preview-overview>div:first-child{min-width:0}.workout-preview-overview p{max-width:700px;margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.workout-preview-date,.workout-preview-summary,.workout-preview-section-meta,.workout-preview-exercise-meta{display:flex;align-items:center;gap:8px}
.workout-preview-date{min-height:32px}.workout-preview-date>.badge{font-size:10px}.workout-preview-date>span:first-child:not(.badge){font-weight:700;color:var(--ink)}
.workout-preview-summary{flex:0 0 auto;justify-content:flex-end}
.workout-preview-pill{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:7px;padding:6px 11px;border:1px solid #dce7ef;border-radius:10px;background:#fff;color:#30465d;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}
.workout-preview-pill svg,.workout-preview-pill .spotter-icon{width:16px;height:16px;flex:0 0 16px;object-fit:contain}
.workout-preview-pill.format{border-color:#c9def0;background:#eaf4fc;color:#315f86;text-transform:capitalize}
.workout-preview-sections{display:grid;gap:14px}
.workout-preview-section{overflow:hidden;border:1px solid #d7e5ef;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(45,70,94,.025)}
.workout-preview-section-head{display:flex;min-height:94px;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 18px 14px;background:linear-gradient(100deg,#f4f9fd 0%,#fff 72%)}
.workout-preview-section-title{display:flex;min-width:0;align-items:flex-start;gap:14px}.workout-preview-section-number{display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;border-radius:12px;background:#dfedfa;color:#376c9e;font-size:18px;font-weight:800}
.workout-preview-section-title h3{margin:0;color:var(--ink);font-size:19px;line-height:1.2}.workout-preview-section-title p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.workout-preview-section-meta{min-width:0;justify-content:flex-end;flex-wrap:nowrap}
.workout-preview-exercises{padding:0 18px 8px}
.workout-preview-exercise{min-height:47px;padding:7px 0}
.workout-preview-exercise:last-child{border-bottom:0}.workout-preview-exercise-name{display:flex;min-width:0;align-items:center;gap:12px}.workout-preview-exercise-name>span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#eaf3fb;color:#356a9a;font-size:12px;font-weight:800}.workout-preview-exercise-name strong{overflow-wrap:anywhere;color:var(--ink);font-size:13px}
.workout-preview-exercise-meta{flex:0 0 auto;justify-content:flex-end}.workout-preview-exercise-meta .workout-preview-pill{min-width:104px}.workout-preview-exercise-meta .workout-preview-pill.weight{min-width:82px}.workout-preview-exercise-meta .exercise-media-play{width:34px;min-width:34px;height:34px;min-height:34px;padding:4px;border:0;border-radius:50%;background:transparent}.workout-preview-exercise-meta .exercise-media-play-icon{width:30px;height:30px}.workout-preview-exercise-meta .exercise-media-play .action-icon-label{display:none}
.workout-preview-empty{margin:0;padding:18px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:900px){.workout-preview-section-head{align-items:stretch;flex-direction:column}.workout-preview-section-meta{justify-content:flex-start;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.workout-preview-section-meta::-webkit-scrollbar{display:none}.workout-preview-exercise{align-items:flex-start;flex-direction:column}.workout-preview-exercise-meta{width:100%;justify-content:flex-start;overflow-x:auto;padding-left:42px;scrollbar-width:none}.workout-preview-exercise-meta::-webkit-scrollbar{display:none}.workout-preview-exercise-meta .workout-preview-pill{min-width:auto}}
@media(max-width:600px){.workout-preview{gap:10px}.workout-preview-overview{align-items:stretch;flex-direction:column;gap:8px}.workout-preview-summary{justify-content:flex-start}.workout-preview-section{border-radius:12px}.workout-preview-section-head{min-height:0;gap:12px;padding:13px}.workout-preview-section-number{width:42px;height:42px;flex-basis:42px;border-radius:10px;font-size:15px}.workout-preview-section-title{gap:10px}.workout-preview-section-title h3{font-size:16px}.workout-preview-section-meta{margin:0 -1px}.workout-preview-pill{min-height:29px;padding:5px 8px;font-size:10px}.workout-preview-pill svg,.workout-preview-pill .spotter-icon{width:14px;height:14px;flex-basis:14px}.workout-preview-exercises{padding:0 13px 5px}.workout-preview-exercise{gap:7px;min-height:0;padding:9px 0}.workout-preview-exercise-meta{gap:5px;padding-left:40px}.workout-preview-exercise-name{gap:10px}.workout-preview-exercise-name>span{width:28px;height:28px;flex-basis:28px}.workout-preview-exercise-meta .exercise-media-play{width:30px;min-width:30px;height:30px;min-height:30px}.workout-preview-exercise-meta .exercise-media-play-icon{width:27px;height:27px}}

/* v0.21.14 — client workout navigation, global notifications and client plan summary */
.header-notifications{position:relative;display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid #e1e6ec;border-radius:11px;background:#fff;color:#536b81;transition:background .16s,border-color .16s,color .16s}
.header-notifications:hover,.header-notifications.active{border-color:#c9d7e3;background:#edf4f9;color:#416888}.header-notifications .spotter-icon,.header-notifications svg{width:20px;height:20px;opacity:.82}.header-notifications>.notification-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border:2px solid #fff;box-sizing:content-box}
.sidebar .client-plan-box{display:block;text-decoration:none;transition:border-color .16s,background .16s,transform .16s}.sidebar .client-plan-box:hover{border-color:#ccd9e4;background:#f1f6fa;transform:translateY(-1px)}.sidebar .client-plan-box p span{color:#71879b;font-size:11px;font-weight:700}.sidebar .client-plan-box small{display:block;line-height:1.5}
.client-workout-tabs{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:6px;border:1px solid #dfe7ee;border-radius:14px;background:#eaf1f7;box-shadow:0 5px 16px rgba(46,72,96,.05)}
.client-workout-tab{display:flex;min-width:190px;min-height:48px;align-items:center;justify-content:flex-start;gap:10px;padding:10px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:#5f7182;font:700 13px/1.25 Inter,"DM Sans",sans-serif;cursor:pointer;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
.client-workout-tab:hover{background:rgba(255,255,255,.68);color:#334f68}.client-workout-tab.active{border-color:#ccdce8;background:#fff;color:#355f83;box-shadow:0 4px 12px rgba(46,72,96,.08)}.client-workout-tab .spotter-icon,.client-workout-tab svg{width:19px;height:19px;flex:0 0 19px;opacity:.8}.client-workout-tab.active .spotter-icon{opacity:1}.client-workout-tab>span{flex:1;text-align:left}.client-workout-tab>small{display:grid;min-width:24px;height:24px;place-items:center;padding:0 6px;border-radius:7px;background:rgba(112,141,171,.12);color:#5c7893;font-size:10px}.client-workout-tab.active>small{background:#e7f0f7;color:#315f86}
.workout-preview-exercise-name{flex:1}.workout-preview-exercise-name .exercise-media-play{display:grid;width:30px;min-width:30px;height:30px;min-height:30px;flex:0 0 30px;place-items:center;margin-left:2px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none}.workout-preview-exercise-name .exercise-media-play:hover{background:#edf4fa}.workout-preview-exercise-name .exercise-media-play-icon{width:28px;height:28px;padding-left:1px;font-size:9px}.workout-preview-exercise-name .exercise-media-play .action-icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:700px){.client-workout-tabs{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:12px;padding:5px}.client-workout-tab{width:100%;min-width:0;min-height:46px;gap:7px;padding:8px 9px;font-size:11px}.client-workout-tab .spotter-icon,.client-workout-tab svg{width:17px;height:17px;flex-basis:17px}.client-workout-tab>small{min-width:21px;height:21px;padding:0 5px}.workout-preview-exercise-name .exercise-media-play{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.workout-preview-exercise-name .exercise-media-play-icon{width:27px;height:27px}}

/* v0.21.15 — progress tabs, responsive workout preview and multi-round logging */
.client-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:23px}.client-hero .client-hero-actions .button{margin-top:0}
.client-workout-tabs{display:grid;width:min(100%,470px);grid-template-columns:repeat(2,minmax(0,1fr));flex-direction:row}.client-workout-tab{width:100%;min-width:0}
.progress-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:5px;margin:0 0 16px;padding:5px;border:1px solid #dfe7ee;border-radius:13px;background:#eaf1f7}.progress-tab{display:flex;min-height:44px;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:1px solid transparent;border-radius:9px;background:transparent;color:#617384;font:700 12px/1.2 Inter,"DM Sans",sans-serif;cursor:pointer}.progress-tab:hover{background:rgba(255,255,255,.7);color:#365875}.progress-tab.active{border-color:#ccdce8;background:#fff;color:#315f86;box-shadow:0 3px 10px rgba(46,72,96,.08)}.progress-tab .spotter-icon,.progress-tab svg{width:18px;height:18px;flex:0 0 18px}
.progress-tab-content{min-width:0}.progress-measurement-history{width:100%;margin-top:16px}.progress-training-history{width:100%}
.progress-metric-row{cursor:default}.progress-metric-select{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.progress-metric-select>span:first-child{min-width:0}.progress-metric-add{display:grid;width:30px;height:30px;min-width:30px;place-items:center;padding:0;border:1px solid #cbdbe7;border-radius:9px;background:#fff;color:#416c8d;font-size:19px;font-weight:500;line-height:1;cursor:pointer}.progress-metric-add:hover{border-color:#8eabc2;background:#e9f2f8}.progress-metric-row.active .progress-metric-add{border-color:#aac5d8;background:#fff}
.workout-log-round-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.workout-log-round-meta strong{padding:5px 8px;border-radius:7px;background:#e8f2f8;color:#3d688a;font-size:10px;white-space:nowrap}
.workout-preview-exercise-name>.exercise-media-play{box-sizing:border-box;aspect-ratio:1;line-height:1}.workout-preview-exercise-name>.exercise-media-play .exercise-media-play-icon{display:grid;box-sizing:border-box;place-items:center;aspect-ratio:1;border-radius:50%;line-height:1}

@media(max-width:700px){
  .client-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.client-hero-actions .button{width:100%;min-width:0;padding-inline:10px;font-size:12px}
  .client-workout-list .management-list-item>.list-item-main,.trainer-workout-list .management-list-item>.list-item-main{grid-row:1}.client-workout-list .management-list-item>.list-item-meta,.trainer-workout-list .management-list-item>.list-item-meta{grid-row:2;margin-top:1px}.client-workout-list .management-list-item>.list-item-actions,.trainer-workout-list .management-list-item>.list-item-actions{grid-row:1}
  .workout-preview-section-meta{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0!important;padding:0!important;overflow:visible!important}.workout-preview-section-meta .workout-preview-pill{flex:0 0 auto}.workout-preview-section-head{overflow:visible}
  .workout-preview-exercise-name{width:100%;min-width:0}.workout-preview-exercise-name strong{min-width:0;flex:1}.workout-preview-exercise-name>.exercise-media-play{display:grid!important;width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;max-height:30px!important;flex:0 0 30px!important;margin:0!important;padding:0!important;border-radius:50%!important}.workout-preview-exercise-name>.exercise-media-play .exercise-media-play-icon{width:24px!important;height:24px!important;min-width:24px!important;padding-left:1px!important;font-size:8px!important}
  .progress-tabs{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.progress-tab{min-width:0;padding-inline:9px}.progress-metric-row{grid-template-columns:30px minmax(0,1fr);min-width:190px}.progress-metric-select{grid-template-columns:1fr}.progress-metric-value{grid-column:1}.progress-metric-add{width:30px;height:30px;min-width:30px}.progress-measurement-history{margin-top:12px}
  .workout-log-round-meta{align-items:flex-end}.workout-log-round-meta strong{font-size:9px}
  dialog.exercise-media-lightbox.has-external-video{padding:0!important;background:#000!important}.exercise-media-lightbox.has-external-video .builder-media-backdrop{display:none}.exercise-media-lightbox.has-external-video .builder-media-dialog{display:flex;width:100vw!important;height:100dvh!important;max-height:none!important;flex-direction:column;border-radius:0;background:#000}.exercise-media-lightbox.has-external-video .builder-media-dialog>div:first-child{min-height:54px;flex:0 0 54px;border-color:#2b2b2b;background:#000;color:#fff}.exercise-media-lightbox.has-external-video .builder-media-dialog .button{border-color:#555;background:#202020;color:#fff}.exercise-media-lightbox.has-external-video .exercise-media-stage{width:100%;min-height:0;max-height:none;flex:1;padding:0!important;overflow:hidden}.exercise-media-lightbox.has-external-video .exercise-media-stage iframe{width:100%;height:100%;min-height:0;max-height:none;border-radius:0}
}

/* v0.21.16 — mobile workout list and preview collision fixes */
.workout-preview-section-head{height:auto}
@media(max-width:700px){
  .client-workout-list .management-list-item,.trainer-workout-list .management-list-item{grid-template-rows:auto auto}
  .client-workout-list .management-list-item>.list-item-main,.trainer-workout-list .management-list-item>.list-item-main{grid-column:2;grid-row:1;align-self:start}
  .client-workout-list .management-list-item>.list-item-meta,.trainer-workout-list .management-list-item>.list-item-meta{grid-column:2;grid-row:2;align-self:start;margin-top:0}
  .workout-preview-section-head{height:auto!important;padding-bottom:13px}
  .workout-preview-section-meta{position:static;align-self:stretch}
  .workout-preview-exercises{clear:both}
}
/* Email notification settings */
.email-settings-actions{margin:0 0 18px;justify-content:flex-end}
.email-provider-status{margin-bottom:14px}
.email-provider-status.warning{border-color:#f1c28e;background:#fff8ed}
.email-general-settings{padding:18px;border:1px solid var(--border,#e3e9ef);border-radius:12px;background:var(--surface,#fff)}
.email-template-heading{margin:24px 0 10px}.email-template-heading h3{margin:0 0 4px}.email-template-heading p{margin:0;color:var(--muted,#66758a)}
.email-template-list{display:grid;gap:10px}
.email-template-editor{border:1px solid var(--border,#e3e9ef);border-radius:12px;background:var(--surface,#fff);overflow:hidden}
.email-template-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}
.email-template-editor>summary::-webkit-details-marker{display:none}.email-template-editor>summary span:first-child{display:grid;gap:3px}.email-template-editor>summary small{color:var(--muted,#66758a)}
.email-template-fields{padding:0 16px 18px;border-top:1px solid var(--border,#e3e9ef)}
.email-template-fields textarea{min-height:130px}.email-template-help{display:block;color:var(--muted,#66758a);line-height:1.55;overflow-wrap:anywhere}
.email-delivery-log{border:1px solid var(--border,#e3e9ef);border-radius:12px;overflow:hidden}.email-delivery-row small{max-width:620px;display:block;overflow-wrap:anywhere}
@media(max-width:720px){.email-settings-actions{justify-content:stretch}.email-settings-actions .button{flex:1}.email-template-editor>summary{align-items:flex-start}.email-delivery-row{align-items:flex-start}.email-general-settings{padding:14px}}

/* v0.22.1 — categorized settings */
.settings-sections{display:grid;gap:20px}.settings-group{overflow:hidden}.settings-group>.card-head{align-items:flex-start;padding-bottom:4px}.settings-group>.card-head h2{margin:0}.settings-group>.card-head .subtitle{margin:5px 0 0}.settings-group .settings-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-modal-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.settings-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.settings-modal-heading h3,.settings-modal-heading p{margin:0}.settings-account-actions{margin:14px 0 0}.settings-team-list,.settings-availability-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}
@media(max-width:1100px){.settings-group .settings-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.settings-sections{gap:14px}.settings-group .settings-action-grid{grid-template-columns:1fr}.settings-group>.card-head{padding:16px 16px 2px}.settings-modal-heading{align-items:flex-start;flex-direction:column}.settings-modal-heading .button{width:100%}.settings-account-actions{display:grid;grid-template-columns:1fr 1fr}.settings-account-actions .button{width:100%;min-width:0}.settings-team-list .line-item,.settings-availability-list .line-item{align-items:flex-start}.settings-availability-list .button{width:100%;margin-top:8px}}

/* v0.22.6 — soft-outline treatment for the dedicated SPOTTER action icons */
.button.soft-outline-action,
.icon-btn.soft-outline-action{
  min-height:44px;
  padding:6px 15px 6px 7px;
  gap:9px;
  border:1px solid #d9e1e8;
  border-radius:12px;
  background:#fff;
  color:#263546;
  box-shadow:0 3px 9px rgba(39,58,76,.06);
  font-size:13px;
  font-weight:700;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.button.primary.soft-outline-action{
  border-color:#d9e1e8;
  background:#fff;
  color:#263546;
  box-shadow:0 3px 9px rgba(39,58,76,.06);
}
.button.soft-outline-action:hover,
.button.primary.soft-outline-action:hover,
.icon-btn.soft-outline-action:hover{
  transform:translateY(-1px);
  border-color:#bdcedb;
  background:#fff;
  color:#263546;
  box-shadow:0 7px 16px rgba(39,58,76,.10);
}
.button.soft-outline-action>.spotter-icon,
.button.soft-outline-action>svg,
.icon-btn.soft-outline-action>.spotter-icon,
.icon-btn.soft-outline-action>svg{
  width:30px;
  height:30px;
  flex:0 0 30px;
  padding:6px;
  border-radius:8px;
  background:#eaf3f8;
  color:#52718e;
  object-fit:contain;
  opacity:.92;
  filter:none;
}
.button.soft-outline-action:active,
.icon-btn.soft-outline-action:active{
  transform:translateY(0);
  box-shadow:0 2px 5px rgba(39,58,76,.07);
}
[data-theme="midnight"] .button.soft-outline-action,
[data-theme="midnight"] .button.primary.soft-outline-action,
[data-theme="midnight"] .icon-btn.soft-outline-action{
  border-color:#3a4856;
  background:#212c38;
  color:#e7edf3;
  box-shadow:0 3px 9px rgba(0,0,0,.18);
}
[data-theme="midnight"] .button.soft-outline-action:hover,
[data-theme="midnight"] .button.primary.soft-outline-action:hover,
[data-theme="midnight"] .icon-btn.soft-outline-action:hover{
  border-color:#506275;
  background:#273441;
  color:#fff;
}
[data-theme="midnight"] .button.soft-outline-action>.spotter-icon,
[data-theme="midnight"] .button.soft-outline-action>svg,
[data-theme="midnight"] .icon-btn.soft-outline-action>.spotter-icon,
[data-theme="midnight"] .icon-btn.soft-outline-action>svg{
  background:#304454;
  color:#a8c6dd;
  filter:none;
}
@media(max-width:700px){
  .dashboard-create-actions .button.soft-outline-action{
    width:46px;
    min-width:46px;
    min-height:46px;
    padding:7px;
    gap:0;
  }
  .dashboard-create-actions .button.soft-outline-action>.spotter-icon,
  .dashboard-create-actions .button.soft-outline-action>svg{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}

/* v0.22.3 — client-managed pending requests and compact slot calendar */
.booking-pending-notice{display:flex;align-items:center;justify-content:space-between;gap:14px}
.booking-slot-day>header{min-height:44px;align-items:center;gap:12px}
.booking-slot-day>header b{font-size:15px;line-height:1.25}
.booking-slot-day>header span{font-size:12px;line-height:1.25;white-space:nowrap}
.booking-slot-times{grid-template-columns:1fr!important}
@media(min-width:761px){
  .booking-date-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;scrollbar-width:none;scroll-snap-type:none}
  .booking-date-tabs::-webkit-scrollbar{display:none}
  .booking-date-tab{min-width:0}
  .booking-date-tab.is-outside-window{display:none}
}
@media(max-width:760px){
  .booking-pending-notice{align-items:flex-start;flex-direction:column}
  .booking-pending-notice .button{width:100%}
  .booking-slot-day>header{min-height:46px}
  .booking-slot-day>header b{font-size:16px}
  .booking-slot-day>header span{font-size:13px}
}

/* v0.22.4 — collapsed client filters and shared workout preview */
.clients-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.clients-toolbar.is-collapsed{display:none}
.client-filter-controls{display:flex;min-width:0;flex:1;align-items:center;gap:12px}
.client-search-field{min-width:240px;flex:1}.client-search-field input{width:100%}
.client-status-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.client-status-badge{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:6px 11px;border:1px solid #dce4ea;border-radius:999px;background:#f5f8fa;color:#607284;font:700 11px/1 Inter,"DM Sans",sans-serif;cursor:pointer;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
.client-status-badge:hover{border-color:#b9cad8;background:#edf3f7;color:#395b76}.client-status-badge.selected{border-color:#9bb7cc;background:#e9f2f8;color:#315f86;box-shadow:0 2px 7px rgba(49,95,134,.09)}
.client-status-badge.status-active.selected{border-color:#b7d6aa;background:#edf7e8;color:#4d7243}.client-status-badge.status-onboarding.selected{border-color:#efd6ae;background:#fff6e7;color:#8a6327}.client-status-badge.status-paused.selected{border-color:#c8d6e2;background:#eef4f8;color:#536f87}.client-status-badge.status-archived.selected{border-color:#d4d9de;background:#f1f3f5;color:#626d76}
.client-status-mobile{display:none}

/* v0.22.5 — package attention alerts */
.client-package-alerts{margin:18px 0;border-color:#f2bf62;background:linear-gradient(135deg,#fff9eb 0%,#fff 72%);box-shadow:0 10px 28px rgba(180,116,20,.08)}
.client-package-alerts .card-head{align-items:center}
.client-package-alerts .line-item{background:rgba(255,255,255,.72)}
.client-package-alerts .line-item+.line-item{border-top:1px solid rgba(224,170,68,.24)}
@media(max-width:760px){
  .clients-toolbar{align-items:stretch;flex-direction:column}
  .client-filter-controls{display:grid;width:100%;gap:10px}
  .client-search-field{width:100%;min-width:0}
  .client-status-filters{display:none}
  .client-status-mobile{display:block}
  .clients-toolbar>#client-count{align-self:flex-start}
}

/* v0.22.7 — billing reports and compact form guidance */
.field-help,
.whatsapp-consent-note,
.form-stack .field+small,
.form-stack .field+.subtle,
.form-stack .form-grid+.subtle,
.legal-editor>small{
  color:var(--muted);
  font-size:10px!important;
  font-weight:500;
  line-height:1.45;
}
.billing-report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.billing-report-table .card-head{border-bottom:1px solid var(--line)}
.billing-report-table .card-head .eyebrow{margin-bottom:5px}
.billing-report-table .card-head>small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
@media(min-width:761px){
  .page-header-selector .field,
  .progress-client-toolbar .field{gap:0!important;font-size:0!important}
  .page-header-selector .field>span,
  .progress-client-toolbar .field>span{display:none!important}
  .page-header-selector select,
  .progress-client-toolbar select{font-size:13px!important}
}
@media(max-width:1050px){.billing-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.billing-report-stats{grid-template-columns:1fr}}

/* v0.22.8 — package views, clearable search, and roomier desktop calendar */
.package-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:5px;margin:0 0 18px;padding:5px;border:1px solid #dfe7ee;border-radius:13px;background:#eaf1f7}
.package-tab{display:flex;min-height:46px;align-items:center;justify-content:center;gap:9px;padding:9px 14px;border:1px solid transparent;border-radius:9px;background:transparent;color:#617384;font:700 12px/1.2 Inter,"DM Sans",sans-serif;cursor:pointer}
.package-tab:hover{background:rgba(255,255,255,.7);color:#365875}.package-tab.active{border-color:#ccdce8;background:#fff;color:#315f86;box-shadow:0 3px 10px rgba(46,72,96,.08)}
.package-tab .spotter-icon,.package-tab svg{width:18px;height:18px;flex:0 0 18px}.package-tab small{display:grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border-radius:999px;background:#dce8f1;color:#587590;font-size:10px}
.package-tab.active small{background:#edf3f8;color:#315f86}.package-tab-panel{min-width:0}.package-assignment-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.package-filter-badge{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:6px 11px;border:1px solid #dce4ea;border-radius:999px;background:#f5f8fa;color:#607284;font:700 11px/1 Inter,"DM Sans",sans-serif;cursor:pointer;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
.package-filter-badge span{display:grid;min-width:19px;height:19px;place-items:center;padding-inline:5px;border-radius:999px;background:rgba(84,112,142,.09);font-size:9px}.package-filter-badge:hover{border-color:#b9cad8;background:#edf3f7;color:#395b76}.package-filter-badge.selected{border-color:#9bb7cc;background:#e9f2f8;color:#315f86;box-shadow:0 2px 7px rgba(49,95,134,.09)}
.package-filter-badge.status-active.selected{border-color:#b7d6aa;background:#edf7e8;color:#4d7243}.package-filter-badge.status-frozen.selected{border-color:#c8d6e2;background:#eef4f8;color:#536f87}.package-filter-badge.status-closed.selected{border-color:#d4d9de;background:#f1f3f5;color:#626d76}
.search input{padding-right:42px}.search-clear{position:absolute;z-index:2;right:7px;top:50%;display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#83909c;font:500 21px/1 Arial,sans-serif;transform:translateY(-50%);cursor:pointer}.search-clear:hover{background:#edf3f7;color:#405b73}.search-clear:focus-visible{outline:2px solid #7898b7;outline-offset:1px}.search-clear[hidden]{display:none!important}
@media(min-width:1001px){
  .calendar-grid.week{display:flex;gap:10px;overflow-x:auto;padding:1px 1px 12px;scroll-snap-type:x mandatory;scrollbar-gutter:stable}
  .calendar-grid.week .calendar-day{min-width:270px;flex:0 0 calc((100% - 20px)/3);scroll-snap-align:start}
  .calendar-grid.week .calendar-event{gap:4px;margin-bottom:6px;padding:8px 9px}
  .calendar-grid.week .calendar-session-title{-webkit-line-clamp:1}
  .calendar-grid.week .calendar-session-pills .pill-location{display:none}
}
@media(max-width:700px){.package-tabs{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.package-tab{min-width:0;padding-inline:8px}.package-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-assignment-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.package-filter-badge{flex:0 0 auto}}

/* v0.22.9 — client actions and native date/time containment */
.field,.form-grid>*{min-width:0}
input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value,input[type="datetime-local"]::-webkit-date-and-time-value{min-width:0;text-align:left}
input::-webkit-datetime-edit{min-width:0;padding:0}
.schedule-date-nav{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;align-items:stretch;overflow:visible!important}
.schedule-date-field{grid-column:2;grid-row:1;min-width:0;overflow:hidden;border-radius:10px}
.schedule-date-field #schedule-date{width:100%!important;min-width:0!important;max-width:100%!important;height:100%;margin:0!important;box-sizing:border-box!important}
.schedule-date-nav>[data-action="calendar-shift"]{position:static!important;width:44px!important;min-width:44px!important;max-width:44px!important;margin:0!important;padding:9px!important;transform:none!important;justify-self:stretch!important}
.schedule-date-nav>[data-id="-1"]{grid-column:1;grid-row:1}
.schedule-date-nav>[data-id="1"]{grid-column:3;grid-row:1}
.settings-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 22px;padding:0}
.settings-account-actions .button{width:100%;min-width:0;min-height:44px;justify-content:flex-start;text-align:left}
.settings-account-actions .button:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:560px){.settings-account-actions{grid-template-columns:minmax(0,1fr)}.settings-account-actions .button{grid-column:1;justify-content:flex-start}.settings-account-actions .action-icon-label{white-space:normal}}

/* v0.22.10 — desktop authentication photo and aligned actions */
.auth-secondary-actions{grid-template-columns:minmax(0,1fr);gap:10px}
.auth-card .auth-primary-action .button,.auth-card .auth-secondary-actions .button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;min-height:48px;margin:0;border-radius:12px;white-space:normal;line-height:1.35}
.auth-card .auth-secondary-actions .button{padding:12px 16px;color:#344c61;border:1px solid #d9e3eb;background:#fff;box-shadow:0 2px 6px rgba(39,58,76,.04)}
.auth-card .auth-primary-action .button{padding:12px 16px;border:1px solid #bdcedb;background:#eaf2f8;color:#315f86;box-shadow:none}
.auth-card .auth-primary-action .button:hover{background:#dfeaf3;border-color:#9bb7cc}
.auth-card .auth-secondary-actions .button:hover{background:#f4f8fb;border-color:#bdcedb}
.auth-card .auth-primary-action .spotter-icon,.auth-card .auth-secondary-actions .spotter-icon{flex:0 0 20px;width:20px;height:20px;filter:none!important}
.auth-card .auth-secondary-actions .action-icon-label{flex:0 1 auto}
@media(min-width:761px){
 .auth-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .auth-brand{position:relative;isolation:isolate;min-height:100vh;padding:64px 7vw;background:#111 url('auth-gym-photo.png') center center/cover no-repeat;justify-content:flex-start;border:0}
 .auth-brand::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.24) 55%,rgba(0,0,0,.08))}
 .auth-brand .wordmark{position:relative;background:none!important;mix-blend-mode:normal!important;overflow:hidden}
 .auth-brand .wordmark::before{content:"";position:absolute;inset:0;background:url('spotter-wordmark.png') left center/contain no-repeat;filter:grayscale(1) invert(1);mix-blend-mode:screen}
 .auth-brand .wordmark::after{content:"";position:absolute;left:93.3%;top:53.7%;width:6.7%;aspect-ratio:1;border-radius:50%;background:#ff5b16}
 .auth-brand h1{color:#fff;font-size:clamp(30px,3.1vw,48px);margin:32px 0 16px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
 .auth-brand p{color:#e2e7eb;font-size:15px;text-shadow:0 2px 8px rgba(0,0,0,.5)}
 .auth-content,.registration-page .auth-content{width:100%;min-width:0;padding:40px;align-items:center}
 .registration-card{padding:30px;min-width:0}
}

/* v0.22.11 — editable authentication panel and schedule arrows */
.auth-content{flex-direction:column;gap:20px}
.auth-register-outside{display:grid;gap:10px;width:100%;max-width:430px;text-align:center}
.auth-register-outside p{margin:0;color:var(--muted);font-size:13px}
.auth-register-outside .button{width:100%;min-height:48px;justify-content:center;border-radius:12px;background:#fff;border:1px solid #d9e3eb;color:#344c61}
.admin-login-settings .form-stack{padding:24px}
.schedule-date-nav .schedule-arrow{display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;min-height:44px;overflow:hidden}
.schedule-arrow svg{display:block;width:20px;height:20px;flex:0 0 20px}
@media(min-width:761px){.auth-brand{justify-content:space-between;padding-block:48px;gap:160px}.auth-brand-copy{margin-top:auto;max-width:460px}.auth-brand h1{margin:0 0 16px}.auth-brand::before{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.05) 35%,rgba(0,0,0,.87))}.schedule-date-nav{width:248px!important;flex:0 0 248px}.auth-register-outside{max-width:430px}}

/* v0.22.12 — centered weekly calendar and platform calendar diagnostics */
.calendar-grid.week{scrollbar-width:none;-ms-overflow-style:none;scrollbar-gutter:auto}
.calendar-grid.week::-webkit-scrollbar{display:none;width:0;height:0}
.calendar-grid.week .calendar-day{scroll-snap-align:center}
.calendar-sync-error-text{max-width:480px;white-space:normal;overflow-wrap:anywhere;color:#a15151}
.calendar-sync-error-text small{color:var(--muted)}
@media(min-width:1001px){.calendar-grid.week::before,.calendar-grid.week::after{content:"";flex:0 0 calc((100% - (100% - 20px)/3)/2 - 10px)}.calendar-grid.week .calendar-day{scroll-snap-align:center}}
@media(max-width:700px){.calendar-grid.week::before,.calendar-grid.week::after{content:"";flex:0 0 max(0px,calc((100% - 82vw)/2 - 9px))}}

/* v0.22.13 — vertical platform administration menu */
.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px}
.admin-layout .admin-tabs{display:flex;flex-direction:column;gap:6px;overflow:visible;margin:0;padding:8px;grid-template-columns:none}
.admin-layout .admin-tabs button{width:100%;justify-content:flex-start;text-align:left;min-height:44px}
.admin-layout #admin-list{min-width:0}
.platform-only-shell>header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:#fff;border-bottom:1px solid var(--line)}
.platform-only-shell>main{padding:32px;max-width:1600px;margin:auto}
@media(max-width:900px){.admin-layout{grid-template-columns:175px minmax(0,1fr);gap:14px}.admin-layout .admin-tabs button{padding-inline:8px}}
@media(max-width:700px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:16px}.platform-only-shell>main{padding:16px}.admin-layout .admin-tabs button{min-height:42px}}

/* v0.22.14 — prominent request banners */
.dashboard-request-banners{display:grid;gap:10px;margin:0 0 22px}
.dashboard-request-banner{display:flex;align-items:center;gap:14px;padding:17px 20px;border:1px solid #e5c994;border-left:4px solid #c3913f;border-radius:14px;background:#fff8e9;box-shadow:0 4px 14px rgba(113,86,40,.05)}
.dashboard-request-banner .request-banner-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f6ead0;color:#976b27;flex:0 0 38px}
.request-banner-icon .spotter-icon,.request-banner-icon svg{width:20px;height:20px}
.dashboard-request-banner>div{flex:1;min-width:0}.dashboard-request-banner b{font-size:14px;color:#594626}.dashboard-request-banner p{margin:4px 0 0;color:#796749;font-size:12px;line-height:1.5}.dashboard-request-banner .button{flex:0 0 auto;background:#fff;border-color:#e1cfab;color:#725326}
.exercise-revert-actions{padding:16px 0;border-top:1px solid var(--line)}
/* v0.22.17 — client booking browser */
.bookable-browser{max-width:760px;margin:0 auto}
.bookable-browser .booking-browser-subtitle{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--muted)}
.booking-policy-note{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;border-radius:14px;background:#f5f7fa;color:var(--muted);margin-bottom:28px}
.booking-policy-note>span{flex:0 0 22px;padding-top:2px}.booking-policy-note .spotter-icon{width:20px;height:20px}.booking-policy-note p{margin:0;font-size:12px;line-height:1.65}.booking-policy-note small{display:block;font-size:10px;line-height:1.5;margin-top:5px}
.bookable-browser .bookable-date-groups{gap:30px}
.bookable-browser .bookable-date-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;padding:0;margin-bottom:14px;text-align:left}
.bookable-browser .bookable-date-heading>div{min-width:0;flex:1}
.bookable-browser .bookable-date-heading h3{font-size:16px;line-height:1.45;margin:0 0 3px;text-align:left;overflow-wrap:anywhere}
.bookable-browser .bookable-date-heading small{display:block;font-size:12px;color:var(--muted)}
.bookable-browser .bookable-date-heading>.booking-date-count{display:block;width:auto;height:auto;flex:0 0 auto;border-radius:0;background:transparent;color:var(--muted);font-size:11px;text-align:right}
.bookable-browser .bookable-date-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bookable-browser .bookable-date-sessions>.bookable-session-row{display:flex;flex-direction:column;align-items:stretch;padding:18px;gap:18px;border:1px solid #dfe7ee;border-radius:16px;background:var(--surface,#fff);min-width:0}
.bookable-browser .booking-card-main{display:grid;grid-template-columns:65px minmax(0,1fr);gap:16px;flex:1;align-items:start}
.bookable-browser .booking-card-time{display:grid;gap:5px;align-content:start;padding-right:14px;border-right:1px solid #e1e8ee;align-self:stretch}
.booking-card-time strong{font-size:19px;line-height:1.3;color:#446d91;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.booking-card-time small{font-size:11px;color:var(--muted)}
.bookable-browser .booking-card-details h4{font-size:15px;line-height:1.45;margin:0 0 6px;overflow-wrap:anywhere}.booking-card-type{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-bottom:6px}
.booking-card-location{display:flex;align-items:flex-start;gap:6px;margin:0 0 12px;font-size:12px;color:var(--muted);line-height:1.5}.booking-card-location .spotter-icon{width:16px;height:16px;flex:0 0 16px;margin-top:1px}.booking-card-location span{overflow-wrap:anywhere}
.booking-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:11px;color:var(--muted)}
.booking-card-availability{display:inline-flex;align-items:center;gap:6px;background:#edf7f1;border:1px solid #d8e9df;color:#557d66;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600;line-height:1.3}.booking-card-availability .spotter-icon{width:16px;height:16px;flex:0 0 16px}.booking-card-availability.full{background:#f4f6f8;border-color:#e0e6eb;color:#718093}
.bookable-browser .booking-card-action{width:100%;min-height:44px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:650;border:1px solid #bfd0e0;border-radius:11px;background:#f3f7fb;color:#446d91;box-shadow:none;margin:0;flex:0 0 auto;white-space:normal}
.booking-card-action .spotter-icon{width:20px;height:20px;flex:0 0 20px;padding:0;background:transparent;border-radius:0}.bookable-browser .booking-card-action:hover:not(:disabled){background:#eaf2f9;border-color:#95b2cb}.bookable-browser .booking-card-action:focus-visible{outline:2px solid #708dab;outline-offset:3px}.bookable-browser .booking-card-action:disabled{background:#f7f8fa;color:#8b98a6;border-color:#e0e6eb;box-shadow:none;cursor:not-allowed}
.booking-card-error{color:#9a5f55;font-size:11px;line-height:1.5}
#modal:has(.bookable-browser)>.modal-heading>.icon-btn{background:#f3f6f9;border-color:transparent}
#modal:has(.bookable-browser)>.modal-heading>.icon-btn:focus-visible{outline:2px solid #708dab;outline-offset:3px}
@media(max-width:760px){.bookable-browser .bookable-date-sessions{grid-template-columns:minmax(0,1fr)}.bookable-browser .bookable-date-sessions>.bookable-session-row{padding:16px;gap:16px}.bookable-browser .booking-card-main{grid-template-columns:66px minmax(0,1fr);gap:16px}}
@media(max-width:380px){.bookable-browser .bookable-date-heading h3{font-size:14px}.bookable-browser .bookable-date-heading>.booking-date-count{font-size:10px;max-width:74px}.bookable-browser .booking-card-main{grid-template-columns:57px minmax(0,1fr);gap:12px}.booking-card-time strong{font-size:17px}.bookable-browser .bookable-date-sessions>.bookable-session-row{padding:14px}.booking-policy-note{padding:14px;gap:10px}}
/* v0.22.16 — email notification tabs and accessible switches */
.email-settings-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;background:#edf3f7;border:1px solid var(--line);border-radius:14px;margin-bottom:24px}
.email-settings-tabs button{min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;font:inherit;font-size:13px;font-weight:650;color:var(--muted);cursor:pointer}
.email-settings-tabs button[aria-selected="true"]{background:white;border-color:#cfdeea;color:#446a89;box-shadow:0 2px 6px #263f5510}
.email-settings-tabs button:focus-visible,.email-toggle input:focus-visible+span{outline:2px solid #708dab;outline-offset:3px}
[data-email-panel][hidden]{display:none!important}
.email-template-top,.email-master-switch,.email-preference-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.email-template-top>div,.email-master-switch>div,.email-preference-row>div{min-width:0;flex:1}
.email-template-top h3,.email-master-switch h3{font-size:15px;margin:0 0 6px}.email-template-top small,.email-preference-row small{display:block;color:var(--muted);font-size:11px;line-height:1.6}
.email-master-switch{padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fafb;margin-bottom:24px}
.email-toggle{display:flex;align-items:center;gap:9px;position:relative;flex:0 0 auto;min-height:44px;cursor:pointer}
.email-toggle input{position:absolute;width:1px;height:1px;opacity:0}
.email-toggle>span{display:block;width:42px;height:24px;border:1px solid #c7d2dc;border-radius:20px;background:#e7edf2;transition:background .15s}
.email-toggle>span:after{content:'';display:block;width:18px;height:18px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #172b4030;transition:transform .15s}
.email-toggle input:checked+span{background:#708dab;border-color:#708dab}.email-toggle input:checked+span:after{transform:translateX(18px)}
.email-toggle input:disabled+span{opacity:.5}.email-toggle b{font-size:11px;color:var(--muted);min-width:35px}
.email-template-list>.email-template-editor{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:14px}
.email-template-content{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.email-template-content>summary{font-size:12px;font-weight:650;color:#446a89;cursor:pointer;min-height:30px;padding:5px 0}
.email-template-content .email-template-fields{padding:16px 0 0}
.email-delivery-log{margin-top:20px;display:grid;gap:12px}.email-delivery-row{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:14px}.email-delivery-row>div:first-child{min-width:0;overflow-wrap:anywhere}.email-delivery-row h3{font-size:14px;margin:0 0 6px}.email-delivery-row p{font-size:12px;margin:0 0 6px}.email-delivery-row small{font-size:11px;color:var(--muted)}
.client-email-preferences{display:grid;gap:24px}.client-email-preferences section>h3{font-size:14px;margin:0 0 12px}.email-preference-list{border:1px solid var(--line);border-radius:14px;padding:0 18px}.email-preference-row{padding:14px 0;min-height:64px}.email-preference-row+.email-preference-row{border-top:1px solid var(--line)}.email-preference-row b{font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.email-settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.email-template-top,.email-master-switch,.email-preference-row{gap:12px}.email-template-list>.email-template-editor{padding:14px}.email-master-switch{padding:14px}.email-toggle{gap:6px}.email-toggle b{min-width:28px;font-size:10px}.email-delivery-row{flex-wrap:wrap;padding:14px}.email-preference-list{padding:0 14px}}
/* v0.22.15 — touch-safe session actions and request/booking dialogs */
.session-detail-actions[data-compact-actions]{flex-wrap:wrap;overflow:visible;gap:10px;padding-top:16px}
.session-detail-actions[data-compact-actions]>.button{white-space:normal;min-height:44px;flex:0 1 auto}
.session-detail-actions .session-complete-button{color:#436c57;background:#f2f8f4;border-color:#c8ded1}
.session-actions-disclosure{width:100%;min-width:0}
.session-actions-disclosure>summary{display:flex;align-items:center;gap:9px;width:fit-content;padding:10px 14px;min-height:44px;list-style:none;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:650;cursor:pointer}
.session-actions-disclosure>summary::-webkit-details-marker{display:none}
.session-actions-disclosure>summary .spotter-icon{width:18px;height:18px}
.session-actions-disclosure>summary:focus-visible{outline:2px solid #708dab;outline-offset:3px}
.session-actions-disclosure[open]>summary{background:#f1f6fa;border-color:#c7d7e4}
.session-actions-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.session-actions-panel .button{width:100%;min-width:0;min-height:44px;justify-content:flex-start;white-space:normal;text-align:left;margin:0}
.session-completion-summary{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f6f9fb;margin-bottom:18px}
.cancellation-review{display:grid;gap:20px;padding:4px 0}
.cancellation-request-person{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cancellation-request-person>.avatar{width:44px;height:44px;flex:0 0 44px}
.cancellation-request-person>div{flex:1;min-width:0}
.cancellation-request-person h3{margin:4px 0 0;font-size:18px;overflow-wrap:anywhere}
.cancellation-request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f6f9fb}
.cancellation-request-facts .session-fact{min-width:0;align-items:flex-start;padding:0;border:0}
.cancellation-request-facts .session-fact>span:last-child{min-width:0;overflow-wrap:anywhere}
.cancellation-request-note{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.cancellation-decision-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.cancellation-decision-actions .button{width:100%;min-width:0;min-height:46px;white-space:normal;justify-content:center;text-align:center;font-size:13px}
.cancellation-decision-actions .cancellation-approve{background:#f1f8f4;border-color:#bed8c9;color:#416851}
.cancellation-decision-actions .cancellation-reject{background:#fff;border-color:#e4cfd0;color:#8e575c}
.cancellation-request-list{display:grid;gap:18px}
.cancellation-list-card{display:grid;gap:18px;padding:18px;border:1px solid var(--line);border-radius:16px}
.bookable-policy{margin:0 0 24px;padding:13px 16px;border-radius:12px;background:#f5f8fb;font-size:12px;line-height:1.7;color:var(--muted)}
.bookable-date-groups{display:grid;gap:28px}
.bookable-date-group{min-width:0}
.bookable-date-heading{display:flex;align-items:center;gap:12px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.bookable-date-heading>span{display:grid;place-items:center;width:38px;height:38px;background:#eaf2f8;border-radius:11px;flex:0 0 38px}
.bookable-date-heading .spotter-icon{width:20px;height:20px}
.bookable-date-heading h3{font-size:16px;margin:0 0 3px;line-height:1.4}
.bookable-date-heading small{font-size:11px;color:var(--muted)}
.bookable-date-sessions{display:grid;gap:12px;padding-top:14px}
.bookable-date-sessions>.bookable-session-row{display:flex;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.bookable-session-row>div{flex:1;min-width:0}.bookable-session-row h4{font-size:15px;margin:0 0 10px;overflow-wrap:anywhere}
.bookable-date-sessions .open-session-context{margin:9px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.bookable-date-sessions .open-session-pills{margin:0;gap:7px}
.bookable-date-sessions .button{min-height:44px;flex:0 0 auto}
@media(max-width:600px){.session-detail-actions[data-compact-actions]{gap:8px;overflow:visible;flex-wrap:wrap}.session-detail-actions[data-compact-actions]>.button{flex:1 1 130px;min-height:44px;font-size:12px;padding:10px 12px;justify-content:center}.session-actions-panel{grid-template-columns:minmax(0,1fr)}.cancellation-request-facts{grid-template-columns:minmax(0,1fr);padding:14px;gap:18px}.cancellation-request-person>.session-pill{margin-left:56px}.cancellation-decision-actions{grid-template-columns:minmax(0,1fr)}.cancellation-decision-actions .button{min-height:46px}.bookable-date-sessions>.bookable-session-row{flex-direction:column;align-items:stretch;padding:14px;gap:16px}.bookable-date-sessions .button{width:100%;justify-content:center}.bookable-date-heading h3{font-size:15px}.bookable-date-sessions .open-session-pills .session-pill{font-size:11px}.bookable-date-groups{gap:24px}}
@media(max-width:600px){.dashboard-request-banner{flex-wrap:wrap;padding:14px;gap:10px}.dashboard-request-banner>div{flex-basis:calc(100% - 48px)}.dashboard-request-banner .button{width:100%;justify-content:center;min-height:42px}}

/* Bundled v0.22.18 layout layer: no extra stylesheet dependency. */
/* v0.22.18: layout repairs and complete Midnight surface palette. */
.session-detail-actions[data-compact-actions]{display:flex;align-items:flex-start;flex-wrap:wrap}
.session-detail-actions>.session-actions-disclosure{display:block;flex:0 0 100%;width:100%;max-width:100%;margin:0}
.session-actions-disclosure>summary{display:flex!important;list-style:none!important;align-items:center;justify-content:flex-start;gap:9px;min-height:44px;width:max-content;max-width:100%;color:var(--ink)}
.session-actions-disclosure>summary::marker{content:''}
.session-actions-disclosure>summary::-webkit-details-marker{display:none}
.session-actions-disclosure:not([open])>.session-actions-panel{display:none}
.session-actions-disclosure[open]>.session-actions-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-quick-actions .profile-card-body.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}
.profile-quick-actions .profile-card-body.actions>.button{display:flex;width:100%;min-width:0;min-height:52px;padding:8px 12px;justify-content:flex-start;text-align:left;white-space:normal;font-size:13px;line-height:1.35}
.profile-quick-actions .profile-card-body.actions>.button>svg{width:32px;height:32px;flex:0 0 32px;padding:6px;border-radius:9px}
.metric-assignment-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.metric-assignment-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:10px 14px;min-height:44px;border-bottom:1px solid var(--line);cursor:pointer}
.metric-assignment-row:last-child{border-bottom:0}
.metric-assignment-row:hover{background:var(--ui-soft)}
.metric-assignment-name{min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.metric-assignment-name small{display:inline-block;font-size:11px;color:var(--muted);margin-left:5px}
.metric-assignment-row input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:0 0 20px;accent-color:var(--green)}
@media(max-width:900px){
 .management-list-item{grid-template-rows:auto auto}
 .management-list-item>.list-item-main{grid-column:2;grid-row:1;min-width:0}
 .management-list-item>.list-item-meta{grid-column:2;grid-row:2;position:static;align-self:start;margin:4px 0 0;justify-content:flex-start}
 .management-list-item>.list-item-actions{grid-column:3;grid-row:1}
 .management-list-item>.list-item-icon{grid-row:1/span 2}
}
@media(max-width:600px){.session-actions-disclosure[open]>.session-actions-panel{grid-template-columns:minmax(0,1fr)}.profile-quick-actions .profile-card-body.actions>.button{min-height:52px;font-size:12px;padding:8px;gap:8px}}
html[data-theme=midnight]{--paper:#0e141b;--ink:#eef3f8;--muted:#a2afbc;--line:#2e3b49;--border:#2e3b49;--surface:#1a232e;--surface-soft:#141d26;--green:#7bdcb5;--lime:#163c2f;--ui-bg:#0e141b;--ui-surface:#1a232e;--ui-soft:#141d26;--ui-line:#2e3b49;--ui-ink:#eef3f8;--ui-muted:#a2afbc;--ui-accent:#7bdcb5;--ui-mint:#163c2f;--radius:14px;color-scheme:dark}
[data-theme=midnight] :is(.main-shell,.platform-only-shell,.auth-page){background:var(--paper);color:var(--ink)}
[data-theme=midnight] :is(.card,.stat,.auth-card,.profile-quick-actions,.platform-only-shell>header,.modal-heading,.modal-actions,.settings-modal-section,.email-template-editor,.email-template-list>.email-template-editor,.bookable-date-sessions>.bookable-session-row,.session-participant,.session-section,.session-exercise,.workout-log-exercise,.resource-card,.management-list,.theme-option,.client-workout-tab,.nutrition-card){background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-theme=midnight] :is(.toolbar,.clients-toolbar,.client-search-field,.ui-form-section-head,.ui-form-section-body,.session-fact,.session-facts,.session-detail-grid,.session-completion-summary,.session-actions-panel,.cancellation-request-facts,.bookable-policy,.booking-policy-note,.email-master-switch,.email-settings-tabs,.profile-tabs,.client-workout-tabs,.settings-modal-heading,.workout-log-sets,.log-set,.plan-summary-grid>div,.whatsapp-template-row,.whatsapp-manual,.whatsapp-connect-card,.whatsapp-connection-card){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
[data-theme=midnight] :is(.card-head,.line-item,.management-list-item,.profile-session-line,.email-preference-row,.email-delivery-row,.session-participant,.modal-heading,.modal-actions,.log-set){border-color:var(--line)}
[data-theme=midnight] :is(.profile-notes,.resource-access,.list-item-main p,.session-fact small,.session-fact-label,.profile-identity p,.booking-card-meta,.booking-card-time,.email-template-editor p,.form-help,.field-help,.subtitle,.stat-bottom){color:var(--muted)}
[data-theme=midnight] :is(.list-item-main h2,.session-fact b,.session-fact strong,.stat-value,.profile-identity h1,.booking-card-title,.bookable-date-heading h3,.email-preference-row b){color:var(--ink)}
[data-theme=midnight] :is(input,select,textarea){background:#0f1720;border-color:#3a4b5b;color:var(--ink)}
[data-theme=midnight] :is(input,textarea)::placeholder{color:#91a0af}
[data-theme=midnight] :is(.button,.icon-btn,.session-actions-disclosure>summary,.bookable-browser .booking-card-action,.auth-register-outside .button){background:#212c38;color:var(--ink);border-color:#3a4b5b}
[data-theme=midnight] :is(.button,.session-actions-disclosure>summary,.bookable-browser .booking-card-action):hover{background:#2b3947;border-color:#647c90;color:#fff}
[data-theme=midnight] .button.primary:not(.soft-outline-action){background:#7bdcb5;color:#0e141b;border-color:#7bdcb5}
[data-theme=midnight] :is(.button.soft-outline-action,.button.primary.soft-outline-action){background:#212c38;color:var(--ink);border-color:#3a4b5b}
[data-theme=midnight] .soft-outline-action>svg{background:#304454;color:#b6d6eb}
[data-theme=midnight] :is(.email-settings-tabs button[aria-selected=true],.client-workout-tab.active,.theme-option.selected){background:#20382e;border-color:#7bdcb5;color:#b4f0d7}
[data-theme=midnight] :is(.booking-card-availability,.session-complete-button,.cancellation-approve){background:#1c392d;border-color:#3c6652;color:#b4edcc}
[data-theme=midnight] :is(.booking-card-availability.full,.bookable-browser .booking-card-action:disabled){background:#18212b;border-color:#354352;color:#a2afbc}
[data-theme=midnight] :is(.dashboard-request-banner,.notice,.session-package-notice){background:#332b1c;border-color:#80673c;color:#efdaad}
[data-theme=midnight] :is(.dashboard-request-banner b,.dashboard-request-banner p,.dashboard-request-banner .button){color:#efdaad}
[data-theme=midnight] .dashboard-request-banner .request-banner-icon{background:#493b22;color:#efdaad}
[data-theme=midnight] :is(.cancellation-reject,.destructive-action){color:#ffb1b1;border-color:#684448}
[data-theme=midnight] :is(.error-box,.cancellation-reject){background:#382328}
[data-theme=midnight] .mobile-dock{background:#111a23f5;border-color:var(--line)}
[data-theme=midnight] .mobile-dock-link.active{background:#20382e;color:#b4f0d7}
[data-theme=midnight] :is(.calendar-controls,.schedule-toolbar,.calendar-day,.month-day){background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-theme=midnight] :is(.calendar-event,.calendar-event span,.calendar-session-title){color:#dce9f3}
[data-theme=midnight] :focus-visible{outline:2px solid #9aebc9;outline-offset:3px}
/* White wordmark with the orange brand dot preserved on dark surfaces. */
[data-theme=midnight] :is(.app,.main-shell>main){background:var(--paper)}
[data-theme=midnight] .sidebar{background:#111a23!important;color:#b4c0ca!important;border-color:var(--line)!important;color-scheme:dark!important}
[data-theme=midnight] :is(.management-list,.responsive-table,.workout-settings-card,.profile-hero,.ui-form-section,.builder-section,.calendar-day){background:var(--surface)!important;border-color:var(--line)!important;box-shadow:0 8px 24px #0003!important}
[data-theme=midnight] :is(.sidebar-collapse,.nav-group-toggle,.ui-section-icon,.progress-metric-icon,.progress-history-icon,.client-next-icon,.counter){background:#25333f;color:#b4e5d2;border-color:var(--line)}
[data-theme=midnight] .nav-group-toggle:hover{background:#304454;color:#eef3f8}
[data-theme=midnight] .sidebar .nav-link.nav-child.active{background:#20382e;color:#b4f0d7}
[data-theme=midnight] .log-set-complete{background:#18212b!important;border-color:#516273!important;box-shadow:none}
[data-theme=midnight] .log-check-empty{background:#18212b;border-color:#94a5b6}
[data-theme=midnight] .workout-log-carousel .log-set.is-complete{background:#1c392d;border-color:#3c6652}
[data-theme=midnight] img.spotter-icon{filter:grayscale(1) invert(1);opacity:.9}
[data-theme=midnight] .soft-outline-action>img.spotter-icon{background:#cfbbab;filter:grayscale(1) invert(1);width:32px;height:32px;flex:0 0 32px;padding:6px;border-radius:9px}
[data-theme=midnight] .button.primary:not(.soft-outline-action)>img.spotter-icon{filter:none}
[data-theme=midnight] .wordmark{position:relative;background:none!important;mix-blend-mode:normal!important;filter:none!important;overflow:hidden}
[data-theme=midnight] .wordmark::before{content:'';position:absolute;inset:0;background:url('spotter-wordmark.png') left center/contain no-repeat;filter:grayscale(1) invert(1);mix-blend-mode:screen}
[data-theme=midnight] .wordmark::after{content:'';position:absolute;left:93.3%;top:53.7%;width:6.7%;aspect-ratio:1;border-radius:50%;background:#ff5b16}

/* Icon tiles keep artwork and background independent in both themes. */
.pictogram-button .action-icon-tile{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;padding:6px;border-radius:8px;background:#eaf3f8;color:#52718e;pointer-events:none}
.pictogram-button .action-icon-tile>svg,.pictogram-button .action-icon-tile>img.spotter-icon{display:block;width:18px;height:18px;flex:0 0 18px;padding:0;border-radius:0;background:transparent;object-fit:contain;opacity:1;filter:none}
/* Automatic release notification, including native dialog top layers. */
.app-update-banner{position:fixed;z-index:10000;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 24px));box-sizing:border-box;display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line,#dce4ed);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#243447);box-shadow:0 8px 30px #0003}
.app-update-banner>div{flex:1;min-width:0}.app-update-banner strong,.app-update-description{display:block}.app-update-description{font-size:12px;line-height:1.5;margin-top:4px;color:var(--muted,#64748b)}.app-update-banner .button{flex-shrink:0;width:auto;margin:0;font-size:13px;white-space:nowrap}
dialog>.app-update-banner{position:sticky;top:0;left:auto;transform:none;width:100%;border-radius:0;box-shadow:none}
@media(max-width:480px){.app-update-banner{flex-wrap:wrap;gap:10px;padding:12px}.app-update-banner>div{flex-basis:100%}}
/* Guided training-plan creation, shared by Default and Midnight palettes. */
.plan-creator{display:grid;gap:20px;color:var(--ink,#243447)}.plan-creator .modal-lead{margin:0}.plan-creator-section{padding:20px;border:1px solid var(--line,#dce4ed);border-radius:16px;background:var(--surface,#fff)}.plan-creator-section h3{margin:0 0 16px;font-size:17px}.plan-creator-section summary{font-weight:650;cursor:pointer}.plan-creator-section[open] summary{margin-bottom:16px}.plan-help,.plan-section-heading p{font-size:12px;line-height:1.5;color:var(--muted,#64748b);margin:6px 0 12px}.plan-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.plan-section-heading h3{margin-bottom:4px}.plan-mode-picker,.plan-weekdays{border:0;padding:0;margin:0}.plan-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-mode-picker legend,.plan-weekdays legend{font-size:17px;font-weight:650;margin-bottom:12px}.plan-mode-option{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--line,#dce4ed);border-radius:16px;background:var(--surface,#fff);cursor:pointer;min-width:0}.plan-mode-option:has(input:checked){border-color:var(--accent,#7190ae);background:var(--surface-soft,#edf4fa);box-shadow:inset 0 0 0 1px var(--accent,#7190ae)}.plan-mode-option input[type=radio]{width:18px;height:18px;min-width:18px;margin-top:3px;accent-color:var(--accent,#7190ae)}.plan-mode-option strong,.plan-mode-option small,.plan-mode-fixed small{display:block}.plan-mode-option small,.plan-mode-fixed small{font-size:12px;font-weight:400;line-height:1.5;color:var(--muted,#64748b);margin-top:6px}.plan-mode-icon{padding:8px;border-radius:10px;background:var(--soft,#e9f2f8);flex:none}.plan-mode-icon img{width:24px;height:24px}.plan-mode-fixed{display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;background:var(--surface-soft,#edf4fa)}.plan-mode-fixed>img{width:32px;height:32px}.plan-weekdays{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.plan-weekdays label{position:relative;cursor:pointer}.plan-weekdays input{position:absolute;opacity:0;width:1px;height:1px;min-width:0}.plan-weekdays span{display:block;padding:10px 12px;border:1px solid var(--line,#dce4ed);border-radius:10px;font-size:13px;background:var(--surface,#fff)}.plan-weekdays input:checked+span{background:var(--surface-soft,#e9f2f8);border-color:var(--accent,#7190ae);box-shadow:inset 0 0 0 1px var(--accent,#7190ae)}.plan-weekdays input:focus-visible+span{outline:2px solid var(--accent,#7190ae);outline-offset:3px}.plan-editor-row{padding:16px;border:1px solid var(--line,#dce4ed);border-radius:12px;margin-bottom:12px;background:var(--surface-soft,#f6f8fb)}.plan-row-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.plan-row-heading .actions{display:flex;gap:6px}.plan-creator .button.small{font-size:12px;padding:8px 10px;min-height:34px}.plan-creator .button:disabled{opacity:.4;cursor:default}.plan-creator .form-grid{gap:12px;margin:12px 0}.plan-creator textarea{min-height:80px}.plan-preview{padding:18px;border-radius:16px;border:1px solid var(--line,#dce4ed);background:var(--surface-soft,#edf4fa)}.plan-preview h3{margin:0 0 8px}.plan-preview p,.plan-preview small{font-size:12px;color:var(--muted,#64748b)}.plan-preview ol{list-style:none;padding:0;margin:12px 0;display:grid;gap:0}.plan-preview li{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--line,#dce4ed);font-size:13px}.plan-preview li span{min-width:110px;color:var(--muted,#64748b)}.plan-mode-label{font-size:12px;color:var(--muted,#64748b)}.plan-creator [hidden]{display:none!important}.client-plan-summary .plan-slot-list{max-height:600px;overflow:auto}
@media(min-width:768px){dialog:has(.plan-creator){width:min(960px,calc(100vw - 48px));max-width:960px}}
@media(max-width:640px){.plan-mode-picker{grid-template-columns:1fr}.plan-creator-section{padding:14px}.plan-mode-option{padding:14px}.plan-creator .form-grid{grid-template-columns:1fr}.plan-section-heading{align-items:flex-start;flex-wrap:wrap}.plan-editor-row{padding:12px}.plan-row-heading .button .spotter-icon,.plan-row-heading .button .button-icon-tile{display:none}.plan-slot-actions{flex-wrap:wrap}}
/* v0.22.22 compact plan editors and weekly availability. */
.registration-terms{display:flex!important;align-items:flex-start;gap:10px;font-size:13px!important;line-height:1.5;margin:16px 0}.registration-terms input[type=checkbox]{flex:none;width:18px!important;min-width:18px!important;height:18px!important;margin:1px 0!important;accent-color:var(--accent)}.registration-terms a{text-decoration:underline;color:var(--accent)}
.planned-workout-editor{display:grid;gap:14px}.planned-workout-editor .plan-creator-section{padding:18px;margin:0}.planned-workout-editor .form-grid{gap:14px;margin:12px 0}.planned-workout-editor textarea{min-height:90px}.planned-workout-editor summary{font-weight:600;cursor:pointer}.planned-workout-editor .modal-lead{margin:0;font-size:13px}.planned-workout-editor .plan-mode-fixed{padding:10px;min-height:70px}.plan-template-picker{display:flex;align-items:flex-end;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);margin-bottom:16px}.plan-template-picker>div{flex:1;min-width:0}.plan-template-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.plan-template-item>div:first-child{min-width:0}.plan-template-item h3{margin:0 0 6px;overflow-wrap:anywhere}.plan-template-item p{font-size:13px;margin:0;color:var(--muted)}.plan-template-item small{display:block;font-size:12px;margin-top:6px}.plan-template-item .actions{flex:none;display:flex;gap:8px}
.availability-editor .availability-intro{margin-bottom:14px}.availability-intro p{margin:0 0 5px;font-size:14px}.availability-intro small{font-size:11px;color:var(--muted);line-height:1.5;display:block}.availability-editor .hours-week{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.availability-editor .hours-day{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);margin:0}.availability-editor .hours-day:last-child{border-bottom:0}.availability-editor .hours-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}.availability-editor .hours-day-head strong{font-size:13px}.availability-editor .hours-day-head .button{font-size:11px!important;padding:6px!important;min-height:30px!important;white-space:nowrap}.availability-editor .hours-day-ranges{margin-top:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.availability-editor .hours-day-off{font-size:12px;margin:0}.availability-editor .hours-interval{display:grid!important;grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 28px!important;align-items:center;gap:6px;width:268px;max-width:100%;margin:0;padding:0;border:0;background:transparent}.availability-editor .hours-interval label{margin:0;min-width:0;font-size:10px!important;gap:2px}.availability-editor .hours-interval input[type=time]{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;height:36px!important;min-height:36px!important;padding:4px 7px!important;font-size:13px!important;border-radius:8px}.availability-editor .hours-interval .button{width:28px;min-width:28px;height:28px;min-height:28px!important;padding:0!important;font-size:18px!important;margin-top:14px}.hours-range-separator{font-size:12px;color:var(--muted);padding-top:14px}
@media(min-width:768px){dialog:has(.planned-workout-editor),dialog:has(.plan-template-manager){width:min(760px,calc(100vw - 48px));max-width:760px}dialog:has(.availability-editor){width:min(840px,calc(100vw - 48px));max-width:840px}}
@media(max-width:640px){.planned-workout-editor .form-grid{grid-template-columns:1fr}.planned-workout-editor .plan-creator-section{padding:14px}.plan-template-picker,.plan-template-item{flex-direction:column;align-items:stretch}.plan-template-item .actions{flex-wrap:wrap}.availability-editor .hours-day{grid-template-columns:1fr;gap:6px;padding:8px 10px}.availability-editor .hours-day-head{justify-content:space-between}.availability-editor .hours-day-ranges{gap:6px}.availability-editor .hours-interval{width:100%;max-width:360px}}



/* Online payments: uses shared tokens for Default and Midnight. */
.commerce-panel{display:grid;gap:18px;min-width:0}.commerce-panel .notice p{margin:6px 0 0;font-size:.85rem}.commerce-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.commerce-tabs button{flex:1;min-height:44px;padding:10px 14px;border:0;border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-weight:600}.commerce-tabs button.active{background:var(--commerce-card,#fff);color:var(--ink);box-shadow:0 1px 4px #0001}.commerce-section{padding:20px;min-width:0}.commerce-panel .commerce-section{padding:0}.commerce-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.commerce-heading h3,.commerce-section h3{margin:0 0 6px}.commerce-heading p{margin:0;color:var(--muted);font-size:.85rem}.commerce-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;margin:16px 0}.commerce-offer{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--commerce-card,#fff);min-width:0}.commerce-offer h3,.commerce-offer p{margin:0}.commerce-offer p,.commerce-offer small{color:var(--muted);font-size:.85rem}.commerce-offer strong{font-size:1.2rem}.commerce-offer .button{width:100%;margin-top:auto}.commerce-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);min-width:0}.commerce-row>div:first-child{min-width:0;overflow-wrap:anywhere}.commerce-row small{display:block;color:var(--muted);margin-top:5px;font-size:.8rem}.commerce-row p{margin:6px 0;font-size:.85rem;color:var(--muted)}.commerce-row .actions{flex-wrap:wrap;justify-content:flex-end}.commerce-refresh{justify-content:flex-end}.resource-access+.button{margin-top:10px}@media(max-width:600px){.commerce-row{align-items:flex-start;flex-direction:column;padding:16px 12px}.commerce-row .actions{width:100%;justify-content:flex-start}.commerce-tabs button{font-size:.8rem;padding:10px 8px}.commerce-heading>.actions{width:100%}.commerce-section{padding:16px}.commerce-offer{padding:18px}}

html:root[data-theme="midnight"] .commerce-panel,html:root[data-theme="midnight"] #admin-list{--commerce-card:var(--night-raised)}

/* Package merchandising and compact assignment, v0.22.42. */
.package-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.package-type-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.package-template-grid{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:18px;align-items:stretch}
.package-offer-card{position:relative;overflow:hidden;isolation:isolate;padding:0;background:var(--surface,#fff);border:1px solid var(--line);border-radius:22px}.package-watermark{position:absolute;right:-22px;top:70px;font-size:clamp(60px,6vw,92px);font-weight:800;line-height:1;letter-spacing:-5px;white-space:nowrap;color:var(--ink);opacity:.035;transform:rotate(-12deg);pointer-events:none;z-index:-1;user-select:none}.package-offer-content{display:flex;flex-direction:column;gap:18px;padding:24px;height:100%;box-sizing:border-box}.package-type-label{display:inline-flex;gap:7px;align-items:center;align-self:flex-start;padding:7px 10px;border-radius:8px;background:var(--surface-soft,#edf4fa);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.2px}.package-type-label :is(svg,img){width:16px;height:16px}.package-offer-card h2{margin:0;font-size:20px;line-height:1.3;overflow-wrap:anywhere;min-height:52px}.package-offer-price{font-size:30px;line-height:1.2;font-weight:750;letter-spacing:-1px;color:var(--ink)}.package-offer-price small{display:block;margin-top:6px;font-size:11px;font-weight:500;letter-spacing:0;color:var(--muted)}.package-offer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-block:1px solid var(--line);padding:16px 0}.package-offer-facts>span{display:grid;gap:5px;color:var(--muted);font-size:11px}.package-offer-facts b{font-size:19px;color:var(--ink);font-weight:650}.package-offer-note{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.package-offer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}.package-offer-actions>.button:first-child{grid-column:1/-1}.package-offer-actions>.button{justify-content:center;min-width:0;min-height:42px}
#modal .package-assign-shell{max-width:100%;min-width:0}#modal .package-assign-shell .form-stack{gap:14px}.package-assign-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}#modal .package-assign-shell .field{gap:6px;font-size:12px}#modal .package-assign-shell .field :is(input,select){min-height:44px;height:44px;padding:10px 12px;width:100%;min-width:0;box-sizing:border-box;font-size:14px}.package-assign-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft,#f6f8fb);font-size:12px;color:var(--muted)}.package-assign-summary b{color:var(--ink);margin-left:auto}.package-assign-summary>span:last-child{flex-basis:100%}.package-client-picker{padding:0;border:0;margin:0;min-width:0}.package-client-picker legend{display:flex;gap:10px;width:100%;margin-bottom:10px;font-size:13px;font-weight:650;color:var(--ink)}.package-client-picker legend span{margin-left:auto;color:var(--muted);font-size:11px}.package-client-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface,#fff);margin-bottom:8px}.package-client-search :is(svg,img){width:17px;height:17px;flex-shrink:0;color:var(--muted)}#modal .package-client-search input{border:0;background:transparent;box-shadow:none;min-width:0;width:100%;min-height:40px;padding:8px 0;font-size:13px;outline:none}.package-client-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:230px;overflow-y:auto;padding:2px}.package-client-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:10px;min-width:0;min-height:42px;box-sizing:border-box;font-size:12px;cursor:pointer;background:var(--surface,#fff);color:var(--ink)}.package-client-option span{overflow-wrap:anywhere}.package-client-option[hidden],.package-client-empty[hidden]{display:none!important}#modal .package-client-option input{width:17px;height:17px;min-height:17px;flex:0 0 17px;margin:0;padding:0}.package-client-option:has(input:checked){border-color:var(--accent,var(--green));background:var(--surface-soft,#edf4fa)}.package-client-empty,.package-assign-help{font-size:11px;line-height:1.5;color:var(--muted);margin:4px 0}.package-client-search:focus-within{outline:2px solid var(--accent,var(--green));outline-offset:2px}
html:root[data-theme=midnight] .package-watermark{opacity:.045}
@media(max-width:600px){.package-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.package-header-actions .button{justify-content:center;min-width:0;font-size:12px;padding-inline:10px}.package-header-actions .button:last-child{grid-column:1/-1}.package-type-filters{gap:6px}.package-offer-content{padding:20px;gap:16px}.package-assign-fields{grid-template-columns:1fr}.package-client-options{grid-template-columns:1fr;max-height:210px}.package-offer-card h2{min-height:0}}

/* Workspace subscription tiles, v0.22.45. */
.commerce-panel .subscription-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin:18px 0 8px;align-items:stretch}.commerce-panel .subscription-offer{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff);overflow:hidden;box-shadow:0 4px 16px #00000005;transition:border-color .15s,box-shadow .15s}.subscription-offer:hover{border-color:var(--muted);box-shadow:0 8px 24px #00000009}.commerce-panel .subscription-offer.is-current{border-color:var(--accent,var(--green));box-shadow:0 0 0 1px var(--accent,var(--green)) inset}.subscription-offer-body{padding:22px;display:flex;flex-direction:column;gap:14px;flex:1}.subscription-offer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.subscription-logo{position:relative;display:grid;width:54px;height:54px;flex:0 0 54px;place-items:center;border:1px solid #0000000c;border-radius:13px;background:#edf4fa;color:#315f86;box-shadow:0 0 0 3px var(--surface,#fff),0 0 0 4px var(--line)}.subscription-logo>svg{position:absolute;inset:0;width:100%;height:100%}.subscription-logo b{font-size:15px;letter-spacing:-.5px;line-height:1}.subscription-logo-1{background:#eff5ee;color:#467455}.subscription-logo-2{background:#f4effa;color:#735b95}.subscription-logo-3{background:#fff3e8;color:#a26327}.subscription-logo-spotter{background:#fff;overflow:hidden}.subscription-logo-spotter img{width:100%;height:100%;object-fit:contain;filter:none!important}.subscription-state{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft,#f6f8fb);color:var(--muted);font-size:10px;font-weight:650;line-height:1.3;text-align:center}.subscription-state.is-current{color:var(--ink)}.commerce-panel .subscription-offer h3{margin:2px 0 0;font-size:19px;line-height:1.3;letter-spacing:-.3px;color:var(--ink);overflow-wrap:anywhere}.commerce-panel .subscription-description{margin:0;font-size:13px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.subscription-features{display:grid;gap:9px;list-style:none;margin:3px 0 0;padding:0;font-size:12px;color:var(--ink)}.subscription-features li{display:flex;align-items:flex-start;gap:8px;line-height:1.5}.subscription-features li>span{color:var(--muted);flex-shrink:0}.subscription-offer-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;border-top:1px solid var(--line);padding:18px 22px;background:var(--surface-soft,#f8fafc)}.subscription-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.subscription-price strong{font-size:24px;line-height:1.25;letter-spacing:-.7px;color:var(--ink);overflow-wrap:anywhere}.subscription-price>span{color:var(--muted);font-size:11px}.commerce-panel .subscription-subscribe{width:100%;justify-content:center;min-height:44px;font-size:13px;border-radius:10px}.subscription-switch-note{min-height:15px;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.subscription-offer-plan .subscription-offer-footer{padding-top:20px}.subscription-offer-plan .subscription-price strong{font-size:28px}.subscription-offer-plan .subscription-logo{width:58px;height:58px;flex-basis:58px}
html:root[data-theme=midnight] .subscription-logo:not(.subscription-logo-spotter){background:var(--night-raised);color:var(--night-ink);border-color:var(--night-border)}
@media(max-width:600px){.commerce-panel .subscription-card-grid{grid-template-columns:1fr;gap:12px}.subscription-offer-body{padding:18px;gap:12px}.subscription-offer-footer{padding:16px 18px}.subscription-price strong{font-size:23px}.subscription-offer-top{align-items:center}.commerce-panel .commerce-heading{align-items:flex-start}.commerce-panel .commerce-heading>.button{width:100%;justify-content:center}.subscription-offer h3{font-size:18px}}


/* Promo codes and implemented feature access. */
.promo-card-list{display:grid;gap:12px;margin:20px 0}.promo-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--border,#dce5ec);border-radius:18px;background:var(--surface,#fff);min-width:0}.promo-card h3{margin:10px 0 5px}.promo-card p{margin:0 0 8px}.promo-card small{color:var(--muted,#718397)}.promo-code{display:inline-flex;padding:6px 12px;border-radius:8px;background:var(--soft,#eaf2f7);font-size:13px;letter-spacing:.1em;font-weight:750}.promo-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:0;background:transparent;color:inherit;padding:8px;font:inherit;font-size:13px;cursor:pointer}.promo-toggle span{width:34px;height:20px;border-radius:20px;background:#9ba8b2;position:relative}.promo-toggle span:after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.promo-toggle.active span{background:#557d68}.promo-toggle.active span:after{transform:translateX(14px)}.promo-check{display:flex!important;align-items:center;gap:12px;min-height:44px;margin:0!important}.promo-check input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px;margin:0!important;align-self:center}.promo-check span{min-width:0;overflow-wrap:anywhere}.promo-check small{display:block;margin-top:4px;color:var(--muted,#718397);font-size:12px}.promo-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;margin-bottom:20px}.commerce-feature-fields{margin:18px 0;padding:16px;border:1px solid var(--border,#dce5ec);border-radius:14px}.commerce-feature-fields legend{padding:0 8px;font-size:13px;font-weight:700}.promo-entry{display:flex;align-items:flex-end;gap:10px;margin:24px 0}.promo-entry>label{flex:1;min-width:0;margin:0}.promo-entry .button{min-height:44px;margin-bottom:0}.purchase-summary{padding:22px;border-radius:18px;background:var(--soft,#eaf2f7);border:1px solid var(--border,#dce5ec)}.purchase-summary h3{font-size:22px;margin:8px 0 20px}.purchase-totals{margin:0;display:grid;gap:12px}.purchase-totals>div{display:flex;justify-content:space-between;gap:16px}.purchase-totals dd{margin:0;font-weight:650}.purchase-discount{color:#427557}.purchase-total{border-top:1px solid var(--border,#dce5ec);padding-top:15px;font-size:20px;font-weight:750}.purchase-summary>.subtle{margin-bottom:0}
html[data-theme=midnight] .promo-card{background:#0a0e15;border-color:#212631;color:#fff}html[data-theme=midnight] :is(.purchase-summary,.commerce-feature-fields){background:#0a0e15;border-color:#212631;color:#fff}html[data-theme=midnight] .promo-code{background:#212631;color:#fff}html[data-theme=midnight] .purchase-total{border-color:#212631}html[data-theme=midnight] .purchase-discount{color:#a8d9b6}html[data-theme=midnight] .promo-toggle{color:#fff}
@media(max-width:600px){.promo-card{padding:16px;align-items:flex-start;flex-direction:column;gap:10px}.promo-targets{grid-template-columns:1fr}.purchase-summary{padding:18px}.promo-entry{gap:8px}.promo-card .promo-toggle{align-self:flex-end}}

/* Client/trainer refinement, v0.22.46. Theme tokens keep both appearances consistent. */
.nav-group-title{color:inherit;text-decoration:none;min-width:0}
html:root .progress-command-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}
html:root .progress-command-bar .progress-tabs{margin:0;flex:0 1 auto;min-width:0}
html:root .progress-command-bar>.field{min-width:220px;margin:0;gap:6px;font-size:12px}
html:root .progress-command-bar .actions{margin:0;display:flex;gap:8px;flex-wrap:wrap}
html:root .progress-command-bar .button{min-height:44px;justify-content:center}
html:root .progress-chart-stage{padding:12px 16px;min-width:0;overflow:hidden;color:var(--accent)}
html:root .progress-chart-stage .history-chart{display:block;width:100%;min-width:0;max-width:none;height:280px;margin:0;overflow:visible}
html:root .history-chart .chart-grid text,html:root .history-chart .chart-labels text{font-size:12px}
.history-session-type{display:block;color:var(--muted);font-size:11px;margin-top:4px}.trainer-workout-history{margin-top:20px}
html:root .client-packages-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.client-packages-heading h1{margin:4px 0;font-size:30px}.client-packages-heading p{margin:0;color:var(--muted);font-size:13px}
html:root .client-packages-heading>.field{width:200px;margin:0;font-size:11px;gap:6px;flex:none}
html:root .client-packages-heading select{min-height:44px;width:100%;min-width:0}
html:root .client-package-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:14px;margin:0 0 20px}
html:root .client-package-states .package-assignment-filters{margin:0;justify-content:center;gap:6px}
html:root .client-package-bar .button{justify-content:center;min-height:44px}
.refine-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;background:var(--surface-soft,#edf4fa);color:var(--accent);border:1px solid var(--line);border-radius:14px}
.refine-icon :is(svg,img){width:24px;height:24px}
.checkin-dialog,.resource-editor,.ledger-dialog{color:var(--ink);min-width:0}
.checkin-intro,.ledger-summary{display:flex;gap:14px;align-items:center;padding:18px;background:var(--surface-soft,#f6f8fb);border:1px solid var(--line);border-radius:16px;margin-bottom:20px}
.checkin-intro h3,.ledger-summary h3{font-size:18px;margin:0 0 6px}.checkin-intro p{font-size:13px;color:var(--muted);margin:0 0 6px;line-height:1.5}.checkin-intro small,.ledger-summary small{font-size:12px;color:var(--muted)}
html:root .checkin-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html:root #modal .checkin-scores .field{font-size:12px;gap:8px;min-width:0}
html:root #modal .checkin-scores input{min-height:56px;font-size:22px;font-weight:650;text-align:center;width:100%;min-width:0}
html:root #modal :is(.checkin-dialog,.resource-editor) .ui-form-section{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
html:root #modal :is(.checkin-dialog,.resource-editor) .ui-form-section-head{padding:16px;background:var(--surface-soft,#f6f8fb);border-bottom:1px solid var(--line)}
html:root #modal :is(.checkin-dialog,.resource-editor) .ui-form-section-body{padding:16px;display:grid;gap:14px}
html:root #modal :is(.checkin-dialog,.resource-editor) .ui-form-section-head p{font-size:11px;line-height:1.5;margin-top:4px;color:var(--muted)}
html:root #modal :is(.checkin-dialog,.resource-editor) .modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html:root #modal :is(.checkin-dialog,.resource-editor) .modal-actions .button{width:100%;min-width:0;justify-content:center}
html:root .reschedule-options{border:0;padding:0;margin:0;display:grid;gap:8px;max-height:340px;overflow:auto;min-width:0}
.reschedule-options legend{font-size:12px;font-weight:650;margin-bottom:10px;color:var(--muted)}
html:root #modal .reschedule-option{display:flex;align-items:center;gap:12px;margin:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;min-width:0}
html:root #modal .reschedule-option input{appearance:auto;width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:0 0 18px;accent-color:var(--accent)}
.reschedule-option>span:nth-child(2){flex:1;min-width:0}.reschedule-option b{display:block;font-size:14px;overflow-wrap:anywhere}.reschedule-option small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.reschedule-option .reschedule-choice-mark{opacity:0;color:var(--accent);flex:none}.reschedule-option .reschedule-choice-mark :is(svg,img){width:18px;height:18px}
html:root #modal .reschedule-option:has(input:checked){border-color:var(--accent);background:var(--surface-soft)}.reschedule-option:has(input:checked) .reschedule-choice-mark{opacity:1}
.reschedule-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.ledger-explanation{font-size:11px;line-height:1.65;margin:0 0 18px;color:var(--muted)}
.ledger-entries{display:grid;gap:8px;max-height:420px;overflow:auto}.ledger-entry{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.ledger-entry h3{font-size:13px;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere}.ledger-entry small{font-size:11px;color:var(--muted)}.ledger-delta{text-align:right;font-variant-numeric:tabular-nums;min-width:60px;font-size:20px}.ledger-delta small{display:block;font-size:10px;font-weight:400}.credit-added{color:#40705c}.credit-used{color:var(--ink)}
html:root .resource-upload{padding:14px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-soft)}.resource-upload small{font-size:11px;color:var(--muted)}
html:root .resource-editor [data-resource-client][hidden]{display:none!important}
html:root .commerce-panel{gap:16px}html:root .commerce-panel>.commerce-section{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff)}
html:root .commerce-panel .commerce-heading{align-items:center;gap:14px}.commerce-panel .commerce-heading p{line-height:1.6;font-size:12px}
html:root .commerce-panel .commerce-row{padding:16px 0;gap:12px}.commerce-panel .commerce-row:last-child{border-bottom:0}
html:root .commerce-panel .commerce-offer{background:var(--surface,#fff);border-radius:16px;padding:20px;gap:14px}
html:root .commerce-panel .commerce-offer h3{font-size:20px;line-height:1.4}.commerce-panel .commerce-offer>strong{font-size:24px}
html:root .commerce-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 0 0;background:transparent}
.commerce-footer>span{font-size:10px;color:var(--muted)}.commerce-footer strong{font-size:12px;letter-spacing:.8px;color:var(--ink)}.commerce-mode-note{font-size:11px;color:var(--muted);margin:0}
.promotions-page>.commerce-section{padding:22px}.promotions-page .promo-card{background:var(--surface,#fff)}
@media(min-width:901px){html:root .route-payments .page-header-actions{display:flex!important}.route-payments .page-header-actions [data-action="commerce-open"]{display:inline-flex!important}}
@media(max-width:700px){
 html:root .progress-command-bar{gap:10px;align-items:center;margin-bottom:14px;flex-wrap:nowrap}
 html:root .progress-command-bar .progress-tabs{flex:1;display:flex;width:auto;gap:3px;padding:4px}
 html:root .progress-command-bar .progress-tab{min-width:0;flex:1;padding:9px 7px;font-size:11px;gap:5px;min-height:44px}
 html:root .progress-command-bar .progress-tab :is(svg,img){width:17px;height:17px;flex:none}
 html:root .progress-command-bar .actions{flex:none}.progress-command-bar .actions>.button{font-size:11px;padding:8px;min-height:44px;gap:5px}
 html:root .progress-command-bar .action-icon-tile{width:24px;height:24px;flex-basis:24px}
 html:root .progress-command-bar>.field{min-width:110px;max-width:140px;flex:1;font-size:10px}.progress-command-bar>.field select{width:100%;min-width:0;font-size:12px}
 html:root .progress-command-bar .actions:has([data-action="measurement"]){flex-direction:column}
 html:root .progress-chart-stage{padding:10px 6px;min-height:210px}.progress-chart-stage .history-chart{height:210px}
 html:root .client-packages-heading{gap:12px;margin-bottom:14px}.client-packages-heading h1{font-size:22px}.client-packages-heading p{font-size:11px;max-width:160px}
 html:root .client-packages-heading>.field{width:140px;font-size:10px}.client-packages-heading select{font-size:12px;min-height:40px}
 html:root .client-package-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}
 html:root .client-package-bar>.button{font-size:12px;min-width:0;width:100%;white-space:normal}
 html:root .client-package-states{grid-row:2;grid-column:1/-1}.client-package-states .package-assignment-filters{width:100%;flex-wrap:wrap;justify-content:center}
 html:root .client-package-states .package-filter-badge{padding:7px 9px;font-size:11px;gap:5px;min-height:36px}
 html:root .checkin-scores{grid-template-columns:1fr;gap:10px}.checkin-scores .field{display:grid!important;grid-template-columns:minmax(0,1fr) 90px;align-items:center}
 html:root #modal .checkin-scores input{min-height:48px;height:48px;font-size:20px}.checkin-intro{padding:14px;align-items:flex-start}.checkin-intro h3{font-size:16px}
 html:root #modal :is(.checkin-dialog,.resource-editor) .ui-form-section-body{padding:14px}.resource-editor .form-grid{grid-template-columns:1fr}
 .ledger-entry{padding:12px}html:root .commerce-panel>.commerce-section{padding:14px}.commerce-panel .commerce-heading{flex-wrap:wrap}
 html:root .commerce-footer{flex-wrap:wrap;justify-content:center;text-align:center}.commerce-footer>span{order:2;flex-basis:100%}
}
@media(max-width:360px){html:root .progress-command-bar{flex-wrap:wrap}.progress-command-bar>.actions{margin-left:auto}.progress-command-bar>.progress-tabs{flex-basis:100%}}
html:root[data-theme="midnight"] .credit-added{color:#b9dfce}


html:root .payment-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.payment-page-actions>.button{min-height:44px}
html:root .progress-chart-stage .history-chart{color:var(--accent);aspect-ratio:auto}.history-chart circle{stroke-width:1}

/* v0.22.47 trainer metric management */
.metric-management-toolbar{display:flex;justify-content:flex-end;margin:0 0 16px;gap:12px}

@media(max-width:700px){
 .trainer-metric-management .management-list-item{grid-template-columns:40px minmax(0,1fr);gap:10px 12px}
 .trainer-metric-management .management-list-item>.list-item-actions{grid-column:2;grid-row:2;justify-content:flex-start;flex-wrap:wrap;width:auto;max-width:none}
 .trainer-metric-management .list-item-actions>.button{flex:0 0 auto;min-width:70px;white-space:nowrap;word-break:normal}
}

/* v0.22.48 inline library controls */
html:root .progress-command-bar .metric-header-actions{margin-left:auto;flex:0 0 auto}
html:root .metric-header-actions .button{display:inline-flex;align-items:center;gap:10px;border-radius:12px;padding:12px 18px;background:var(--surface,#fff);border:1px solid var(--line,#d8e3ec);color:var(--text,#243446);box-shadow:0 4px 14px #172a3c08}
html:root .metric-header-actions .button:hover{border-color:var(--primary,#7190ac)}
html:root .package-command-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
html:root .package-command-bar .package-tabs,html:root .package-command-bar .package-type-filters{margin:0}
html:root .package-command-bar .package-type-filters{justify-content:flex-end}
html:root .profile-overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){html:root .package-command-bar{align-items:flex-start}html:root .package-command-bar .package-type-filters{justify-content:flex-start}}
@media(max-width:700px){html:root .package-command-bar .package-tabs{width:100%}html:root .package-command-bar .package-type-filters{gap:6px}html:root .profile-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v0.22.41 Midnight grayscale palette, bundled at the end of spotter.css for deployment.
   html:root specificity deliberately wins over the historic light UI layers. */
html:root[data-theme="midnight"]{
 --paper:#000000;--ink:#ffffff;--text:#ffffff;--muted:#bfc6d4;--line:#212631;--border:#212631;
 --surface:#0a0e15;--surface-soft:#0a0e15;--soft:#0a0e15;--accent:#f0f1f5;--green:#f0f1f5;--lime:#212631;
 --ui-bg:#000000;--ui-paper:#000000;--ui-surface:#0a0e15;--ui-soft:#0a0e15;--ui-line:#212631;--ui-ink:#ffffff;--ui-muted:#bfc6d4;--ui-accent:#f0f1f5;--ui-mint:#212631;--ui-shadow:0 8px 24px #0003;
 --night-page:#000000;--night-surface:#0a0e15;--night-soft:#0a0e15;--night-raised:#212631;--night-hover:#373f4e;
 --night-tile:#373f4e;
 --night-ink:#ffffff;--night-muted:#bfc6d4;--night-accent:#f0f1f5;--night-on-accent:#0a0e15;--night-border:#212631;
 --night-success-bg:#212631;--night-success:#e0e4eb;--night-warning-bg:#212631;--night-warning:#f0f1f5;
 --night-danger-bg:#212631;--night-danger:#f0f1f5;--night-info-bg:#212631;--night-info:#e0e4eb;
 background:var(--night-page);color:var(--night-ink);color-scheme:dark;scrollbar-color:#4e576a var(--night-soft);
}
html:root[data-theme="midnight"] :is(body,#root,.app,.main-shell,.main-shell>main,.platform-only-shell,.auth-page){background:var(--night-page);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(h1,h2,h3,h4,h5,h6){color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.eyebrow,.subtitle,.subtle,.muted,.meta-line,.breadcrumb,.breadcrumb b,.demo-label,footer,.stat-top,.stat-bottom,.field,.log-field,legend){color:var(--night-muted)}
html:root[data-theme="midnight"] :is(.card,.stat,.auth-card,.profile-hero,.profile-quick-actions,.table-wrap,.responsive-table,.management-list,.workout-settings-card,.ui-form-section,.builder-section,.builder-direct-wrap,.exercise-list,.session-type-list,.session-workout,.session-training-block,.session-participant,.workout-preview-section,.workout-log-exercise,.workout-result-group,.workout-library-card,.builder-exercise,.builder-section-choice,.booking-request-card,.booking-slot-day,.email-template-editor,.email-template-list>.email-template-editor,.email-general-settings,.onboarding-task,.signed-agreement,.legal-document,.registration-plan-card,.conversation,.client-workout-tab,.hours-day){background:var(--night-surface)!important;border-color:var(--night-border)!important;color:var(--night-ink);box-shadow:0 4px 16px #0002!important}
html:root[data-theme="midnight"] :is(.sidebar,.sidebar-bottom,.app.sidebar-collapsed .sidebar-bottom){background:var(--night-soft)!important;color:var(--night-muted)!important;border-color:var(--night-border)!important;color-scheme:dark!important}
html:root[data-theme="midnight"] :is(.main-shell>header,.platform-only-shell>header,.modal-heading,.modal-actions,.workout-log-progressbar,.workout-log-navigation,.mobile-dock){background:var(--night-soft)!important;color:var(--night-ink);border-color:var(--night-border);box-shadow:0 1px 0 var(--night-border)}
html:root[data-theme="midnight"] #modal-body :is(.modal-actions,.form-stack>.modal-actions){background:var(--night-soft)!important;border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(.mobile-header-title,.sidebar .profile,.sidebar .plan-box p,.session-info strong,.session-row .time,.attention-row b,.attention-row strong,.list-item-main h2,.line-item h3,.stat-value,.stat-value small,.nutrition-macros strong,.workout-feedback-picker legend,.booking-card-time,.session-fact b,.session-fact strong,.client-name b,.booking-request-card h3,.session-type-row h3,.exercise-detail-meta b){color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.sidebar .profile small,.sidebar .nav-label,.sidebar .plan-box small,.session-row .time small,.attention-row p,.attention-row small,.session-info p,.list-item-main p,.resource-access,.line-item p,.profile-notes,.profile-identity p,.profile-session-line p,.client-package-summary small,.client-next-session small,.session-type-row p,.workout-preview-exercise-name>span,.builder-direct-heading p,.builder-exercise small,.nutrition-basis,.nutrition-source p,.workout-library-card p,.workout-setting-row small,.workout-log-prescription,.log-set-number,.exercise-row p,.exercise-list-row p){color:var(--night-muted)}
html:root[data-theme="midnight"] :is(.sidebar .nav-link,.sidebar .nav-group-title,.profile-tab,.progress-tab,.package-tab,.client-workout-tab,.mobile-dock-link){color:var(--night-muted)}
html:root[data-theme="midnight"] :is(.sidebar .nav-link:hover,.sidebar .nav-link.nav-child:hover,.profile-tab:hover,.progress-tab:hover,.package-tab:hover,.client-workout-tab:hover,.mobile-dock-link:hover){background:var(--night-raised);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.sidebar .nav-link.active,.sidebar .nav-link.nav-child.active,.profile-tab.active,.progress-tab.active,.package-tab.active,.client-workout-tab.active,.mobile-dock-link.active){background:var(--night-success-bg);color:var(--night-accent);box-shadow:none;border-color:#373f4e}
html:root[data-theme="midnight"] .sidebar .nav-group.group-active>.nav-link:not(.active){background:var(--night-raised);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.sidebar .nav-divider,.nav-children){border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(.sidebar .plan-box,.sidebar .client-plan-box,.toolbar,.clients-toolbar,.segmented,.profile-tabs,.progress-tabs,.package-tabs,.client-workout-tabs,.admin-tabs,.exercise-filter-panel,.workout-builder-library,.builder-section-picker,.registration-form-grid,.registration-steps,.import-preview,.email-settings-tabs,.email-master-switch,.recurrence-options,.session-package-rules,.booking-request-note,.builder-direct-heading,.workout-library-head,.ui-form-section-head,.ui-form-section-body,.session-fact,.session-client-heading,.detail-box,.workout-result-summary>div,.workout-result-group-head,.workout-result-feedback,.workout-preview-section-head,.workout-log-section-head,.workout-log-sets,.log-set,.workout-log-intro,.workout-log-round-meta,.session-actions-panel,.session-completion-summary,.cancellation-request-facts,.bookable-policy,.booking-policy-note,.progress-table-footer,.nutrition-approved-head,.nutrition-macros .macro,.nutrition-source,.nutrition-basis>span,.client-readonly-field p,.workout-library-preview,.builder-selected-preview,.exercise-media-empty,.exercise-media-hint,.builder-media-dialog,.whatsapp-connect-card,.whatsapp-connection-card,.whatsapp-manual){background:var(--night-soft);border-color:var(--night-border);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.card-head,.session-row,.attention-row,.activity-item,.line-item,.management-list-item,.profile-session-line,.profile-checkin,.session-section,.session-exercise,.workout-preview-exercise,.exercise-list-row,.session-type-row,.workout-setting-row,.metric-item,.plan-slot,.email-preference-row,.email-delivery-row,.booking-request-card,.conversation,.chat-form,.client-package-summary+.client-package-summary,hr){border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(.management-list-item:hover,.exercise-list-row:hover,.session-type-row:hover,.onboarding-task:hover,.workout-library-card:hover,.builder-section-choice:hover,.plan-slot:hover,.conversation.selected){background:var(--night-raised)!important}
/* Reference: Black100 #0A0E15, Black90 #212631, Black80 #373F4E,
   Black70 #4E576A, Black60 #667085; White100 #FFFFFF through White60 #BFC6D4.
   The page uses true black as requested; surface separation comes from dark gray. */
/* Fields and native date/time pickers use the operating system's dark palette. */
html:root[data-theme="midnight"] :is(input,select,textarea,.client-form-shell input,.client-form-shell select,.client-form-shell textarea,.client-search-field,.auth-card .auth-form input,.auth-card .auth-form select,.progress-metric-search input,.workout-library-search input,.sidebar .workspace-select){background:#0a0e15;color:var(--night-ink);border-color:#212631;color-scheme:dark}
html:root[data-theme="midnight"] :is(input,textarea)::placeholder{color:#bfc6d4;opacity:1}
html:root[data-theme="midnight"] :is(input,select,textarea):focus{background:#212631;border-color:var(--night-accent);box-shadow:0 0 0 3px #f0f1f522}
html:root[data-theme="midnight"] :is(input,select,textarea):disabled{background:var(--night-soft);color:var(--night-muted);opacity:1}
html:root[data-theme="midnight"] input:is([type=checkbox],[type=radio]){accent-color:var(--night-accent)}
html:root[data-theme="midnight"] :is(.button,.button.primary.soft-outline-action,.icon-btn,.header-right .button,.header-notifications,.sidebar-collapse,.nav-group-toggle,.stat-reveal,.search-clear,.sort-direction,.booking-date-arrow,.booking-date-tab,.booking-card-action,.bookable-browser .booking-card-action,.session-actions-disclosure>summary,.settings-action,.progress-metric-add,.progress-range .button,.signature-pad .button,.auth-card .auth-secondary-actions .button,.auth-register-outside .button){background:var(--night-raised);border-color:#212631;color:var(--night-ink);box-shadow:none}
html:root[data-theme="midnight"] :is(.button,.icon-btn,.header-notifications,.sidebar-collapse,.nav-group-toggle,.stat-reveal,.booking-date-arrow,.booking-date-tab,.settings-action,.progress-metric-add,.search-clear,.sort-direction,.session-actions-disclosure>summary):hover{background:var(--night-hover);color:#fff;border-color:#373f4e;transform:none}
html:root[data-theme="midnight"] :is(.button.primary:not(.soft-outline-action),.auth-card .auth-primary-action .button,.segmented button.selected,.progress-range .button.primary,.day.active){background:var(--night-accent);color:var(--night-on-accent);border-color:var(--night-accent);box-shadow:none}
html:root[data-theme="midnight"] .button.primary:not(.soft-outline-action):hover{background:#ffffff;color:var(--night-on-accent)}
html:root[data-theme="midnight"] :is(.button.lime-btn,.session-complete-button,.cancellation-decision-actions .cancellation-approve){background:var(--night-success-bg);color:var(--night-success);border-color:#373f4e}
html:root[data-theme="midnight"] :is(.button:disabled,.bookable-browser .booking-card-action:disabled){background:var(--night-soft);color:var(--night-muted);border-color:var(--night-border);opacity:.75;box-shadow:none;cursor:not-allowed}
html:root[data-theme="midnight"] :is(.text-btn,.item-name-link,.client-name-link,.profile-session-link,.client-next-session){color:var(--night-accent)}
html:root[data-theme="midnight"] :is(.text-btn,.item-name-link,.client-name-link,.profile-session-link):hover{color:#ffffff}
html:root[data-theme="midnight"] :is(.positive,.mini-tag){color:var(--night-accent)}
html:root[data-theme="midnight"] :is(.badge,.badge.green,.session-pill.pill-status,.session-detail-layout .session-pill.pill-status,.booking-card-availability,.session-type-credit.uses-credit,.onboarding-task.is-complete){background:var(--night-success-bg);border-color:#373f4e;color:var(--night-success)}
html:root[data-theme="midnight"] :is(.badge.gray,.session-pill,.session-pill.pill-muted,.session-pill.pill-location,.session-detail-layout .session-pill,.session-detail-layout .session-pill.pill-muted,.client-profile-page .profile-identity .session-pill,.booking-card-availability.full,.session-type-credit.no-credit,.exercise-detail-meta span,.workout-log-title-badges>span,.workout-preview-pill,.package-filter-badge,.client-status-badge,.import-preview-counts span){background:var(--night-raised);border-color:#212631;color:var(--night-muted)}
html:root[data-theme="midnight"] :is(.session-pill.pill-type,.session-detail-layout .session-pill.pill-type,.workout-preview-pill.format,.badge.blue){background:var(--night-info-bg);border-color:#373f4e;color:var(--night-info)}
html:root[data-theme="midnight"] :is(.badge.orange,.session-pill.pill-pending,.email-provider-status.warning){background:var(--night-warning-bg);color:var(--night-warning);border-color:#373f4e}
html:root[data-theme="midnight"] :is(.badge.purple,.package-filter-badge.status-frozen.selected,.client-status-badge.status-paused.selected){background:#212631;color:#e0e4eb;border-color:#373f4e}
html:root[data-theme="midnight"] :is(.package-filter-badge.selected,.client-status-badge.selected,.client-status-badge.status-active.selected,.package-filter-badge.status-active.selected,.email-settings-tabs button[aria-selected=true],.admin-tabs button.active,.booking-date-tab.active){background:var(--night-success-bg);border-color:var(--night-accent);color:var(--night-accent)}
html:root[data-theme="midnight"] :is(.client-status-badge.status-onboarding.selected,.booking-slot-option>input:checked+span,.recurrence-day-grid input:checked+span){background:var(--night-info-bg);border-color:#667085;color:var(--night-info)}
html:root[data-theme="midnight"] :is(.client-status-badge.status-archived.selected,.package-filter-badge.status-closed.selected){background:var(--night-raised);color:var(--night-ink);border-color:#373f4e}
html:root[data-theme="midnight"] :is(.admin-tabs button:hover,.email-settings-tabs button:hover,.package-filter-badge:hover,.client-status-badge:hover){background:var(--night-hover);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.client-workout-tab.active>small,.package-tab.active small,.counter,.nav-count){background:var(--night-raised);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.avatar,.avatar.lime,.avatar.peach,.avatar.lavender,.avatar.blue){background:#212631;color:#f0f1f5}
html:root[data-theme="midnight"] :is(.dashboard-request-banner,.notice,.platform-announcements article,.onboarding-required-note,.client-package-alerts,.session-package-notice){background:var(--night-warning-bg);border-color:#373f4e;color:var(--night-warning)}
html:root[data-theme="midnight"] :is(.dashboard-request-banner b,.dashboard-request-banner p,.dashboard-request-banner .button,.notice h3,.notice p,.platform-announcements h3){color:var(--night-warning)}
html:root[data-theme="midnight"] .dashboard-request-banner .request-banner-icon{background:#373f4e;color:var(--night-warning)}
html:root[data-theme="midnight"] :is(.client-package-alerts .line-item,.bookable-date-sessions>.bookable-session-row,.bookable-browser .bookable-date-sessions>.bookable-session-row){background:var(--night-surface);border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(.error-box,.cancellation-decision-actions .cancellation-reject){background:var(--night-danger-bg);border-color:#373f4e;color:var(--night-danger)}
html:root[data-theme="midnight"] :is(.destructive-action,.action-dropdown .destructive-action){color:var(--night-danger)}
html:root[data-theme="midnight"] :is(.destructive-action:hover,.action-dropdown .destructive-action:hover){background:var(--night-danger-bg);color:var(--night-danger)}
html:root[data-theme="midnight"] :is(.insight,.client-hero){background:var(--night-success-bg);border-color:#373f4e;color:var(--night-success)}
html:root[data-theme="midnight"] :is(.insight h2,.insight p,.insight .eyebrow,.insight-top span,.client-hero .eyebrow,.client-hero p){color:var(--night-success)}
html:root[data-theme="midnight"] :is(table,tbody,.responsive-table:not(.clients-overview-table) tbody tr){background:var(--night-surface);color:var(--night-ink);border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(th,.progress-table th){background:var(--night-soft);color:var(--night-muted);border-color:var(--night-border)}
html:root[data-theme="midnight"] td{color:var(--night-ink);border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(tbody tr:hover,.progress-table tbody tr:hover){background:var(--night-raised)}
html:root[data-theme="midnight"] :is(dialog,dialog.wide-dialog,.action-dropdown){background:var(--night-surface);color:var(--night-ink);border-color:var(--night-border);box-shadow:0 24px 70px #0009}
html:root[data-theme="midnight"] dialog::backdrop{background:#000000bb}
html:root[data-theme="midnight"] :is(.action-dropdown-item,.action-dropdown .action-dropdown-item,.modal-heading .icon-btn){color:var(--night-ink);background:var(--night-raised)}
html:root[data-theme="midnight"] .action-dropdown .action-dropdown-item:hover{background:var(--night-hover)}
html:root[data-theme="midnight"] :is(.calendar-day,.month-day,.calendar-controls,.schedule-toolbar,.booking-slot-option>span,.recurrence-day-grid span){background:var(--night-surface)!important;border-color:var(--night-border)!important;color:var(--night-ink)}
html:root[data-theme="midnight"] .calendar-day.today{background:#212631!important;border-color:var(--night-accent)!important}
html:root[data-theme="midnight"] .calendar-event.session-calendar-card{background:var(--night-info-bg)!important;border-left-color:#667085!important}
html:root[data-theme="midnight"] :is(.calendar-event .calendar-session-time,.calendar-session-title,.calendar-event .calendar-session-client,.calendar-event span){color:var(--night-info)}
html:root[data-theme="midnight"] .calendar-event.pending-booking-calendar-card{background:var(--night-warning-bg)!important;border-left-color:#667085!important}
html:root[data-theme="midnight"] .calendar-event.pending-booking-calendar-card :is(span,.calendar-session-title){color:var(--night-warning)}
html:root[data-theme="midnight"] :is(.notification-row.is-unread,.progress-metric-row.active){background:var(--night-info-bg);border-color:#373f4e}
html:root[data-theme="midnight"] :is(.progress-metric-row:hover,.progress-range .button:hover){background:var(--night-raised)}
html:root[data-theme="midnight"] :is(.progress-metric-row.active .progress-metric-icon,.progress-metric-row.active .progress-metric-add){background:var(--night-raised);color:var(--night-info);border-color:#667085}
html:root[data-theme="midnight"] :is(.bar-chart .bar,.progress,.plan-progress,.onboarding-progress>i,.workout-wizard-steps>i){background:#212631}
html:root[data-theme="midnight"] :is(.bar-chart .bar.current,.progress span,.plan-progress span,.onboarding-progress>i>span,.session-line){background:var(--night-accent)}
html:root[data-theme="midnight"] :is(.chart-labels,.chart-meta span,.bar-chart .bar span){color:var(--night-muted)}
html:root[data-theme="midnight"] :is(.bubble,.bubble small){background:var(--night-raised);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.bubble.mine,.bubble.mine small){background:#212631;color:var(--night-success)}
html:root[data-theme="midnight"] :is(.log-set-complete,.workout-feedback-choice,.exercise-star){background:var(--night-raised)!important;border-color:#373f4e!important;color:var(--night-ink)!important;box-shadow:none}
html:root[data-theme="midnight"] .log-set-complete:has(input:checked){background:var(--night-success-bg)!important;color:var(--night-success)!important;border-color:var(--night-accent)!important}
html:root[data-theme="midnight"] :is(.workout-log-carousel .log-set.is-complete,.workout-feedback-choice:has(input:checked),.exercise-star.is-favorite){background:var(--night-success-bg)!important;color:var(--night-success)!important;border-color:var(--night-accent)!important}
html:root[data-theme="midnight"] :is(.email-toggle>span,.registration-plan-check,.workout-wizard-steps>div>span,.registration-steps>div span){background:var(--night-raised);color:var(--night-muted);border-color:#373f4e}
html:root[data-theme="midnight"] :is(.email-toggle input:checked+span,.registration-plan>input:checked+.registration-plan-card .registration-plan-check,.workout-wizard-steps>div.is-active>span,.registration-steps>div.active span){background:var(--night-accent);border-color:var(--night-accent);color:var(--night-on-accent)}
html:root[data-theme="midnight"] :is(.registration-plan>input:checked+.registration-plan-card,.builder-exercise.is-selected,.workout-builder-dropzone.is-dragover){background:var(--night-success-bg)!important;border-color:var(--night-accent)!important}
html:root[data-theme="midnight"] :is(.list-item-icon,.ui-section-icon,.progress-metric-icon,.progress-history-icon,.session-type-icon,.settings-action-icon,.client-next-icon,.onboarding-mark,.exercise-num,.builder-exercise-index,.bookable-date-heading>span,.exercise-media-play-icon){background:var(--night-raised);color:var(--night-info)}
/* Monochrome artwork only. Never filter exercise photos, GIFs or signatures. */
html:root[data-theme="midnight"] img.spotter-icon{filter:brightness(0) invert(1)!important;opacity:.92!important;background:transparent!important;mix-blend-mode:normal}
html:root[data-theme="midnight"] .action-icon-tile{background:#373f4e;color:#f0f1f5}
html:root[data-theme="midnight"] .action-icon-tile :is(svg,img.spotter-icon){background:transparent!important;padding:0;filter:none;color:inherit}
html:root[data-theme="midnight"] :is(.button.primary:not(.soft-outline-action),.day.active,.segmented button.selected)>img.spotter-icon{filter:brightness(0)!important}
html:root[data-theme="midnight"] svg:not(.signature-pad svg){color:inherit}
html:root[data-theme="midnight"] :is(.stat-top,.sidebar,.mobile-dock,.settings-action) svg{opacity:1}
html:root[data-theme="midnight"] .wordmark{background:none!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;position:relative;overflow:hidden}
html:root[data-theme="midnight"] .wordmark::before{content:'';position:absolute;inset:0;background:url('spotter-wordmark.png') left center/contain no-repeat;filter:grayscale(1) invert(1);mix-blend-mode:screen}
html:root[data-theme="midnight"] .wordmark::after{content:'';position:absolute;left:93.37%;top:53.7%;width:6.54%;aspect-ratio:1;border-radius:50%;background:#ff5b16}
html:root[data-theme="midnight"] :is(.empty-state-art,.builder-exercise-placeholder,.workout-library-placeholder,.admin-exercise-media-empty){background:var(--night-soft);border-color:var(--night-border)}
html:root[data-theme="midnight"] .empty-state-art{box-shadow:0 0 0 1px var(--night-border);opacity:.8}
html:root[data-theme="midnight"] :focus-visible{outline:2px solid var(--night-accent);outline-offset:3px}
html:root[data-theme="midnight"] ::selection{background:#f0f1f540;color:#fff}
html:root[data-theme="midnight"] #toast{background:var(--night-raised);border:1px solid var(--night-border);color:var(--night-ink);box-shadow:0 8px 30px #0006}
/* Keep the signature drawing surface light so exported signatures stay legible. */
html:root[data-theme="midnight"] .signature-pad{background:var(--night-soft);border-color:var(--night-border)}
html:root[data-theme="midnight"] .signature-pad :is(canvas,svg){background:#fff;color:#172033;filter:none}
html:root[data-theme="midnight"] .calendar-event.session-type-class{background:#212631!important;border-left-color:#667085!important}
html:root[data-theme="midnight"] .calendar-event.session-type-consultation{background:var(--night-warning-bg)!important;border-left-color:#667085!important}
html:root[data-theme="midnight"] .calendar-event.session-type-assessment{background:var(--night-danger-bg)!important;border-left-color:#667085!important}
html:root[data-theme="midnight"] :is(.calendar-event.session-type-personal,.calendar-event.session-type-personal_training,.calendar-event.session-type-group){background:var(--night-success-bg)!important;border-left-color:var(--night-accent)!important}
html:root[data-theme="midnight"] :is(.calendar-event.session-type-block,.calendar-event.session-type-blocked){background:var(--night-raised)!important;border-left-color:#bfc6d4!important}
html:root[data-theme="midnight"] :is(.calendar-event.session-type-class,.calendar-event.session-type-consultation,.calendar-event.session-type-assessment,.calendar-event.session-type-personal,.calendar-event.session-type-personal_training,.calendar-event.session-type-group,.calendar-event.session-type-block) :is(span,.calendar-session-title){color:var(--night-ink)}
html:root[data-theme="midnight"] .calendar-event.pending-booking-calendar-card{background:var(--night-warning-bg)!important;border-left-color:#667085!important}
html:root[data-theme="midnight"] .calendar-event.pending-booking-calendar-card :is(span,.calendar-session-title){color:var(--night-warning)}
html:root[data-theme="midnight"] :is(.booking-slot-option>input:checked+span,.recurrence-day-grid input:checked+span){background:var(--night-info-bg)!important;border-color:#667085!important;color:var(--night-info)}
html:root[data-theme="midnight"] .history-chart .chart-grid path{stroke:var(--night-border)}
html:root[data-theme="midnight"] .history-chart :is(text,.chart-labels text){fill:var(--night-muted)}
html:root[data-theme="midnight"] .history-chart .chart-line{stroke:var(--night-accent)}
html:root[data-theme="midnight"] .history-chart .chart-point{fill:var(--night-accent);stroke:var(--night-surface)}
html:root[data-theme="midnight"] .history-chart .chart-point-halo{fill:#f0f1f530}
html:root[data-theme="midnight"] :is(.detail-box small,.session-fact-label,.session-fact small,.nutrition-source small,.nutrition-basis small,.bookable-policy p,.bookable-date-heading .booking-date-count,.form-help,.field-help,.legal-editor-head>label){color:var(--night-muted)}
html:root[data-theme="midnight"] .calendar-event .session-pill{background:#00000066;border-color:#373f4e;color:var(--night-ink)}
html:root[data-theme="midnight"] .client-form-shell .client-readonly-field p{background:var(--night-soft);border-color:var(--night-border);color:var(--night-muted)}
html:root[data-theme="midnight"] .session-actions-disclosure[open]>summary{background:var(--night-hover);border-color:#373f4e}
html:root[data-theme="midnight"] :is(.progress-latest small.negative,.metric-delta.negative){color:var(--night-danger)}
html:root[data-theme="midnight"] .day.active b{color:var(--night-on-accent)}
html:root[data-theme="midnight"] :is(.auth-content,.page-error){background:var(--night-page);color:var(--night-ink);border-color:var(--night-border)}
html:root[data-theme="midnight"] .auth-brand{background-color:var(--night-soft);border-color:var(--night-border)}
html:root[data-theme="midnight"] .auth-brand :is(h1,p){color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.schedule-view-switch,.calendar-head,.builder-section-heading,.builder-empty-state,.exercise-media-upload-callout,.nutrition-source.is-missing,.workout-log-inline-media,.mobile-header-icon,.mobile-header-avatar){background:var(--night-soft);color:var(--night-ink);border-color:var(--night-border)}
html:root[data-theme="midnight"] :is(.nutrition-source.is-actionable,.mobile-header-icon:active,.mobile-header-avatar:active){background:var(--night-raised);color:var(--night-ink);border-color:#373f4e}
html:root[data-theme="midnight"] .menu-open .mobile-menu{background:var(--night-raised);color:var(--night-ink)}
html:root[data-theme="midnight"] :is(.log-check-empty,.workout-log-round-meta strong){background:var(--night-soft);color:var(--night-ink);border-color:#373f4e}
html:root[data-theme="midnight"] .schedule-view-switch .button.primary{background:var(--night-accent);color:var(--night-on-accent)}
html:root[data-theme="midnight"] :is(.schedule-view-switch .button,.calendar-day-heading){color:var(--night-ink)}
html:root[data-theme="midnight"] .theme-current{background:var(--night-raised);color:var(--night-ink)}
html:root[data-theme="midnight"] .theme-option.selected{border-color:var(--night-muted);box-shadow:0 0 0 1px var(--night-muted) inset}
