/* Private workspace: neutral surfaces without altering client photographs. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body {
  --gold: #eeeeee;
  --gold-light: #ffffff;
  --gold-dark: #b8b8b8;
  --gold-deep: #777777;
  --gold-rgb: 238, 238, 238;
  --gold-light-rgb: 255, 255, 255;
  --blue: #cccccc;
  --blue-light: #eeeeee;
  --grey-dark: #aaaaaa;
  --radius: 6px;
  --radius-sm: 4px;
  --gold-glow: none;
  --shadow-gold: none;
  background: #101010;
  color: #eeeeee;
  font-family: 'Inter', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  color-scheme: dark;
}
body :is(h1,h2,h3,h4,button,input,select,textarea,[class*="title"],[class*="brand"],[class*="badge"],.pdf-download-btn,.dash-stat-value,.admin-stat-num,.cs-name,.meal-num,.tdc-day-name) {
  font-family: 'Inter', system-ui, sans-serif;
  text-shadow: none;
}
body :is(h1,h2,h3,[class*="title"]) { text-transform: none; letter-spacing: -.025em; }
body :is(.gold-text,.auth-nav-brand,.nav-brand) {
  background: none;
  color: #f5f5f5;
  -webkit-text-fill-color: currentColor;
}
body :is(.auth-nav,.plan-nav) { background: #101010; border-bottom: 1px solid #333; backdrop-filter: none; gap: 16px; }
body :is(.auth-nav-badge,.nav-badge) { background: none; color: #fff; border: 1px solid #777; border-radius: 3px; box-shadow: none; }
body :is(.auth-nav-brand,.nav-brand) { font-size: 14px; letter-spacing: .06em; }
body :is(.auth-nav-right,.nav-right) { flex-wrap: wrap; }
body .nav-text-link { color: #ccc; }
body .lang-switcher { background: none; border: 0; border-radius: 0; padding: 0; }
body .lang-btn { background: none; color: #aaa; border: 0; border-bottom: 2px solid transparent; border-radius: 0; min-height: 40px; min-width: 36px; justify-content: center; }
body .lang-btn.active { background: none; border-bottom-color: #fff; color: #fff; }
body .lang-btn .flag { display: none; }
body .lang-code { display: inline; }
body :is(.dashboard-page,.checkin-page) { padding-top: 48px; }
body .dashboard-greeting { margin-bottom: 32px; }
body :is(.dashboard-greeting h1,.checkin-header h1) { font-weight: 500; font-size: clamp(26px,4vw,36px); }
body :is(.plan-card-dash,.content-section,.checkin-section,.dash-stat,.admin-stat,.table-wrap,.upload-modal,.locked-section,.photo-compare,.meal-card,.training-day-card,.macros-card,.rules-card,.client-strip) {
  background: #171717;
  border: 1px solid #363636;
  border-radius: 6px;
  box-shadow: none;
}
body .plan-card-dash { border-left: 3px solid #eee; }
body :is(.plan-card-dash-name,.content-section-title,.checkin-section-title) { color: #eee; font-size: 16px; letter-spacing: -.015em; text-transform: none; }
body :is(.plan-card-dash-icon,.content-section-icon,.plan-hero-glow,.ps-icon,.sh-icon) { display: none; }
body :is(.btn-primary,.pdf-download-btn,.export-btn,.btn-secondary) {
  border-radius: 4px;
  background: #efefef;
  color: #111;
  border: 1px solid #efefef;
  box-shadow: none;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
  min-height: 44px;
}
body :is(.btn-secondary,.export-btn) { background: #202020; color: #eee; border-color: #555; }
body :is(.btn-primary,.pdf-download-btn,.export-btn,.btn-secondary):hover { background: #d9d9d9; color: #111; transform: none; box-shadow: none; }
body :is(.form-input,.form-select,.form-textarea) { background: #101010; border-color: #555; border-radius: 4px; min-height: 46px; font-size: 16px; }
body :is(input,select,textarea)::placeholder { color: #969696; }
body :is(a,button,input,select,textarea):focus-visible { outline: 2px solid #fff; outline-offset: 4px; box-shadow: none; }
body .star-rating input:focus-visible + label { outline: 2px solid #fff; outline-offset: 3px; }
body .star-rating label { color: #626262; filter: none; }
body .photo-compare h3 { color: #eee; font-size: 20px; font-weight: 500; }
body .pc-pair a { color: #eee; }
body .photo-compare :is(select,a):focus-visible { outline-color: #fff; }
body :is(#verifyBanner,#checkinReminder) { background: #202020 !important; border-color: #555 !important; border-radius: 6px !important; }
body :is(#verifyBanner,#checkinReminder) > div:first-child { display: none; }
body #verifyResendBtn { border-color: #777 !important; border-radius: 4px !important; }
body :is(.plan-status-badge.pending,.badge-pending,.cs-plan-badge,.alert-info) { background: #252525; color: #eee; border-color: #666; }
body .plan-hero { background: #101010; border-bottom: 1px solid #333; }
body .plan-hero-title { font-weight: 500; font-size: clamp(30px,5vw,52px); }
body :is(.nutrition-header,.training-header,.meal-header,.tdc-header) { background: #202020; border-color: #444; }
body :is(.sh-badge,.meal-num,.meal-kcal,.tdc-day-num) { background: #303030; color: #eee; border-color: #555; }
body .export-bar { background: #141414; border-color: #444; box-shadow: none; }
body .professional-record-text { padding: 24px; line-height: 1.8; }
body .checkin-section-title { font-size: 0; gap: 0; }
body .checkin-section-title span { font-size: 16px; }
@media (max-width: 700px) {
  body :is(.auth-nav,.plan-nav) { position: relative; align-items: flex-start; padding: 14px 16px; flex-wrap: wrap; }
  body :is(.auth-nav-right,.nav-right) { gap: 12px; width: 100%; justify-content: flex-start; }
  body .nav-text-link { font-size: 12px; min-height: 36px; display: inline-flex; align-items: center; }
  body :is(.dashboard-page,.checkin-page,.admin-page) { padding: 28px 16px 64px; }
  body :is(.content-section,.checkin-section) { padding: 20px 16px; }
  body .plan-card-dash { padding: 20px 16px; gap: 12px; }
  body .dash-grid { gap: 12px; }
  body .dash-stat { padding: 16px; }
  body .content-section-header { flex-wrap: wrap; }
  body .client-strip { flex-wrap: wrap; }
  body .export-bar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body *, body *::before, body *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* The client hub has its own editorial header and a compact navigation rail. */
