/* ============================================================
   English Studio — Global Styles
   Extracted from v4, with coach-dashboard polish + bug fixes
   ============================================================ */

/* ── iOS Safe Area ───────────────────────────────────────────
   viewport-fit=cover + black-translucent status bar means
   content starts under the status bar — compensate here.    */
.sess-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 36px;
  padding-top:max(18px, calc(env(safe-area-inset-top) + 10px));
  border-bottom:1px solid rgba(26,18,10,.08);
  background:#FAF6EF;
}
/* Coach nav bar */
.dnav{
  padding-top:max(18px, calc(env(safe-area-inset-top) + 8px)) !important;
}
/* Client tabs bar — sticky top must clear status bar */
.cltabs{
  padding-top:max(0px, env(safe-area-inset-top)) !important;
}
/* Client hero section */
.clh{
  padding-top:max(40px, calc(env(safe-area-inset-top) + 28px)) !important;
}
/* Bottom safe area for fixed elements */
.cl-fill, #sess-body{
  padding-bottom:max(60px, calc(env(safe-area-inset-bottom) + 40px));
}

*{box-sizing:border-box;margin:0;padding:0}
html{max-width:100%;overflow-x:hidden;background:#141210}
body{font-family:'DM Sans',sans-serif;min-height:100vh;min-height:100svh;width:100%;max-width:100%;overflow-x:hidden;background:#141210}
:root{
  --br:#7A5C38;
  --brm:#9A7248;
  --brl:#EDE0CC;
  --gd:#B08830;
  --gd2:#D4A84B;        /* brighter gold — used for high-contrast actions */
  --serif:'Cormorant Garamond',serif
}
.pg{display:none;min-height:100vh;min-height:100svh;width:100%;max-width:100%;overflow-x:hidden}.pg.on{display:block}

/* ── LANDING ────────────────────────────────────────────────── */
.hero{
  min-height:100vh;
  min-height:100svh;
  background:
    radial-gradient(ellipse 90% 82% at 42% 50%, transparent 28%, rgba(5,2,0,.72) 100%),
    radial-gradient(ellipse 52% 62% at 88% 80%, rgba(165,92,14,.38) 0%, transparent 56%),
    linear-gradient(148deg, #130D08 0%, #1F1409 32%, #39230F 60%, #6C3F18 84%, #9C5E22 100%);
  padding:60px 24px;
  position:relative;overflow:hidden;contain:paint;
  display:flex;align-items:center;justify-content:center;
}
/* Mouse glow — same intensity on all pages */
.hc-mouse{
  position:absolute;pointer-events:none;will-change:transform;
  width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(180,118,32,.22) 0%,transparent 58%);
  filter:blur(70px);
  top:50%;left:50%;transform:translate(-50%,-50%);
}
/* On mobile: disable heavy blur — causes GPU jank */
@media(pointer:coarse){.hc-mouse{display:none}}
/* Client hero — same gradient-only approach */
.clh{position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 36px 48px;text-align:center;
  background:
    radial-gradient(ellipse 92% 80% at 50% 50%, transparent 25%, rgba(5,2,0,.70) 100%),
    radial-gradient(ellipse 50% 58% at 85% 78%, rgba(158,88,12,.34) 0%, transparent 52%),
    linear-gradient(148deg, #130D08 0%, #1E1308 30%, #362010 58%, #673B16 82%, #96581E 100%);
  box-shadow:0 14px 30px -12px rgba(6,3,1,.6);
}
.hi{position:relative;z-index:2;text-align:center;width:100%;max-width:480px}
.h-ey{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:24px}
.h-t{font-family:var(--serif);font-size:clamp(38px,5.5vw,62px);font-weight:300;line-height:1.1;color:rgba(255,255,255,.88);margin-bottom:10px}
.h-t em{font-style:italic;color:rgba(255,255,255,.48)}
.h-r{width:40px;height:1px;background:rgba(255,255,255,.2);margin:28px auto}
.h-s{font-size:14.5px;font-weight:450;color:rgba(255,255,255,.55);margin-bottom:30px;line-height:1.75;max-width:260px;margin-left:auto;margin-right:auto}
.h-row{display:flex;max-width:300px;margin:0 auto}
.h-in{flex:1;padding:14px 18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);border-right:none;border-radius:100px 0 0 100px;font-size:15px;font-family:'DM Sans',sans-serif;color:#fff;outline:none;letter-spacing:.14em;text-transform:uppercase;transition:border-color .25s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.h-in::placeholder{color:rgba(255,255,255,.35);text-transform:none;letter-spacing:0}
.h-in:focus{border-color:rgba(255,255,255,.45)}
.h-bn{padding:14px 22px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.60);border-radius:0 100px 100px 0;font-size:12px;font-weight:500;font-family:'DM Sans',sans-serif;color:#1C130A;cursor:pointer;white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s,box-shadow .3s;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.h-bn:hover{background:rgba(255,255,255,.96);box-shadow:0 0 22px rgba(255,210,130,.20),inset 0 1px 0 rgba(255,255,255,.95)}
.h-er{font-size:12px;color:#f4c98a;margin-top:10px;min-height:16px}
.h-tl{margin-top:30px;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.4);background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;padding:0;letter-spacing:.06em;display:block;width:100%;text-align:center}
.h-tl:hover{color:rgba(255,255,255,.55)}

/* ── LANGUAGE TOGGLE ─────────────────────────────────────────── */
.lang-btn{
  position:fixed;top:20px;right:24px;z-index:300;
  font-family:'DM Sans',sans-serif;font-size:11.5px;font-weight:500;letter-spacing:.1em;
  color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:100px;padding:6px 14px;cursor:pointer;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:color .2s,border-color .2s,background .2s;
}
.lang-btn:hover{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.10);}

/* ── SPLASH + MORE ──────────────────────────────────────────── */
.amb-bg{
  /* Use svh so content fits within visible area on iOS Safari (excludes browser chrome) */
  min-height:100vh;
  min-height:100svh;
  background:
    radial-gradient(ellipse 90% 82% at 42% 50%, transparent 28%, rgba(5,2,0,.72) 100%),
    radial-gradient(ellipse 52% 62% at 88% 80%, rgba(165,92,14,.38) 0%, transparent 56%),
    linear-gradient(148deg, #130D08 0%, #1F1409 32%, #39230F 60%, #6C3F18 84%, #9C5E22 100%);
  position:relative;
  overflow:hidden;
  /* contain:paint prevents filter:blur() from bleeding outside bounds and causing scroll */
  contain:paint;
  display:flex;align-items:center;justify-content:center;
}
.sp-inner{position:relative;z-index:2;text-align:center;padding:60px 24px;width:100%;max-width:680px}
.sp-logo{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);color:rgba(242,237,228,.55);margin-bottom:20px;letter-spacing:.06em}
.sp-logo em{font-style:italic;color:var(--brm)}
/* Tagline: supporting context — readable but secondary to the buttons */
.sp-tagline{font-family:var(--serif);font-size:clamp(22px,2.8vw,32px);font-weight:300;line-height:1.35;color:rgba(255,255,255,.38);margin-bottom:52px;letter-spacing:.01em}
.sp-tagline em{font-style:italic;color:rgba(255,255,255,.28)}
.sp-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
/* Buttons: glassy, softly glowing — the clear focal point */
.sp-btn{
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:450;
  padding:15px 42px;border-radius:100px;cursor:pointer;letter-spacing:.05em;
  transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s,color .25s,opacity .3s;
  will-change:transform,box-shadow;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.sp-ghost{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.68);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
}
.sp-ghost:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.36);
  color:rgba(255,255,255,.92);
  transform:translateY(-1.5px);
  box-shadow:0 0 24px rgba(180,118,32,.24),0 4px 18px rgba(0,0,0,.24);
}
.sp-solid{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.60);
  color:#1C130A;
  box-shadow:0 2px 10px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.8);
}
.sp-solid:hover{
  background:rgba(255,255,255,.94);
  transform:translateY(-1.5px);
  box-shadow:0 0 28px rgba(255,210,130,.26),0 4px 20px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.95);
}
.sp-coach{display:block;margin:0 auto;font-size:12px;font-weight:450;letter-spacing:.07em;color:rgba(255,255,255,.3);background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;padding:8px 4px;transition:color .2s}
.sp-coach:hover{color:rgba(255,255,255,.52)}
.more-hl{font-family:var(--serif);font-size:clamp(30px,5.5vw,58px);font-weight:300;line-height:1.18;color:#fff;margin:28px 0 52px}
.more-hl em{font-style:italic;color:rgba(255,255,255,.48)}
/* Floating ambient quotes — fixed so they appear on all 3 public pages */
.sp-quote{
  position:fixed;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(15px,1.7vw,21px);
  color:rgba(255,255,255,.20);
  line-height:1.6;
  max-width:240px;
  text-align:center;
  pointer-events:none;user-select:none;
  opacity:0;
  transition:opacity 1.4s ease;
  z-index:3;
  transform:translate(-50%,-50%);
  white-space:normal;word-break:keep-all;
}
.sp-quote.vis{opacity:1}
/* Ensure client & session pages stack above quotes */
#pg-cl,#pg-sess,#pg-tutor,#pg-det,#pg-welcome{position:relative;z-index:5}
@media(max-width:640px){
  .sp-quote{font-size:13px;max-width:150px;line-height:1.55;}
  .hero{padding:60px 28px;}
  .sp-inner{padding:48px 20px;}
  .sp-btns{flex-direction:column;align-items:center;}
  .sp-btn{width:100%;max-width:260px;}
}

/* ── PIN ────────────────────────────────────────────────────── */
.pin-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#141210}
.pc{background:#272018;border-radius:22px;padding:52px 44px;text-align:center;width:100%;max-width:320px}
.p-logo{font-family:var(--serif);font-size:22px;color:#F2EDE4;margin-bottom:36px}
.p-logo em{font-style:italic;color:var(--brm)}
.p-lbl{font-size:14px;color:#F2EDE4;font-weight:500;margin-bottom:3px}
.p-sub{font-size:13.5px;font-weight:450;color:#C2B49C;margin-bottom:24px}
.p-dots{display:flex;gap:10px;justify-content:center;margin-bottom:6px}
.pd{width:44px;height:44px;border:1.5px solid #3C3020;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#F2EDE4;background:#1E1A15;transition:all .2s}
.pd.on{border-color:var(--brm);background:rgba(122,92,56,.2)}
.pd.er{border-color:#E24B4A;background:rgba(226,75,74,.1)}
.p-em{font-size:12px;color:#f4c98a;min-height:14px;margin-bottom:14px}
.p-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.pp{height:50px;border:1px solid #3C3020;border-radius:12px;background:#1E1A15;font-size:17px;color:#F2EDE4;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .12s,transform .1s}
.pp:hover{background:#3C3020}.pp:active{transform:scale(.94)}
.pp.del{font-size:13px;color:#B0A080}
.p-bk{margin-top:20px;font-size:13px;color:#B0A080;background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}
.p-bk:hover{color:#F2EDE4}

/* ── DARK LAYOUT (coach) ─────────────────────────────────────
   FIX: Richer nav, warmer accent tones, better contrast overall
   ──────────────────────────────────────────────────────────── */
.dk{background:#F5EFE5;min-height:100vh;width:100%;overflow-x:hidden}
.dnav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 36px;
  border-bottom:1px solid rgba(176,136,48,.15);
  position:sticky;top:0;z-index:10;
  background:linear-gradient(180deg,#1C1710 0%,#141210 100%);
}
.d-logo{font-family:var(--serif);font-size:18px;color:#F2EDE4;letter-spacing:.01em}
.d-logo em{font-style:italic;color:var(--gd2)}
.d-navr{display:flex;gap:8px}
.dnb{font-size:12.5px;font-weight:500;font-family:'DM Sans',sans-serif;padding:7px 16px;border-radius:100px;border:none;background:rgba(255,255,255,.07);color:#C2B49C;cursor:pointer;transition:all .2s}
.dnb:hover{background:rgba(176,136,48,.18);color:#F2EDE4}
.dbody{padding:40px 36px 80px;max-width:900px;margin:0 auto}

/* FIX: coach title — gradient text matches the warm landing-hero feel */
.dtitle{
  font-family:var(--serif);font-size:clamp(36px,5vw,58px);font-weight:300;
  line-height:1;margin-bottom:28px;
  background:linear-gradient(135deg,#5C3D18 30%,var(--gd) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.tabs{display:flex;gap:3px;background:rgba(26,18,10,.06);border-radius:11px;padding:4px;width:fit-content;margin-bottom:26px}
.tab{padding:7px 17px;border-radius:8px;border:none;background:transparent;font-size:13.5px;font-weight:500;font-family:'DM Sans',sans-serif;color:#8B7D6C;cursor:pointer;transition:all .2s}
/* FIX: active tab has visible gold tint */
.tab.on{background:rgba(154,114,72,.14);color:var(--brm);box-shadow:0 1px 4px rgba(26,18,10,.10)}
.arow{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}

/* FIX: "Add client" button — was low contrast (#C2B49C) → now bright gold */
.badd{
  font-size:12.5px;font-weight:600;padding:9px 20px;border-radius:100px;
  border:1.5px solid rgba(176,136,48,.45);color:var(--gd2);
  background:rgba(176,136,48,.08);cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .2s;letter-spacing:.01em
}
.badd:hover{border-color:var(--gd2);background:rgba(176,136,48,.18);color:#F2EDE4}

/* ── CLIENT CARDS ────────────────────────────────────────────── */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.cc{background:#FFFFFF;border-radius:18px;padding:22px 20px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(26,18,10,.06),0 8px 24px -8px rgba(26,18,10,.10);transition:transform .22s,box-shadow .22s;border:1px solid rgba(26,18,10,.07)}
.cc:hover{transform:translateY(-3px);box-shadow:0 6px 28px -6px rgba(26,18,10,.16)}
.cc-ln{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--br),var(--gd));opacity:0;transition:opacity .22s}
.cc:hover .cc-ln{opacity:1}
.cc-av{width:40px;height:40px;border-radius:50%;background:rgba(122,92,56,.2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:15px;color:var(--brm);margin-bottom:14px}
.cc-nm{font-size:15px;font-weight:500;color:#1C150E;margin-bottom:3px}
.cc-lv{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8B7D6C}
.cc-mn{display:flex;gap:4px;margin-top:12px}
.mnd{width:8px;height:8px;border-radius:50%;background:rgba(26,18,10,.12)}
.mnd.on{background:var(--brm)}
.cc-ft{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid rgba(26,18,10,.07);font-size:12px}
.cc-ct{color:#8B7D6C}.cc-cd{font-family:monospace;color:var(--brm);letter-spacing:.05em}

/* FIX: attention badge on client cards — gold dot when client has new activity */
.cc-attn{
  display:flex;align-items:center;gap:5px;margin-top:8px;
  font-size:10.5px;font-weight:600;color:var(--gd2);letter-spacing:.04em
}
.cc-attn::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gd2);flex-shrink:0}

/* FIX: delete ✕ — was nearly invisible (#3C3020) → now visible at rest */
.cc-x{
  position:absolute;top:10px;right:10px;width:22px;height:22px;
  border:1px solid rgba(26,18,10,.1);background:rgba(26,18,10,.04);
  color:#9A8470;font-size:11px;cursor:pointer;border-radius:6px;
  opacity:0;transition:all .15s;display:flex;align-items:center;justify-content:center
}
.cc:hover .cc-x{opacity:1}
.cc-x:hover{color:var(--brm) !important;background:rgba(154,114,72,.1);border-color:rgba(154,114,72,.3)}

.es{text-align:center;padding:48px;font-size:13px;color:#B0A080;font-style:italic}

/* ── SCHEDULE (tutor) ────────────────────────────────────────── */
.wknav{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.wkar{width:30px;height:30px;border-radius:50%;border:1px solid rgba(26,18,10,.16);background:transparent;font-size:13px;color:#8B7D6C;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.wkar:hover{border-color:var(--brm);color:var(--brm)}
.wklb{font-size:13px;color:#1C150E;font-weight:500}
.wktd{font-size:10.5px;padding:4px 11px;border-radius:20px;border:1px solid rgba(26,18,10,.16);background:transparent;color:#8B7D6C;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.wktd:hover{border-color:var(--brm);color:var(--brm)}
.wkg{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;width:100%;min-width:0}
.wdc{background:#FFFFFF;border-radius:12px;overflow:hidden;border:1px solid rgba(26,18,10,.07)}

/* FIX: schedule day-name text — was 9.5px → 11px */
.wdh{padding:9px 7px 7px;text-align:center;border-bottom:1px solid rgba(26,18,10,.07)}
.wdn{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8B7D6C}
.wdd{font-family:var(--serif);font-size:20px;font-weight:300;line-height:1;margin-top:2px;color:#1C150E}
.wdd.tdy{color:var(--brm)}
.wsl{padding:6px;display:flex;flex-direction:column;gap:5px;min-height:70px}
.sl{border-radius:7px;padding:6px 8px;cursor:pointer;transition:all .15s;position:relative}
.slf{background:rgba(122,92,56,.14);border:1px solid rgba(122,92,56,.24)}
.slf:hover{background:rgba(122,92,56,.22)}
.slb{background:rgba(176,136,48,.12);border:1px solid rgba(176,136,48,.24)}

/* FIX: schedule slot text — was 10.5px / 9.5px → 12px / 11px */
.slt{font-size:12px;font-weight:500;color:#1C150E;display:flex;align-items:center;gap:4px}
.slw{font-size:11px;color:#8B7D6C;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sldur{font-size:9.5px;font-weight:400;color:#9A8870;letter-spacing:.02em;margin-left:auto}

.slx{position:absolute;top:3px;right:3px;width:13px;height:13px;border:none;background:none;color:#B0A080;font-size:9px;cursor:pointer;opacity:0;transition:opacity .15s;border-radius:3px;display:flex;align-items:center;justify-content:center}
.sl:hover .slx{opacity:1;color:#8B7D6C}.slx:hover{color:var(--brm) !important}
.sladd{width:100%;padding:5px;border:1px dashed rgba(26,18,10,.18);border-radius:7px;background:transparent;color:#B0A080;font-size:16px;cursor:pointer;transition:all .15s;line-height:1}
.sladd:hover{border-color:var(--brm);color:var(--brm)}
.wdc.past{opacity:.5}
.dayoff{padding:18px 6px;text-align:center;font-size:11px;letter-spacing:.06em}
.slr{border-radius:7px;padding:6px 8px;background:var(--br);border:1px solid var(--br);position:relative;cursor:pointer;transition:transform .15s}
.slr:hover{transform:scale(1.03)}
.slr .slt{color:#fff;display:flex;align-items:center;gap:4px}
.slr .slw{color:rgba(255,255,255,.75)}
.rec-ic{font-size:9px}
.resched-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:12.5px}
.resched-cancel{background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;text-decoration:underline}
.pickable{outline:1.5px dashed currentColor;outline-offset:-1.5px}
.occ-row{display:flex;gap:8px;margin-top:14px}
.occ-btn{flex:1;padding:10px;border-radius:10px;border:1px solid rgba(26,18,10,.12);background:#F0EAE0;color:#1C150E;font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.occ-btn:hover{border-color:var(--brm);color:var(--brm);background:rgba(154,114,72,.08)}
.occ-btn.danger:hover{border-color:#C0504A;color:#C0504A;background:rgba(192,80,74,.06)}
.wk-row{display:flex;align-items:center;gap:8px;background:rgba(154,114,72,.07);border:1px solid rgba(154,114,72,.18);border-radius:9px;padding:8px 12px;margin-bottom:6px;font-size:12.5px;color:#1C150E}
.wk-row span.wk-d{font-weight:500;min-width:38px}
.wk-row span.wk-t{font-family:monospace;color:var(--brm)}
.wk-x{margin-left:auto;border:none;background:none;color:#7A6A50;cursor:pointer;font-size:12px}
.wk-x:hover{color:#f4a98a}

/* FIX: "Saved ✓" inline feedback for approach video edits */
.saved-fb{font-size:11.5px;color:var(--gd2);font-weight:500;transition:opacity .4s;opacity:0;flex-shrink:0}

/* ── CLIENT DETAIL (coach view) ─────────────────────────────── */
.bkbtn{font-size:13px;font-weight:500;color:#8B7D6C;border:none;background:none;cursor:pointer;padding:0;margin-bottom:22px;font-family:'DM Sans',sans-serif}
.bkbtn:hover{color:#1C150E}
.dttop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.dtav{width:50px;height:50px;border-radius:50%;background:rgba(154,114,72,.12);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:19px;color:var(--brm)}
.dtnm{font-family:var(--serif);font-size:26px;font-weight:300;color:#1C150E}
.dtlv{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8B7D6C;margin-top:3px}
.cpill{background:rgba(26,18,10,.05);border-radius:9px;padding:7px 13px;font-size:12px;color:#8B7D6C}
.cpill strong{font-family:monospace;font-size:12.5px;color:var(--brm);letter-spacing:.07em}
.sclb{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8B7D6C;margin-bottom:9px;margin-top:18px}
.trk{background:#FFFFFF;border-radius:16px;padding:22px;margin-bottom:18px;border:1px solid rgba(26,18,10,.07);box-shadow:0 1px 3px rgba(26,18,10,.05)}
.trkh{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}
.trktt{font-family:var(--serif);font-size:17px;font-weight:300;color:#1C150E}
.mnnav{display:flex;align-items:center;gap:9px}
.mnar{width:27px;height:27px;border-radius:50%;border:1px solid rgba(26,18,10,.16);background:transparent;font-size:13px;color:#8B7D6C;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.mnar:hover{border-color:var(--brm);color:var(--brm)}
.mnlb{font-size:12px;color:#1C150E;min-width:95px;text-align:center}
.tdts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;align-items:flex-start}
.td-cell{display:flex;flex-direction:column;align-items:center;gap:4px}
.td{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(26,18,10,.16);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;color:#8B7D6C;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s;position:relative}
.td:hover{border-color:var(--brm);color:var(--brm);transform:scale(1.1)}
.td.dn{background:var(--br);border-color:var(--br);color:#fff;transform:scale(1.05)}
.td.dn::after{content:'✓';position:absolute;font-size:12px}
.td.dn span{opacity:0}
.td-date-lbl{font-size:9px;font-weight:500;color:#9A7248;letter-spacing:.02em;cursor:pointer;white-space:nowrap;text-align:center;line-height:1}
.td-date-lbl:hover{text-decoration:underline;color:#7A5C38}
.td-cell{position:relative}
.td-date-popup{position:absolute;z-index:999;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#FAF6EF;border:1px solid #C8A97E;border-radius:10px;padding:8px 10px;box-shadow:0 4px 20px rgba(28,20,12,.18);display:flex;gap:6px;align-items:center;white-space:nowrap}
.td-date-popup input[type=date]{font-size:12px;font-family:'DM Sans',sans-serif;border:1px solid #C8A97E;border-radius:6px;padding:4px 6px;color:#3D2B1A;background:#fff;outline:none}
.td-date-ok{font-size:13px;background:#9A7248;color:#fff;border:none;border-radius:6px;padding:4px 8px;cursor:pointer;font-family:'DM Sans',sans-serif}
.td-date-ok:hover{background:#7A5C38}
.tsrw{display:flex;align-items:center;gap:13px}
.tsn{font-family:var(--serif);font-size:28px;font-weight:300;line-height:1;color:#1C150E}
.tsn.ac{color:var(--brm)}
.tss{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8B7D6C;margin-top:2px}
.tssp{width:1px;height:38px;background:rgba(26,18,10,.12)}
.tspb{flex:1}
.pbr{height:3px;background:rgba(26,18,10,.1);border-radius:3px;overflow:hidden;margin-bottom:5px}
.pbf{height:100%;background:linear-gradient(90deg,var(--br),var(--gd));border-radius:3px;transition:width .6s cubic-bezier(.16,1,.3,1)}
.tspc{font-size:11px;color:#8B7D6C}
/* ── DRAG AND DROP ───────────────────────────────────────────── */
.dnd-grip{cursor:grab;color:rgba(26,18,10,.2);font-size:15px;padding:2px 6px 2px 0;flex-shrink:0;user-select:none;transition:color .15s}
.dnd-grip:hover{color:rgba(154,114,72,.7)}
.dnd-grip:active{cursor:grabbing}
.dnd-dragging{opacity:.35;transform:scale(.98)}
.dnd-above{box-shadow:0 -3px 0 #9A7248 !important}
.dnd-below{box-shadow:0 3px 0 #9A7248 !important}
.cc-grip{position:absolute;top:10px;right:10px;padding:2px 4px;font-size:13px}

.sr{background:#FFFFFF;border-radius:12px;padding:13px 15px;margin-bottom:7px;transition:transform .18s,box-shadow .18s;border:1px solid rgba(26,18,10,.07)}
.sr.lk{cursor:pointer}
.sr.lk:hover{transform:translateY(-2px);box-shadow:0 5px 20px rgba(26,18,10,.10)}
.srtop{display:flex;align-items:center;gap:8px}
.sdot{width:5px;height:5px;border-radius:50%;background:var(--brm);flex-shrink:0}
.stp{font-size:13px;font-weight:500;color:#1C150E;flex:1}
.sdt{font-size:11px;color:#8B7D6C}
.sop{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:100px;background:rgba(154,114,72,.1);color:var(--brm)}
.sx{border:none;background:none;font-size:11.5px;color:#B0A080;cursor:pointer;padding:2px;opacity:0;transition:all .15s}
.tstat{font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:100px;flex-shrink:0}
.tstat.dn{background:rgba(154,114,72,.16);color:var(--brm)}
.tstat.pd{background:rgba(26,18,10,.05);color:#8B7D6C}
.sr:hover .sx{opacity:1;color:#8B7D6C}
.snt{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(26,18,10,.07)}
.nlb{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#8B7D6C;margin-bottom:3px}
.ntx{font-size:13.5px;font-weight:450;color:#1C150E;line-height:1.6}
.ntx.mt{font-style:italic;color:#B0A080}

/* ── CLIENT VIEW ─────────────────────────────────────────────── */
.clh{position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 36px 48px;text-align:center;background:#0D0A07;box-shadow:0 14px 30px -12px rgba(6,3,1,.6)}
.clg{position:absolute;inset:0;pointer-events:none;transition:background 1.6s ease}
/* Fixed-brightness glow overlay — identical for every client, opacity-only (GPU-composited) */
.clg-anim{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse 60% 55% at 50% 44%, rgba(175,105,22,.22) 0%, transparent 60%);
  opacity:0;
}
@keyframes heroGlowPulse{
  0%  {opacity:0}
  40% {opacity:1}
  100%{opacity:0}
}
.clg-anim.pulse{animation:heroGlowPulse 1.8s ease-out forwards}
.rgwr{position:relative;margin-bottom:20px}
.rgin{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.rgn{font-family:var(--serif);font-size:78px;font-weight:300;line-height:1;transition:color 1.4s ease;margin-bottom:7px}
.rgt{font-size:13.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;transition:color 1.4s ease;margin-top:0}
.clgr{font-family:var(--serif);font-size:clamp(24px,4vw,38px);font-weight:300;transition:color 1.4s ease;margin-bottom:4px}
.clgr em{font-style:italic}
.clml{display:flex;align-items:center;gap:9px;justify-content:center;margin-top:5px}
.clmb{width:26px;height:26px;border-radius:50%;border:1px solid;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;font-family:'DM Sans',sans-serif;transition:all .22s}
.clmt{font-size:11.5px;letter-spacing:.05em;transition:color 1.4s ease}
.clrm{font-size:12px;margin-top:11px}
.clrm strong{font-family:var(--serif);font-size:18px;font-weight:300}
.cltabs{display:flex;border-bottom:1px solid;padding:0 36px;transition:background 1.8s ease;position:sticky;top:0;z-index:6}
.cltb{padding:12px 18px;font-size:13.5px;font-weight:500;font-family:'DM Sans',sans-serif;background:none;border:none;border-bottom:2.5px solid transparent;cursor:pointer;transition:all .2s;margin-bottom:-1px;letter-spacing:.02em;position:relative}
.newdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#C0594A;margin-left:6px;vertical-align:middle}
.cltb.on{font-weight:500}
.clbody{padding:24px 36px 60px;max-width:900px;margin:0 auto;transition:background 1.8s ease}
.cl-fill{background:#FAF6EF;min-height:60vh;width:100%;overflow-x:hidden}
.vid-block{background:#FFFFFF;border:1px solid rgba(26,18,10,.08);border-radius:14px;padding:22px 24px 24px;margin-bottom:22px;box-shadow:0 1px 2px rgba(28,20,12,.04),0 14px 30px -14px rgba(28,20,12,.12)}
.vid-tt{font-family:var(--serif);font-size:21px;color:#1C150E;margin-bottom:8px}
.vid-intro{font-size:14px;font-weight:450;color:#5C4E3D;line-height:1.65;margin-bottom:16px}
.vid-emb{position:relative;border-radius:10px;overflow:hidden;background:#1C150E;aspect-ratio:16/9}
.vid-emb iframe{width:100%;height:100%;border:none;display:block}.vid-empty{display:flex;align-items:center;justify-content:center;height:100%;color:rgba(255,255,255,.4);font-size:12.5px;font-style:italic;text-align:center;padding:24px;line-height:1.6}
.crs-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.crs-cnt{font-size:12px;color:#9A7248;font-weight:500}
.crs-pb{height:5px;background:rgba(26,18,10,.08);border-radius:5px;overflow:hidden;margin:8px 0 16px}
.crs-pf{height:100%;border-radius:5px;background:linear-gradient(90deg,#9A7248,#C9A878);transition:width .5s ease}
.crs-row{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:10px;cursor:pointer;transition:background .15s;margin-bottom:6px;border:1px solid transparent}
.crs-row:hover{background:rgba(26,18,10,.04)}
.crs-row.active{border-color:rgba(154,114,72,.32);background:rgba(154,114,72,.07)}
.crs-chk{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(26,18,10,.18);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;color:transparent;transition:all .2s}
.crs-chk.dn{background:#9A7248;border-color:#9A7248;color:#fff}
.crs-num{font-size:10.5px;color:#9A8470;min-width:16px;flex-shrink:0}
.crs-tt{flex:1;font-size:14px;font-weight:450;color:#1C150E}
.crs-row.active .crs-tt{font-weight:500}
.leg{display:flex;gap:14px;margin-bottom:12px;font-size:11px;flex-wrap:wrap;align-items:center}
.legi{display:flex;align-items:center;gap:5px}
.legd{width:9px;height:9px;border-radius:50%}
.clwg{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cldc{border-radius:10px;overflow:hidden}
.cldh{padding:7px 5px 5px;text-align:center;border-bottom:1px solid rgba(0,0,0,.08)}
.cldn{font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.cldd{font-family:var(--serif);font-size:18px;font-weight:300;line-height:1;margin-top:1px}
.clsl{padding:5px;display:flex;flex-direction:column;gap:4px;min-height:56px}
.cls{border-radius:6px;padding:5px 7px;border:1px solid;transition:all .18s}
.cls-fr{cursor:pointer}.cls-fr:hover{transform:scale(1.04)}
.cls-mn,.cls-tk{cursor:default}
.cls-tk{opacity:.55}
.clstm{font-size:10px;font-weight:500}
.clsst{font-size:9px;margin-top:1px}
.ltsr{border-radius:13px;padding:15px 17px;margin-bottom:7px;border:1px solid;cursor:pointer;box-shadow:0 1px 2px rgba(28,20,12,.05),0 16px 32px -12px rgba(28,20,12,.12);transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1);will-change:transform,box-shadow}
.ltsr:hover{transform:translateY(-3px);box-shadow:0 0 28px rgba(154,114,72,.18),0 12px 36px -6px rgba(28,20,12,.16)}
.ltsr-new{border-width:2px !important;border-color:rgba(154,114,72,.5) !important;box-shadow:0 2px 6px rgba(28,20,12,.06),0 12px 40px -8px rgba(154,114,72,.28)}
.ltsr-new:hover{transform:translateY(-3px);box-shadow:0 0 36px rgba(154,114,72,.32),0 14px 44px -6px rgba(28,20,12,.18)}
.ltst{display:flex;align-items:center;gap:8px}
.lttp{font-family:var(--serif);font-size:17px;font-weight:300;flex:1;line-height:1.2}
.ltdt{font-size:11px}
.ltop{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:100px}
.ltnt{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:11px;padding-top:11px}
.llb{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px}
.sd-block{background:#FFFFFF;border:1px solid rgba(26,18,10,.08);border-radius:14px;padding:18px 20px;margin-bottom:14px;box-shadow:0 1px 2px rgba(28,20,12,.05), 0 16px 32px -12px rgba(28,20,12,.12)}
/* Exercise iframe in audio sections — scrolls within itself so audio stays visible */
.sd-exercise-wrap iframe{border-radius:10px}
.sd-lbl{font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#7A6A54;margin-bottom:10px}
.tdone-row{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;cursor:pointer;margin-bottom:10px;user-select:none}
.tdone-row input{width:14px;height:14px;accent-color:#9A7248;cursor:pointer;flex-shrink:0}
.wlc-cta{padding:14px 30px;border-radius:100px;border:none;background:#1C150E;color:#F2EDE4;font-size:13.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s}
.wlc-cta:hover{opacity:.82}
.sd-iframe-wrap{border-radius:10px;overflow:visible;border:1px solid rgba(26,18,10,.1);background:#fff}
.sd-iframe-wrap iframe{width:100%;min-height:300px;height:300px;border:none;display:block;border-radius:10px}
/* Exercise block attached to a section — separate interactive area */
.sd-exercise-wrap{margin-top:14px;border-radius:10px;overflow:visible;border:1px solid rgba(26,18,10,.1);background:#fff}
.sd-exercise-wrap iframe{width:100%;min-height:200px;height:200px;border:none;display:block;border-radius:10px}
.sd-openlink{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;margin-top:9px;color:var(--brm);text-decoration:none}
.sd-ext-open{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0;padding:13px 20px;border-radius:12px;border:1.5px solid rgba(154,114,72,.35);background:rgba(154,114,72,.07);color:#6B4E2E;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background .15s}
.sd-ext-open:hover{background:rgba(154,114,72,.14)}
.sd-iframe-details{margin-top:4px}.sd-iframe-details summary{font-size:11.5px;color:#9A7248;cursor:pointer;padding:3px 0;list-style:none;user-select:none}.sd-iframe-details summary::-webkit-details-marker{display:none}
/* Open Graph link preview card */
.og-card{display:flex;border-radius:12px;border:1px solid rgba(26,18,10,.1);background:#fff;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s;margin:6px 0;min-height:80px}
.og-card:hover{box-shadow:0 4px 16px rgba(26,18,10,.1)}
.og-card-img{width:120px;min-width:120px;object-fit:cover;background:#f0ebe4}
.og-card-text{flex:1;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:hidden}
.og-card-site{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9A7248}
.og-card-title{font-size:14px;font-weight:600;color:#1C150E;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.og-card-desc{font-size:12px;color:#7A6A54;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.og-card-url{font-size:11.5px;color:#9A7248}
@media(max-width:480px){.og-card-img{width:80px;min-width:80px}}
.sd-pdfbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;border:1px solid rgba(154,114,72,.3);background:rgba(154,114,72,.08);color:#6B4E2E;font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;font-family:'DM Sans',sans-serif}
.sd-mat{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:rgba(26,18,10,.03);margin-bottom:6px;cursor:pointer;text-decoration:none;color:#1C150E;font-size:13.5px;font-weight:450;transition:background .15s}
.sd-mat:hover{background:rgba(26,18,10,.06)}
.sd-res-vid{margin-bottom:16px}
.sd-res-title{font-size:13px;font-weight:600;color:#1C150E;margin-bottom:2px}
.sd-res-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid rgba(26,18,10,.08);background:#fff;margin-bottom:0;text-decoration:none;transition:background .15s;cursor:pointer;width:100%;font-family:inherit;border-bottom-left-radius:10px;border-bottom-right-radius:10px}
.sd-res-link:hover{background:rgba(26,18,10,.03)}
.sd-res-icon{font-size:18px;flex-shrink:0}
.sd-res-text{flex:1;font-size:13.5px;font-weight:500;color:#1C150E;line-height:1.3;text-align:left}
.sd-res-arr{font-size:14px;color:#9A8470;flex-shrink:0}
/* Expandable resource panel */
.sd-res-expand-wrap{border:1px solid rgba(26,18,10,.08);border-radius:10px;overflow:hidden;margin-bottom:8px;background:#fff}
.sd-res-expand-btn{border:none;border-radius:0}
.sd-res-expand-btn .sd-res-chevron{transition:transform .2s;display:inline-block}
.sd-res-iframe-panel{background:#f7f3ed}
.sd-res-iframe-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid rgba(26,18,10,.08);background:#FAF6EF}
.sd-res-iframe-title{font-size:12px;font-weight:600;color:#5C4E3D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}
.sd-res-open-tab{font-size:11.5px;color:#9A7248;text-decoration:none;white-space:nowrap;flex-shrink:0}
.sd-res-open-tab:hover{text-decoration:underline}
.sd-res-ifr{width:100%;height:80vh;min-height:420px;border:none;display:block;overflow:auto;-webkit-overflow-scrolling:touch}
/* Loading state */
.sd-res-loading{padding:32px;text-align:center;font-size:13px;color:#9A8470;font-style:italic}
/* OG fallback card — shown when iframe is blocked by external site */
.sd-res-og-wrap{display:flex;flex-direction:column;gap:0}
.sd-res-og-img{width:100%;height:180px;object-fit:cover;display:block}
.sd-res-og-body{padding:16px 18px 4px}
.sd-res-og-title{font-size:15px;font-weight:600;color:#1C150E;line-height:1.3;margin-bottom:5px}
.sd-res-og-desc{font-size:13px;color:#5C4E3D;line-height:1.55;margin-bottom:6px}
.sd-res-og-site{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9A8470;margin-bottom:4px}
.sd-res-og-open{display:block;margin:14px 16px 18px;padding:14px 18px;background:#1C150E;color:#F2EDE4;text-align:center;border-radius:10px;font-size:14.5px;font-weight:600;text-decoration:none;font-family:var(--sans);letter-spacing:.01em;transition:background .15s}
.sd-res-og-open:hover{background:#3C2D1E}
.lt-badges{display:inline-flex;align-items:center;gap:3px;margin-left:4px;flex-shrink:0}
/* Brand-palette badge pips replacing default emoji */
.bd-pip{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;vertical-align:middle}
.bd-sq{border-radius:2px}
.bd-chk{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:800;line-height:1;vertical-align:middle;flex-shrink:0}
.rrow{display:flex;gap:5px;margin-bottom:8px}
.rc{width:21px;height:21px;border-radius:50%;border:1.5px solid;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;transition:transform .15s,background .15s,border-color .15s;font-family:'DM Sans',sans-serif}
.rc:not(.ro):hover{transform:scale(1.12)}
.rc.ro{cursor:default}
.ltx{font-size:13.5px;font-weight:450;line-height:1.6}
.ltx.mt{font-style:italic}
textarea.cn{width:100%;border:1px solid;border-radius:7px;padding:7px 10px;font-size:13.5px;font-weight:450;font-family:'DM Sans',sans-serif;resize:none;outline:none;background:transparent}
.svcn{margin-top:5px;padding:5px 12px;border-radius:100px;border:1px solid;background:transparent;font-size:12.5px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer}
/* Edit saved feedback affordance */
.cn-edit{display:block;background:none;border:none;cursor:pointer;font-size:11px;font-style:italic;font-family:'DM Sans',sans-serif;padding:3px 0 0;opacity:.55;transition:opacity .15s;text-align:left}
.cn-edit:hover{opacity:1}
.clout{display:block;margin:0 auto;padding:9px 22px;border-radius:100px;border:1px solid;background:transparent;font-size:12.5px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .3s}
.trk-qr-block{margin-top:16px;padding:14px 16px;background:#FBF6ED;border:1.5px solid rgba(154,114,72,.3);border-radius:12px}
.trk-qr-title{font-size:12px;font-weight:600;color:#5C4E3D;margin-bottom:10px;letter-spacing:.01em}
.trk-qr-btn{font-size:12px;font-weight:500;color:#9A7248;background:rgba(154,114,72,.1);border:1px solid rgba(154,114,72,.3);border-radius:8px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .2s}
.trk-qr-btn:hover{background:rgba(154,114,72,.2)}
.trk-qr-link{font-size:12px;font-family:'DM Sans',sans-serif;border:1px solid rgba(26,18,10,.14);border-radius:8px;padding:6px 10px;width:calc(100% - 90px);color:#3D2B1A;background:#fff;outline:none}
.trk-qr-save-link{font-size:12px;font-weight:500;font-family:'DM Sans',sans-serif;color:#9A7248;background:rgba(154,114,72,.1);border:1px solid rgba(154,114,72,.3);border-radius:8px;padding:6px 12px;cursor:pointer;margin-left:6px;transition:background .2s}
.trk-qr-save-link:hover{background:rgba(154,114,72,.2)}
.pay-banner{background:linear-gradient(135deg,#FBF6ED 0%,#F5EDD8 100%);border:1.5px solid rgba(154,114,72,.35);border-radius:16px;padding:20px;margin-bottom:22px;box-shadow:0 4px 24px -6px rgba(154,114,72,.2)}
.pay-inner{display:flex;align-items:center;gap:20px}
.pay-txt{flex:1}
.pay-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:#3D2B1A;margin-bottom:6px}
.pay-sub{font-size:13px;color:#7A5C38;line-height:1.55}
.pay-qr{width:110px;height:110px;object-fit:contain;border-radius:10px;border:1px solid rgba(154,114,72,.2);flex-shrink:0}
.pay-dates{margin:12px 0 4px}
.pay-dates-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#9A7D60;margin-bottom:7px;font-weight:500}
.pay-dates-list{display:flex;flex-wrap:wrap;gap:5px}
.pay-date-chip{font-size:11.5px;color:#5C4E3D;background:rgba(154,114,72,.1);border:1px solid rgba(154,114,72,.2);border-radius:20px;padding:3px 10px;white-space:nowrap}
.pay-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:500;color:#fff;background:#9A7248;text-decoration:none;padding:9px 20px;border-radius:100px;transition:background .2s,transform .2s}
.pay-link:hover{background:#7A5C38;transform:translateY(-1px)}
@media(max-width:600px){
  .pay-inner{flex-direction:column-reverse;align-items:center;text-align:center;gap:14px}
  .pay-qr{width:120px;height:120px}
  .pay-dates-list{justify-content:center}
  .pay-dates-lbl{text-align:center}
  .pay-link{display:block;text-align:center;margin-top:12px}
  .pay-date-chip{font-size:11.5px}
}

/* ── MODAL ───────────────────────────────────────────────────── */
.ovbg{display:none;position:fixed;inset:0;background:rgba(10,7,4,.65);align-items:flex-start;justify-content:center;z-index:1000;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.ovbg.on{display:flex}
.modal{background:#272018;border-radius:20px;padding:30px;width:100%;max-width:390px;box-shadow:0 20px 70px rgba(0,0,0,.5);margin:auto}
.mti{font-family:var(--serif);font-size:21px;font-weight:300;color:#F2EDE4;margin-bottom:18px}
.fld{margin-bottom:11px}
.fld label{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#C2B49C;display:block;margin-bottom:4px}
.fld input,.fld select,.fld textarea{width:100%;padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:9px;font-size:13px;color:#F2EDE4;background:#1E1A15;font-family:'DM Sans',sans-serif;outline:none;resize:none;transition:border-color .2s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--brm)}
.fld select option{background:#272018;color:#F2EDE4}
.r2{display:flex;gap:8px}.r2 .fld{flex:1}
.mact{display:flex;gap:7px;justify-content:flex-end;margin-top:16px}
.mcn{padding:8px 17px;border-radius:100px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#C2B49C;font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer}
.mcn:hover{color:#F2EDE4}
.msv{padding:8px 20px;border-radius:100px;border:none;background:var(--br);color:#fff;font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer}
/* Upload HTML button — sits inline with field label */
.upload-html-btn{font-size:11px;font-weight:500;color:var(--brm);cursor:pointer;border:1px solid rgba(154,114,72,.3);border-radius:100px;padding:3px 10px;letter-spacing:.03em;transition:all .18s;white-space:nowrap}
.upload-html-btn:hover{background:rgba(154,114,72,.12);color:#F2EDE4}
.gbtn{padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#1E1A15;font-size:11.5px;font-family:'DM Sans',sans-serif;color:#B0A080;cursor:pointer;white-space:nowrap;transition:all .2s}
.gbtn:hover{border-color:var(--brm);color:var(--brm)}
.bkbox{background:rgba(122,92,56,.12);border-radius:9px;padding:13px 15px;margin-bottom:14px;border:1px solid rgba(122,92,56,.24)}
.bkbox p{font-size:12.5px;color:#F2EDE4;line-height:1.6}
.bkbox strong{color:var(--brm)}

/* ── CONTENT SECTIONS ────────────────────────────────────────── */
.sd-section-block{}
.sd-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sd-section-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(154,114,72,.08);border-radius:8px;flex-shrink:0}
.sd-section-icon svg{display:block}
.sd-section-label{font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#7A6A54}
/* OG card favicon placeholder */
.og-card-fav{width:80px;min-width:80px;display:flex;align-items:center;justify-content:center;background:rgba(154,114,72,.06);border-right:1px solid rgba(26,18,10,.06)}
.sd-exercise-wrap{margin-top:14px;border-radius:10px;overflow:visible;border:1px solid rgba(26,18,10,.1)}
.sd-exercise-wrap iframe{width:100%;border:none;min-height:200px;display:block;border-radius:10px}

/* ── VOCABULARY FLASHCARDS ───────────────────────────────────── */
.fc-done{text-align:center;padding:64px 20px 40px}
.fc-done-icon{font-size:34px;margin-bottom:16px;font-family:var(--serif);color:#9A7248}
.fc-done-title{font-family:var(--serif);font-size:26px;font-weight:300;color:#2C1A0A;margin-bottom:8px}
.fc-done-sub{font-size:13.5px;color:#8B7D6C;line-height:1.7}
.fc-count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:22px;text-align:center}
.fc-scene{width:100%;max-width:420px;perspective:1200px;cursor:pointer;user-select:none;margin:0 auto}
.fc-card{position:relative;width:100%;min-height:230px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1)}
.fc-card.flipped{transform:rotateY(180deg);cursor:default}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 28px;text-align:center}
.fc-front{background:linear-gradient(148deg,#221208 0%,#3A1E0A 55%,#5C3A18 100%);box-shadow:0 8px 28px rgba(26,18,10,.2)}
.fc-back{background:#fff;border:1px solid rgba(26,18,10,.1);box-shadow:0 4px 20px rgba(26,18,10,.07);transform:rotateY(180deg)}
.fc-word{font-family:var(--serif);font-size:clamp(24px,6vw,34px);font-weight:300;color:rgba(255,255,255,.9);line-height:1.15;margin-bottom:14px}
.fc-tap{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.28)}
.fc-def{font-size:14.5px;color:#2C1A0A;line-height:1.65;margin-bottom:14px}
.fc-ex{font-family:var(--serif);font-style:italic;font-size:15px;color:#7A5C38;line-height:1.55;border-top:1px solid rgba(26,18,10,.1);padding-top:14px;width:100%}
.fc-btns{display:flex;gap:10px;margin-top:20px;width:100%;max-width:420px;margin-left:auto;margin-right:auto}
.fc-btn{flex:1;padding:14px 6px;border-radius:12px;border:none;font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s;letter-spacing:.01em}
.fc-got{background:#2C1A0A;color:rgba(255,255,255,.86)}
.fc-got:hover{background:#3E2510}
.fc-alm{background:rgba(154,114,72,.1);color:#7A5C38;border:1px solid rgba(154,114,72,.2)}
.fc-alm:hover{background:rgba(154,114,72,.18)}
.fc-nyt{background:rgba(26,18,10,.04);color:rgba(26,18,10,.4);border:1px solid rgba(26,18,10,.08)}
.fc-nyt:hover{background:rgba(26,18,10,.08)}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:600px){
  /* Fix 1: stop black background showing on over-scroll */
  html,body{overscroll-behavior:none;background:#FAF6EF}
  /* Fix 2: splash/more pages — dark background fills full screen */
  #pg-splash .amb-bg,#pg-more .amb-bg{min-height:-webkit-fill-available;min-height:100svh}
  /* Fix 3: session card title wraps + grid stacks vertically on mobile */
  .lttp{word-break:break-word;overflow-wrap:break-word;white-space:normal}
  .ltnt{grid-template-columns:1fr}
  /* Fix 4: hero background fallback — dark espresso so it never shows black on iOS */
  .clh{background-color:#130D08;padding:44px 20px 36px}
  /* General mobile layout */
  .hero{padding:56px 28px}
  .dbody,.clbody{padding:24px 20px 60px}
  .dnav{padding:14px 20px}
  .cltabs{padding:0 12px}
  .cltb{padding:12px 12px}
  .wkg,.clwg{grid-template-columns:repeat(4,1fr)}
  /* Flashcards on mobile */
  .fc-scene,.fc-btns{max-width:100%}
  .fc-btn{font-size:12.5px;padding:13px 4px}
}

/* ── SECTIONS SLIDE-OVER PANEL ───────────────────────────────── */
.sec-ov{position:fixed;inset:0;background:rgba(10,7,4,.55);opacity:0;pointer-events:none;transition:opacity .3s;z-index:900}
.sec-ov.on{opacity:1;pointer-events:all}
.sec-panel{position:fixed;top:0;right:0;bottom:0;width:66%;background:#1E1A15;transform:translateX(110%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:901;display:flex;flex-direction:column;overflow:hidden;box-shadow:-12px 0 60px rgba(0,0,0,.6);border-left:1px solid rgba(255,255,255,.06)}
.sec-panel.on{transform:translateX(0)}
.sec-panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.sec-panel-title{font-family:var(--serif);font-size:22px;font-weight:300;color:#F2EDE4;letter-spacing:.01em}
.sec-panel-x{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:transparent;color:#B0A080;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit;flex-shrink:0}
.sec-panel-x:hover{background:rgba(255,255,255,.08);color:#F2EDE4}
.sec-panel-body{flex:1;overflow-y:auto;padding:22px 28px 36px;-webkit-overflow-scrolling:touch}
@media(max-width:820px){.sec-panel{width:100%}}

/* ── SECTIONS TABS ───────────────────────────────────────────── */
.sec-tabs{display:flex;gap:3px;padding:4px;background:rgba(122,92,56,.1);border-radius:10px;margin-bottom:22px}
.sec-tab{flex:1;padding:10px 8px;border-radius:7px;border:none;background:transparent;font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;color:#B0A080;cursor:pointer;transition:all .2s;text-align:center}
.sec-tab.on{background:rgba(122,92,56,.25);color:#F2EDE4}

/* ── COACH DETAIL SESSIONS/CARDS TABS ───────────────────────── */
.det-tab-bar{display:flex;gap:3px;background:rgba(122,92,56,.1);border-radius:10px;padding:4px;width:fit-content;margin:20px 0 16px}
.det-tab{padding:8px 20px;border-radius:7px;border:none;background:transparent;font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;color:#B0A080;cursor:pointer;transition:all .2s}
.det-tab.on{background:rgba(122,92,56,.25);color:#F2EDE4}

/* ── WORTH A READ — EMBED BUTTON & IFRAME ───────────────────── */
.war-embed-btn{display:block;width:100%;margin-top:8px;padding:10px;border-radius:9px;border:1px solid rgba(154,114,72,.25);background:rgba(154,114,72,.05);color:#7A5C38;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;text-align:left}
.war-embed-btn:hover{background:rgba(154,114,72,.1)}
.war-iframe-wrap{width:100%;height:70vh;border-radius:12px;overflow:hidden;margin-top:8px;border:1px solid rgba(26,18,10,.1)}

/* ── EXERCISE RESET BUTTON ───────────────────────────────────── */
.ex-reset-btn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:8px 16px;border-radius:8px;border:1px solid rgba(154,114,72,.35);background:rgba(154,114,72,.06);color:#9A7248;font-size:12.5px;font-weight:450;cursor:pointer;font-family:inherit;transition:all .2s}
.ex-reset-btn:hover{background:rgba(180,80,80,.09);border-color:rgba(180,80,80,.35);color:#8B3030}

/* ── JOURNAL ─────────────────────────────────────────────────── */
.jnl-wrap{padding:4px 0 40px;max-width:680px;margin:0 auto}
.jnl-date{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:12px}

/* ── Journal formatting toolbar ── */
.jnl-toolbar{display:flex;gap:5px;margin-bottom:10px;align-items:center}
.jnl-tb{
  height:28px;min-width:32px;padding:0 9px;
  border:1px solid rgba(154,114,72,.22);border-radius:7px;
  background:rgba(255,255,255,.75);
  cursor:pointer;
  font-size:13px;font-family:var(--serif);
  color:#7A5C38;
  transition:background .13s,border-color .13s;
  display:inline-flex;align-items:center;justify-content:center;
}
.jnl-tb:hover{background:rgba(154,114,72,.12);border-color:rgba(154,114,72,.38)}
.jnl-tb.on{background:rgba(154,114,72,.18);border-color:rgba(154,114,72,.5);color:#5C3A18}
.jnl-hlbar{
  display:inline-block;
  background:rgba(218,175,60,.38);
  border-radius:3px;
  padding:1px 5px;
  font-size:13px;font-family:var(--serif);color:#5C3A18;font-weight:500;
}
.jnl-tb-hl.on .jnl-hlbar{background:rgba(218,175,60,.62)}

/* ── Journal page ── */
.jnl-page{
  position:relative;
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(26,18,10,.08);
  box-shadow:0 2px 12px rgba(26,18,10,.05);
  overflow:hidden;
  padding:0 24px 14px 56px;
}
.jnl-page::before{
  content:'';position:absolute;top:0;left:44px;bottom:0;width:1px;
  background:rgba(154,114,72,.18);
}

/* ── Journal contenteditable ── */
.jnl-ta{
  display:block;width:100%;min-height:320px;
  background:transparent;
  background-image:repeating-linear-gradient(
    to bottom,
    transparent,
    transparent 33px,
    rgba(154,114,72,.13) 33px,
    rgba(154,114,72,.13) 34px
  );
  background-size:100% 34px;
  background-attachment:local;
  border:none;outline:none;
  font-family:var(--serif);font-size:17px;font-weight:300;
  color:#2C1A0A;line-height:34px;
  padding:13px 0 10px 0;
  white-space:pre-wrap;word-break:break-word;
  cursor:text;
}
.jnl-ta b,.jnl-ta strong{font-weight:600}
.jnl-ta i,.jnl-ta em{font-style:italic}
.jnl-ta.jnl-empty::before{
  content:attr(data-placeholder);
  color:rgba(26,18,10,.22);font-style:italic;
  pointer-events:none;display:block;
}
.jnl-ind{font-size:11.5px;font-weight:500;margin-top:8px;min-height:16px;text-align:right;letter-spacing:.04em}
.jnl-past-hdr{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-top:32px;margin-bottom:12px}
.jnl-past-row{border-radius:10px;border:1px solid rgba(26,18,10,.07);background:#fff;margin-bottom:7px;overflow:hidden}
.jnl-past-sum{padding:12px 16px;cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:3px}
.jnl-past-sum::-webkit-details-marker{display:none}
.jnl-past-date{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.jnl-past-preview{font-size:13px;color:rgba(26,18,10,.5);line-height:1.4;font-style:italic;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* ── YouGlish tab ─────────────────────────────────────────── */
.yg-wrap{padding:24px 0 40px}
.yg-search{display:flex;gap:10px;margin-bottom:14px}
.yg-in{
  flex:1;height:44px;padding:0 16px;
  border:1.5px solid rgba(154,114,72,.22);border-radius:10px;
  background:#fff;font-family:var(--sans);font-size:14.5px;color:#1C150E;
  outline:none;transition:border-color .15s;
}
.yg-in:focus{border-color:rgba(154,114,72,.5);}
.yg-in::placeholder{color:rgba(26,18,10,.3);}
.yg-btn{
  height:44px;padding:0 22px;border:none;border-radius:10px;
  font-family:var(--sans);font-size:14px;font-weight:500;
  cursor:pointer;transition:opacity .15s;white-space:nowrap;
}
.yg-btn:hover{opacity:.85;}
.yg-note{
  font-size:12.5px;color:rgba(26,18,10,.4);line-height:1.5;
  margin-bottom:28px;
}
.yg-recent{margin-top:4px}
.yg-recent-hdr{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.yg-recent-list{display:flex;flex-wrap:wrap;gap:7px}
.yg-chip{
  height:30px;padding:0 13px;border-radius:100px;
  border:1px solid;background:transparent;
  font-family:var(--sans);font-size:13px;cursor:pointer;
  transition:opacity .13s;
}
.yg-chip:hover{opacity:.65}

/* ── Cover image ─────────────────────────────────────────────── */
/* Full-bleed cover image above the session content */
#sess-cover-wrap{width:100%;overflow:hidden;background:#EDE8DF;line-height:0}
.sess-cover-hero{width:100%;height:260px;object-fit:cover;display:block}
@media(max-width:600px){.sess-cover-hero{height:190px}}

/* ── Voice intro player ──────────────────────────────────────── */
.vi-player{display:flex;align-items:center;gap:14px;background:rgba(154,114,72,.07);border:1px solid rgba(154,114,72,.16);border-radius:14px;padding:14px 16px;margin-bottom:18px}
.vi-play-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(154,114,72,.4);background:rgba(154,114,72,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.vi-play-btn:hover{background:rgba(154,114,72,.2)}
.vi-info{flex:1;min-width:0}
.vi-label{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(26,18,10,.5);margin-bottom:6px}
.vi-prog-track{height:3px;border-radius:2px;background:rgba(154,114,72,.18);cursor:pointer;margin-bottom:5px}
.vi-prog-fill{height:100%;border-radius:2px;background:#9A7248;width:0%;transition:width .1s linear}
.vi-time{font-size:11px;color:rgba(26,18,10,.38);font-variant-numeric:tabular-nums}

/* Recording UI in coach modal */
.vi-rec-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vi-rec-btn{height:34px;padding:0 14px;border-radius:8px;border:1.5px solid rgba(154,114,72,.35);background:transparent;color:#C2A876;font-size:13px;font-family:var(--sans);cursor:pointer}
.vi-rec-btn:hover{background:rgba(154,114,72,.1)}
.vi-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#C05050;animation:vi-pulse 1s ease-in-out infinite}
@keyframes vi-pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ── Picture This ────────────────────────────────────────────── */
.pt-gallery{display:flex;flex-direction:column;gap:22px;margin-top:10px}
.pt-item{}
.pt-img{width:100%;height:auto;border-radius:12px;display:block;background:#EDE8DF}
.pt-caption{font-size:13.5px;color:#5C4A30;line-height:1.65;margin-top:10px;font-style:italic;white-space:pre-wrap}
/* Picture This item list in coach modal */
.pt-coach-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.pt-coach-thumb{width:72px;height:56px;object-fit:cover;border-radius:7px;flex-shrink:0}

/* ── Writing Feedback ────────────────────────────────────────── */
.wf-text mark{
  background:#FFE066;
  color:#2A1F00;
  border-radius:3px;
  padding:1px 3px;
  font-style:normal;
}

/* ── Per-section coach feedback ──────────────────────────────── */
/* Coach review panel (editable, dark — matches dashboard) */
.cf-coach-panel{
  background:#1C150E;
  border:1px solid rgba(154,114,72,.3);
  border-radius:12px;
  padding:16px 18px;
  margin-bottom:14px;
}
.cf-coach-label{
  font-size:12.5px;font-weight:600;color:#C2A06A;
  letter-spacing:.04em;text-transform:uppercase;
  margin-bottom:4px;
}
.cf-coach-hint{
  font-size:12px;color:#7A6A50;line-height:1.5;
  margin-bottom:10px;
}
/* Client answers block inside coach panel */
.cf-answers-lbl{
  font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#9A7248;margin-bottom:6px;margin-top:4px;
}
.cf-answers-display{
  background:#111009;border:1px solid rgba(154,114,72,.2);
  border-radius:8px;padding:12px 14px;margin-bottom:12px;
  user-select:text;cursor:text;
}
.cf-answer-item{
  font-size:13px;color:#D4C8B8;line-height:1.65;
  border-left:2px solid rgba(154,114,72,.4);padding-left:10px;
  margin-bottom:8px;
}
.cf-answer-item:last-child{margin-bottom:0}
.cf-hl-btn{
  font-size:12px;color:#C2A06A;background:rgba(154,114,72,.12);
  border:1px solid rgba(154,114,72,.3);border-radius:7px;
  padding:4px 10px;cursor:pointer;font-family:inherit;
}
.cf-hl-btn:hover{background:rgba(154,114,72,.22);}
.cf-ta{
  width:100%;min-height:90px;
  background:#111009;border:1px solid rgba(154,114,72,.2);
  border-radius:8px;padding:10px 12px;
  font-size:13.5px;color:#E8DFD0;font-family:inherit;
  line-height:1.6;resize:vertical;outline:none;
  margin-bottom:8px;display:block;
}
.cf-ta::placeholder{color:#5C4E3D;}
.cf-save-btn{
  background:#4A3820;color:#D4A86A;
  border:1px solid rgba(154,114,72,.3);border-radius:8px;
  padding:7px 16px;font-size:13px;font-weight:500;
  cursor:pointer;font-family:inherit;
  transition:background .15s;
}
.cf-save-btn:hover{background:#5C4828;}

/* Client view of coach feedback */
.cf-client-view{
  background:#FFFBF3;
  border:1px solid rgba(154,114,72,.2);
  border-left:3px solid #9A7248;
  border-radius:10px;
  padding:14px 16px;
  margin-bottom:14px;
}
.cf-client-label{
  font-size:11.5px;font-weight:600;color:#9A7248;
  letter-spacing:.04em;text-transform:uppercase;
  margin-bottom:8px;
}
.cf-client-text{
  font-size:14px;line-height:1.75;color:#3C2A14;
  white-space:pre-wrap;
}
.cf-client-text mark{
  background:#FFE066;
  color:#2A1F00;
  border-radius:3px;
  padding:1px 3px;
}
