body.client-brand-preview{
  --gold:#bfc3c8;
  --gold-light:#e4e6e8;
  --cream:#111315;
  --paper:#f7f8f8;
  --line:#d7d9dc;
  min-height:100vh;
  background-color:#111315;
  background-attachment:fixed;
  transition:background .35s ease;
  isolation:isolate;
}
body.client-brand-preview::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.42;
}
body.client-brand-preview::after{
  content:"";
  position:fixed;
  inset:68px 0 0;
  z-index:0;
  pointer-events:none;
  background-image:url('/jack-johns-brand.jpg');
  background-position:28px 24px;
  background-size:240px 240px;
  background-repeat:repeat;
  opacity:.055;
  filter:grayscale(1) contrast(1.12);
  mix-blend-mode:screen;
}
body.client-brand-preview #app{position:relative;z-index:1}
body.client-brand-preview[data-client-texture="today"]{
  background-image:radial-gradient(circle at 18% 8%,#59606888 0,transparent 34%),radial-gradient(circle at 90% 28%,#30353a 0,transparent 38%),linear-gradient(145deg,#08090a,#202428 58%,#0b0d0f);
}
body.client-brand-preview[data-client-texture="today"]::before{
  background-image:repeating-linear-gradient(112deg,#ffffff08 0 1px,transparent 1px 7px),repeating-linear-gradient(18deg,#00000018 0 1px,transparent 1px 11px);
}
body.client-brand-preview[data-client-texture="workouts"]{
  background-image:linear-gradient(135deg,#080909,#242729);
}
body.client-brand-preview[data-client-texture="workouts"]::before{background:linear-gradient(120deg,#0008,#68707822,#0009)}
body.client-brand-preview[data-client-texture="nutrition"]{
  background-image:radial-gradient(circle at 75% 0,#72798166 0,transparent 34%),linear-gradient(145deg,#090a0b,#262a2e 55%,#101214);
}
body.client-brand-preview[data-client-texture="nutrition"]::before{background:repeating-linear-gradient(45deg,#ffffff05 0 1px,transparent 1px 16px)}
body.client-brand-preview[data-client-texture="weight"]{
  background-image:linear-gradient(120deg,#070809,#353a3f 52%,#111315);
}
body.client-brand-preview[data-client-texture="weight"]::before{background:repeating-linear-gradient(0deg,#ffffff0b 0 1px,transparent 1px 4px)}
body.client-brand-preview .nav{
  position:sticky;
  top:0;
  z-index:20;
  background:#08090adc;
  border-bottom:1px solid #ffffff24;
  box-shadow:0 12px 35px #0006;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
body.client-brand-preview .brand span{color:#c9cdd1}
body.client-brand-preview .client-shell{color:#f5f6f7}
body.client-brand-preview .client-head{padding:10px 4px 0}
body.client-brand-preview .client-head .eyebrow{color:#cbd0d4}
body.client-brand-preview .client-head .avatar{color:#111;background:linear-gradient(145deg,#f5f6f7,#9ca2a8);box-shadow:inset 0 1px 0 #fff,0 8px 24px #0006}
body.client-brand-preview .client-tabs{
  position:sticky;
  top:82px;
  z-index:12;
  padding:6px;
  border:1px solid #ffffff26;
  background:#171a1db8;
  box-shadow:0 12px 28px #0005,inset 0 1px 0 #ffffff12;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
body.client-brand-preview .client-tabs button{color:#b7bcc1}
body.client-brand-preview .client-tabs button.active{color:#111;background:linear-gradient(145deg,#fff,#c9cdd1);box-shadow:0 4px 14px #0007}
body.client-brand-preview .today-hero{
  border:1px solid #ffffff2c;
  background:linear-gradient(145deg,#121518d9,#252a2fc0);
  box-shadow:0 24px 60px #0007,inset 0 1px 0 #ffffff18;
  backdrop-filter:blur(20px) saturate(120%);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
}
body.client-brand-preview .today-hero .eyebrow{color:#c8cdd2}
body.client-brand-preview .today-hero>button{border-color:#ffffff32;background:#ffffff0d;box-shadow:inset 0 1px 0 #ffffff12}
body.client-brand-preview .today-hero>button span,body.client-brand-preview .today-hero>button b{color:#dce0e3}
body.client-brand-preview .today-habits,body.client-brand-preview .today-weight,body.client-brand-preview .client-activity-card{
  border-color:#ffffff38;
  background:#f7f8f8ee;
  box-shadow:0 18px 45px #0005,inset 0 1px 0 #fff;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
body.client-brand-preview .today-habits,body.client-brand-preview .today-weight,body.client-brand-preview .client-activity-card{color:#17191b}
body.client-brand-preview .today-habit-list label.done{border-color:#9fa8a1;background:#e7ebe8}
body.client-brand-preview .today-habit-list label.done>span{border-color:#535b56;background:#535b56}
body.client-brand-preview .activity-icon,body.client-brand-preview .overview-stat-icon{color:#25292d;background:linear-gradient(145deg,#eef0f1,#b8bdc1)}
body.client-brand-preview .daily-award{border-color:#aeb3b7;background:linear-gradient(135deg,#fff,#e2e5e7);color:#202326}
body.client-brand-preview .daily-award>span{background:linear-gradient(145deg,#eff1f2,#7d858c);box-shadow:0 5px 14px #0003}
body.client-brand-preview .daily-award small{color:#62676b}
body.client-brand-preview .workout-card{border:1px solid #ffffff25;background:#0c0e10dd;box-shadow:0 18px 40px #0006;backdrop-filter:blur(12px)}
body.client-brand-preview .workout-card:nth-child(even){background:#282c30e8}
body.client-brand-preview .workout-number,body.client-brand-preview .start-arrow{color:#111;background:linear-gradient(145deg,#f4f5f6,#9ca2a8)}
body.client-brand-preview .client-intro .eyebrow{color:#cbd0d4}
body.client-brand-preview .client-intro .muted{color:#bdc2c6}
body.client-brand-preview .programme-details>div,body.client-brand-preview .macro-cards>div,body.client-brand-preview .weight-summary>div,body.client-brand-preview .progress-story,body.client-brand-preview .weight-form,body.client-brand-preview .calendar-history{
  box-shadow:0 16px 38px #0005;
}
body.client-brand-preview .session-shell{color:#f5f6f7}
body.client-brand-preview .session-exercise{color:#17191b;border-color:#ffffff35;background:#f7f8f8f2;box-shadow:0 14px 34px #0005;backdrop-filter:blur(14px)}
body.client-brand-preview .complete-bar{border-color:#ffffff22;background:#090b0ddd;backdrop-filter:blur(18px)}
body.client-brand-preview .primary{border-color:#aeb3b7;background:linear-gradient(145deg,#f6f7f8,#aeb4b9)}
@media(max-width:620px){body.client-brand-preview .client-tabs{top:70px}body.client-brand-preview::after{inset:60px 0 76px;background-position:18px 18px;background-size:180px 180px;opacity:.05}}
@media(prefers-reduced-motion:reduce){body.client-brand-preview{transition:none}}

/* Client theme switch */
.client-theme-toggle{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:12px;padding:6px 8px;border:1px solid #ffffff2b;border-radius:999px;background:#ffffff0d;color:#f4f6f7;transition:background .2s,border-color .2s,transform .2s}.client-theme-toggle:hover{border-color:#ffffff55;background:#ffffff18;transform:translateY(-1px)}.client-theme-toggle:focus-visible{outline:3px solid #78afd366;outline-offset:2px}.theme-icon{font-size:.85rem;line-height:1;opacity:.45;transition:opacity .2s,color .2s}.theme-moon{opacity:1;color:#dfe9ee}.theme-track{position:relative;width:32px;height:18px;border-radius:999px;background:#20292f;border:1px solid #ffffff30;box-shadow:inset 0 1px 3px #0008;transition:background .2s,border-color .2s}.theme-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#f4f7f8;box-shadow:0 2px 5px #0007;transition:transform .22s ease,background .2s}.client-theme-toggle.is-light .theme-sun{opacity:1;color:#f3b43d}.client-theme-toggle.is-light .theme-moon{opacity:.4;color:#dfe9ee}.client-theme-toggle.is-light .theme-track{background:#8bc3df;border-color:#bfe6f7}.client-theme-toggle.is-light .theme-thumb{transform:translateX(14px);background:#fff}

body.client-brand-preview.client-light-mode{
  --cream:#edf2f5;
  --paper:#fff;
  --line:#cbd4da;
  color:#1b2328;
  background-color:#edf2f5;
}
body.client-brand-preview.client-light-mode[data-client-texture="today"]{background-image:radial-gradient(circle at 14% 4%,#ffffff 0,transparent 32%),radial-gradient(circle at 92% 24%,#c9dce766 0,transparent 36%),linear-gradient(145deg,#f7fafc,#dce7ed 58%,#edf3f6)}
body.client-brand-preview.client-light-mode[data-client-texture="workouts"]{background-image:linear-gradient(135deg,#f5f8fa,#dbe5eb)}
body.client-brand-preview.client-light-mode[data-client-texture="nutrition"]{background-image:radial-gradient(circle at 76% 0,#b9d7e799 0,transparent 34%),linear-gradient(145deg,#f8fafb,#dfe9ee 55%,#f0f4f6)}
body.client-brand-preview.client-light-mode[data-client-texture="weight"]{background-image:linear-gradient(120deg,#f7fafc,#d7e4eb 52%,#eef3f6)}
body.client-brand-preview.client-light-mode::before{opacity:.28}
body.client-brand-preview.client-light-mode::after{opacity:.045;filter:grayscale(1) contrast(1.3);mix-blend-mode:multiply}
body.client-brand-preview.client-light-mode .client-shell,
body.client-brand-preview.client-light-mode .session-shell{color:#1b2328}
body.client-brand-preview.client-light-mode .client-head .eyebrow,
body.client-brand-preview.client-light-mode .client-intro .eyebrow{color:#53636d}
body.client-brand-preview.client-light-mode .client-intro .muted{color:#5d6a72}
body.client-brand-preview.client-light-mode .client-tabs{border-color:#aebdc6;background:#e4ebefdb;box-shadow:0 12px 28px #40566520,inset 0 1px 0 #fff}
body.client-brand-preview.client-light-mode .client-tabs button{color:#52616b}
body.client-brand-preview.client-light-mode .client-tabs button.active{color:#fff;background:linear-gradient(145deg,#577384,#304957);box-shadow:0 4px 14px #30495738}
body.client-brand-preview.client-light-mode .today-habits,
body.client-brand-preview.client-light-mode .today-weight,
body.client-brand-preview.client-light-mode .client-activity-card,
body.client-brand-preview.client-light-mode .programme-details>div,
body.client-brand-preview.client-light-mode .macro-cards>div,
body.client-brand-preview.client-light-mode .weight-summary>div,
body.client-brand-preview.client-light-mode .progress-story,
body.client-brand-preview.client-light-mode .weight-form,
body.client-brand-preview.client-light-mode .calendar-history{border-color:#c5d1d8;background-color:#fffffff2;color:#1c252a;box-shadow:0 16px 36px #4057661d}
body.client-brand-preview.client-light-mode .muted{color:#5e6970}
body.client-brand-preview.client-light-mode .workout-card{border-color:#ffffff35;background:#202a30e8;color:#fff;box-shadow:0 16px 36px #354c5c35}
body.client-brand-preview.client-light-mode .workout-card:nth-child(even){background:#40525de8}
body.client-brand-preview.client-light-mode .workout-card .muted,
body.client-brand-preview.client-light-mode .workout-card p,
body.client-brand-preview.client-light-mode .workout-card>div>span:last-child{color:#d0d9de}
body.client-brand-preview.client-light-mode .nutrition-guidance-card,
body.client-brand-preview.client-light-mode .daily-habits,
body.client-brand-preview.client-light-mode .client-food-section,
body.client-brand-preview.client-light-mode .session-exercise{color:#1c252a}
body.client-brand-preview.client-light-mode .client-food-tabs button:not(.active){color:#46545d;background:#edf2f5}
body.client-brand-preview.client-light-mode input,
body.client-brand-preview.client-light-mode select,
body.client-brand-preview.client-light-mode textarea{color:#172026;background:#fff;border-color:#b9c6ce}
body.client-brand-preview.client-light-mode input::placeholder,
body.client-brand-preview.client-light-mode textarea::placeholder{color:#6c7880}
@media(max-width:540px){.client-theme-toggle{margin-right:8px;padding:6px}.theme-icon{font-size:.75rem}.theme-track{width:30px}.client-theme-toggle.is-light .theme-thumb{transform:translateX(12px)}}
.logout-button{display:inline-flex;align-items:center;gap:6px}.logout-icon{display:none;width:19px;height:19px}
@media(max-width:540px){.logout-button{width:36px;height:36px;justify-content:center;padding:0;border:1px solid #ffffff1f;border-radius:10px;background:transparent;color:#e9eef1;transition:background .2s,border-color .2s}.logout-button:hover{border-color:#ffffff45;background:#ffffff10}.logout-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.logout-icon{display:block}}

/* Subtle brand pattern for the coach/admin side. */
body:not(.client-brand-preview){
  background-color:#eef1f3;
  background-image:linear-gradient(#eef1f3f2,#eef1f3f2),url('/jack-johns-brand.jpg');
  background-position:0 0,28px 24px;
  background-size:auto,240px 240px;
  background-repeat:repeat,repeat;
  background-attachment:fixed,fixed;
}
@media(max-width:620px){
  body:not(.client-brand-preview){
    background-position:0 0,18px 18px;
    background-size:auto,180px 180px;
  }
}