body .dashboard-page { max-width: 1160px; padding-top: 32px; }
body .dashboard-greeting { position: relative; isolation: isolate; overflow: hidden; background: #202020; border: 1px solid #454545; border-radius: 12px; padding: 42px; min-height: 260px; margin-bottom: 18px; }
body .dashboard-greeting::before { content: ''; position: absolute; inset: 0 0 0 35%; z-index: -2; background: url('gym-editorial.jpg') center 50%/cover; filter: grayscale(1) brightness(.55); }
body .dashboard-greeting::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#202020 25%,#20202055 80%); }
body .dashboard-greeting .workspace-kicker { color: #b6b6b6; font-size: 10px; letter-spacing: .18em; margin: 0 0 24px; }
body .dashboard-greeting h1 { font-size: clamp(30px,4vw,46px); font-weight: 600; letter-spacing: -.045em; overflow-wrap: anywhere; max-width: 700px; }
body .dashboard-greeting #greetingSub { color: #ccc; font-size: 13px; margin-top: 12px; max-width: 450px; line-height: 1.6; }
.workspace-hero-action { display: inline-flex; align-items: center; gap: 28px; background: #f1f1f1; color: #111; font-size: 12px; font-weight: 600; padding: 14px 20px; border-radius: 4px; text-decoration: none; margin-top: 24px; min-height: 44px; }
.workspace-hero-action:hover { background: #d8d8d8; }
.workspace-shortcuts { display: flex; flex-wrap: wrap; background: #191919; border: 1px solid #3d3d3d; border-radius: 8px; margin-bottom: 28px; overflow: hidden; }
.workspace-shortcuts a { display: flex; align-items: center; flex: 1 1 200px; gap: 12px; padding: 22px 20px; color: #ddd; border-right: 1px solid #363636; text-decoration: none; font-size: 12px; }
.workspace-shortcuts a[hidden] { display: none; }
.workspace-shortcuts a > span:last-child { margin-left: auto; font-size: 20px; color: #999; }
.workspace-shortcuts .shortcut-number { color: #888; font-size: 10px; }
.workspace-shortcuts a:hover { background: #292929; color: #fff; }
body .plan-card-dash { padding: 26px 28px; background: #e9e9e9; color: #181818; border-color: #e9e9e9; border-left: 0; border-radius: 8px; }
body .plan-card-dash-name { font-size: 18px; color: #111; }
body .plan-card-dash-price { color: #595959; margin-top: 6px; }
body .plan-card-dash-info a { color: #444 !important; text-decoration: underline !important; }
body .plan-card-dash .plan-status-badge { background: #fff; color: #222; border-color: #bbb; padding: 8px 12px; }
body .dashboard-page .dash-stat { border-radius: 8px; padding: 24px 28px; position: relative; overflow: hidden; }
body .dashboard-page .dash-stat::after { content: ''; position: absolute; right: 28px; top: 30px; width: 46px; height: 46px; border: 1px solid #5e5e5e; border-radius: 50%; box-shadow: 0 0 0 8px #ffffff04,0 0 0 16px #ffffff03; }
body .dash-stat-label { font-size: 10px; letter-spacing: .13em; padding-right: 66px; }
body .dash-stat-value { font-size: 40px; font-weight: 500; letter-spacing: -.045em; margin: 16px 0 10px; }
body .dashboard-page .content-section { border-radius: 10px; padding: 28px; }
body .dashboard-page .content-section-header { border-bottom: 1px solid #343434; padding-bottom: 18px; margin-bottom: 24px; }
body .dashboard-page .content-section-title { font-size: 18px; font-weight: 500; }
body .dashboard-page :is(#nutritionSection,#trainingSection,#photoSection) { scroll-margin-top: 90px; }
body .dashboard-page .photo-compare { background: #111; border-color: #484848; border-radius: 8px; padding: 22px; }
body .dashboard-page .photo-week-block { background: #1d1d1d; border-color: #444; }
body .dashboard-page .photo-week-tag { background: #303030; border-color: #555; color: #eee; }
body .dashboard-page .photo-slot.filled { border-color: #666; }
body .dashboard-page :is(.plan-card-dash-name,.photo-week-tag,.photo-slot) { font-family: 'Inter',system-ui,sans-serif; }
.dashboard-main-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 20px; margin-bottom: 24px; }
.dashboard-main-grid #weightChartWrap { grid-row: span 2; }
body .dashboard-main-grid .content-section,body .dashboard-main-grid .locked-section { height: 100%; margin-bottom: 0; }
body .dashboard-main-grid .content-section-header { margin-bottom: 20px; }
body .dashboard-page a[href^="shopping-list.html"] { background: #242424 !important; border-color: #666 !important; color: #eee !important; }
body #chatBubble > button { box-shadow: 0 4px 20px #0006 !important; }
body #noPlanBanner .content-section,body #pendingNotice .content-section { background: #202020 !important; border-color: #555 !important; }
@media (max-width: 700px) {
  body .dashboard-page { padding-top: 20px; }
  body .dashboard-greeting { padding: 30px 24px; min-height: 280px; }
  body .dashboard-greeting::before { left: 0; opacity: .6; }
  body .dashboard-greeting #greetingSub { max-width: 270px; }
  .workspace-shortcuts a { flex-basis: 45%; padding: 18px 14px; font-size: 11px; gap: 8px; border-bottom: 1px solid #363636; }
  body .plan-card-dash { padding: 24px; }
  body .dashboard-page .dash-stat { padding: 20px 16px; }
  body .dashboard-page .dash-stat::after { display: none; }
  body .dash-stat-label { padding-right: 0; }
  body .dashboard-page .content-section { padding: 24px 16px; }
  body .dashboard-page .photo-compare { padding: 16px 12px; }
  .dashboard-main-grid { grid-template-columns: 1fr; gap: 16px; }
  body .dashboard-page .dash-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .dashboard-page .photo-pose-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  body .dashboard-page .photo-slot.empty { aspect-ratio: 3/5; padding: 5px; font-size: 10px; }
}
