
/* ─── Design tokens ─────────────────────────────────────── */
:root{
 --bg:#FFFFFF;                /* clean white ground — mirrors the marketing site (was sage #F1F6EF) */
 --text:#0F1F17;
 --muted:#5B6470;             /* neutral slate grey (was green-biased #5F7268) so green stays an accent, not a wash */
 --accent:#2EC56B;            /* brand green kept — matching the website */
 --accentDeep:#1E9E54;
 --accentPale:#E7F3EA;        /* calmer sage-green (was mint #e8fdf2) */
 --flow:#2EC56B;
 --flowDark:#2EC56B;
 --void:#0F1F17;
 --cloud:#F1F6EF;
 --card:#ffffff;
 --line:rgba(14,26,20,0.08);  /* green-biased hairline */
 --warn:#f59e0b;
 --good:#10b981;
 --danger:#ef4444;
 --iris:#7b6ef6;
 --radius:13px;               /* softer, more premium (was 11px) */
 --accentSoft:rgba(46,197,107,0.12);
 --accentRing:rgba(46,197,107,0.25);
 --accentBg:var(--accent);
}

/* ─── Dark mode (accent stays separate) ─────────────────── */
body[data-theme="dark"]{
 --bg:#0F1F17;
 --text:#e7e9ee;
 --muted:#98a1b2;
 --card:#16291F;
 --line:rgba(255,255,255,0.10);
 --void:#f3f5f9;
 --cloud:#0F1F17;
}
body[data-theme="dark"]::before{ opacity:.5; }
*{ box-sizing:border-box; }
body{
 margin:0;
 font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
 background:var(--bg);
 color:var(--text);
 overflow-x:clip;              /* lets the landing full-bleed to 100vw with no horizontal scrollbar; clip (not hidden) keeps sticky working */
}
body::before{
 content:"";
 position:fixed;
 inset:0;
 background:
  radial-gradient(1100px 620px at 12% -8%, rgba(46,197,107,0.035), transparent 58%),
  radial-gradient(800px 800px at 50% 120%, rgba(46,197,107,0.025), transparent 60%);
 z-index:-1;
}
.container{
 max-width:1280px;
 margin:0 auto;
 padding:24px;
}
/* Landing is a full-bleed page, not an inset app card: the black banner and
   white ground reach the true browser edges (top + left/right). */
#home{
 width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
 margin-top:-24px; border:0; border-radius:0 !important; box-shadow:none;
}

/* ─── Top navigation bar ────────────────────────────────── */
.topNav{
 position:sticky; top:0; z-index:40;
 background:rgba(15,31,23,0.95);
 backdrop-filter:saturate(180%) blur(10px);
 -webkit-backdrop-filter:saturate(180%) blur(10px);
 border-bottom:1px solid rgba(255,255,255,0.08);
}
.navInner{
 max-width:1280px; margin:0 auto;
 height:64px; padding:0 24px;
 display:flex; align-items:center; gap:18px;
}
.navLogo{ display:flex; align-items:center; gap:8px; flex:0 0 auto; cursor:pointer; }
.navLogoText{ font-family:'Inter',sans-serif; font-size:18px; font-weight:700; letter-spacing:-0.4px; color:#ffffff; line-height:1; }
.navLinks{ display:flex; align-items:center; gap:2px; margin-left:14px; }
.navLink{
 padding:8px 14px; border-radius:10px;
 font-size:14px; font-weight:700; color:rgba(255,255,255,0.72);
 text-decoration:none; cursor:pointer; white-space:nowrap;
 transition:color .15s ease, background .15s ease;
}
.navLink:hover{ color:#ffffff; background:rgba(255,255,255,0.08); }
.navLink.active{ color:#2EC56B; background:rgba(46,197,107,0.12); }
.navActions{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.navDate{ font-size:12px; font-weight:700; color:rgba(255,255,255,0.55); white-space:nowrap; }
.navMenuBtn{
 display:inline-flex; align-items:center; gap:9px;
 padding:9px 14px; border-radius:11px;
 border:1px solid rgba(255,255,255,0.18); background:transparent;
 font-size:13px; font-weight:800; color:#ffffff; cursor:pointer;
 transition:border-color .15s ease, background .15s ease;
}
.navMenuBtn:hover{ border-color:rgba(255,255,255,0.4); background:rgba(255,255,255,0.06); }
.navCta{
 display:inline-flex; align-items:center; gap:8px;
 padding:10px 16px; border-radius:11px;
 background:var(--accent); color:#0F1F17;
 font-size:13px; font-weight:900; cursor:pointer; border:none;
 white-space:nowrap;
 transition:transform .15s ease, box-shadow .15s ease;
}
.navCta:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(46,197,107,0.30); }
.burger{ width:16px; height:12px; position:relative; }
.burger span{
 position:absolute; left:0; right:0;
 height:2px; background:rgba(255,255,255,0.9); border-radius:99px;
}
.burger span:nth-child(1){ top:0; }
.burger span:nth-child(2){ top:5px; }
.burger span:nth-child(3){ top:10px; }

/* Hide top nav + bottom tabs on pre-auth screens */
.preAuth .topNav{ display:none !important; }
.preAuth .tabBar{ display:none !important; }
.activeWorkflow .topNav,
.activeWorkflow .tabBar,
.activeWorkflow .sidebar{ display:none !important; }

/* Collapse inline links on narrow screens (drawer + tab bar take over) */
@media(max-width:880px){
 .navLinks{ display:none; }
 .navDate{ display:none; }
}

/* ─── Cards / screens ───────────────────────────────────── */
.card{
 margin-top:20px; background:var(--card);
 border:1px solid rgba(0,0,0,0.06);
 padding:38px; border-radius:22px;
 box-shadow:0 10px 30px rgba(0,0,0,0.05);
 text-align:center;
}
/* Auth screens (sign-in / create-account / reset / setup) fill the whole
   viewport instead of floating as a rounded card: full-bleed page, the black
   banner flush to the true top + side edges, then a split body — the form on
   the left, a branded panel on the right (desktop only). */
.authFull{
 width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
 margin-top:-24px; min-height:calc(100vh - 24px);
 border:0; border-radius:0 !important; box-shadow:none; overflow:visible !important;
 padding:0 !important; text-align:left;
 display:flex; flex-direction:column; background:var(--card);
}
.authBanner{ flex:none; background:#0F1F17; padding:17px 24px; text-align:center; }
.authBanner img{ height:26px; display:inline-block; vertical-align:middle; }
.authSplit{ flex:1 0 auto; display:flex; align-items:stretch; }
.authFormPane{ flex:1 1 50%; display:flex; flex-direction:column; justify-content:safe center; align-items:center; padding:48px 32px; }
.authFormInner{ width:100%; max-width:400px; text-align:center; }
.authBrandPane{ flex:1 1 45%; background:linear-gradient(160deg,#1E9E54,#0F1F17 96%); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:20px; padding:56px 48px; }
.authBrandPane img{ height:34px; }
.authBrandPane .brandTag{ font-family:var(--rn-font-ui, "Inter"), sans-serif; font-size:30px; font-weight:600; line-height:1.2; letter-spacing:-.3px; margin:0; max-width:360px; }
.authBrandPane .brandSub{ font-size:14.5px; font-weight:700; color:rgba(255,255,255,.82); margin:0; max-width:330px; line-height:1.55; }
@media (max-width:860px){
 .authBrandPane{ display:none; }
 .authFormPane{ flex-basis:100%; padding:40px 24px; }
}
h1{ margin:0 0 14px 0; font-family:var(--rn-font-ui, "Inter"), sans-serif; font-size:28px; font-weight:600; letter-spacing:-0.3px; }
.subtitle{ font-size:17px; font-weight:700; color:var(--muted); margin-bottom:20px; line-height:1.45; }
.bodyText{ font-size:15px; color:var(--muted); max-width:760px; margin:0 auto 18px auto; line-height:1.65; }
.legalBody{ max-width:720px; margin:0 auto; font-size:14.5px; line-height:1.7; }
.legalBody h3{ font-size:16px; font-weight:900; margin:22px 0 6px; color:var(--void); }
.legalBody p{ margin:0 0 10px; color:var(--muted); font-weight:600; }
.legalBody b{ color:var(--text); font-weight:800; }

/* ─── Inputs ────────────────────────────────────────────── */
input, select, textarea{
 width:100%; max-width:520px; padding:14px; margin:10px auto;
 display:block; border-radius:14px; border:1px solid var(--line);
 font-size:14px; background:var(--card); color:var(--text); transition:all .15s ease; outline:none;
}
textarea{ min-height:110px; resize:vertical; }
input:focus, select:focus, textarea:focus{
 border-color:var(--accent);
 box-shadow:0 0 0 3px var(--accentSoft);
}

/* ─── Buttons ───────────────────────────────────────────── */
.btn{
 border:none; border-radius:var(--radius); padding:9px 18px;
 font-size:12px; font-weight:500; letter-spacing:0.3px;
 cursor:pointer; margin-top:14px;
 transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
 display:inline-flex; align-items:center; justify-content:center;
 gap:8px; text-decoration:none; user-select:none;
}
.btnPrimary{
 background:var(--accentBg);
 color:#0F1F17; box-shadow:none;
}
.btnPrimary:hover{ background:var(--accentDeep); }
.btnSecondary{ background:#fff; color:#111; border:0.5px solid var(--line); }
.btnSecondary:hover{ border-color:rgba(0,0,0,0.28); }
.btnDanger{ background:rgba(239,68,68,0.1); color:#7f1d1d; border:0.5px solid rgba(239,68,68,0.28); }
.btnRow{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
.hidden{ display:none !important; }

/* ─── Drawer (desktop/tablet) ───────────────────────────── */
.backdrop{
  position:fixed; inset:0; background:rgba(17,17,17,0.35);
  opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:110;
}
.drawer{
  position:fixed; top:0; left:0; height:100%; height:100dvh; width:272px;
  background:#ffffff; border-right:1px solid var(--line);
  transform:translateX(-100%); transition:transform .22s ease; z-index:120;
  padding:16px 10px calc(28px + env(safe-area-inset-bottom,0px)); box-shadow:10px 0 30px rgba(0,0,0,0.08);
  overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  display:flex; flex-direction:column; gap:2px;
}
/* When the menu is open: lock the page behind it (no more "movable" feeling)
   and hide the bottom tab bar so the last items (Profile / Give Feedback) are
   reachable instead of hidden under it. */
body.menuOpen{ overflow:hidden; position:fixed; width:100%; left:0; right:0; }
body.menuOpen .tabBar{ display:none !important; }
.drawer{ touch-action:pan-y; overflow-x:hidden; }
.drawerHeader{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:10px; padding:0 6px;
}
.drawerTitle{ font-family:'Inter',sans-serif; font-weight:700; letter-spacing:-0.5px; font-size:14px; color:#0F1F17; }
.closeBtn{
  width:34px; height:34px; border-radius:10px;
  border:1px solid var(--line); background:#fff; cursor:pointer;
  font-weight:900; font-size:14px;
}
.drawerItem{
  display:flex; align-items:center; gap:10px;
  text-decoration:none; color:var(--text);
  padding:10px 10px; border-radius:12px;
  font-weight:800; font-size:14px;
  transition:background .12s ease;
  border:1px solid transparent;
}
.drawerItem:hover{
  background:rgba(46,197,107,0.08);
  border-color:rgba(46,197,107,0.12);
}
.drawerItemSecondary{ color:var(--muted); font-size:13px; font-weight:700; }
.drawerItem .sbSoon{ margin-left:auto; }
/* Collapsible drawer groups (arrows), mirroring the desktop sidebar. */
.drawerGroupHead{ width:100%; background:none; border:none; cursor:pointer; font-family:inherit;
 display:flex; align-items:center; justify-content:space-between; gap:8px;
 padding:12px 12px 6px; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.drawerGroupHead:hover{ color:var(--text); }
.drawerCaret{ width:12px; height:12px; transition:transform .18s ease; opacity:.65; flex-shrink:0; }
.drawerGroupWrap.collapsed .drawerCaret{ transform:rotate(-90deg); }
.drawerGroupWrap.collapsed .drawerGroupItems{ display:none; }
.drawerGroupItems{ display:flex; flex-direction:column; gap:2px; }
.drawerSignOut{ display:none; align-items:center; justify-content:center; gap:9px; width:calc(100% - 8px);
 margin:16px 4px 4px; padding:12px; border-radius:12px; box-sizing:border-box;
 background:rgba(0,0,0,0.04); border:1px solid var(--line); color:var(--text);
 font-family:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:background .12s ease; }
.drawerSignOut:hover{ background:rgba(0,0,0,0.07); }
.drawerSignOut svg{ width:16px; height:16px; flex-shrink:0; }
.drawerItemIcon{
  width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.menuOpen .backdrop{ opacity:1; pointer-events:auto; }
.menuOpen .drawer{ transform:translateX(0); }

/* ─── Tab bar (mobile only, ≤640px) ────────────────────── */
.tabBar{
  display:none;
  position:fixed; bottom:0; left:0; right:0;
  background:#fff; border-top:1px solid var(--line);
  z-index:100; padding-bottom:env(safe-area-inset-bottom,0px);
}
.tabItem{
  flex:1; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:3px; padding:9px 4px 7px;
  background:none; border:none; cursor:pointer;
  color:var(--muted); font-size:10px; font-weight:900;
  transition:color .15s ease;
}
.tabItem.active{ color:var(--accent); }
.tabItem svg{ transition:transform .15s ease; }
.tabItem.active svg{ transform:scale(1.08); }
.tabItemPrimary.active{ color:var(--accentDeep); }
.moreSheet{ position:fixed; inset:0; z-index:200; }
.moreSheetBackdrop{ position:absolute; inset:0; background:rgba(0,0,0,0.28); }
.moreSheetContent{
  position:absolute; bottom:0; left:0; right:0;
  background:#fff; border-radius:20px 20px 0 0;
  padding:16px 10px calc(20px + env(safe-area-inset-bottom,0px));
  display:flex; flex-direction:column; gap:2px;
  max-height:calc(100vh - 40px); overflow-y:auto; /* scroll if the sheet is tall so no item is cut off */
}
@media(max-width:640px){
  .menuBtn{ display:none !important; }
  .tabBar{ display:flex; }
  /* Extra clearance so the last content never hides behind the fixed tab bar,
     including iOS Safari's dynamic address bar / home indicator. */
  .container{ padding-bottom:calc(104px + env(safe-area-inset-bottom,0px)); }
}
/* ── Mobile polish (≤640px): zoom-jank, safe-area, sticky chrome ── */
@media(max-width:640px){
  /* Kill iOS zoom-jank: every field renders at ≥16px on phones */
  input, select, textarea{ font-size:16px !important; }
  /* Compact the top nav so it never overflows; the bottom "Session" tab carries Start Session */
  .navInner{ padding:0 calc(14px + env(safe-area-inset-right,0px)) 0 calc(14px + env(safe-area-inset-left,0px)); gap:12px; }
  .navCta{ display:none; }
  /* Landing entry cards stack instead of cramming three across */
  .authEntryGrid{ grid-template-columns:1fr !important; max-width:420px !important; }
  /* Toast + demo countdown ride above the bottom tab bar (never overlap it) */
  .toast{ bottom:auto; }
  #demoTimer{ bottom:calc(72px + env(safe-area-inset-bottom,0px)) !important; right:12px !important; }
  /* Bottom tab bar respects notch side insets in landscape */
  .tabBar{ padding-left:env(safe-area-inset-left,0px); padding-right:env(safe-area-inset-right,0px); }
  /* Demo banner clears the status bar / notch */
  #demoBanner{ padding-top:calc(10px + env(safe-area-inset-top,0px)) !important; }
  /* Thumb-friendly close targets */
  .closeBtn{ width:44px; height:44px; }
  .custX{ min-width:44px; min-height:44px; }
}
/* Touch devices: a real press state instead of a lingering hover-lift */
@media(hover:none){
  [onclick]:active{ opacity:.9; }
}
@media(min-width:641px){
  .tabBar{ display:none !important; }
  .moreSheet{ display:none !important; }
}

/* ─── Badges ────────────────────────────────────────────── */
.badgePro{
 display:inline-block; margin-left:8px; font-size:11px; font-weight:900;
 color:#0F1F17; background:rgba(46,197,107,0.25);
 border:1px solid rgba(46,197,107,0.25); padding:3px 8px; border-radius:999px;
}
/* Paying users already own these — never show them a "PRO" lock tag. */
body.planPaid .badgePro{ display:none; }
.badgeElite{
 display:inline-block; margin-left:8px; font-size:11px; font-weight:900;
 color:#0b2a1f; background:rgba(16,185,129,0.18);
 border:1px solid rgba(16,185,129,0.22); padding:3px 8px; border-radius:999px;
}

/* ─── Pills ─────────────────────────────────────────────── */
.pillRow{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:6px 0 14px 0; }
.pill{
 font-size:12px; font-weight:900; padding:8px 12px;
 border-radius:999px; border:1px solid rgba(0,0,0,0.08);
 background:rgba(255,255,255,0.9); display:flex; align-items:center; gap:8px;
}
.pillAccent{ border-color:rgba(46,197,107,0.25); background:rgba(46,197,107,0.10); color:#0F1F17; }
.pillWarn{ border-color:rgba(245,158,11,0.28); background:rgba(245,158,11,0.12); color:#7c4a00; }
.pillGood{ border-color:rgba(16,185,129,0.28); background:rgba(16,185,129,0.12); color:#064e3b; }

/* ─── Standardized feature-status labels (Early Access truth-in-labeling) ─── */
.statusPill{
 display:inline-flex; align-items:center; gap:6px; vertical-align:middle;
 font-size:11px; font-weight:800; letter-spacing:0.2px; text-transform:uppercase;
 padding:3px 9px; border-radius:999px; border:1px solid transparent; line-height:1.4;
}
.statusPill::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:0.85; }
.statusPill.available{ color:#064e3b; background:rgba(16,185,129,0.12); border-color:rgba(16,185,129,0.28); }
.statusPill.preview{   color:#0F1F17; background:rgba(46,197,107,0.10); border-color:rgba(46,197,107,0.25); }
.statusPill.dev{       color:#7c4a00; background:rgba(245,158,11,0.12); border-color:rgba(245,158,11,0.28); }
.statusPill.planned{   color:#334155; background:rgba(100,116,139,0.12); border-color:rgba(100,116,139,0.26); }

/* ─── Panels ────────────────────────────────────────────── */
.panel{
 border:1px solid rgba(0,0,0,0.06); border-radius:18px; padding:16px;
 background:var(--card); text-align:left; max-width:860px; margin:0 auto;
 box-shadow:0 4px 16px rgba(15,31,23,0.05);
}
/* Nested panels (a panel inside a card/panel) lift more gently. */
.card .panel, .panel .panel{ box-shadow:0 2px 8px rgba(15,31,23,0.04); }
.panelTitle{ font-weight:900; margin-bottom:6px; letter-spacing:-0.2px; }
.small{ font-size:13px; color:var(--muted); line-height:1.55; }
.sectionTitle{
 text-align:left; max-width:860px; margin:18px auto 10px auto;
 font-weight:900; font-size:16px; letter-spacing:-0.2px;
}

/* ─── Quick session ─────────────────────────────────────── */
.quickSessionWrap{
 max-width:860px; margin:12px auto 0;
 border-radius:24px; border:1px solid rgba(46,197,107,0.25);
 background:linear-gradient(135deg,rgba(30,158,84,0.14),rgba(46,197,107,0.10)),rgba(46,197,107,0.10);
 padding:18px; text-align:left; position:relative; overflow:hidden;
}
.quickSessionWrap::before{
 content:""; position:absolute; width:220px; height:220px; border-radius:50%;
 background:rgba(30,158,84,0.18); top:-90px; right:-90px;
}
.quickSessionWrap::after{
 content:""; position:absolute; width:240px; height:240px; border-radius:50%;
 background:rgba(46,197,107,0.14); bottom:-120px; left:-120px;
}
.quickSessionTop{
 position:relative; z-index:2;
 display:flex; align-items:flex-start; justify-content:space-between;
 gap:10px; flex-wrap:wrap;
}
.qsTitle{ font-weight:900; font-size:16px; letter-spacing:-0.2px; }
.qsSub{ margin-top:4px; font-size:13px; color:rgba(15,31,23,0.9); font-weight:900; max-width:540px; line-height:1.35; }
.qsButtons{
 position:relative; z-index:2;
 display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px;
}
.tileBtn{
 border-radius:var(--radius); border:0.5px solid var(--line);
 background:var(--card); padding:0; text-align:left; overflow:hidden;
 cursor:pointer; font-weight:600;
 transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
 display:flex; flex-direction:column; align-items:stretch;
 gap:0; box-shadow:none;
}
.tileBtn:hover{ box-shadow:0 6px 16px rgba(0,0,0,0.07); }
.tileBtn.tileFree{ border:1.5px solid var(--void); }
.tileHead{
 display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
 padding:16px; min-height:78px;
}
.tHead1{ background:var(--accentSoft); }
.tHead2{ background:rgba(91,124,222,0.13); }
.tHead3{ background:rgba(226,138,90,0.14); }
.tileIcon{
 width:auto; height:auto; border:none; background:none; padding:0;
 display:flex; align-items:center; justify-content:center; color:var(--void); flex:0 0 auto;
}
.tileText{ font-size:14px; font-weight:700; color:var(--void); background:var(--card); padding:13px 16px 15px; }
.tileText .tileSub{
 display:block; margin-top:4px; font-weight:500; font-size:12px;
 color:var(--muted); line-height:1.35;
}
.rightTag{
 display:inline-flex; align-items:center; font-weight:700;
 font-size:10px; letter-spacing:0.6px; padding:0; border:none; background:none;
 color:var(--muted); white-space:nowrap; height:fit-content;
}
.rightTag.tagFree{ color:var(--accentDeep); }

/* ─── Appointments ──────────────────────────────────────── */
.apptList{ max-width:860px; margin:0 auto; display:grid; gap:12px; text-align:left; }
.apptCard{
 background:var(--card); border:1px solid rgba(0,0,0,0.07); border-radius:18px;
 padding:14px 16px; display:flex; justify-content:space-between;
 align-items:flex-start; gap:14px; cursor:pointer;
 transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.apptCard:hover{ transform:translateY(-1px); border-color:rgba(46,197,107,0.30); box-shadow:0 10px 20px rgba(0,0,0,0.06); }
.apptLeft{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.apptName{ font-weight:900; }
.apptMeta{ color:var(--muted); font-size:13px; line-height:1.35; }
.apptRight{ text-align:right; color:var(--muted); font-size:12px; line-height:1.35; white-space:nowrap; }
/* ── Calendar (week on dashboard, month on Appointments) ── */
.calWeek{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:16px; }
.calDay{ display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 2px 7px; border:1px solid rgba(0,0,0,0.08); border-radius:12px; background:var(--card); cursor:pointer; font-family:inherit; transition:border-color .12s ease, background .12s ease; }
.calDay:hover{ border-color:rgba(46,197,107,0.4); }
.calDow{ font-size:10px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; color:var(--muted); }
.calNum{ font-size:15px; font-weight:800; color:var(--text); }
.calDot{ font-size:10px; font-weight:800; color:#06241a; background:var(--accent); border-radius:999px; padding:0 6px; min-width:16px; text-align:center; }
.calDotEmpty{ height:14px; }
.calToday .calNum{ color:var(--accentDeep); }
.calToday{ border-color:var(--accent); }
.calSel{ background:rgba(46,197,107,0.14); border-color:var(--accent); }
.calDayHead{ font-weight:800; font-size:12px; letter-spacing:.4px; text-transform:uppercase; color:var(--muted); margin:4px 0 10px; text-align:left; }
.calNone{ color:var(--muted); font-size:13px; padding:6px 2px; text-align:left; }
.calMonthHead{ display:flex; align-items:center; justify-content:space-between; max-width:560px; margin:0 auto 12px; }
.calMonthTitle{ font-weight:800; font-size:17px; }
.calNav{ width:34px; height:34px; border-radius:10px; border:1px solid rgba(0,0,0,0.10); background:var(--card); cursor:pointer; font-size:18px; line-height:1; color:var(--text); }
.calNav:hover{ border-color:var(--accent); }
.calGridHead,.calGrid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; max-width:560px; margin:0 auto; }
.calDowHead{ text-align:center; font-size:10px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; color:var(--muted); padding-bottom:4px; }
.calCell{ min-height:56px; border:1px solid rgba(0,0,0,0.07); border-radius:10px; background:var(--card); cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:4px; padding:7px 2px; font-family:inherit; transition:border-color .12s ease, background .12s ease; }
.calCell:hover{ border-color:rgba(46,197,107,0.4); }
.calBlank{ border:none; background:transparent; cursor:default; }
.calGrid .calNone{ text-align:center; }
@media(max-width:560px){ .calCell{ min-height:46px; } .calNum{ font-size:13px; } }
.apptDetailGrid{
 max-width:860px; margin:0 auto;
 display:grid; grid-template-columns:1.1fr 0.9fr; gap:12px; text-align:left;
}
.miniCard{ border:1px solid rgba(0,0,0,0.07); border-radius:18px; padding:14px; background:var(--card); }
.miniTitle{ font-weight:900; margin-bottom:6px; }
.miniLine{ font-size:13px; color:var(--muted); line-height:1.55; }
.actionsRow{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }

/* ─── Client profile ────────────────────────────────────── */
.clientHeader{ display:flex; justify-content:center; gap:20px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.avatar{
 width:64px; height:64px; border-radius:50%;
 display:flex; align-items:center; justify-content:center;
 background:rgba(46,197,107,0.12); color:var(--accentDeep);
}
.avatar svg{ width:32px; height:32px; }
.clientName{ font-weight:900; font-size:20px; }
.clientMeta{ font-size:13px; color:var(--muted); }
.clientStats{
 max-width:860px; margin:16px auto 0;
 display:grid; grid-template-columns:repeat(3,1fr); gap:12px; text-align:left;
}
.statCard{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:14px; }
.statLabel{ font-size:12px; color:var(--muted); }
.statValue{ font-weight:900; font-size:18px; margin-top:4px; }
.clientGrid{ max-width:860px; margin:12px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; text-align:left; }
/* Client Profile, consistent width + generous, even spacing */
#clientProfile{ max-width:960px; margin-left:auto; margin-right:auto; padding:40px 44px; }
#clientProfile .clientHeader{ margin:8px 0 28px; justify-content:space-between; }
#clientProfile .clientStats{ max-width:none; margin:0 0 20px; }
#clientProfile .clientGrid{ max-width:none; margin:0 0 20px; gap:20px; }
#clientProfile .clientGrid .panel{ max-width:none; margin:0; height:100%; }
#clientProfile #cpPreconsultPanel{ max-width:none; margin:0 0 20px; }
#clientProfile > .panel{ max-width:none; margin:0 0 24px; }
#clientProfile .btnRow{ margin-top:8px; }
@media(max-width:760px){ #clientProfile{ padding:28px 22px; } #clientProfile .clientGrid{ grid-template-columns:1fr; } }
.chipRow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.chip{
 padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,0.08);
 background:rgba(46,197,107,0.10); font-size:12px; font-weight:900; color:#0F1F17;
}
.noteList{ margin:8px 0 0 18px; padding:0; color:var(--muted); line-height:1.6; }
.historyList{ display:grid; gap:10px; margin-top:10px; }
.historyItem{
 display:flex; justify-content:space-between; gap:14px;
 padding:10px 12px; border:1px solid rgba(0,0,0,0.07); border-radius:14px; background:#fff;
}
.historyLeft{ display:flex; flex-direction:column; gap:2px; }
.historyDate{ font-weight:900; }
.historyService{ color:var(--muted); font-size:13px; }
.historyRight{ text-align:right; color:var(--muted); font-size:12px; white-space:nowrap; }

/* ─── Quiz ──────────────────────────────────────────────── */
.quizWrap{ max-width:860px; margin:0 auto; text-align:left; }
.quizTop{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.progressPill{
 font-size:12px; font-weight:900; padding:8px 12px;
 border-radius:999px; border:1px solid rgba(0,0,0,0.08); background:rgba(255,255,255,0.85);
}
.choiceGrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.choice{
 border:1px solid rgba(0,0,0,0.09); border-radius:16px; padding:12px;
 background:#fff; cursor:pointer;
 transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease;
 font-weight:900;
}
.choice:hover{ transform:translateY(-1px); border-color:rgba(46,197,107,0.30); box-shadow:0 10px 20px rgba(0,0,0,0.06); }
.choice .sub{ display:block; margin-top:6px; font-weight:800; font-size:12px; color:var(--muted); line-height:1.35; }
.choice.selected{ border-color:rgba(46,197,107,0.60); box-shadow:0 0 0 3px rgba(46,197,107,0.16); }
.visualChoice{ min-height:112px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:9px; text-align:left; }
.visualMark{ width:52px; height:52px; border-radius:14px; background:#f4f7f5; display:grid; place-items:center; overflow:hidden; color:var(--accentDeep); }
.visualMark svg{ width:44px; height:44px; display:block; }
.visualChoice.selected .visualMark{ background:rgba(46,197,107,.14); }
.visualLabel{ font-weight:900; line-height:1.1; }
.metricStrip{ display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0; }
.visualMetric{ min-height:120px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start; }
.visualMetricValue{ font-family:var(--display);font-size:34px;line-height:1;color:var(--void); }
.grayRing{ width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-weight:950;background:conic-gradient(var(--accent) calc(var(--gray)*1%),#e7ece9 0);position:relative; }
.grayRing:before{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.grayRing span{position:relative;font-size:12px}
.clientModeWelcome{ min-height:68vh; display:grid; place-items:center; text-align:center; background:radial-gradient(circle at 50% 18%,rgba(46,197,107,.17),transparent 35%); border-radius:24px; padding:30px; }
.clientModeCard{ width:min(620px,100%); }
.clientModeAvatar{ width:112px;height:112px;border-radius:50%;margin:0 auto 16px;background:#0f1f17;color:#fff;display:grid;place-items:center;font:900 36px/1 var(--font);box-shadow:0 18px 44px rgba(0,0,0,.16); }
.clientModeWelcome h1{ font-family:var(--display); font-size:clamp(34px,6vw,64px); line-height:.96; margin:0 0 12px; }
.clientModeFacts{ display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0; }
.clientModeFacts span{ background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850; }
@media(max-width:700px){ .clientModeWelcome{padding:18px}.metricStrip{grid-template-columns:1fr 1fr} }
.levelDot{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; font-size:15px; font-weight:950; border:3px solid rgba(255,255,255,.85); box-shadow:0 0 0 1px rgba(0,0,0,.14); }
.miniVisualGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(88px,1fr)); gap:8px; margin-top:8px; }
.miniVisualChoice{ border:1px solid var(--line); border-radius:12px; background:#fff; padding:9px 7px; min-height:76px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; cursor:pointer; font-size:11px; font-weight:850; text-align:center; }
.miniVisualChoice.selected{ border-color:var(--accent); background:rgba(46,197,107,.08); box-shadow:0 0 0 2px rgba(46,197,107,.12); }
.miniVisualChoice .visualMark{ width:38px; height:32px; border-radius:8px; }
.miniVisualChoice .visualMark svg{ width:34px; height:28px; }
.maintenanceDots{ display:flex; gap:5px; align-items:center; height:38px; }
.maintenanceDots i{ width:13px; height:13px; border-radius:50%; background:var(--accent); display:block; }
.maintenanceDots i.off{ background:#dfe5e1; }
.zoneMap{ display:flex; width:64px; height:52px; border-radius:50% 50% 42% 42%; overflow:hidden; border:2px solid #16201b; transform:rotate(-2deg); }
.zoneMap span{ flex:1; border-right:1px solid rgba(0,0,0,.25); background:#dce5df; }
.zoneMap span:nth-child(2){ background:#a9c7b4; }.zoneMap span:nth-child(3){ background:#4b7e62;border:0; }
.visualLegend{ margin-top:8px; font-size:11px; color:var(--muted); line-height:1.35; }
.hint{
 display:inline-flex; align-items:flex-start; gap:10px; margin-top:10px;
 font-size:13px; color:rgba(15,31,23,0.9); background:rgba(46,197,107,0.12);
 border:1px solid rgba(46,197,107,0.15); border-radius:16px; padding:12px; line-height:1.45;
}
.infoDot{
 width:24px; height:24px; border-radius:50%; background:rgba(15,31,23,0.12);
 border:1px solid rgba(15,31,23,0.18); display:flex; align-items:center; justify-content:center;
 font-weight:900; flex:0 0 auto;
}
.groupBlock{ margin-top:14px; padding-top:14px; border-top:1px solid rgba(0,0,0,0.06); }
.groupBlock:first-of-type{ margin-top:10px; padding-top:0; border-top:none; }
.groupLabel{ font-size:13px; font-weight:900; color:var(--void); margin-bottom:6px; }

/* ─── Summary ───────────────────────────────────────────── */
.summaryWrap{ max-width:860px; margin:0 auto; text-align:left; }
.summaryHero{
 border:1px solid rgba(46,197,107,0.15);
 background:linear-gradient(135deg,rgba(46,197,107,0.12),rgba(30,158,84,0.08));
 border-radius:20px; padding:16px; margin-bottom:12px;
}
.summaryHeroTitle{ font-weight:900; font-size:16px; letter-spacing:-0.2px; color:var(--void); }
.summaryHeroSub{ margin-top:6px; color:var(--muted); font-size:13px; line-height:1.5; font-weight:800; }
.summaryGrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.summaryCard{
 border:1px solid rgba(0,0,0,0.07); background:#fff;
 border-radius:18px; padding:14px; box-shadow:0 10px 24px rgba(0,0,0,0.04);
}
.summaryCardTitle{ font-weight:900; font-size:14px; margin-bottom:8px; letter-spacing:-0.2px; }
.summaryLine{ font-size:13px; color:var(--muted); line-height:1.55; margin-top:4px; }
.optionList{ display:grid; gap:10px; margin-top:10px; }
.optionCard{ border:1px solid rgba(46,197,107,0.10); border-radius:16px; padding:12px; background:rgba(46,197,107,0.08); }
.optionTitle{ font-size:13px; font-weight:900; color:var(--void); margin-bottom:4px; }
.optionText{ font-size:13px; color:var(--muted); line-height:1.5; font-weight:800; }
.decisionGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:10px; }
.decisionCard{ min-height:82px; border:1.5px solid var(--line); border-radius:15px; background:#fff; padding:12px; text-align:left; cursor:pointer; font:inherit; color:var(--void); }
.decisionCard:hover{ border-color:rgba(46,197,107,.48); }
.decisionCard.selected{ border-color:var(--accentDeep); background:rgba(46,197,107,.09); box-shadow:0 0 0 2px rgba(46,197,107,.12); }
.decisionCardTitle{ display:block; font-size:13px; font-weight:950; line-height:1.2; }
.decisionCardHint{ display:block; margin-top:5px; color:var(--muted); font-size:11px; font-weight:750; line-height:1.3; }
.decisionCard.selected .decisionCardTitle:before{ content:"✓ "; color:var(--accentDeep); }
.servicePlanGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.servicePlanCard{ display:flex; flex-direction:column; min-height:210px; border:1.5px solid var(--line); border-radius:17px; padding:14px; background:#fff; }
.servicePlanCard.selected{ border-color:var(--accentDeep); background:rgba(46,197,107,.07); box-shadow:0 0 0 2px rgba(46,197,107,.11); }
.servicePlanNumber{ width:28px; height:28px; border-radius:9px; display:grid; place-items:center; background:#edf3ef; color:var(--accentDeep); font-size:12px; font-weight:950; margin-bottom:10px; }
.servicePlanCard.selected .servicePlanNumber{ background:var(--accentDeep); color:#fff; }
.servicePlanTitle{ font-size:15px; font-weight:950; letter-spacing:-.2px; }
.servicePlanFact{ margin-top:10px; font-size:12px; line-height:1.4; color:var(--muted); }
.servicePlanFact b{ display:block; margin-bottom:2px; color:var(--void); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.servicePlanCard .btn{ width:100%; margin-top:auto !important; min-height:42px; }
.completionGate{ border:1.5px solid var(--line); border-radius:18px; background:#f8faf9; padding:14px; margin:14px 0 4px; }
.completionGate.ready{ border-color:rgba(46,197,107,.55); background:rgba(46,197,107,.07); }
.completionGateTop{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.completionItems{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:11px; }
.completionItem{ display:flex; gap:7px; align-items:flex-start; border:1px solid var(--line); border-radius:12px; background:#fff; padding:9px; color:var(--muted); font-size:11px; font-weight:800; line-height:1.3; }
.completionItem.done{ color:var(--void); border-color:rgba(46,197,107,.30); }
.completionMark{ width:19px; height:19px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:#eef1ef; font-size:10px; font-weight:950; }
.completionItem.done .completionMark{ background:var(--accentDeep); color:#fff; }
.formulaBrief{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0 4px; }
.formulaBriefCard{ min-height:72px; border:1px solid var(--line); border-radius:14px; padding:11px; background:#fff; }
.formulaBriefLabel{ color:var(--muted); font-size:9px; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.formulaBriefValue{ margin-top:5px; color:var(--void); font-size:13px; font-weight:950; line-height:1.25; }
.formulaActionGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.formulaActionCard{ border:1px solid var(--line); border-radius:16px; padding:13px; background:#fff; min-height:104px; }
.formulaActionCard b{ display:block; margin-top:5px; font-size:14px; line-height:1.25; }
.formulaActionCard .small{ margin-top:5px; }

/* ─── Pricing ───────────────────────────────────────────── */
.pricingWrap{ max-width:1000px; margin:0 auto; text-align:left; }
/* Desktop: three plans side by side (horizontal). Stacks on narrow screens. */
.pricingGrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:16px; align-items:stretch; }
.planCard{
 border:1.5px solid rgba(0,0,0,0.08); border-radius:22px; background:#fff; padding:26px 22px;
 display:flex; flex-direction:column; gap:16px;
}
.planTop{ display:flex; flex-direction:column; gap:3px; margin-bottom:0; }
.planName{ font-weight:900; font-size:18px; display:flex; align-items:center; gap:8px; }
.planPrice{ font-weight:900; font-size:27px; letter-spacing:-.6px; line-height:1; }
.planPrice small{ font-size:13px; font-weight:800; opacity:.65; letter-spacing:0; }
.planDesc{ font-size:12.5px; color:var(--muted); font-weight:700; line-height:1.4; margin-top:2px; }
.featureList{ list-style:none; padding:0; margin:0; display:grid; gap:10px; flex:1; }
.feat{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); line-height:1.4; font-weight:600; }
.mark{
 width:18px; height:18px; border-radius:50%;
 display:flex; align-items:center; justify-content:center;
 font-weight:900; font-size:11px; border:1px solid rgba(0,0,0,0.10);
 background:rgba(255,255,255,0.9); flex:0 0 auto; margin-top:1px;
}
.mark.yes{ color:#064e3b; background:rgba(16,185,129,0.14); border-color:rgba(16,185,129,0.22); }
.mark.no{ color:#7f1d1d; background:rgba(239,68,68,0.10); border-color:rgba(239,68,68,0.22); }
.planCta{ margin-top:auto; padding:12px 16px; border-radius:12px; font-weight:800; font-size:14px; text-align:center; cursor:pointer; border:none; width:100%; box-sizing:border-box; letter-spacing:-.2px; transition:transform .12s ease,box-shadow .12s ease,background .15s ease; }
.planCta:hover{ transform:translateY(-1px); }
/* Free — plain white card */
.planFree .planCta{ background:rgba(15,31,23,0.06); color:var(--text); }
.planFree .planCta:hover{ background:rgba(15,31,23,0.10); }
/* Pro — DARK card, the recommended tier (matches the homepage entry cards) */
.planPro{ background:#0F1F17; border-color:rgba(15,31,23,0.9); color:#fff; box-shadow:0 16px 34px rgba(15,31,23,0.24); position:relative; }
.planPro .planName, .planPro .planPrice{ color:#fff; }
.planPro .planDesc{ color:rgba(255,255,255,0.66); }
.planPro .feat{ color:rgba(255,255,255,0.80); }
.planPro .mark.yes{ color:#0F1F17; background:#2EC56B; border-color:transparent; }
.planPro .mark.no{ color:#fff; background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.22); }
.planPro .planCta{ background:#2EC56B; color:#0F1F17; }
.planPro .planCta:hover{ background:#33d275; }
/* Elite — GREEN card */
.planElite{ background:#2EC56B; border-color:rgba(30,158,84,0.9); color:#0F1F17; box-shadow:0 16px 34px rgba(46,197,107,0.28); }
.planElite .planName, .planElite .planPrice{ color:#0F1F17; }
.planElite .planDesc{ color:rgba(15,31,23,0.72); }
.planElite .feat{ color:rgba(15,31,23,0.82); }
.planElite .mark.yes{ color:#2EC56B; background:#0F1F17; border-color:transparent; }
.planElite .planCta{ background:#0F1F17; color:#fff; }
.planElite .planCta:hover{ background:#1b3527; }
.planTag{ position:absolute; top:14px; right:14px; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:#0F1F17; background:#2EC56B; padding:4px 9px; border-radius:999px; }
@media(max-width:760px){ .pricingGrid{ grid-template-columns:1fr; } }

/* ─── Toast ─────────────────────────────────────────────── */
.toast{
 position:fixed; left:50%; top:70px; bottom:auto; transform:translateX(-50%) translateY(-14px) scale(.98);
 display:flex; align-items:center; gap:13px;
 background:#fff; color:#0F1F17; border:1px solid rgba(15,31,23,0.10);
 padding:15px 48px 15px 17px;
 border-radius:16px; font-weight:800; font-size:14.5px; line-height:1.4;
 box-shadow:0 18px 44px rgba(15,31,23,0.20), 0 2px 10px rgba(15,31,23,0.08);
 opacity:0; pointer-events:none;
 transition:opacity .2s ease, transform .24s cubic-bezier(.2,.9,.3,1.2);
 z-index:1300; width:max-content; max-width:min(92vw,440px); text-align:left;
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); pointer-events:auto; }
.toastIcon{ flex:none; width:34px; height:34px; border-radius:50%; display:flex;
 align-items:center; justify-content:center; font-size:18px; font-weight:900;
 background:rgba(46,197,107,0.15); color:var(--accentDeep); }
.toastMsg{ flex:1; min-width:0; }
.toast.err{ border-color:rgba(224,49,49,0.28); }
.toast.err .toastMsg{ color:var(--danger); }
.toast.err .toastIcon{ background:rgba(224,49,49,0.12); color:var(--danger); }
.toastX{ position:absolute; top:9px; right:10px; background:none; border:none; color:var(--muted);
 font-size:15px; font-weight:900; line-height:1; cursor:pointer; padding:6px 9px; border-radius:9px; opacity:.7; }
.toastX:hover{ opacity:1; background:rgba(15,31,23,0.07); }

/* ─── Modal ─────────────────────────────────────────────── */
.modalBack{
 position:fixed; inset:0; background:rgba(17,17,17,0.45);
 display:none; align-items:center; justify-content:center;
 z-index:1200; padding:18px; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.modal{
 width:100%; max-width:480px; background:var(--card); border-radius:20px;
 border:1px solid var(--line); box-shadow:0 18px 50px rgba(0,0,0,0.20);
 padding:22px; text-align:left;
 /* Never let a tall pop-up get clipped: cap its height and scroll inside so the
    bottom (buttons/links) is always reachable on small/mobile screens. */
 max-height:calc(100dvh - 36px); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
.modalTitle{ font-family:'Inter',sans-serif; font-weight:700; font-size:19px; margin-bottom:8px; letter-spacing:-0.2px; color:var(--void); }
.bullets{ margin:10px 0 0 18px; color:var(--muted); line-height:1.55; font-size:13px; font-weight:700; }
.modalBtns{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; justify-content:flex-start; }

/* ─── Business cards ────────────────────────────────────── */
.bizWrap{
 max-width:860px; margin:12px auto 0; text-align:left;
 border-radius:24px; border:1px solid rgba(0,0,0,0.08);
 background:#fff; overflow:hidden; box-shadow:0 12px 28px rgba(0,0,0,0.06);
}
.bizTop{
 padding:16px 16px 14px;
 background:linear-gradient(135deg,rgba(30,158,84,0.14),rgba(46,197,107,0.10),rgba(46,197,107,0.10));
 border-bottom:1px solid rgba(0,0,0,0.06); position:relative; overflow:hidden;
}
.bizTop::before{
 content:""; position:absolute; width:260px; height:260px; border-radius:50%;
 background:rgba(46,197,107,0.12); top:-150px; right:-120px;
}
.bizTitle{ position:relative; z-index:1; font-weight:900; font-size:16px; letter-spacing:-0.2px; }
.bizSub{ position:relative; z-index:1; margin-top:6px; color:rgba(15,31,23,0.9); font-weight:900; font-size:13px; line-height:1.35; max-width:680px; }
.bizGrid{ padding:14px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.bizCard{
 border-radius:20px; border:1px solid rgba(0,0,0,0.08);
 background:rgba(255,255,255,0.98); padding:14px; cursor:pointer;
 transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
 display:flex; flex-direction:column; gap:8px; min-height:120px; position:relative;
}
.bizCard:hover{ transform:translateY(-1px); box-shadow:0 12px 24px rgba(0,0,0,0.08); border-color:rgba(46,197,107,0.26); }
.bizBadge{
 position:absolute; top:12px; right:12px; font-size:11px; font-weight:900;
 padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,0.08);
 background:rgba(255,255,255,0.8);
}
.bizBadge.elite{ border-color:rgba(16,185,129,0.26); background:rgba(16,185,129,0.10); color:#064e3b; }
.bizBadge.locked{ border-color:rgba(239,68,68,0.20); background:rgba(239,68,68,0.08); color:#7f1d1d; }
.bizIcon{
 width:44px; height:44px; border-radius:16px;
 display:flex; align-items:center; justify-content:center;
 font-weight:900; border:1px solid rgba(0,0,0,0.06);
}
.bgTeal{ background:rgba(30,158,84,0.16); color:#065f46; }
.bgPeach{ background:rgba(46,197,107,0.16); color:#0F6E56; }
.bgPurple{ background:rgba(46,197,107,0.15); color:#0F1F17; }
.bizName{ font-weight:900; letter-spacing:-0.2px; }
.bizText{ font-size:12px; color:var(--muted); font-weight:800; line-height:1.35; }

/* ─── Calculators ───────────────────────────────────────── */
.calcGrid{ max-width:860px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; text-align:left; }
.calcBox{ border-radius:22px; border:1px solid rgba(0,0,0,0.08); background:#fff; padding:16px; box-shadow:0 10px 24px rgba(0,0,0,0.06); }
.calcHeader{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:6px; }
.calcTitle{ font-weight:900; letter-spacing:-0.2px; }
.pillInfo{
 display:inline-flex; align-items:center; gap:8px;
 border-radius:999px; border:1px solid rgba(0,0,0,0.08);
 background:rgba(255,255,255,0.85); padding:6px 10px;
 font-weight:900; font-size:11px; color:rgba(17,17,17,0.75);
}
.calcOut{
 margin-top:10px; border-radius:16px; border:1px solid rgba(46,197,107,0.15);
 background:rgba(46,197,107,0.10); padding:12px; font-weight:900;
 color:rgba(15,31,23,0.95); line-height:1.45; font-size:13px;
}

/* ─── Inline form rows (calculators) ───────────────────── */
.inlineFormRow{
 display:grid;
 grid-template-columns:170px minmax(120px,1fr) 110px;
 gap:12px; align-items:center; margin:10px 0;
}
.inlineFormRow input,
.inlineFormRow select{ max-width:none; margin:0; }
.inlineLabel{ font-size:13px; font-weight:900; color:var(--void); }
.inlineSuffix,.inlineYearly{ font-size:12px; font-weight:900; color:var(--muted); white-space:nowrap; }
.inlineYearly{ color:rgba(15,31,23,0.9); }

/* ─── Feedback ──────────────────────────────────────────── */
.feedbackQuestion{
 border:1px solid rgba(0,0,0,0.06); border-radius:16px;
 padding:14px; margin-top:12px; background:#fff;
}
.feedbackQuestion.error{
 border:2px solid rgba(239,68,68,0.7);
 box-shadow:0 0 0 3px rgba(239,68,68,0.08);
}
.feedbackErrorText{ color:#b91c1c; font-weight:900; margin-top:10px; }

/* ─── Responsive ────────────────────────────────────────── */
@media(max-width:980px){ .bizGrid{ grid-template-columns:1fr 1fr; } }
@media(max-width:820px){
 .homeCardGrid{ grid-template-columns:1fr !important; }
 .qsButtons{ grid-template-columns:1fr 1fr; }
 .apptDetailGrid{ grid-template-columns:1fr; }
 .clientStats{ grid-template-columns:1fr; }
 .clientGrid{ grid-template-columns:1fr; }
 .choiceGrid{ grid-template-columns:1fr 1fr; }
 .summaryGrid{ grid-template-columns:1fr; }
 .decisionGrid,.servicePlanGrid{ grid-template-columns:1fr 1fr; }
 .completionItems,.formulaBrief,.formulaActionGrid{ grid-template-columns:1fr 1fr; }
 .planCard{ grid-template-columns:1fr; }
 .calcGrid{ grid-template-columns:1fr; }
 .inlineFormRow{ grid-template-columns:1fr; gap:8px; }
}
@media(max-width:520px){
 .qsButtons{ grid-template-columns:1fr; }
 .choiceGrid{ grid-template-columns:1fr; }
 .choiceGrid:has(.visualChoice){ grid-template-columns:1fr 1fr; }
 .decisionGrid,.servicePlanGrid,.completionItems,.formulaBrief,.formulaActionGrid{ grid-template-columns:1fr; }
 .visualChoice{ min-height:104px; }
 .bizGrid{ grid-template-columns:1fr; }
 .card{ padding:24px; }
 h1{ font-size:28px; }
}

/* ─── Dashboard (mockup-style layout) ───────────────────── */
#dashboard{ text-align:left; padding:26px 26px 32px; }
.dashHeader{
 display:flex; align-items:flex-start; justify-content:space-between;
 gap:16px; flex-wrap:wrap; margin-bottom:18px;
}
.dashGreeting{
 font-family:'Inter',sans-serif;
 font-size:clamp(26px,3.4vw,38px); font-weight:800;
 letter-spacing:-0.5px; margin:0; line-height:1.05; color:var(--void);
}
.dashSubline{ margin-top:6px; font-size:13px; font-weight:700; color:var(--muted); }
.dashHeaderPills{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

.dashStats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px; }
.statBox{
 border:1px solid var(--line); border-radius:18px; padding:16px;
 background:#fff; box-shadow:0 8px 22px rgba(0,0,0,0.04);
}
.statBoxLabel{ font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.statBoxValue{
 font-family:'Inter',sans-serif; font-size:26px; font-weight:800;
 color:var(--void); margin-top:6px; letter-spacing:-0.5px; line-height:1.1;
}
.statTrend{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--accentDeep); }
.statBoxSub{ font-size:12px; font-weight:700; color:var(--muted); margin-top:4px; }
.statBoxDark{ background:linear-gradient(135deg,#0F1F17,#1a1d28); border-color:transparent; }
.statBoxDark .statBoxLabel{ color:rgba(255,255,255,0.55); }
.statBoxDark .statBoxValue{ color:#fff; }
.statBoxDark .statBoxSub{ color:rgba(255,255,255,0.65); }
.targetBar{ height:6px; border-radius:999px; background:rgba(255,255,255,0.16); margin:10px 0 8px; overflow:hidden; }
.targetBar span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--flow),var(--accent)); }
.statBoxFlag{ background:rgba(239,68,68,0.06); border-color:rgba(239,68,68,0.18); }
.flagTop{ font-size:11px; font-weight:900; color:var(--danger); display:flex; align-items:center; gap:6px; letter-spacing:.04em; }
.flagTitle{ font-weight:900; margin-top:6px; color:var(--void); font-size:15px; }
.flagSub{ font-size:12px; font-weight:700; color:var(--muted); margin-top:3px; line-height:1.4; }

.dashGrid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:16px; align-items:start; }
.dashCol .quickSessionWrap{ margin-top:0; background:var(--card); border-color:var(--line); box-shadow:0 8px 22px rgba(0,0,0,0.04); }
.dashCol .quickSessionWrap::before,
.dashCol .quickSessionWrap::after{ display:none; }
.dashCol .qsButtons{ grid-template-columns:1fr; gap:10px; margin-top:0; }
.dashCol .tileBtn{ min-height:0; padding:12px 14px; align-items:center; box-shadow:0 4px 12px rgba(0,0,0,0.04); }
@media(max-width:820px){
 .dashStats{ grid-template-columns:1fr; }
 .dashGrid{ grid-template-columns:1fr; }
}

/* ─── Empty states ──────────────────────────────────────── */
.emptyState{
 border:1px dashed rgba(0,0,0,0.14); border-radius:20px;
 padding:34px 24px; text-align:center; background:#fff;
}
.emptyTitle{
 font-family:'Inter',sans-serif; font-size:22px; font-weight:700;
 color:var(--void); letter-spacing:-0.4px; margin-bottom:6px;
}
.emptyLine{ font-size:14px; color:var(--muted); font-weight:600; max-width:440px; margin:0 auto 16px; line-height:1.5; }
.emptyActions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.muteLine{ font-size:13px; color:var(--muted); font-weight:600; }

/* ─── Onboarding checklist ──────────────────────────────── */
.onboard{
 border:1px solid rgba(46,197,107,0.22); border-radius:20px;
 background:linear-gradient(135deg,rgba(46,197,107,0.07),rgba(30,158,84,0.04));
 padding:18px; margin-bottom:20px;
}
.onboardHead{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; flex-wrap:wrap; }
.onboardTitle{ font-family:'Inter',sans-serif; font-size:19px; font-weight:700; color:var(--void); letter-spacing:-0.3px; }
.onboardProg{ font-size:12px; font-weight:800; color:var(--accentDeep); background:rgba(46,197,107,0.12); border:1px solid rgba(46,197,107,0.22); padding:5px 10px; border-radius:999px; }
.onboardItem{
 display:flex; align-items:center; gap:12px; padding:12px 14px;
 border-radius:14px; border:1px solid var(--line); background:#fff; margin-top:8px;
 transition:border-color .12s ease, transform .12s ease;
}
.onboardItem.todo:hover{ border-color:rgba(46,197,107,0.35); transform:translateY(-1px); cursor:pointer; }
.onboardCheck{
 width:24px; height:24px; border-radius:50%; flex:0 0 auto;
 border:2px solid rgba(0,0,0,0.14); display:flex; align-items:center; justify-content:center;
 font-size:13px; font-weight:900; color:#fff;
}
.onboardItem.done .onboardCheck{ background:var(--accent); border-color:var(--accent); }
.onboardLabel{ flex:1; font-weight:800; font-size:14px; color:var(--void); }
.onboardItem.done .onboardLabel{ text-decoration:line-through; color:var(--muted); }
.onboardDismiss{ background:none; border:none; color:var(--muted); font-weight:800; font-size:12px; cursor:pointer; }

/* ─── Personalized workspace setup ─────────────────────── */
.workspaceSetup{ max-width:760px; margin:0 auto; text-align:left; }
.workspaceProgress{ display:flex; gap:6px; margin:18px 0 24px; }
.workspaceProgress span{ height:5px; flex:1; border-radius:999px; background:rgba(0,0,0,.08); }
.workspaceProgress span.done{ background:var(--accent); }
.workspaceChoices{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
.workspaceChoice{ display:flex; gap:12px; align-items:flex-start; width:100%; text-align:left; padding:15px; border:1.5px solid var(--line); border-radius:15px; background:#fff; color:var(--void); cursor:pointer; font:inherit; }
.workspaceChoice:hover{ border-color:rgba(46,197,107,.45); }
.workspaceChoice.selected{ border-color:var(--accentDeep); background:rgba(46,197,107,.08); box-shadow:0 0 0 1px rgba(46,197,107,.12); }
.workspaceChoiceMark{ width:22px; height:22px; flex:0 0 auto; border:1.5px solid rgba(0,0,0,.16); border-radius:7px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:12px; font-weight:900; }
.workspaceChoice.selected .workspaceChoiceMark{ background:var(--accentDeep); border-color:var(--accentDeep); }
.workspaceChoiceTitle{ font-weight:850; font-size:14px; }
.workspaceChoiceSub{ color:var(--muted); font-size:12px; line-height:1.45; margin-top:3px; font-weight:600; }
.workspaceSummary{ border:1px solid rgba(46,197,107,.25); background:rgba(46,197,107,.06); border-radius:18px; padding:18px; }
.workspaceToolRow{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); }
.workspaceToolRow:last-child{ border-bottom:0; }
@media(max-width:640px){ .workspaceChoices{ grid-template-columns:1fr; } }

/* ─── Clients list ──────────────────────────────────────── */
.clientRow{
 display:flex; align-items:center; gap:14px; padding:14px 16px; text-align:left;
 border:1px solid var(--line); border-radius:16px; background:#fff; cursor:pointer;
 transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.clientRow:hover{ transform:translateY(-1px); border-color:rgba(46,197,107,0.30); box-shadow:0 10px 20px rgba(0,0,0,0.05); }
.clientAvatar{
 width:42px; height:42px; border-radius:50%; flex:0 0 auto;
 background:rgba(46,197,107,0.12); color:var(--accentDeep);
 display:flex; align-items:center; justify-content:center; font-weight:900; font-size:15px;
}
.clientRowName{ font-weight:800; color:var(--void); }
.clientRowMeta{ font-size:12px; color:var(--muted); font-weight:600; margin-top:2px; }

/* ─── Homepage FAQ ──────────────────────────────────────── */
.faqWrap{ position:relative; z-index:1; width:100%; max-width:760px; margin:30px auto 0; padding-top:24px; border-top:1px solid var(--line); text-align:left; }
.faqTitle{ text-align:center; font-family:var(--rn-font-ui, "Inter"), sans-serif; font-size:clamp(24px,3vw,30px); font-weight:600; letter-spacing:-.5px; margin:0 0 4px; color:#0F1F17; }
.faqSub{ text-align:center; font-size:14px; color:var(--muted); margin:0 0 20px; font-weight:500; }
.faqItem{ border:1px solid var(--line); border-radius:14px; margin-bottom:10px; background:#fff; transition:border-color .18s ease, box-shadow .18s ease; }
.faqItem[open]{ border-color:rgba(46,197,107,0.55); box-shadow:0 6px 18px rgba(15,31,23,0.06); }
.faqQ{ list-style:none; cursor:pointer; padding:16px 18px; font-weight:800; font-size:15px; color:#0F1F17; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.faqQ::-webkit-details-marker{ display:none; }
.faqQ::after{ content:"+"; font-size:22px; font-weight:600; color:var(--accent); line-height:1; flex:0 0 auto; }
.faqItem[open] .faqQ::after{ content:"\2013"; }
.faqA{ padding:0 18px 16px; font-size:14px; line-height:1.6; color:var(--muted); font-weight:500; }
.faqA b{ color:var(--text); font-weight:700; }

/* ─── Add-client form ───────────────────────────────────── */
.formGrid{ max-width:520px; margin:0 auto; text-align:left; }
.formLabel{ display:block; font-size:12px; font-weight:800; color:var(--void); margin:12px 0 0; text-transform:uppercase; letter-spacing:.06em; }

/* ─── Landing (entry) mini nav ──────────────────────────── */
.landingNav{
 position:absolute; top:0; left:0; right:0; z-index:3;
 display:flex; align-items:center; justify-content:center;
 padding:32px 28px;
}
.landingNavLinks{ position:absolute; right:28px; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:4px; }
.landingNavLink{
 padding:8px 14px; border-radius:10px; font-size:13px; font-weight:700;
 color:var(--muted); cursor:pointer; transition:color .15s ease, background .15s ease;
}
.landingNavLink:hover{ color:var(--void); background:rgba(0,0,0,0.04); }
.socialLink{ color:#0F1F17; display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border-radius:10px; transition:color .15s ease, background .15s ease; }
.socialLink:hover{ color:var(--accent); background:rgba(46,197,107,0.10); }
.socialLink svg{ width:20px; height:20px; }
.footLink{ color:var(--muted); text-decoration:none; transition:color .15s ease; }
.footLink:hover{ color:var(--accent); }
.landingNavCta{
 padding:9px 16px; border-radius:10px; background:#0F1F17; color:#2EC56B;
 font-size:13px; font-weight:900; cursor:pointer; border:none;
}
@media(max-width:640px){
 /* Landing starts at the top and the nav joins the flow, so the stacked
    nav no longer floats over the centered hero headline. */
 #home{ justify-content:flex-start !important; }
 .landingNav{ position:static; flex-direction:column; align-items:center; gap:12px; padding:12px 8px 4px; }
 /* Nav items sit side-by-side in one row under the logo, not stacked. */
 .landingNavLinks{ position:static; transform:none; flex-direction:row; justify-content:center; flex-wrap:nowrap; gap:6px; width:auto; max-width:none; }
 .landingNavLink{ padding:8px 10px; text-align:center; font-size:12.5px; white-space:nowrap; }
 .landingNavCta{ width:auto; padding:8px 14px; font-size:12.5px; white-space:nowrap; }
}

/* ─── Landing top banner (full-bleed black bar with the logo) ─── */
.homeBanner{
 align-self:stretch; box-sizing:border-box;
 margin:-44px -32px 0; background:#0F1F17; border-radius:0;
 padding:16px 30px; display:flex; align-items:center; justify-content:space-between; gap:14px;
}
/* Logo centered: the two nav groups flex to equal widths on either side so the
   wordmark sits dead-center, matching the create-account banner. */
.homeBannerLogo{ height:30px; display:block; flex:0 0 auto; }
.homeBannerLinks{ display:flex; align-items:center; gap:6px; flex:1 1 0; min-width:0; }
.homeBannerRight{ justify-content:flex-end; }
.homeBannerLink{
 padding:8px 12px; border-radius:10px; font-size:13.5px; font-weight:700;
 color:rgba(255,255,255,0.82); cursor:pointer; transition:color .15s ease, background .15s ease;
}
.homeBannerLink:hover{ color:#fff; background:rgba(255,255,255,0.09); }
.homeBannerCta{
 padding:9px 18px; border-radius:10px; background:#2EC56B; color:#0F1F17;
 font-size:13.5px; font-weight:900; cursor:pointer; border:none;
}
.homeBannerCta:hover{ background:#28b061; }
/* Signed-in indicator: shown in place of "Sign In" when a session is live,
   so you can tell at a glance you're still logged in. */
.homeBannerAccount{
 display:none; align-items:center; gap:9px; padding:5px 15px 5px 5px; border-radius:999px;
 background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.18);
 color:#fff; font-size:13px; font-weight:800; cursor:pointer; transition:background .15s ease;
}
.homeBannerAccount:hover{ background:rgba(255,255,255,0.17); }
.homeBannerAccount .hbAvatar{
 width:28px; height:28px; border-radius:50%; background:#2EC56B; color:#0F1F17;
 display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:900; flex-shrink:0;
}
.homeBannerAccount .hbDot{ width:7px; height:7px; border-radius:50%; background:#2EC56B; box-shadow:0 0 0 2px rgba(46,197,107,0.3); flex-shrink:0; }
.homeBannerLogout{ display:none; padding:8px 14px; border-radius:10px; background:transparent; border:1px solid rgba(255,255,255,0.22);
 color:rgba(255,255,255,0.85); font-family:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:background .15s ease,color .15s ease; }
.homeBannerLogout:hover{ background:rgba(255,255,255,0.10); color:#fff; }
@media(max-width:640px){
 .homeBanner{ margin:-44px -32px 0; flex-direction:column; gap:10px; padding:16px; }
 .homeBannerLogo{ order:-1; }
 .homeBannerLinks{ justify-content:center; flex-wrap:nowrap; flex:none; }
 .homeBannerLink{ padding:7px 9px; font-size:12.5px; white-space:nowrap; }
 .homeBannerCta{ padding:8px 14px; font-size:12.5px; white-space:nowrap; }
}

/* ─── Tax set-aside callout ─────────────────────────────── */
.taxCard{
 border:1px solid var(--line); border-radius:18px; background:#fff;
 box-shadow:0 8px 22px rgba(0,0,0,0.04); padding:18px;
 display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.taxLeft{ min-width:220px; }
.taxNote{ font-size:11px; color:var(--muted); font-weight:600; margin-top:8px; font-style:italic; }
.taxRight{ text-align:right; }
.taxRateRow{ display:flex; align-items:center; gap:6px; justify-content:flex-end; font-weight:900; color:var(--void); margin-top:6px; font-size:16px; }
.taxRateRow input{ width:74px; max-width:74px; margin:0; text-align:center; padding:8px 6px; }

/* ─── CSV import ────────────────────────────────────────── */
.csvSteps{ margin:0; padding-left:18px; color:var(--muted); font-weight:600; font-size:13px; line-height:1.7; }
.csvDrop{
 border:1.5px dashed rgba(46,197,107,0.35); border-radius:18px;
 background:rgba(46,197,107,0.04); padding:30px 20px; text-align:center;
}
.csvDropTitle{ font-family:'Inter',sans-serif; font-size:18px; font-weight:700; color:var(--void); }
.csvSummary{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.csvChip{ font-size:11px; font-weight:900; padding:4px 9px; border-radius:999px; border:1px solid; }
.csvNew{ color:#064e3b; background:rgba(16,185,129,0.12); border-color:rgba(16,185,129,0.28); }
.csvDup{ color:#6b7280; background:rgba(0,0,0,0.05); border-color:rgba(0,0,0,0.12); }
.csvErr{ color:#7c4a00; background:rgba(245,158,11,0.14); border-color:rgba(245,158,11,0.30); }
.csvTableWrap{ border:1px solid var(--line); border-radius:14px; overflow:auto; max-height:340px; }
.csvTable{ width:100%; border-collapse:collapse; font-size:13px; }
.csvTable th{ position:sticky; top:0; background:#fff; text-align:left; padding:10px 12px; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); border-bottom:1px solid var(--line); }
.csvTable td{ padding:9px 12px; border-bottom:1px solid rgba(0,0,0,0.05); color:var(--void); font-weight:600; }
.csvRowDup td{ color:var(--muted); }
.csvRowErr{ background:rgba(245,158,11,0.05); }

/* ─── Integrations list ─────────────────────────────────── */
.intgRow{
 display:flex; align-items:center; gap:14px; padding:14px 16px;
 border:1px solid var(--line); border-radius:16px; background:#fff;
}
.intgName{ font-weight:800; color:var(--void); display:flex; align-items:center; gap:8px; }
.intgDesc{ font-size:12px; color:var(--muted); font-weight:600; margin-top:3px; }
.intgBadge{ font-size:10px; font-weight:900; padding:3px 8px; border-radius:999px; border:1px solid; }
.intgLive{ color:var(--accentDeep); background:rgba(46,197,107,0.10); border-color:rgba(46,197,107,0.25); }
.intgCsv{ color:#3730a3; background:rgba(123,110,246,0.10); border-color:rgba(123,110,246,0.25); }
.intgSoon{ color:#6b7280; background:rgba(0,0,0,0.04); border-color:rgba(0,0,0,0.12); }

/* ─── Left sidebar (Operational shell, desktop) ─────────── */
.sidebar{ display:none; }
.sbLogo{ display:flex; align-items:center; gap:8px; padding:20px 12px 18px; cursor:pointer; position:sticky; top:0; z-index:2; background:#0F1F17; }
.sbDivider{ height:1px; background:rgba(255,255,255,0.10); margin:0 6px 14px; }
.sbLogoText{ font-family:'Inter',sans-serif; font-size:18px; font-weight:700; color:#fff; letter-spacing:-0.4px; }
.sbNav{ display:flex; flex-direction:column; gap:3px; flex:1; }
.sbItem{
 display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:11px;
 color:rgba(255,255,255,0.72); font-weight:600; font-size:14px; cursor:pointer;
 text-decoration:none; transition:background .15s ease, color .15s ease;
}
.sbItem:hover{ color:#fff; background:rgba(255,255,255,0.07); }
.sbItem.active{ color:#0F1F17; background:var(--accent); }
.sbItem svg{ width:18px; height:18px; flex:0 0 auto; }
/* Four-pillar groups */
.sbGroup{ margin-top:8px; }
.sbGroupHead{ width:100%; background:none; border:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
 padding:7px 12px 5px; color:rgba(255,255,255,0.42); font-family:'Inter',sans-serif; font-weight:800; font-size:10.5px;
 letter-spacing:.7px; text-transform:uppercase; }
.sbGroupHead:hover{ color:rgba(255,255,255,0.7); }
.sbCaret{ width:11px; height:11px; transition:transform .15s ease; opacity:.7; }
.sbGroup.collapsed .sbCaret{ transform:rotate(-90deg); }
.sbGroup.collapsed .sbGroupItems{ display:none; }
.sbGroupItems{ display:flex; flex-direction:column; gap:2px; }
.sbGroupItems .sbItem{ padding-left:24px; }
/* ─── "See how it works" guided tour ─────────────────────── */
#tourOverlay{ position:fixed; inset:0; z-index:9998; }
#tourOverlay.hidden{ display:none; }
#tourSpot{ position:fixed; border-radius:14px; box-shadow:0 0 0 9999px rgba(15,31,23,0.72); outline:2px solid var(--accent);
 pointer-events:none; transition:top .2s ease, left .2s ease, width .2s ease, height .2s ease; }
#tourTip{ position:fixed; z-index:9999; width:300px; max-width:calc(100vw - 24px); background:var(--card); border:1px solid var(--line);
 border-radius:16px; padding:18px; box-shadow:0 18px 50px rgba(0,0,0,0.28); pointer-events:auto; }
.tourStepNo{ font-size:11px; font-weight:800; color:var(--accentDeep); letter-spacing:.4px; }
.tourTitle{ font-family:'Inter',sans-serif; font-weight:700; font-size:17px; margin:4px 0 6px; color:var(--text); letter-spacing:-0.3px; }
.tourText{ font-size:14px; color:var(--muted); line-height:1.55; }
.tourBtns{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:16px; }
.tourBtns button{ border:none; border-radius:10px; padding:8px 16px; font-family:'Inter',sans-serif; font-weight:700; font-size:13.5px; cursor:pointer; }
.tourSkip{ background:transparent; color:var(--muted); }
.tourBack{ background:rgba(0,0,0,0.06); color:var(--text); }
.tourNext{ background:var(--accent); color:#06241a; }
.sbItem.sbLead{ font-weight:700; color:#fff; }
.sbSoon{ margin-left:auto; font-size:9px; font-weight:900; letter-spacing:.4px; text-transform:uppercase;
 color:#0F1F17; background:#9DB7A8; border-radius:999px; padding:2px 7px; }
.sbFoot{ border-top:1px solid rgba(255,255,255,0.08); padding-top:12px; margin-top:8px; }
.sbPlan{ font-size:11px; font-weight:800; color:rgba(255,255,255,0.6); padding:6px 12px; }
.sbSignOut{ display:none; align-items:center; gap:9px; width:100%; box-sizing:border-box; margin-top:8px; padding:9px 12px;
 border-radius:10px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10);
 color:rgba(255,255,255,0.82); font-family:'Inter',sans-serif; font-size:13px; font-weight:800; cursor:pointer; transition:background .15s ease,color .15s ease; }
.sbSignOut:hover{ background:rgba(255,255,255,0.12); color:#fff; }
.sbSignOut svg{ width:15px; height:15px; flex-shrink:0; }
.preAuth .sidebar{ display:none !important; }
@media(min-width:881px){
 .sidebar{
 display:flex; flex-direction:column;
 position:fixed; top:0; left:0; bottom:0; width:256px; z-index:45;
 background:#0F1F17; padding:0 14px 20px; overflow:auto;
 border-right:1px solid rgba(255,255,255,0.08);
 }
 body:not(.preAuth) .topNav{ display:none !important; }
 body:not(.preAuth){ padding-left:256px; }
 body.activeWorkflow{ padding-left:0; }
 body.activeWorkflow .container{ max-width:1040px; }
}
/* Public demo: drop the fixed nav below the demo banner (44px). */
body.demoMode .sidebar{ top:44px; }
body.demoMode .topNav{ top:44px; }

/* ─── Operational dashboard ─────────────────────────────── */
.opHeader{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
.opGreeting{ font-family:var(--rn-font-ui, "Inter"), sans-serif; font-size:26px; font-weight:600; letter-spacing:-0.2px; margin:0; color:var(--void); line-height:1.2; }
.opSub{ margin-top:4px; font-size:13px; font-weight:700; color:var(--muted); }

.kpiRow{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.kpiCard{ border:1px solid var(--line); border-radius:16px; background:var(--card); padding:16px; box-shadow:0 6px 18px rgba(0,0,0,0.03); }
.kpiLabel{ font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.kpiValue{ font-family:'Inter',sans-serif; font-size:26px; font-weight:800; color:var(--void); margin-top:6px; letter-spacing:-0.5px; line-height:1.1; }
.kpiSub{ font-size:12px; font-weight:700; color:var(--muted); margin-top:3px; }
.kpiDark{ background:linear-gradient(135deg,#0F1F17,#1a1d28); border-color:transparent; }
.kpiDark .kpiLabel{ color:rgba(255,255,255,0.55); }
.kpiDark .kpiValue{ color:#fff; }
.kpiDark .kpiSub{ color:rgba(255,255,255,0.6); }

.opGrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.module{ border:1px solid var(--line); border-radius:18px; background:var(--card); padding:18px; box-shadow:0 8px 22px rgba(0,0,0,0.04); }
.moduleTitle{ font-weight:900; font-size:14px; letter-spacing:-0.2px; margin-bottom:14px; color:var(--void); }
.modToday, .modQuick{ grid-column:1 / -1; }
.modToday .quickSessionWrap, .modQuick .quickSessionWrap{ margin-top:0; background:var(--card); border-color:var(--line); box-shadow:none; padding:0; }
.module.modQuick{ border:none; background:transparent; box-shadow:none; padding:0; }
.modQuick .quickSessionWrap{ background:transparent; border:none; }
.modQuick .quickSessionWrap::before, .modQuick .quickSessionWrap::after{ display:none; }
.modQuick .qsButtons{ grid-template-columns:repeat(3,1fr); margin-top:0; }
.modQuick .tileBtn{ min-height:0; }

/* Mini bar chart (self-contained) */
.miniBars{ display:flex; align-items:flex-end; gap:8px; height:140px; }
.miniBar{ flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
.miniBarFill{ width:100%; max-width:26px; background:#2EC56B; border-radius:6px 6px 0 0; min-height:3px; }
.miniBarLabel{ font-size:11px; font-weight:800; color:var(--muted); }
.miniBarVal{ font-size:11px; font-weight:800; color:var(--void); min-height:14px; }

/* Goal progress ring */
.goalRingWrap{ display:flex; align-items:center; gap:18px; }
.goalRingText{ font-size:13px; color:var(--muted); font-weight:700; line-height:1.5; }
.goalRingText b{ color:var(--void); font-family:'Inter',sans-serif; font-size:20px; }

/* Prep-status badges (data-driven; render only true ones) */
.prepBadges{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.prepBadge{ font-size:10px; font-weight:900; padding:3px 8px; border-radius:999px; border:1px solid; white-space:nowrap; }
.pbGreen{ color:#064e3b; background:rgba(16,185,129,0.12); border-color:rgba(16,185,129,0.28); }
.pbGray{ color:#6b7280; background:rgba(0,0,0,0.05); border-color:rgba(0,0,0,0.12); }
.pbBlue{ color:#3730a3; background:rgba(123,110,246,0.10); border-color:rgba(123,110,246,0.25); }
.pbAmber{ color:#7c4a00; background:rgba(245,158,11,0.14); border-color:rgba(245,158,11,0.30); }

/* Layout presets */
/* Quick Session intro — step-by-step visual + don't-show-again */
.qiSteps{ display:flex; gap:10px; margin-top:10px; }
.qiStep{ flex:1; text-align:center; display:flex; flex-direction:column; align-items:center; gap:9px; position:relative; }
.qiStep:not(:last-child)::after{ content:""; position:absolute; top:18px; left:calc(50% + 24px); right:calc(-50% + 24px); height:2px; background:rgba(46,197,107,0.22); }
.qiStepNum{ width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accentDeep)); color:#fff; font-weight:900; font-size:15px; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 12px rgba(46,197,107,0.24); position:relative; z-index:1; }
.qiStepText{ font-size:12.5px; font-weight:700; color:var(--muted); line-height:1.4; max-width:190px; }
.qiDontShow{ display:flex; align-items:center; justify-content:center; gap:9px; margin:16px 0 2px; font-size:13px; font-weight:700; color:var(--muted); cursor:pointer; }
.qiDontShow input{ width:auto; max-width:none; margin:0; }
@media(max-width:600px){ .qiSteps{ flex-direction:column; gap:14px; } .qiStep{ flex-direction:row; text-align:left; gap:12px; } .qiStep::after{ display:none !important; } .qiStepText{ max-width:none; } }

/* Dashboard layout presets (Customize → Layout). Fresh class names so they
   don't collide with the older .mod* module system. */
body[data-layout="minimal"] .dashGoal,
body[data-layout="minimal"] .dashQuick{ display:none; }
/* Schedule-first — this week leads, full width, goal below */
body[data-layout="schedule"] .homeGrid{ grid-template-columns:1fr; }
body[data-layout="schedule"] .dashWeek{ order:-1; }
/* Finance-first — goal leads full width, quick tools hidden */
body[data-layout="finance"] .homeGrid{ grid-template-columns:1fr; }
body[data-layout="finance"] .dashQuick{ display:none; }

/* Settings, layout presets picker */
.presetGrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; max-width:620px; margin:0 auto; text-align:left; }
.presetCard{ border:1.5px solid var(--line); border-radius:16px; background:var(--card); padding:16px; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease; }
.presetCard:hover{ border-color:rgba(46,197,107,0.35); }
.presetCard.active{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(46,197,107,0.14); }
.presetName{ font-weight:900; color:var(--void); }
.presetDesc{ font-size:12px; color:var(--muted); font-weight:600; margin-top:4px; line-height:1.45; }

/* ─── Customize popover ─────────────────────────────────── */
.iconBtn{
 display:inline-flex; align-items:center; gap:7px; padding:9px 14px;
 border:0.5px solid var(--line); background:var(--card); color:var(--text);
 font-size:12px; font-weight:500; letter-spacing:0.3px; cursor:pointer;
 border-radius:var(--radius); transition:border-color .15s ease;
}
.iconBtn:hover{ border-color:rgba(0,0,0,0.28); }
.iconBtn svg{ color:var(--accent); }
.custBackdrop{ position:fixed; inset:0; z-index:80; display:none; background:rgba(17,17,17,0.38); }
.custBackdrop.open{ display:block; }
.custPop{
 position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:81;
 width:760px; max-width:calc(100vw - 28px); max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
 background:var(--card); border:0.5px solid var(--line); border-radius:var(--radius);
 box-shadow:0 24px 60px rgba(0,0,0,0.28); padding:22px 24px; text-align:left; display:none;
}
.custPop.open{ display:block; }
.custHead{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.custTitle{ font-family:'Inter',sans-serif; font-size:20px; font-weight:700; color:var(--void); }
.custX{ border:none; background:none; font-size:16px; cursor:pointer; color:var(--muted); padding:2px 6px; }
.custBody{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.custGroup{ margin-top:16px; }
.custLabel{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:9px; }
.custThumbs{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.custThumb{ border:1.5px solid var(--line); background:var(--card); padding:8px 8px 7px; cursor:pointer; transition:border-color .12s ease; }
.custThumb:hover{ border-color:var(--accent); }
.custThumb.sel{ border-color:var(--accent); box-shadow:0 0 0 2px var(--accentSoft); }
.custThumbName{ font-size:11px; font-weight:700; color:var(--void); margin-top:7px; text-align:center; }
.thumbRows{ display:flex; flex-direction:column; gap:3px; background:var(--bg); padding:5px; min-height:34px; }
.thumbRows i{ display:block; background:var(--line); height:5px; }
.thumbRows i.dark{ background:var(--void); height:8px; }
.thumbRows i.tint{ background:var(--accentSoft); }
.custSwatches{ display:flex; gap:9px; flex-wrap:wrap; }
.custSwatch{ width:27px; height:27px; border-radius:var(--radius); cursor:pointer; border:2px solid transparent; position:relative; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08); }
.custSwatch.sel{ border-color:var(--void); }
.custSwatch.sel::after{ content:"✓"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-weight:900; }
.custSegRow{ display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.custSegLabel{ font-size:13px; font-weight:700; color:var(--void); width:66px; }
.seg{ display:inline-flex; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.seg button{ border:none; background:var(--card); color:var(--muted); font-size:12px; font-weight:700; padding:6px 16px; cursor:pointer; }
.seg button.on{ background:var(--void); color:var(--card); }
.custSubLabel{ font-size:12px; font-weight:800; color:var(--void); margin:12px 0 4px; }
.custHint{ font-size:11px; color:var(--muted); font-weight:600; margin:1px 0 0 26px; }
.custAdd{ border:none; background:none; color:var(--accentDeep); font-weight:800; font-size:13px; cursor:pointer; padding:12px 0 0; }
.custSectionsWrap{ margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.custSections{ display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.custCheck{ display:flex; align-items:center; gap:10px; padding:8px 0; cursor:pointer; font-size:13px; font-weight:700; color:var(--void); }
.custCheck input{ width:auto; max-width:none; margin:0; flex:0 0 auto; accent-color:var(--accent); }
.custCheck.dim{ color:var(--muted); cursor:default; }
@media(max-width:640px){ .custBody{ grid-template-columns:1fr; gap:8px; } .custSections{ grid-template-columns:1fr; } }
.custFoot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:18px; padding-top:13px; border-top:1px solid var(--line); }
.custReset{ border:none; background:none; color:var(--muted); font-size:12px; font-weight:700; cursor:pointer; text-decoration:underline; padding:0; }
.custSaved{ font-size:11px; color:var(--muted); font-weight:600; }
.modRow{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:13px; font-weight:700; color:var(--void); }
.modRow:last-child{ border-bottom:none; }
.modEmpty{ font-size:12.5px; color:var(--muted); font-weight:600; line-height:1.5; }
.modStat{ font-family:'Inter',sans-serif; font-size:30px; font-weight:800; color:var(--void); letter-spacing:-0.5px; line-height:1.1; }

/* ─── Greeting avatar + coaching modules ────────────────── */
.opAvatar{
 width:48px; height:48px; border-radius:50%; flex:0 0 auto; overflow:hidden;
 background:var(--accentSoft); color:var(--accentDeep);
 display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px;
}
.opAvatar img{ width:100%; height:100%; object-fit:cover; }
.module.modWin{ border:none; background:transparent; box-shadow:none; padding:0; }
.winCard{
 position:relative; display:flex; gap:18px; align-items:flex-start;
 background:var(--accentSoft); border-left:4px solid var(--accent);
 border-radius:var(--radius); padding:20px 22px; overflow:hidden;
}
.winIcon{
 width:46px; height:46px; border-radius:50%; flex:0 0 auto;
 background:var(--card); display:flex; align-items:center; justify-content:center; color:var(--accentDeep);
}
.winEyebrow{ font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--accentDeep); }
.winTitle{ font-family:'Inter',sans-serif; font-size:23px; font-weight:800; color:var(--void); margin:3px 0 6px; letter-spacing:-0.3px; }
.winBody{ font-size:14px; color:var(--void); font-weight:600; line-height:1.5; }
.winSub{ font-size:13px; color:var(--muted); font-weight:600; margin-top:3px; line-height:1.5; }
.winLink{ display:inline-block; margin-top:12px; font-size:13px; font-weight:800; color:var(--accentDeep); cursor:pointer; }
.winSparkle{ position:absolute; top:16px; right:18px; color:var(--accentDeep); opacity:.45; }
.coachIcon{
 width:40px; height:40px; border-radius:50%; flex:0 0 auto; margin-bottom:12px;
 background:var(--accentSoft); display:flex; align-items:center; justify-content:center; color:var(--accentDeep);
}
.coachText{ font-size:14px; color:var(--void); font-weight:600; line-height:1.55; }

/* ─── Section pages (Consultations / Formulas / Retail) ─── */
.secHeader{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.secStats{ margin-bottom:18px; }
.secStats .kpiValue{ font-size:24px; }
.secGrid{ display:grid; grid-template-columns:1.4fr 1fr; gap:16px; align-items:start; }
.secGrid .panel{ max-width:none; }
.insightHead{ display:flex; align-items:center; gap:7px; font-weight:900; font-size:13px; color:var(--void); }
.collapsible .insightHead{ cursor:pointer; }
.cChevron{ margin-left:auto; flex-shrink:0; color:var(--muted); transition:transform .2s ease; }
.collapsible.collapsed .cChevron{ transform:rotate(-90deg); }
.collapsible.collapsed .cBody{ display:none; }
.collapsible.collapsed{ padding-bottom:14px; }
.insightCard{ border-color:rgba(46,197,107,0.20); background:var(--accentSoft); }
.secEmpty{ text-align:center; padding:30px 16px; }
.secEmptyIcon{ width:52px; height:52px; border-radius:50%; background:var(--accentSoft); color:var(--accentDeep); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
.secEmptyTitle{ font-family:'Inter',sans-serif; font-size:19px; font-weight:700; color:var(--void); }
.learnRow{ display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--line); font-size:13px; }
.learnRow:last-child{ border-bottom:none; }
.learnPlay{ color:var(--accentDeep); font-size:11px; }
.learnTitle{ flex:1; font-weight:700; color:var(--void); }
.learnMeta{ font-size:12px; color:var(--muted); font-weight:600; }
@media(max-width:820px){ .secGrid{ grid-template-columns:1fr; } }

/* ─── Learn hub + quick-reference panels ────────────────── */
.learnGrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.learnHubCard{ display:flex; gap:14px; align-items:flex-start; text-align:left; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:18px; cursor:pointer; transition:border-color .12s ease, box-shadow .12s ease; }
.learnHubCard:hover{ border-color:var(--accent); box-shadow:0 6px 16px rgba(0,0,0,0.05); }
.learnHubIcon{ width:42px; height:42px; border-radius:50%; flex:0 0 auto; background:var(--accentSoft); color:var(--accentDeep); display:flex; align-items:center; justify-content:center; }
.learnHubTitle{ font-weight:900; font-size:15px; color:var(--void); }
.learnHubDesc{ font-size:13px; color:var(--muted); font-weight:600; margin-top:3px; line-height:1.45; }
.learnHubTag{ font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--accentDeep); margin-top:7px; }
@media(max-width:720px){ .learnGrid{ grid-template-columns:1fr; } }

.refBack{ position:fixed; inset:0; z-index:82; display:none; background:rgba(17,17,17,0.42); }
.refBack.open{ display:block; }
.refPanel{
 position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:83;
 width:740px; max-width:calc(100vw - 28px); max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
 background:var(--card); border:0.5px solid var(--line); border-radius:var(--radius);
 box-shadow:0 24px 60px rgba(0,0,0,0.28); padding:22px 24px; text-align:left; display:none;
}
.refPanel.open{ display:block; }
.refHead{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.refTitle{ font-family:'Inter',sans-serif; font-size:21px; font-weight:700; color:var(--void); }
.refSub{ font-size:13px; color:var(--muted); font-weight:600; margin-top:3px; }
.refFull{ border:1px solid var(--line); border-radius:var(--radius); padding:16px; margin-top:16px; }
.refTwo{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.refCard{ border:1px solid var(--line); border-radius:var(--radius); padding:16px; }
.refCardHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.refCardTitle{ font-weight:900; font-size:14px; color:var(--void); }
.refDeeper{ font-size:12px; font-weight:800; color:var(--accentDeep); cursor:pointer; white-space:nowrap; }
.refDeep{ display:none; margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); font-size:12.5px; color:var(--muted); font-weight:600; line-height:1.6; }
.refDeep.open{ display:block; }
.refRow{ font-size:13px; color:var(--void); font-weight:600; line-height:1.7; }
.refRow b{ font-weight:900; }
.refBest{ font-size:12px; color:var(--accentDeep); font-weight:800; margin-top:8px; }
.refSteps{ display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }
.refStep{ flex:1; min-width:90px; }
.refStepNum{ width:22px; height:22px; border-radius:50%; background:var(--accentSoft); color:var(--accentDeep); display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:900; }
.refStepName{ font-weight:900; font-size:12.5px; color:var(--void); margin-top:5px; }
.refStepSub{ font-size:11px; color:var(--muted); font-weight:600; margin-top:2px; line-height:1.35; }
.refLevels{ display:flex; gap:0; margin-top:8px; border-radius:var(--radius); overflow:hidden; }
.refLevel{ flex:1; height:30px; }
.refLevelNums{ display:flex; margin-top:5px; }
.refLevelNums span{ flex:1; text-align:center; font-size:10px; font-weight:800; color:var(--muted); }
.refTone{ font-size:11.5px; color:var(--muted); font-weight:700; margin-top:7px; }
.refDot{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:7px; vertical-align:middle; }
.refWatch{ border:1px solid rgba(245,158,11,0.30); background:rgba(245,158,11,0.10); border-radius:var(--radius); padding:11px 14px; margin-top:14px; font-size:12.5px; font-weight:800; color:#7c4a00; }
.refFoot{ font-size:12px; color:var(--muted); font-weight:600; margin-top:14px; line-height:1.5; }
@media(max-width:640px){ .refTwo{ grid-template-columns:1fr; } }

@media(max-width:820px){
 .kpiRow{ grid-template-columns:1fr 1fr; }
 .opGrid{ grid-template-columns:1fr; }
 .modQuick .qsButtons{ grid-template-columns:1fr; }
 .presetGrid{ grid-template-columns:1fr; }
}

/* ─── Toggle switch ─────────────────────────────────────── */
.switchRow{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); text-align:left; }
.switchRow:last-child{ border-bottom:none; }
.switchLabel{ font-weight:800; color:var(--void); font-size:14px; }
.switchSub{ font-size:12px; color:var(--muted); font-weight:600; margin-top:3px; max-width:460px; line-height:1.45; }
.switch{ position:relative; width:46px; height:26px; flex:0 0 auto; border-radius:999px; background:rgba(0,0,0,0.14); cursor:pointer; transition:background .15s ease; border:none; }
.switch.on{ background:var(--accent); }
.switch::after{ content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:transform .15s ease; box-shadow:0 1px 3px rgba(0,0,0,0.2); }
.switch.on::after{ transform:translateX(20px); }
.switch.disabled{ opacity:.45; cursor:not-allowed; }

/* ─── Pre-consult form (client-facing) ──────────────────── */
.pcWrap{ max-width:600px; margin:0 auto; text-align:left; }
.pcSection{ border:1px solid var(--line); border-radius:18px; background:#fff; padding:18px; margin-top:14px; }
.pcSectionTitle{ font-family:'Inter',sans-serif; font-size:17px; font-weight:700; color:var(--void); margin-bottom:4px; }
.pcSectionHint{ font-size:12px; color:var(--muted); font-weight:600; margin-bottom:10px; line-height:1.5; }
.pcField{ margin-top:10px; }
.pcField label{ display:block; font-size:12px; font-weight:800; color:var(--void); margin-bottom:4px; }
.pcChips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pcChip{ padding:8px 12px; border-radius:999px; border:1px solid rgba(0,0,0,0.10); background:#fff; font-size:13px; font-weight:800; color:var(--void); cursor:pointer; transition:all .12s ease; }
.pcChip.sel{ border-color:var(--accent); background:rgba(46,197,107,0.12); color:var(--accentDeep); }
.pcPhotos{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:8px; }
/* Client-profile photo system (new store, dual-reads legacy pre-consult photos) */
.cpPhotoTile{ position:relative; border-radius:12px; overflow:hidden; background:#f2f4f3; aspect-ratio:1/1; }
.cpPhotoTile .pcPhotoThumb{ width:100%; height:100%; object-fit:cover; margin:0; border-radius:12px; }
.cpPhotoKind{ position:absolute; top:6px; left:6px; font-size:10px; font-weight:900; color:#fff; background:rgba(15,31,23,0.72); padding:2px 8px; border-radius:999px; letter-spacing:.02em; }
.cpPhotoLegacy{ position:absolute; bottom:6px; left:6px; font-size:9px; font-weight:800; color:#0F1F17; background:rgba(255,255,255,0.88); padding:2px 6px; border-radius:999px; }
.cpPhotoDel{ position:absolute; top:5px; right:5px; width:26px; height:26px; border-radius:999px; border:none; background:rgba(15,31,23,0.72); color:#fff; font-size:12px; font-weight:900; cursor:pointer; }
.cpPhotoTags{ position:absolute; left:0; right:0; bottom:0; font-size:10px; font-weight:700; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,0.62)); padding:14px 8px 5px; }
.cpStage{ display:flex; gap:14px; align-items:flex-start; background:var(--accentPale); border:1px solid rgba(46,197,107,0.22); border-radius:14px; padding:12px; margin-bottom:10px; }
.cpStagePrev{ width:96px; height:96px; object-fit:cover; border-radius:10px; flex:0 0 auto; }
.cpStageBody{ flex:1; min-width:0; }
.cpKindChips{ display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 10px; }
.cpKindChip{ border:1px solid var(--line); background:#fff; border-radius:999px; padding:6px 12px; font-size:12.5px; font-weight:800; cursor:pointer; color:var(--text); }
.cpKindChip.sel{ background:var(--accent); border-color:var(--accent); color:#06241a; }
.cpTagInput{ width:100%; margin:0 0 8px; padding:9px 12px; border-radius:10px; border:1px solid var(--line); font-size:16px; }
.cpConsent{ display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--muted); margin:3px 0; cursor:pointer; }
@media(max-width:560px){ .cpStage{ flex-direction:column; } .cpStagePrev{ width:100%; height:170px; } }
.pcPhoto{ border:1.5px dashed rgba(0,0,0,0.16); border-radius:14px; padding:12px 8px; text-align:center; cursor:pointer; transition:border-color .12s ease; background:#fff; overflow:hidden; }
.pcPhoto:hover{ border-color:var(--accent); }
.pcPhotoLabel{ font-size:12px; font-weight:900; color:var(--void); }
.pcPhotoHint{ font-size:10px; color:var(--muted); font-weight:600; margin-top:2px; line-height:1.3; }
.pcPhotoThumb{ width:100%; height:84px; object-fit:cover; border-radius:10px; margin-bottom:6px; display:block; }
.pcEstimate{ border:1px solid rgba(46,197,107,0.22); background:rgba(46,197,107,0.06); border-radius:14px; padding:14px; margin-top:10px; }
.pcEstimateVal{ font-family:'Inter',sans-serif; font-size:22px; font-weight:800; color:var(--void); }
.pcConsent{ font-size:12px; color:var(--muted); font-weight:600; line-height:1.5; margin-top:12px; display:flex; gap:10px; align-items:flex-start; }
.pcConsent input{ width:auto; margin:3px 0 0; flex:0 0 auto; }
@media(max-width:560px){ .pcPhotos{ grid-template-columns:1fr; } }

/* ─── Pre-consult summary on client profile ─────────────── */
.pcSummary{ border:1px solid rgba(46,197,107,0.20); background:rgba(46,197,107,0.05); border-radius:16px; padding:14px; margin-top:10px; text-align:left; }
.pcSummaryRow{ font-size:13px; color:var(--void); font-weight:600; line-height:1.55; }
.pcSummaryRow b{ font-weight:900; }
.pcSummaryPhotos{ display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.pcSummaryPhotos img{ width:72px; height:72px; object-fit:cover; border-radius:10px; border:1px solid var(--line); }

/* ─── Square-corner refinement (global token --radius:0) ──── */
.card, .panel, .miniCard, .statCard, .module, .kpiCard, .apptCard,
.presetCard, .optionCard, .targetCard, .calcBox, .csvTableWrap, .csvTable th,
.intgCard, .onboard, .csvDrop, .formulaCard, .recCard,
input, select, textarea,
.btn, .btnPrimary, .btnSecondary, .btnDanger,
.navLink, .navMenuBtn, .navCta, .drawerItem, .drawerItemIcon, .closeBtn,
.sbItem, .tabItem,
.quickSessionWrap, .tileBtn, .rightTag,
.badgePro, .badgeElite, .prepBadge, .pill, .intgBadge, .csvChip, .onboardProg,
.planPill, .opPill, .chip,
.pcSection, .pcChip, .pcPhoto, .pcPhotoThumb, .pcEstimate, .pcSummary, .pcSummaryPhotos img,
.miniBarFill{
 border-radius:var(--radius) !important;
}
/* ─── Finances, inviting layout ─────────────────────────── */
.finHero{ background:linear-gradient(135deg,var(--accentPale),#d7fbe9); border:1px solid rgba(46,197,107,0.22);
 border-radius:20px; padding:22px 24px; margin:14px 0 8px; box-shadow:0 8px 24px rgba(46,197,107,0.10); }
.finHeroBadge{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:900; letter-spacing:0.6px;
 color:var(--accentDeep); background:rgba(255,255,255,0.7); padding:5px 11px; border-radius:999px; }
.finHeroNum{ font-family:'Inter',sans-serif; font-size:46px; font-weight:800; letter-spacing:-1px; color:var(--void); margin:10px 0 2px; line-height:1; }
.finHeroSub{ font-size:14px; font-weight:700; color:var(--accentDeep); }
.finHeroBar{ height:9px; border-radius:999px; background:rgba(0,0,0,0.07); overflow:hidden; margin:14px 0 8px; }
.finHeroBarFill{ height:100%; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--flow)); transition:width .5s ease; }
.finHeroGoal{ font-size:13px; font-weight:700; color:var(--muted); }
.finToolsGrid{ display:grid; grid-template-columns:1.05fr 1.25fr; gap:14px; margin-top:8px; }
@media(max-width:680px){ .finToolsGrid{ grid-template-columns:1fr; } }
.finPricingTile{ background:linear-gradient(150deg,var(--accentDeep),var(--accent)); color:#fff; border-radius:18px; padding:22px;
 cursor:pointer; display:flex; flex-direction:column; box-shadow:0 10px 26px rgba(30,158,84,0.22); transition:transform .15s ease, box-shadow .15s ease; }
.finPricingTile:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(30,158,84,0.28); }
.finPricingIcon{ font-size:24px; }
.finPricingTitle{ font-family:'Inter',sans-serif; font-size:24px; font-weight:800; margin:10px 0 4px; }
.finPricingDesc{ font-size:13.5px; font-weight:600; opacity:0.92; line-height:1.5; flex:1; }
.finPricingStart{ margin-top:16px; font-weight:900; font-size:14px; }
.finToolRows{ display:flex; flex-direction:column; gap:10px; }
.finToolRow{ display:flex; align-items:center; gap:13px; text-align:left; background:var(--card); border:1px solid var(--line);
 border-radius:16px; padding:15px 16px; cursor:pointer; margin:0; box-shadow:0 3px 12px rgba(15,31,23,0.04); transition:border-color .15s ease, transform .15s ease; }
.finToolRow:hover{ border-color:var(--accentRing); transform:translateY(-1px); }
.finToolIco{ width:34px; height:34px; flex-shrink:0; display:grid; place-items:center; border-radius:11px; background:var(--accentSoft); font-size:16px; }
.finToolName{ display:block; font-weight:800; font-size:14.5px; color:var(--text); }
.finToolSub{ display:block; font-size:12.5px; font-weight:600; color:var(--muted); margin-top:1px; }
.finToolChev{ margin-left:auto; color:var(--muted); font-size:20px; font-weight:700; }
/* ─── Story calculators ──────────────────────────────────── */
.calcHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.calcKicker{ font-weight:900; font-size:15px; color:var(--text); }
.calcStep{ font-size:12px; font-weight:800; color:var(--muted); }
.calcStory{ font-size:13px; font-weight:700; color:var(--muted); }
.calcSentence{ font-family:'Inter',sans-serif; font-size:21px; font-weight:700; color:var(--text); line-height:1.5; margin-top:6px; letter-spacing:-0.3px; }
.calcChip{ display:inline-block; background:var(--accentSoft); color:var(--accentDeep); border-radius:8px; padding:1px 9px; font-family:'Inter',sans-serif; font-weight:800; font-size:16px; }
.calcChipQ{ display:inline-block; background:rgba(0,0,0,0.05); color:var(--muted); border-radius:8px; padding:1px 10px; font-weight:800; }
.calcQ{ font-weight:900; font-size:17px; margin:20px 0 12px; }
.calcOpts{ display:flex; flex-wrap:wrap; gap:10px; }
.calcOpt{ background:var(--card); border:1.5px solid var(--line); border-radius:13px; padding:13px 20px; font-size:15px; font-weight:800;
 color:var(--text); cursor:pointer; transition:all .15s ease; box-shadow:0 2px 8px rgba(15,31,23,0.04); }
.calcOpt:hover{ border-color:var(--accentRing); transform:translateY(-1px); }
.calcOpt.sel{ border-color:var(--accent); background:var(--accent); color:#0F1F17; box-shadow:0 6px 16px rgba(46,197,107,0.25); }
.calcDots{ display:flex; gap:7px; margin:22px 0 6px; }
.calcDot{ width:8px; height:8px; border-radius:50%; background:rgba(0,0,0,0.12); }
.calcDot.active{ background:var(--accent); transform:scale(1.25); }
.calcDot.done{ background:var(--accentDeep); }
.calcReveal{ text-align:center; background:linear-gradient(135deg,var(--accentPale),#d7fbe9); border:1px solid rgba(46,197,107,0.22);
 border-radius:20px; padding:28px 24px; margin-top:18px; box-shadow:0 10px 28px rgba(46,197,107,0.12); }
.calcRevealIco{ font-size:26px; }
.calcRevealLabel{ font-size:13px; font-weight:800; color:var(--accentDeep); margin-top:6px; }
.calcRevealNum{ font-family:'Inter',sans-serif; font-size:52px; font-weight:800; letter-spacing:-1.5px; color:var(--void); line-height:1.05; margin:4px 0 8px; }
.calcRevealNum.small{ font-size:28px; }
.calcRevealSub{ font-size:14px; font-weight:700; color:var(--accentDeep); max-width:420px; margin:0 auto; line-height:1.5; }
/* ─── Settings tabs + Subscription ───────────────────────── */
.setTabs{ display:flex; gap:2px; border-bottom:1px solid var(--line); margin:8px auto 20px; max-width:760px; flex-wrap:wrap; }
.setTab{ background:none; border:none; border-radius:0; margin:0; padding:10px 15px; font-size:14px; font-weight:800; color:var(--muted); cursor:pointer; border-bottom:2px solid transparent; }
.setTab:hover{ color:var(--text); }
.setTab.active{ color:var(--accentDeep); border-bottom-color:var(--accent); }
.subCurrent{ border:1px solid rgba(46,197,107,0.22); border-radius:18px; padding:18px 20px; max-width:760px; margin:0 auto 16px; box-shadow:0 4px 16px rgba(15,31,23,0.05); }
.subCurRow{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.subCurLabel{ font-size:12px; font-weight:800; color:var(--muted); letter-spacing:0.3px; }
.subCurName{ font-family:'Inter',sans-serif; font-size:24px; font-weight:800; margin:2px 0; }
.subCurInc{ font-size:13px; font-weight:600; color:var(--muted); }
.subManage{ margin-top:12px; }
.subGrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:760px; margin:0 auto; }
@media(max-width:680px){ .subGrid{ grid-template-columns:1fr; } }
.subPlan{ border:1px solid var(--line); border-radius:16px; padding:18px; background:var(--card); box-shadow:0 3px 12px rgba(15,31,23,0.04); display:flex; flex-direction:column; }
.subPlan.cur{ border:1.5px solid var(--accent); box-shadow:0 8px 22px rgba(46,197,107,0.16); }
.subPlanName{ font-weight:900; font-size:16px; }
.subPlanPrice{ font-family:'Inter',sans-serif; font-size:22px; font-weight:800; margin:2px 0 12px; }
.subFeats{ list-style:none; padding:0; margin:0 0 14px; flex:1; }
.subFeats li{ font-size:13px; font-weight:600; color:var(--muted); padding:4px 0; }
.subCurTag{ text-align:center; font-weight:900; font-size:13px; color:var(--accentDeep); padding:9px; }
.priceBand{ display:flex; align-items:center; gap:10px; margin-top:14px; font-size:12.5px; font-weight:800; color:var(--accentDeep); }
.priceBandBar{ flex:1; height:8px; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--flow)); }
.bizGrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:560px){ .bizGrid{ grid-template-columns:1fr; } }
.bizField label{ display:block; font-size:12px; font-weight:800; color:var(--muted); margin-bottom:2px; }
.bizField input{ margin:0; max-width:none; }
/* ─── Daily home base dashboard ──────────────────────────── */
.dashAffirm{ background:var(--accentPale); border:1px solid rgba(46,197,107,0.18); border-radius:14px;
 padding:12px 18px; margin:14px 0 20px; font-style:italic; font-weight:500; color:var(--accentDeep); font-size:15px; }
.homeGrid{ display:grid; grid-template-columns:1fr 1.35fr; gap:16px; margin-bottom:22px; }
@media(max-width:760px){ .homeGrid{ grid-template-columns:1fr; } }
.homeCard{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:20px;
 box-shadow:0 4px 16px rgba(15,17,23,0.05); }
.homeCardHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.homeCardTitle{ font-weight:700; font-size:14px; color:var(--text); }
.qtLabel{ font-size:12px; font-weight:800; letter-spacing:.5px; color:var(--muted); text-transform:uppercase; margin-bottom:10px; }
.qtRow{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
@media(max-width:680px){ .qtRow{ grid-template-columns:1fr 1fr; } }
.qtBtn{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 12px; cursor:pointer;
 font-family:'Inter',sans-serif; font-weight:600; font-size:14px; color:var(--text); display:flex; flex-direction:column;
 align-items:center; gap:8px; box-shadow:0 3px 12px rgba(15,17,23,0.04); transition:border-color .15s, transform .15s; margin:0; }
.qtBtn:hover{ border-color:var(--accent); transform:translateY(-2px); }
.qtIco{ font-size:20px; }
/* ─── Stylist workflow mock: clearer canvas, hierarchy, and tablet nav ─── */
#dashboard.card,
#clients.card,
#quickIntro.card,
#consultQuiz.card{
 max-width:1040px; background:transparent; border:0; box-shadow:none; padding:18px 8px 96px;
}
#dashboard .opHeader,
#clients .clientsHead{ margin-bottom:18px; }
.dashSectionLabel{ margin:0 0 9px; font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.dashOnboarding{ margin-top:22px; }
.clientToolbar{ max-width:860px; margin:16px auto 0; }
.clientSearch{ width:100%; max-width:none; margin:0; padding:13px 15px; background:var(--card); }
#clientsList{ max-width:860px!important; }
.clientRow{ gap:14px; padding:15px 16px; }
.clientRowActions{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.clientRowActions .btn{ margin:0; padding:8px 12px; font-size:12px; }
.clientLastVisit{ color:var(--muted); font-size:12px; margin-top:3px; }
.sessionIntroLabel{ color:var(--accentDeep); font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
#consultQuiz .quizTop{ position:sticky; top:74px; z-index:5; background:var(--bg); padding:8px 0; }
@media(min-width:641px) and (max-width:880px){
 .tabBar{ display:flex!important; }
 .container{ padding-bottom:92px; }
}
@media(max-width:640px){
 #dashboard.card,#clients.card,#quickIntro.card,#consultQuiz.card{ padding:12px 2px 90px; }
 .clientRowActions .btnSecondary{ display:none; }
}
.consultVisual{margin:14px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.consultVisual img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#f7f8f7}
.consultVisual figcaption{padding:9px 12px;color:var(--muted);font-size:12px;line-height:1.45}
.consultDecisionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:12px}
.consultDecision{min-height:72px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px;cursor:pointer;color:var(--text)}
.consultDecision:hover,.consultDecision:focus-visible{border-color:var(--accent);outline:3px solid rgba(0,201,122,.15)}
.consultDecision.selected{border:2px solid var(--accent);background:var(--accentSoft);box-shadow:0 6px 16px rgba(0,120,75,.08)}
.consultDecision b{display:block;font-size:15px}.consultDecision span{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.35}
.consultSwatch{display:block;width:54px;height:42px;border-radius:12px;margin:0 0 10px;border:1px solid rgba(15,31,23,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);overflow:hidden;position:relative;background:#eef1ef}
.consultSwatch.tone-cool{background:linear-gradient(135deg,#9c8d88,#d1c5bd 48%,#817978)}.consultSwatch.tone-neutral{background:linear-gradient(135deg,#85634c,#c29c75 48%,#75523e)}.consultSwatch.tone-warm{background:linear-gradient(135deg,#a95e32,#d7a45f 48%,#8b4429)}
.consultSwatch.finish-translucent{background:linear-gradient(90deg,rgba(195,114,52,.32),rgba(234,178,110,.58),rgba(195,114,52,.32))}.consultSwatch.finish-multidimensional{background:linear-gradient(90deg,#7d4028 0 18%,#d38b45 18% 38%,#9b5530 38% 58%,#efb86b 58% 78%,#78402d 78%)}.consultSwatch.finish-opaque{background:#aa5f34}
.consultSwatch.texture-straight{background:repeating-linear-gradient(90deg,#33251f 0 4px,#795845 4px 7px)}.consultSwatch.texture-wavy{background:repeating-radial-gradient(ellipse at 0 50%,transparent 0 8px,#6e4b39 9px 12px,transparent 13px 20px),#c59a73}.consultSwatch.texture-curly{background:radial-gradient(circle at 20% 50%,transparent 0 7px,#5f3f31 8px 11px,transparent 12px),radial-gradient(circle at 65% 50%,transparent 0 7px,#8a654d 8px 11px,transparent 12px),#c7a07d}.consultSwatch.texture-coily{background:repeating-radial-gradient(circle at 8px 8px,transparent 0 3px,#4c342b 4px 6px,transparent 7px 11px),#a67b5c}
.consultSwatch.place-face::after,.consultSwatch.place-partial::after,.consultSwatch.place-full::after,.consultSwatch.place-balayage::after,.consultSwatch.place-foilyage::after{content:"";position:absolute;inset:5px 9px;border-radius:50% 50% 45% 45%;background:repeating-linear-gradient(90deg,#34251f 0 4px,#7c5b47 4px 7px)}.consultSwatch.place-face::before{content:"";position:absolute;z-index:1;left:12px;top:7px;width:5px;height:29px;background:#e1b56f;box-shadow:25px 0 #e1b56f}.consultSwatch.place-partial::before{content:"";position:absolute;z-index:1;left:17px;top:6px;width:4px;height:24px;background:#e1b56f;box-shadow:8px 1px #e1b56f,16px 0 #e1b56f}.consultSwatch.place-full::before{content:"";position:absolute;z-index:1;left:12px;top:5px;width:4px;height:31px;background:#e1b56f;box-shadow:7px 1px #e1b56f,14px 0 #e1b56f,21px 1px #e1b56f,28px 0 #e1b56f}.consultSwatch.place-balayage::before{content:"";position:absolute;z-index:1;left:12px;bottom:7px;width:32px;height:15px;background:linear-gradient(0deg,#e1b56f,transparent);border-radius:50%}.consultSwatch.place-foilyage::before{content:"";position:absolute;z-index:1;left:13px;top:8px;width:28px;height:24px;background:repeating-linear-gradient(90deg,#e1b56f 0 4px,transparent 4px 8px);transform:skew(-8deg)}
.consultCompare{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.consultCompare>div{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}
.consultCompare .small{margin-bottom:6px}.consultCompare b{font-size:15px;line-height:1.35}
.consultSummaryRow{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 13px}
.consultSummaryRow+ .consultSummaryRow{margin-top:9px}.consultSummaryRow summary{cursor:pointer;list-style:none;padding:14px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.consultSummaryRow summary::-webkit-details-marker{display:none}.consultSummaryRow .summaryDetail{padding:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}
.consultThumbs{display:flex;gap:8px;overflow:auto;padding:2px 0 8px;scrollbar-width:thin}.consultThumb{flex:0 0 92px;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;font-size:11px;font-weight:800;text-align:center}.consultThumb i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;margin:0 auto 6px;font-style:normal}
.consultGuideDetails{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 12px}.consultGuideDetails>summary{padding:13px 0;cursor:pointer;font-weight:850}
@media(max-width:640px){.consultCompare{grid-template-columns:1fr}.consultDecisionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.consultVisual{margin-left:-4px;margin-right:-4px}.consultVisual img{max-height:390px}.consultDecision{min-height:68px;padding:11px}.consultThumb{flex-basis:84px}}


/* Scoped to the authenticated Business Hub; existing application navigation stays intact. */
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){background:#0f1117;color:#f5f7f3;text-align:left;border-radius:4px;padding:28px;max-width:1120px;box-sizing:border-box}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) *{box-sizing:border-box}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) h1,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) h2{color:#f5f7f3;font-family:var(--rn-font-ui, "Inter"), sans-serif;text-shadow:0 3px 12px #0004}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) h1{font-size:32px;margin:6px 0 10px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) h2{font-size:22px;margin:6px 0 12px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) p{color:#b9c1ca;font:14px/1.6 Inter,sans-serif}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-eyebrow{color:#00cc6a;font:500 11px/1.5 Inter,sans-serif;letter-spacing:1.3px;text-transform:uppercase}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading{margin-bottom:26px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{border:1px solid #39453e;border-top:3px solid #00cc6a;background:#101318;border-radius:4px;padding:26px;box-shadow:0 12px 30px #0004}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-head p{margin:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button{font:500 14px/1.4 Inter,sans-serif;min-height:44px;padding:11px 16px;border:1px solid #49535f;border-radius:3px;color:#f5f7f3;background:#20252d;cursor:pointer;width:auto;margin:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-primary,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button[aria-pressed=true]{background:#00cc6a;border-color:#00cc6a;color:#062114}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button:disabled{opacity:.4;cursor:default}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) :focus-visible{outline:2px solid #00cc6a;outline-offset:3px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric{padding:0 24px;border-right:1px solid #39413e;font:13px/1.5 Inter,sans-serif}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child{padding-left:0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding-right:0;border-right:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{display:block;font:500 clamp(24px,3vw,34px)/1.3 Inter,sans-serif;font-variant-numeric:tabular-nums;margin:8px 0;overflow-wrap:anywhere}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric small{font-size:12px;color:#b9c1ca}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule{border-top:1px solid #39413e;margin-top:22px;padding-top:16px;font:12px/1.6 Inter,sans-serif;color:#c7d0ca}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths section{padding:22px;background:#191d24;border:1px solid #343c47;border-radius:4px;display:flex;flex-direction:column;gap:10px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths h2{font-size:21px;margin:0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths p{flex:1;margin:0 0 12px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths button{text-align:left;font-size:13px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor{margin:20px 0;padding:24px;background:#191d24;border:1px solid #547663;border-radius:4px;scroll-margin-top:90px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-steps,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-days{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-steps button,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-days button{flex:1}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor label{display:block;font:500 14px Inter,sans-serif;margin:16px 0 10px;color:#f5f7f3}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor input,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor select{display:block;width:100%;font:16px Inter,sans-serif;background:#101319;color:#f5f7f3;border:1px solid #59616f;border-radius:3px;padding:12px;margin:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor input[type=range]{accent-color:#00cc6a;margin:18px 0;padding:0;box-shadow:none;height:28px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) #hubError{color:#ffb7b7}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-note{font-size:12px;margin:16px 0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) [hidden]{display:none!important}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-revenue{border-block:1px solid #343c47;padding:18px 0;scroll-margin-top:90px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tracking{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;padding:24px 0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tracking p{margin:0}
#legacyBusinessTools{background:#fff;color:#111827;padding:20px;border-radius:4px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) #legacyBusinessTools h1,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) #legacyBusinessTools h2{color:#111827}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) #legacyBusinessTools input,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) #legacyBusinessTools select{background:#fff;color:#111827}
@media(max-width:850px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths{grid-template-columns:1fr}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths section{gap:8px}}
@media(max-width:540px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){padding:18px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{padding:18px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-totals{grid-template-columns:1fr}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding:14px 0;border-right:0;border-bottom:1px solid #39413e}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{border-bottom:0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-days button{padding:10px 5px;min-width:36px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor{padding:16px}}



/* Compact goals banner and photographic square navigation. */
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){background:transparent;border:0;box-shadow:none;padding:12px 0;color:var(--text)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading{margin:0 0 18px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{color:var(--text)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading p{color:var(--muted);margin:4px 0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 22px;background:#0f1117;border:1px solid #323c36;border-top:2px solid #00cc6a;box-shadow:0 8px 24px #0002;border-radius:3px;color:#f5f7f3}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label{font:500 18px/1.3 var(--rn-font-ui, "Inter"), sans-serif}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label small{display:block;font:11px/1.4 Inter,sans-serif;color:#b9c1ca;margin-top:5px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric{padding:0 18px;font-size:11px;border-right:1px solid #333b38}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child{padding-left:18px;border-left:1px solid #333b38}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:24px;line-height:1.2;margin:4px 0 0;letter-spacing:-.6px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner .bh-primary{font-size:12px;padding:9px 14px;white-space:nowrap}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule{grid-column:1/-1;margin:0;padding:10px 0 0;font-size:11px;border-top:1px solid #2b332f;line-height:1.4}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-tile{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;aspect-ratio:1;width:100%;min-height:0;padding:22px;overflow:hidden;border:1px solid #414942;border-radius:3px;background:#101318;color:#fff;text-align:left;box-shadow:0 8px 20px #0002;transition:transform .18s,border-color .18s}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile:before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('/assets/business-hub-editorial-v1.webp');background-size:300% 100%;background-repeat:no-repeat}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-pay:before{background-position:0% 50%}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-revenue:before{background-position:50% 50%}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-pricing:before{background-position:100% 50%}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f111700 10%,#0f11171a 35%,#0f1117e8 79%,#0f1117 100%)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile:hover{transform:translateY(-3px);border-color:#00cc6a}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-kicker{font:500 10px/1.4 Inter,sans-serif;text-transform:uppercase;letter-spacing:1.3px;color:#76e7ae;margin-bottom:8px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font:500 25px/1.15 var(--rn-font-ui, "Inter"), sans-serif;color:#fff;display:block;padding-right:22px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-description{font:400 12px/1.45 Inter,sans-serif;color:#d4d9dd;display:block;margin-top:9px;max-width:240px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-arrow{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff55;background:#0f111766;border-radius:2px;color:#fff;font-size:18px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tracking h2{color:var(--text)}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tracking p,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) > .bh-note{color:var(--muted)}
@media(max-width:1000px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{grid-template-columns:120px minmax(0,1fr) auto;gap:10px;padding:16px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric{padding:0 12px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child{padding-left:12px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:21px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-tile{padding:18px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font-size:22px}}
@media(max-width:650px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{grid-template-columns:1fr auto;gap:14px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label{grid-column:1;grid-row:1}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner>.bh-primary{grid-column:2;grid-row:1}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-totals{grid-column:1/-1;grid-row:2}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding:0 10px;border-bottom:0;border-left:0;border-right:1px solid #333b38}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child{padding-left:0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding-right:0;border-right:0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:22px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-paths{grid-template-columns:1fr;gap:16px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font-size:30px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-tile{padding:26px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-description{font-size:14px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule{grid-row:3}}
@media(prefers-reduced-motion:reduce){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-tile{transition:none}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile:hover{transform:none}}



/* Approved Soft Charcoal treatment. */
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading{margin:28px 0 20px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{font-size:36px;margin:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-tile{justify-content:center;align-items:center;text-align:center;padding:22px;gap:14px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile:after{background:rgba(9,12,16,.44)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font-size:40px;font-weight:600;line-height:1.12;padding:0;text-shadow:0 3px 4px #000c,0 8px 22px #000e,0 0 3px #0008}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-description{font-size:16px;line-height:1.45;margin:0;max-width:240px;color:#fff;text-shadow:0 2px 3px #000,0 3px 12px #000,0 0 22px #000}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label{font-size:22px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label small{font-size:12px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric{font-size:13px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:26px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner .bh-primary{font-size:14px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule{font-size:12px}
@media(min-width:651px) and (max-width:1000px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font-size:34px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-description{font-size:15px}}
@media(max-width:650px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-totals{grid-template-columns:repeat(3,minmax(0,1fr))}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:24px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font-size:40px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-description{font-size:17px}}
@media(max-width:440px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding:0 7px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child{padding-left:0}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:21px;letter-spacing:-.5px}}


:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){container-type:inline-size}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{grid-template-columns:140px minmax(0,1fr) auto;border:1px solid #2d3438;padding:20px 24px;gap:16px;box-shadow:0 5px 18px #00000014}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label{font-size:21px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font:500 clamp(20px,2.1vw,28px)/1.25 Inter,sans-serif;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.6px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner>.bh-primary{background:transparent;color:#f5f7f3;border:1px solid #329568;font-size:12px;min-height:38px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule{font-size:12px;color:#b9c1ca}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) dialog.bh-editor:not([open]){display:none}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) dialog.bh-editor[open]{display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;padding:36px 30px 28px;overflow-y:auto;background:#191e25;color:#f5f7f3;border:0;border-left:1px solid #ffffff12;border-radius:0;box-shadow:-12px 0 40px #0004}
#hubGoalEditor::backdrop{background:#05080c66}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor .bh-banner-head{flex-wrap:nowrap;margin:0 0 28px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor h2{font:500 32px/1.2 var(--rn-font-ui, "Inter"), sans-serif;color:#fff;margin:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor .bh-banner-head button{background:transparent;border:0;font-size:28px;padding:0;width:44px;flex:none}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor .bh-steps{flex-wrap:nowrap;gap:0;border-bottom:1px solid #414850;margin:0 0 36px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor .bh-steps button{background:transparent;color:#b9c1ca;border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 6px;font-size:13px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor .bh-steps button[aria-pressed=true]{color:#00cc6a;border-bottom-color:#00cc6a}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor label{font-size:18px;line-height:1.5}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor .bh-note{color:#b9c1ca;line-height:1.6;font-size:13px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-income-value{display:flex;align-items:center;border-bottom:1px solid #68717b;margin:24px 0 12px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-income-value span{font:44px var(--rn-font-ui, "Inter"), sans-serif}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-income-value #hubIncome{font:44px/1.3 var(--rn-font-ui, "Inter"), sans-serif;border:0;background:transparent;min-width:0;padding:8px 0;box-shadow:none;appearance:textfield}
#hubIncome::-webkit-inner-spin-button,#hubIncome::-webkit-outer-spin-button{appearance:none;margin:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-range-labels{display:flex;justify-content:space-between;font:12px Inter,sans-serif;color:#b9c1ca}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor-actions{margin-top:auto;padding-top:28px;border-top:1px solid #343b44}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor #hubError{min-height:20px;margin-bottom:30px}
@container(max-width:760px){
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{grid-template-columns:1fr auto;gap:16px;padding:18px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label{grid-column:1;grid-row:1}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner>.bh-primary{grid-column:2;grid-row:1}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-totals{grid-column:1/-1;grid-row:2}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding:0 10px;border-left:0;border-bottom:0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:first-child{padding-left:0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric:last-child{padding-right:0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:clamp(16px,4.5cqi,25px)}
}
@media(max-width:500px){:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) dialog.bh-editor[open]{width:100vw;padding:24px 22px}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-editor h2{font-size:28px}}


/* Size type against the card, including narrow split-screen workspaces. */
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.bh-tile{container-type:inline-size;box-sizing:border-box;padding:18px;gap:12px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-title{font-size:clamp(22px,10cqi,36px);line-height:1.12;max-width:100%;overflow-wrap:normal}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-revenue .bh-tile-title{font-size:clamp(21px,9cqi,32px)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-tile-description{font-size:clamp(12px,4.8cqi,16px);line-height:1.4;max-width:100%;margin:0}



:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule{display:flex;flex-wrap:wrap;gap:18px 40px;padding-top:16px;align-items:flex-start}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule-item{display:flex;flex-direction:column;gap:6px;min-width:130px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule-item>span{font:400 11px/1.4 Inter,sans-serif;color:#aeb7c1}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-schedule-item>strong{font:500 14px/1.5 Inter,sans-serif;color:#f5f7f3}


.bh-page-foundation{padding:28px;background:#191e25;color:#f5f7f3;border:1px solid #343b44;border-radius:3px;margin:24px 0}
.bh-page-foundation h2{color:#fff!important;margin:0 0 12px}
.bh-page-foundation p{color:#c8cdd4;line-height:1.6;max-width:720px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{margin-top:22px}


.bh-tips{margin:24px 0;padding:20px 24px;background:#151c19;color:#eef5f1;border:1px solid #30483a;border-radius:3px}
.bh-tip-lead{display:flex;align-items:flex-start;gap:12px}.bh-tip-lead p{margin:0;line-height:1.65;font:400 15px/1.65 Inter,sans-serif}
.bh-tip-icon{width:22px;height:22px;flex:0 0 22px;color:#00cc6a;margin-top:2px}
.bh-tips summary,.bh-deeper summary{cursor:pointer;padding:14px 0;font:500 14px Inter,sans-serif;color:#74dfa5}
.bh-tips details{margin-left:34px}.bh-tips li,.bh-page-foundation li{margin:9px 0;font:400 14px/1.6 Inter,sans-serif}
.bh-page-foundation ul{padding-left:20px;color:#d1d7dc}
.bh-page-foundation h3{font:500 20px/1.4 var(--rn-font-ui, "Inter"), sans-serif;color:#f5f7f3;margin-top:26px}
.bh-stage{display:inline-block;font:500 11px/1.4 Inter,sans-serif;color:#bdc8c1;border:1px solid #46544c;padding:5px 9px;margin-bottom:16px;border-radius:3px}
.bh-deeper{border-top:1px solid #343b44;margin-top:24px}
@media(max-width:500px){.bh-tips,.bh-page-foundation{padding:20px}.bh-tips details{margin-left:0}}


#hubWeeklyChecklist{margin:32px 0 20px;padding:28px;background:#fafbf9;color:#17201b;border:1px solid #dce5df;border-top:3px solid #00a85a;border-radius:4px;box-shadow:0 5px 18px #16271d0a}
#hubWeeklyChecklist header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
#hubWeeklyChecklist .bh-week-label{font:500 11px/1.4 Inter,sans-serif;color:#397453}
#hubWeeklyChecklist h2{font:500 27px/1.25 var(--rn-font-ui, "Inter"), sans-serif;color:#17201b;margin:8px 0;text-shadow:none}
#hubWeeklyChecklist p{font:400 14px/1.6 Inter,sans-serif;color:#59665e;margin:0}
#hubWeeklyChecklist .bh-week-count{flex:none;font:500 12px/1.4 Inter,sans-serif;padding:8px 11px;border:1px solid #cfdfd5;background:#edf5ef;color:#285e3c;border-radius:3px}
#hubWeeklyChecklist .bh-week-items{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#hubWeeklyChecklist .bh-week-item{display:flex;gap:12px;align-items:flex-start;padding:17px;background:white;border:1px solid #dce5df;border-radius:3px;cursor:pointer}
#hubWeeklyChecklist input{accent-color:#009c50;width:20px;height:20px;flex:none;margin:2px 0 0;cursor:pointer}
#hubWeeklyChecklist strong{display:block;font:500 14px/1.5 Inter,sans-serif;color:#17201b}
#hubWeeklyChecklist small{display:block;font:400 12px/1.6 Inter,sans-serif;color:#657268;margin-top:4px}
#hubWeeklyChecklist .bh-week-item:has(input:checked){background:#edf6ef;border-color:#a0c7ac}
#hubWeeklyChecklist footer{font:400 11px/1.6 Inter,sans-serif;color:#657268;margin-top:18px}
@media(max-width:650px){#hubWeeklyChecklist{padding:20px}#hubWeeklyChecklist header{flex-direction:column;gap:12px}#hubWeeklyChecklist .bh-week-items{grid-template-columns:1fr}}


:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{
background:radial-gradient(ellipse at 95% 0%,rgba(0,170,91,.25) 0%,rgba(0,103,61,.09) 32%,transparent 62%),linear-gradient(135deg,#171d1c 0%,#101516 48%,#0e1215 100%);
border-color:#34443d;border-top-color:#418b68;
box-shadow:inset 0 1px 0 rgba(132,230,179,.2),0 8px 24px rgba(0,0,0,.16);
}


:is(#learn,#learnArticle){background:#fbfcfa;color:#18231d;border:1px solid #e0e6e1;border-radius:4px}
.lg-header{padding:8px 0 24px;max-width:800px}.lg-header>span,.lg-category{font:500 12px/1.5 Inter,sans-serif;color:#287149}.lg-header h1{font:500 clamp(30px,4vw,44px)/1.15 var(--rn-font-ui, "Inter"), sans-serif;text-align:left;margin:12px 0;color:#18231d;text-shadow:none}
.lg-header p,.lg-card p{font:400 15px/1.7 Inter,sans-serif;color:#53625a}.lg-header small,.lg-meta{font:400 11px/1.6 Inter,sans-serif;color:#68776e}
.lg-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.lg-filters button{padding:10px 14px;min-height:44px;border:1px solid #d6e1d8;border-radius:3px;background:#fff;color:#254932;cursor:pointer;font:500 13px Inter,sans-serif}
.lg-filters button[aria-pressed=true]{background:#183d2b;color:#fff;border-color:#183d2b}
.lg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lg-card{padding:24px;background:#fff;border:1px solid #dce5df;border-radius:3px;box-shadow:0 5px 16px #17271c08}
.lg-card h2{margin:12px 0}.lg-card h2 .lg-link{font:500 24px/1.3 var(--rn-font-ui, "Inter"), sans-serif!important;color:#17241c!important}
button.lg-link,:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) button.lg-link{display:block;background:transparent;border:0;border-radius:0;padding:8px 0;margin:0;text-align:left;color:#20734a;font:500 14px/1.5 Inter,sans-serif;cursor:pointer;white-space:normal;height:auto}
.lg-link:hover{text-decoration:underline}.lg-link:focus-visible,.lg-filters button:focus-visible{outline:2px solid #009f55;outline-offset:4px}
.lg-article{max-width:780px;margin:0 auto}.lg-article section{margin:28px 0}.lg-article section h2,.lg-apply h2{font:500 25px/1.3 var(--rn-font-ui, "Inter"), sans-serif;color:#18231d;text-shadow:none}
.lg-article section p{font:400 16px/1.85 Inter,sans-serif;color:#34473b}
.lg-tip{display:flex;gap:12px;padding:20px;background:#edf6ef;border:1px solid #cce0d1;border-radius:3px;margin:28px 0}.lg-tip p{margin:0;font:400 15px/1.7 Inter,sans-serif;color:#254732}
.lg-bulb{width:22px;height:22px;flex:none;color:#009f55}.lg-apply{padding:22px 0;border-block:1px solid #dce5df}.lg-apply p,.lg-source{font:400 12px/1.7 Inter,sans-serif;color:#637268}
.lg-related{padding:20px 0;margin:22px 0;border-block:1px solid #cddbd1}.lg-related h2{color:var(--text,#18231d);font:500 24px/1.3 var(--rn-font-ui, "Inter"), sans-serif}.lg-related p{color:var(--muted,#637268);font:400 14px/1.6 Inter,sans-serif}.lg-references{margin-top:32px;border-top:1px solid #dce5df;padding:20px 0}.lg-references>summary{cursor:pointer;font:500 16px/1.5 Inter,sans-serif;margin-bottom:18px}
@media(max-width:650px){.lg-grid{grid-template-columns:1fr}.lg-card{padding:20px}}


/* Planning workspaces */
.rp-planner{color:#17221b;font-family:Inter,Arial,sans-serif}.rp-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #dce3dd;margin:0 0 28px}.rp-comparison>div{padding:16px 22px;border-right:1px solid #dce3dd}.rp-comparison span,.rp-comparison strong{display:block}.rp-comparison span{font-size:12px;color:#5b685e;margin-bottom:10px}.rp-comparison strong{font-size:clamp(18px,2vw,27px);overflow-wrap:anywhere}.rp-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:start}.rp-inputs,.rp-results{padding:26px;border:1px solid #dce3dd;background:#fff;min-width:0}.rp-results{background:#fafcf9;border-top:3px solid #008c50}.rp-planner h2{font-size:27px;margin:0 0 24px}.rp-planner h3{font-size:21px}.rp-field{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;font-size:13px;font-weight:600}.rp-planner .rp-field input,.rp-planner .rp-field select{width:100%;box-sizing:border-box;background:#fff;color:#17221b;border:1px solid #bdc9c0;border-radius:3px;padding:13px;font:500 17px Inter,Arial,sans-serif;min-width:0}.rp-input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rp-slider{margin:4px 0 28px}.rp-slider label{font-size:13px}.rp-slider input{width:100%;accent-color:#008c50;margin:16px 0 8px}.rp-slider>div{display:flex;justify-content:space-between;color:#69766d;font-size:12px}.rp-days{border:0;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:5px}.rp-days legend{font-size:13px;font-weight:600;margin-bottom:12px}.rp-planner .rp-days button,.rp-planner .rp-actions button{background:#fff!important;color:#18251e!important;border:1px solid #bdc9c0!important;border-radius:3px!important;padding:10px 12px!important;font:600 13px Inter,Arial,sans-serif!important}.rp-planner .rp-days button[aria-pressed=true],.rp-planner .rp-actions .rp-save{background:#008c50!important;color:#fff!important;border-color:#008c50!important}.rp-planner input:focus-visible,.rp-planner button:focus-visible,.rp-planner select:focus-visible{outline:3px solid #78bc95;outline-offset:3px}.rp-muted{font-size:12px!important;line-height:1.65;color:#617066}.rp-planner details{border-top:1px solid #dce3dd;padding:16px 0;font-size:13px;line-height:1.7}.rp-planner summary{cursor:pointer;font-weight:600;margin-bottom:10px}.rp-big{font-size:clamp(32px,4vw,48px);font-weight:650;letter-spacing:-1.5px;color:#006b3e;overflow-wrap:anywhere}.rp-secondary{font-size:19px;margin:12px 0 25px}.rp-mini{display:grid;gap:8px;background:#edf3ed;padding:16px;margin:22px 0;font-size:13px}.rp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.rp-tip{display:flex;align-items:flex-start;gap:12px;margin:28px 0 12px;font-size:13px;line-height:1.65}.rp-tip svg{width:22px;height:22px;flex:0 0 22px;color:#008c50}.rp-tip p{margin:0}.rp-empty{border:1px dashed #b6c7ba;padding:24px;font-size:14px;line-height:1.7}.rp-shortfall,.rp-warning,#rp-error{color:#93421d}.rp-shortfall{padding:18px;background:#fff4ea}.rp-donut{width:190px;height:190px;border-radius:50%;padding:24px;box-sizing:border-box;margin:24px auto}.rp-donut>div{background:#fafcf9;width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}.rp-donut strong{font-size:25px}.rp-donut small{font-size:9px}.rp-legend{width:100%;border-collapse:collapse;font-size:13px}.rp-legend caption{text-align:left;font-weight:600;padding:10px 0}.rp-legend th{font-weight:500;text-align:left}.rp-legend td{text-align:right;white-space:nowrap}.rp-legend td,.rp-legend th{padding:10px 0;border-bottom:1px solid #e0e7e0}.rp-legend th span{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%}.rp-legend small{display:inline-block;width:32px;color:#677669}.rp-market{margin:36px 0;padding:26px;border:1px solid #dce3dd}.rp-market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.rp-market fieldset{min-width:0;border:1px solid #dce3dd;padding:14px}.rp-market legend{font-size:13px;font-weight:600}.rp-market input{font-size:14px!important}
#learn .lg-banner{background:radial-gradient(ellipse at 85% 0%,#164936 0,transparent 65%),#101612;color:#fff;padding:30px 32px;border-top:2px solid #00995a;margin-bottom:28px;box-shadow:0 8px 24px #10251912}#learn .lg-banner>span{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#b6d0bd}#learn .lg-banner h1{color:white;margin:12px 0;font-size:38px}#learn .lg-banner p{color:#cdd8d0;font-size:14px}#learn .lg-banner label{display:block;font-size:12px;margin-top:22px}#learn .lg-banner input{display:block;width:min(100%,480px);box-sizing:border-box;padding:12px;margin-top:7px;background:#fff;color:#16251d;border:1px solid #bccdbf;border-radius:3px}#learn .lg-topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0 42px}#learn .lg-topic-cards button{aspect-ratio:1;max-height:250px;min-width:0;background-image:linear-gradient(#080c0ba8,#080c0bd6),url('/assets/business-hub-editorial-v1.webp');background-size:300% 100%;border:0;border-radius:3px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;box-shadow:0 7px 18px #14291c18;cursor:pointer}#learn .lg-topic-cards strong{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:clamp(23px,2.4vw,34px);line-height:1.15;text-shadow:0 2px 6px #000}#learn .lg-topic-cards span{font-size:13px;line-height:1.5}#learn .lg-topic-cards button[aria-pressed=true]{outline:3px solid #008b4c;outline-offset:3px}#learn .lg-editorial-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid #dce3dd}#learn .lg-photo{background-image:linear-gradient(#0c161326,#0c161344),url('/assets/business-hub-editorial-v1.webp');background-size:300% 100%;border-radius:3px;min-height:130px}#learn .lg-editorial-row h2{font-size:24px;margin:8px 0}#learn .lg-editorial-row h2 button{font:inherit}#learn .lg-editorial-row p{font-size:14px;line-height:1.6;color:#526256}#learn .lg-editorial-row small{font-size:11px;color:#657469}
@media(max-width:1000px){.rp-workspace{gap:18px}.rp-inputs,.rp-results{padding:20px}.rp-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.rp-workspace{grid-template-columns:1fr}.rp-comparison>div{padding:12px 8px}.rp-comparison strong{font-size:17px}.rp-comparison span{font-size:10px}.rp-market{padding:16px}.rp-market-grid{grid-template-columns:1fr}#learn .lg-topic-cards{gap:10px}#learn .lg-topic-cards button{padding:12px}#learn .lg-topic-cards strong{font-size:22px}#learn .lg-topic-cards span{display:none}}
@media(max-width:480px){.rp-input-row{grid-template-columns:1fr;gap:0}#learn .lg-topic-cards{grid-template-columns:1fr}#learn .lg-topic-cards button{aspect-ratio:1.6;max-height:220px}#learn .lg-topic-cards span{display:block}#learn .lg-editorial-row{grid-template-columns:80px 1fr;gap:15px}#learn .lg-editorial-row h2{font-size:20px}#learn .lg-banner{padding:24px}}


:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner p,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner li{color:#46594c!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner h2,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner h3{color:#17251c!important;text-shadow:none!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field input,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field select{border-radius:3px!important;color:#17251c!important;background:#fff!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner #rp-error{color:#8b391f!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .lg-related h2,#learn .lg-library-title,#learn .lg-editorial-row h2{color:#17251c!important;text-shadow:none!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .lg-related p{color:#46594c!important}

#learn .lg-banner input{margin:7px 0 0!important;border-radius:3px!important}#learn .lg-topic-cards button{width:100%!important;max-width:none!important}

#businessTools .bh-paths{grid-template-columns:repeat(3,minmax(0,260px));gap:16px;margin:22px 0;width:100%;max-width:812px}
#businessTools button.bh-tile{width:100%;height:auto;aspect-ratio:1;min-height:0;max-height:260px;padding:16px;gap:10px}
#businessTools .bh-tile-title{font-size:clamp(22px,10cqi,29px);line-height:1.12}
#businessTools .bh-tile-revenue .bh-tile-title{font-size:clamp(21px,9cqi,27px)}
#businessTools .bh-tile-description{font-size:13px;line-height:1.4}
@media(max-width:650px){#businessTools .bh-paths{grid-template-columns:repeat(2,minmax(0,260px));gap:14px;max-width:534px}}
@media(max-width:420px){#businessTools .bh-paths{grid-template-columns:minmax(0,260px);max-width:260px}}


:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading{margin:0 0 22px;position:relative}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{font-size:clamp(32px,3.8vw,54px);margin:8px 0;text-shadow:none}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading>button{background:none;border:0;color:#41604e;padding:0;font-size:12px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading p{font-size:16px;margin:0}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:22px;align-items:center;padding:20px 26px;margin:0 0 16px;min-height:0}
.rp-slim-banner>div{display:grid;gap:5px;border-right:1px solid #48705c}
.rp-slim-banner strong{font-size:25px;color:#fff}.rp-slim-banner small{font-size:12px;color:#c9d9cf}
#pricingStrategy .bh-banner[hidden]{display:none}
.rp-planner .rp-comparison{border:1px solid #e0e5e3;border-radius:4px;background:#f5f7f8;margin-bottom:16px;gap:0}
.rp-planner .rp-comparison>div{padding:15px 22px}.rp-comparison>div:last-child{border:0}.rp-planner .rp-comparison strong{font-size:28px}
.rp-planner .rp-workspace{gap:16px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.rp-planner .rp-inputs,.rp-planner .rp-results{background:#fff;border:1px solid #dfe5e2;border-radius:4px;padding:24px}
.rp-planner .rp-field{margin-bottom:15px}.rp-planner .rp-field input,.rp-planner .rp-field select{padding:10px 12px}
.rp-planner .rp-slider{margin-bottom:20px}.rp-planner .rp-big{font-size:48px;color:#00a65c}
.rp-planner .rp-secondary{font-size:27px;color:#16251c;margin:10px 0 16px}
.rp-planner .rp-actions .rp-save{flex:1;padding:13px!important}
.rp-planner .rp-actions button:not(.rp-save){border:0!important;color:#008e50!important;text-decoration:underline}
.rp-planner .rp-tip{padding-top:16px;border-top:1px solid #e1e7e3}
.rp-planner .rp-allocation{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,1.1fr);gap:16px;align-items:center}
.rp-planner .rp-donut{width:100%;max-width:210px;height:auto;aspect-ratio:1;padding:22px;margin:10px auto}
.rp-planner .rp-legend{font-size:12px}.rp-planner .rp-legend td{white-space:normal}
#revenueExpensePlan .rp-inputs>.rp-input-row{display:block}
#revenueExpensePlan .rp-inputs .rp-field{display:grid;grid-template-columns:1fr minmax(100px,.75fr);align-items:center;gap:14px}
#revenueExpensePlan .rp-inputs>.rp-muted{font-size:11px!important}
.rp-market{padding:20px!important;margin:18px 0!important}
.rp-market-grid{display:block!important}
.rp-market fieldset{display:grid;grid-template-columns:.4fr 1fr .7fr 1.3fr 1.2fr 1fr;align-items:center;gap:12px;padding:12px 0!important;border:0!important;border-bottom:1px solid #e0e7e3!important}
.rp-market legend{float:left;font-size:11px}.rp-market .rp-field{font-size:10px;margin:0}
.rp-market .rp-field input{padding:8px!important;font-size:12px!important}
.rp-scenario-strip{border:1px solid #dfe5e2;border-radius:4px;padding:20px;display:grid;grid-template-columns:1fr 1.2fr;gap:12px 24px;margin-bottom:22px}
.rp-scenario-strip h2{font-size:22px;margin:0;grid-column:1/-1}.rp-scenario-strip .rp-input-row{margin:0}.rp-scenario-strip>p{margin:0;grid-column:1/-1}
.rp-sample-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#567060;margin-top:18px}.rp-sample-label input{width:16px;height:16px}
.rp-sample-badge{display:inline-block;font-size:10px;letter-spacing:1px;color:#007747;background:#e9f6ef;padding:8px 12px;margin-top:12px}
#learn .lg-page-heading h1{font-size:clamp(34px,4vw,54px);color:#101b15;margin:0 0 8px;text-shadow:none}
#learn .lg-page-heading p{color:#546357;font-size:17px;margin:0 0 24px}
#learn .lg-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;margin-bottom:16px}
#learn .lg-banner h2{font-size:28px;color:white;margin:0 0 6px}
#learn .lg-banner p{margin:0}#learn .lg-banner label{margin:0;min-width:220px}
#learn .lg-topic-cards{margin:16px 0 28px;gap:18px}
#learn .lg-editorial-row{grid-template-columns:90px 1fr;gap:20px;padding:16px 0}
#learn .lg-photo{min-height:86px}#learn .lg-editorial-row h2{font-size:23px;margin:5px 0}
#learn .lg-editorial-row p{margin:5px 0}
@media(max-width:1000px){.rp-planner .rp-allocation{grid-template-columns:1fr}.rp-market fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-market legend{float:none;grid-column:1/-1}}
@media(max-width:760px){.rp-planner .rp-workspace{grid-template-columns:1fr}:is(#yourPay,#revenueExpensePlan) .rp-slim-banner{grid-template-columns:1fr 1fr;padding:18px;gap:16px}.rp-slim-banner strong{font-size:21px}.rp-planner .rp-comparison strong{font-size:21px}.rp-planner .rp-comparison>div{padding:12px 8px}.rp-scenario-strip{grid-template-columns:1fr}#learn .lg-banner{display:block}#learn .lg-banner label{margin-top:16px}.rp-market fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Final mockup proportions, restricted to the four approved workspaces. */
:is(#yourPay,#revenueExpensePlan,#pricingStrategy){max-width:1300px!important;margin-inline:auto!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading{padding:0;margin-bottom:16px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:clamp(34px,3.7vw,54px);line-height:1.12;font-weight:600;margin:12px 0 6px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-sample-badge{position:absolute;right:0;top:0;padding:6px 10px;margin:0;font-size:9px}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner{padding:16px 24px;gap:18px;box-shadow:0 4px 12px #00000010;background:radial-gradient(ellipse at 95% 0%,#00774775,transparent 60%),linear-gradient(115deg,#0b1114,#12261d 75%,#091212);border:1px solid #294936;border-radius:4px}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner>div{border-right:1px solid #426652;padding-right:15px}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner strong{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-weight:500;font-size:26px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-comparison{background:#f6f8f9;border-color:#e0e5e8;box-shadow:none;margin-bottom:16px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison strong{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:30px;font-weight:600;line-height:1.1}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison>div:last-child strong{color:#009f59}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-workspace{align-items:stretch;gap:14px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-inputs,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-results{padding:22px;background:#fff;border:1px solid #e0e5e7;border-radius:4px;box-shadow:none}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner h2{font:600 26px/1.2 var(--rn-font-ui, "Inter"), sans-serif;margin-bottom:16px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner h3{font-size:14px;line-height:1.4;margin:0 0 14px;font-family:Inter,Arial,sans-serif}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field{font-weight:400;font-size:12px;gap:6px;margin:0 0 14px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field input,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field select{height:39px;min-height:0;padding:7px 10px;border-color:#cfd7dc;font-size:15px;box-shadow:none;margin:0!important;width:100%!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field textarea{width:100%;min-height:85px;box-sizing:border-box;background:white;border:1px solid #cfd7dc;color:#17251c;font:14px/1.5 Inter,Arial;padding:10px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-input-row{gap:12px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-slider{margin:0 0 20px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-slider>label{font-size:11px;color:#566359}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-slider input{height:6px;min-height:0;padding:0;margin:13px 0 10px;box-shadow:none}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-big{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:54px;line-height:1.05;font-weight:600;letter-spacing:-1px;color:#00a45b}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-secondary{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:28px;line-height:1.15;margin:12px 0}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-output p{font-size:12px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-sample-label{justify-content:flex-start!important;display:flex!important;gap:8px!important;font-weight:400;margin:10px 0 0;font-size:10px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-sample-label input{width:14px!important;height:14px!important;min-height:0!important;margin:0!important;flex:0 0 14px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-actions{margin:18px 0 0;align-items:center}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-actions .rp-save{background:linear-gradient(110deg,#00aa5c,#009650)!important;min-height:40px;font-size:14px!important;box-shadow:none}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-tip{font-size:12px;margin-top:18px;padding-top:15px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-tip svg{width:26px;height:26px;flex-basis:26px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner details{padding:12px 0;font-size:12px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner summary{margin-bottom:8px}
#yourPay #rp-income{height:48px!important;font-size:28px!important;font-weight:600}
#yourPay .rp-days{margin-bottom:15px;gap:5px}#yourPay .rp-days button{padding:7px 9px!important;font-size:11px!important;min-height:34px}
.rp-pay-bars{display:grid;gap:18px;margin:26px 0}.rp-pay-bars>div{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:center}.rp-pay-bars span{font-size:11px;color:#59675f}.rp-pay-bars strong{display:block;font-size:17px;color:#16241b}.rp-bar-track{height:18px;border-radius:2px;background:#f3f5f4}.rp-bar-fill{height:100%;background:#bcc5c9;border-radius:2px}.rp-bar-fill.proposed{background:linear-gradient(90deg,#22ba7b,#00ac5a)}
#yourPay .rp-mini{background:none;border-top:1px solid #e1e6e3;padding:12px 0;margin:14px 0;font-size:11px}
#revenueExpensePlan .rp-allocation{grid-template-columns:minmax(160px,1fr) minmax(140px,1fr);gap:18px}
#revenueExpensePlan .rp-donut{max-width:235px;padding:28px}
#revenueExpensePlan .rp-legend td,#revenueExpensePlan .rp-legend th{padding:10px 0;border-bottom:0}
#revenueExpensePlan .rp-cost-rows{border-top:1px solid #e1e6e3;padding-top:16px}
#revenueExpensePlan .rp-inputs .rp-field{grid-template-columns:1fr minmax(100px,.8fr)}
#revenueExpensePlan .rp-mini{background:#f0f8f3;border:1px solid #c7dfce;border-radius:3px;margin:16px 0;padding:12px;font-size:12px}
#pricingStrategy .rp-workspace{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)}
.rp-price-duo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;align-items:start}
.rp-price-chart{border-left:1px solid #e1e7e4;padding-left:18px}
#pricingStrategy .rp-price-summary .rp-big{font-size:46px}
#pricingStrategy .rp-price-summary p{font-size:11px;line-height:1.6}
#pricingStrategy .rp-price-summary .rp-secondary{font-size:26px;padding-top:15px;border-top:1px solid #e1e7e4}
#pricingStrategy .rp-price-chart .rp-allocation{display:block}
#pricingStrategy .rp-price-chart .rp-donut{width:145px;padding:22px;margin:8px auto 12px}
#pricingStrategy .rp-price-chart .rp-donut strong{font-size:22px}
#pricingStrategy .rp-price-chart .rp-legend caption{display:none}
#pricingStrategy .rp-price-chart .rp-legend{font-size:10px}
#pricingStrategy .rp-price-chart .rp-legend td,#pricingStrategy .rp-price-chart .rp-legend th{padding:5px 0;border:0}
#pricingStrategy .rp-results>.rp-muted{font-size:10px!important}
#pricingStrategy .rp-market fieldset{grid-template-columns:60px 1fr .7fr 1.2fr 1fr 1fr;gap:10px}
#pricingStrategy .rp-market{margin:16px 0!important}
#pricingStrategy .rp-market h2{margin-bottom:5px}
#pricingStrategy .rp-market>p{font-size:12px;margin:5px 0 12px}
#pricingStrategy .rp-market fieldset:not(:first-child) .rp-field>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
#pricingStrategy .rp-market fieldset:not(:first-child){padding:6px 0!important}
#pricingStrategy .rp-market input{height:32px;padding:5px 7px!important;font-size:11px!important}
#pricingStrategy .rp-scenario-strip{grid-template-columns:1.2fr 1fr;gap:10px 22px;padding:18px}
#pricingStrategy .rp-scenario-strip .rp-actions{grid-column:2;grid-row:2;margin:0}
#pricingStrategy .rp-scenario-strip .rp-tip{grid-column:2;grid-row:3 / 5;margin:0;border:1px solid #b3dcc7;border-radius:3px;padding:12px}
#pricingStrategy .rp-scenario-strip>.rp-muted{grid-column:1;font-size:10px!important}
#pricingStrategy .rp-scenario-strip .rp-slider{margin:0}
#learn .lg-page-heading h1{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-weight:600;line-height:1.1}
#learn .lg-banner{border-radius:4px;padding:18px 26px;background:radial-gradient(ellipse at 95% 10%,#07513290,transparent 55%),#0b1111}
#learn .lg-banner label{font-size:10px}#learn .lg-banner input{background:transparent;color:white;border-color:#d3e5d9;height:40px;font-size:13px}
#learn .lg-banner input::placeholder{color:#c4d5ca}
#learn .lg-topic-cards button{background-image:linear-gradient(#0a11121c,#090e11a8),url('/assets/business-hub-editorial-v1.webp');max-height:285px;justify-content:flex-end;padding:24px 18px;gap:10px}
#learn .lg-topic-cards strong{font-size:clamp(22px,2.5vw,35px);font-weight:500}
#learn .lg-topic-cards span{font-size:14px;max-width:230px}
#learn .lg-library-title{font:600 29px/1.2 var(--rn-font-ui, "Inter"), sans-serif}
#learn .lg-filters{margin:10px 0 8px}#learn .lg-filters button{font-size:11px;padding:6px 9px}
#learn .lg-editorial-row p{font-size:12px}#learn .lg-editorial-row small{font-size:10px}
#learn .lg-practice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border:1px solid #89c6a6;border-radius:4px;background:#f5faf6;margin:24px 0}
#learn .lg-practice strong{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:22px;font-weight:500}
@media(max-width:1150px) and (min-width:761px){.rp-price-duo{grid-template-columns:1fr}.rp-price-chart{border-left:0;border-top:1px solid #e1e7e4;padding:15px 0 0}#pricingStrategy .rp-price-chart .rp-allocation{display:grid;grid-template-columns:145px 1fr}#revenueExpensePlan .rp-allocation{grid-template-columns:1fr}#pricingStrategy .rp-market fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{font-size:34px;margin-top:12px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading p{font-size:13px;line-height:1.5}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-sample-badge{position:static;display:inline-block;margin-top:10px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-workspace,#pricingStrategy .rp-workspace{grid-template-columns:1fr}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-inputs,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-results{padding:18px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison strong{font-size:22px;overflow-wrap:normal}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison span{font-size:10px;line-height:1.4}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison>div{padding:12px 8px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner h2{font-size:25px}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner{grid-template-columns:1fr 1fr;gap:12px;padding:16px}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner>div:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid #426652;padding-bottom:12px}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner>.bh-primary{grid-column:1/-1;min-height:36px;padding:8px;background:transparent;color:#96e6ba}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner strong{font-size:22px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field input,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field select{font-size:16px;height:44px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-slider input{min-height:20px;margin:10px 0}
#yourPay .rp-days{justify-content:space-between;gap:3px}#yourPay .rp-days button{flex:1;min-height:40px;padding:6px 3px!important}
#yourPay .rp-input-row{grid-template-columns:1fr 1fr}
#revenueExpensePlan .rp-allocation{grid-template-columns:1fr}#revenueExpensePlan .rp-donut{max-width:215px}
.rp-price-duo{grid-template-columns:1fr}.rp-price-chart{border-left:0;border-top:1px solid #e1e7e4;padding:18px 0 0}
#pricingStrategy .rp-price-chart .rp-allocation{display:grid;grid-template-columns:140px 1fr;gap:10px}
#pricingStrategy .rp-market fieldset{grid-template-columns:1fr 1fr;gap:10px}
#pricingStrategy .rp-market fieldset:not(:first-child) .rp-field>span{position:static;clip-path:none;width:auto;height:auto}
#pricingStrategy .rp-market input{height:42px;font-size:16px!important}
#pricingStrategy .rp-market legend{grid-column:1/-1;padding-top:12px}
#pricingStrategy .rp-market .rp-field:nth-of-type(4){grid-column:1/-1}
#pricingStrategy .rp-scenario-strip{display:block}#pricingStrategy .rp-scenario-strip .rp-actions{margin:18px 0}#pricingStrategy .rp-scenario-strip .rp-tip{margin-top:16px}
#learn .lg-page-heading h1{font-size:36px}#learn .lg-page-heading p{font-size:14px}
#learn .lg-banner{padding:20px}#learn .lg-banner h2{font-size:25px}#learn .lg-banner input{font-size:16px;height:44px}
#learn .lg-topic-cards{grid-template-columns:1fr;gap:12px}
#learn .lg-topic-cards button{max-height:none;aspect-ratio:auto;min-height:155px;padding:22px;text-align:left;align-items:flex-start;justify-content:center;background-size:300% 100%}
#learn .lg-topic-cards span{display:block;font-size:13px}#learn .lg-topic-cards strong{font-size:28px}
#learn .lg-editorial-row{grid-template-columns:72px 1fr;gap:14px}#learn .lg-editorial-row h2{font-size:20px}#learn .lg-photo{min-height:85px}
#learn .lg-practice{display:block;padding:18px}#learn .lg-practice button{margin-top:12px}
}

.rp-comparison strong.rp-no-history{font:400 14px/1.4 Inter,Arial,sans-serif!important;color:#66746c!important}@media(max-width:760px){:is(#yourPay,#revenueExpensePlan) .rp-slim-banner>.bh-primary{grid-row:auto!important}.rp-slim-banner>div:first-child{grid-row:auto!important}}
.rp-compare-expand{display:none!important}@media(max-width:760px){#pricingStrategy .rp-market fieldset .rp-field:nth-of-type(n+3){display:none}#pricingStrategy .rp-market fieldset.rp-comparison-open .rp-field:nth-of-type(n+3){display:flex}#pricingStrategy .rp-market .rp-compare-expand{display:block!important;grid-column:1/-1;background:transparent;color:#007744;border:0;text-align:left;font:500 12px Inter,Arial;padding:10px 0;min-height:40px}#pricingStrategy .rp-market fieldset .rp-field:nth-of-type(4){grid-column:auto}}

/* Color and mobile information hierarchy, four planning and learning pages only. */
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-inputs{border:2px solid #ccd9cf;border-top:6px solid #263d30;background:#f5f8f3}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-results{border:2px solid #8ebca0;border-top:6px solid #00975a;background:linear-gradient(145deg,#edf7ef,#fff 70%);box-shadow:0 5px 16px #143d2210}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-comparison{border:2px solid #c6d7ca;background:#edf2ef}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison>div:last-child{background:#dcefe2;border-left:3px solid #00975a}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-tip{border:1px solid #d4c7a0;border-left:5px solid #b39652;background:#faf6e9;padding:14px;border-radius:3px;color:#354232}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-mini{background:#e1eee3;border:1px solid #b9d0bf;border-left:4px solid #00884f;padding:14px;border-radius:3px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-pay-bars{background:#eef3ef;padding:16px;border:1px solid #cbd9ce;border-radius:3px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-donut>div{background:#f5faf5}
#pricingStrategy .rp-market{background:#f4f7f3;border:2px solid #c4d5c8!important;border-top:6px solid #293e31!important}
#pricingStrategy .rp-market fieldset:nth-child(even){background:#e6eee7}
#pricingStrategy .rp-market fieldset{padding-inline:10px!important}
#pricingStrategy .rp-scenario-strip{background:#edf5ef;border:2px solid #a8c5b1;border-left:6px solid #008e52}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .lg-related{background:#f0f5f0;border:1px solid #c5d6c8;border-left:5px solid #44664e;padding:18px;margin-top:18px}
.rp-mobile-edit{display:none!important}
#learn .lg-banner{border:2px solid #21523b;border-bottom:5px solid #009456}
#learn .lg-editorial-row{background:#f3f7f2;border:1px solid #d3dfd3;border-left:5px solid #84a78b;padding:16px;margin:10px 0}
#learn .lg-editorial-row:nth-child(even){background:#fff;border-left-color:#baa265}
#learn .lg-topic-cards button{border:2px solid #244735;border-bottom:5px solid #008e50}
#learn .lg-practice{background:#e1f0e5;border:2px solid #8eb49a;border-left:6px solid #008f51}
#learn .lg-references{background:#f4f2e9;border:1px solid #d7cfb5;padding:16px}
@media(max-width:760px){
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-comparison{margin-bottom:12px}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-workspace{gap:18px}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-results{padding:16px}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-mobile-edit{display:block!important;width:100%;background:#e1efe5!important;color:#006e3e!important;border:1px solid #85b596!important;border-radius:3px;padding:11px!important;font:600 13px Inter,Arial!important;margin:0 0 18px;text-align:center}
 :is(#yourPay,#revenueExpensePlan) .rp-inputs .rp-slim-banner{margin:0 0 22px!important;padding:14px!important}
 #pricingStrategy .rp-price-chart{border-top:0;border-bottom:1px solid #b9d2c1;padding:0 0 16px;margin-bottom:4px}
 #pricingStrategy .rp-price-chart .rp-allocation{grid-template-columns:145px 1fr}
 #pricingStrategy .rp-price-summary .rp-secondary{font:600 24px/1.2 Inter,Arial}
 #revenueExpensePlan .rp-allocation{grid-template-columns:1fr}
 #revenueExpensePlan .rp-donut{max-width:190px;padding:27px;margin-top:0}
 #learn .lg-filters{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
 #learn .lg-filters button{white-space:nowrap;min-height:40px}
 #learn .lg-editorial-row{padding:12px;gap:10px}
}

@media(max-width:760px){
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading h1{font-size:29px!important;margin:8px 0 5px!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading p{font-size:12px!important;line-height:1.45}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading{margin-bottom:12px!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-mobile-edit{width:auto!important;min-height:44px;padding:8px 12px!important;font-size:12px!important;margin:0 0 12px!important;background:transparent!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-inputs,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner .rp-results{padding:14px!important;border-top-width:4px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-planner h2{font-size:23px!important;margin-bottom:12px}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison>div{padding:10px 7px!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison strong{font-size:20px!important}
:is(#yourPay,#revenueExpensePlan) .rp-inputs .rp-slim-banner{padding:12px!important;gap:8px!important;margin-bottom:16px!important}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner strong{font-size:19px!important}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner small{font-size:10px!important}
:is(#yourPay,#revenueExpensePlan) .rp-slim-banner>.bh-primary{width:auto!important;justify-self:start;min-height:44px!important;padding:8px 12px!important;font-size:12px!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-actions .rp-save{flex:none!important;width:auto!important;min-height:44px!important;padding:9px 16px!important;font-size:13px!important}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-actions button{min-height:44px!important}
#revenueExpensePlan .rp-allocation{grid-template-columns:minmax(120px,.9fr) minmax(135px,1fr)!important;gap:12px!important}
#revenueExpensePlan .rp-donut{max-width:160px;padding:22px;margin:0 auto!important}
#revenueExpensePlan .rp-donut strong{font-size:22px}#revenueExpensePlan .rp-donut small{font-size:8px}
#revenueExpensePlan .rp-legend{font-size:11px}#revenueExpensePlan .rp-legend caption{font-size:10px}#revenueExpensePlan .rp-legend td,#revenueExpensePlan .rp-legend th{padding:6px 0}
#learn .lg-page-heading h1{font-size:30px!important}#learn .lg-page-heading p{font-size:12px!important;margin-bottom:15px}
#learn .lg-banner{padding:14px!important}#learn .lg-banner h2{font-size:22px!important}#learn .lg-banner p{font-size:12px}
#learn .lg-banner label{margin-top:10px}#learn .lg-banner input{min-height:44px}
#learn .lg-topic-cards button{min-height:115px!important;padding:16px!important;border-bottom-width:3px}
#learn .lg-topic-cards strong{font-size:24px!important}#learn .lg-topic-cards span{font-size:12px!important}
#learn .lg-library-title{font-size:24px!important}
}


:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-image-strip{height:84px;margin-top:14px;border-radius:3px;border-bottom:3px solid #00995a;background-image:linear-gradient(90deg,#0b181d35,#0b181d65),url('/assets/business-hub-editorial-v1.webp');background-size:300% auto;background-position:0% 50%}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-image-revenueExpensePlan{background-position:50% 50%}
:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-image-pricingStrategy{background-position:100% 50%}
.rp-tip-label{display:block;font-size:12px;color:#285439;margin-bottom:6px}
#learn .lg-banner{background-image:linear-gradient(90deg,#0b181df5,#0b181dc9),url('/assets/business-hub-editorial-v1.webp');background-size:cover;background-position:center}
@media(max-width:760px){:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-image-strip{height:58px;margin-top:10px}#revenueExpensePlan .rp-allocation{grid-template-columns:minmax(100px,.9fr) minmax(0,1fr)!important}}


.rp-linked{margin:24px 0;padding:20px;background:#FFFFFF;border:1px solid #0f111726;border-top:4px solid #15563E;border-radius:5px}.rp-linked h2{font:600 24px var(--rn-font-ui, "Inter"), sans-serif;margin:0 0 8px}.rp-linked p{font:13px/1.55 Inter,sans-serif}.rp-linked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rp-linked-grid button{padding:16px;text-align:left;border:1px solid #0f111726;background:#FFFFFF;color:#0F1117;border-radius:4px;min-height:84px}.rp-linked-grid span{display:block;font:12px Inter,sans-serif;margin-bottom:8px}.rp-linked-grid strong{font:600 17px Inter,sans-serif}.rp-market-intro{border-left:4px solid #15563E;padding-left:16px;margin-bottom:20px}.rp-market fieldset{min-width:0}.rp-market fieldset details{margin-top:12px}.rp-comparable{display:flex;gap:10px;align-items:center;min-height:44px;font:13px Inter,sans-serif}.rp-clear-example{margin-top:10px;min-height:44px;background:transparent;border:1px solid #0f111726;padding:8px 12px;color:#0F1117}.rp-market fieldset .rp-field{display:flex!important}.rp-market details:not([open])>.rp-field{display:none!important}.rp-market .rp-field input{min-width:0;width:100%}.rp-market .rp-field{margin-top:10px}.rp-linked-grid button:hover{border-color:#15563E;box-shadow:0 3px 12px #0f111712}
@media(max-width:760px){.rp-linked-grid{grid-template-columns:1fr}.rp-linked{padding:16px}.rp-linked-grid button{min-height:68px}.rp-market-grid{grid-template-columns:1fr!important}}

.rp-lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rp-lesson-card{display:grid;grid-template-columns:84px 1fr;gap:16px;border:1px solid #0f111726;border-radius:4px;overflow:hidden;background:#fff}.rp-lesson-photo{background-image:linear-gradient(#0F11171A,#0F111733),url('/assets/business-hub-editorial-v1.webp');background-size:300% 100%;min-height:120px}.rp-lesson-card>div:last-child{padding:16px 16px 16px 0}.rp-lesson-card span{font:600 10px Inter,sans-serif;text-transform:uppercase;letter-spacing:1px;color:#15563E}.rp-lesson-card h3{margin:8px 0;font:600 19px/1.3 var(--rn-font-ui, "Inter"), sans-serif}.rp-lesson-card h3 .lg-link{font:inherit;text-align:left;padding:0;margin:0;border:0}.rp-lesson-card p{font:12px/1.5 Inter,sans-serif;margin:0;color:#0F1117}@media(max-width:760px){.rp-lesson-grid{grid-template-columns:1fr}.rp-lesson-card{grid-template-columns:64px 1fr}.rp-lesson-card h3{font-size:18px}}
.rp-fold{margin:18px 0;border:1px solid #0F111726;border-radius:4px;background:#fff;padding:14px 16px}.rp-fold>summary{font:600 15px Inter,sans-serif;cursor:pointer;min-height:28px}.rp-fold>summary:focus-visible{outline:2px solid #15563E}.rp-fold[open]>summary{margin-bottom:16px}.rp-fold .rp-linked,.rp-fold .lg-related{margin:0;border:0;padding:0}.rp-next{border-left:4px solid #15563E;background:#fff;padding:16px;margin:18px 0;font:14px/1.5 Inter,sans-serif}.rp-next h3{font:600 20px var(--rn-font-ui, "Inter"), sans-serif;margin:0 0 8px}.rp-next p{margin:8px 0}.rp-library{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.rp-library select{max-width:100%;padding:10px;min-height:44px}.rp-history{width:100%;font:13px Inter,sans-serif;border-collapse:collapse}.rp-history td,.rp-history th{padding:10px;text-align:left;border-bottom:1px solid #0F111726}.rp-legend th span{border:1px solid #0F1117}.rp-workspace{align-items:start!important}.rp-workspace>.rp-inputs,.rp-workspace>.rp-results{min-height:0!important}.rp-cost-rows{row-gap:12px}.rp-secondary,.rp-big,.bh-metric strong{font-family:Inter,sans-serif!important}.rp-expenses{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:760px){.rp-expenses{grid-template-columns:1fr}.rp-fold{padding:12px}.rp-next{padding:12px}.rp-library{align-items:stretch;flex-direction:column}}

/* Learn & Grow editorial template, scoped to education pages. */
.lg-article{max-width:1040px!important;margin:0 auto;color:#0f1117;font-family:Inter,sans-serif}
.lg-article .lg-article-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;margin:32px 0 56px;border-bottom:1px solid #15563e;padding-bottom:40px}
.lg-article .lg-header{margin:0;padding:0;text-align:left}
.lg-article .lg-header h1{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:clamp(30px,3.4vw,48px);line-height:1.14;letter-spacing:-.025em;text-align:left;margin:16px 0 20px;text-shadow:none}
.lg-article .lg-header>span{color:#15563e;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.lg-article .lg-header p{font-size:18px;line-height:1.65;margin:0 0 24px}
.lg-article small,.lg-article figcaption{font-size:12px;line-height:1.6;color:#15563e}
.lg-article .lg-prose{max-width:700px;margin:0 auto}
.lg-article .lg-prose h2{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:28px;line-height:1.3;margin:44px 0 18px;text-shadow:none}
.lg-article .lg-prose p{font-size:17px;line-height:1.9;margin:0 0 26px}
.lg-article figure{margin:0}
.lg-article .lg-image{position:relative;overflow:hidden;aspect-ratio:1;border-radius:4px;background:#09251c}
.lg-article .lg-image img{position:absolute;max-width:none!important;width:330%!important;height:110%;object-fit:fill;left:calc(var(--panel) * -110% - 5%);top:-5%}
.lg-article .lg-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:44px auto;max-width:820px}
.lg-article figcaption{padding:10px 0}
.lg-article .lg-teaching{margin:40px 0;padding:28px;border:1px solid #15563e;border-top:5px solid #15563e;background:#fff;border-radius:4px;box-shadow:0 8px 24px #0f11170a}
.lg-article .lg-teaching h2{margin:0 0 20px;font-size:25px}
.lg-article .lg-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0}
.lg-article .lg-steps li{background:#09251c;color:#fff;padding:20px 16px;border-radius:3px;font-size:15px;line-height:1.6}
.lg-article .lg-steps strong{display:block;color:#00cc6a;font-size:12px;letter-spacing:.08em;margin-bottom:12px}
.lg-article .lg-visual-note{margin:16px 0 0!important;font-size:13px!important;line-height:1.6!important}
.lg-article .lg-allocation{display:flex;height:30px;border:1px solid #15563e;overflow:hidden;border-radius:2px;margin:20px 0}
.lg-article .lg-key{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;list-style:none;padding:0}
.lg-article .lg-key li{display:flex;align-items:center;gap:8px}
.lg-article .lg-swatch{width:12px;height:12px;border:1px solid #15563e;flex:none}
.lg-article .lg-table-wrap{overflow:auto;margin:32px 0;border:1px solid #15563e;border-radius:3px}
.lg-article table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65}
.lg-article th{background:#09251c;color:#fff;text-align:left;font-weight:600}
.lg-article td,.lg-article th{padding:16px;border-bottom:1px solid #15563e33;vertical-align:top}
.lg-article .lg-tip{margin:38px 0;padding:24px;border-left:4px solid #15563e;background:#fff;color:#0f1117;display:flex;gap:16px}
.lg-article .lg-tip p{margin:0;font-size:16px}
.lg-article .lg-dark-section{margin:24px 0;padding:36px 40px;background:#0f1117;color:white;border-top:3px solid #15563e;border-radius:4px}
.lg-article .lg-dark-section h2{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:30px;color:white;margin:0 0 16px;text-shadow:none}
.lg-article .lg-dark-section p{color:#fff;line-height:1.8;font-size:16px;max-width:680px;margin:0 0 24px}
.lg-article .lg-dark-section .lg-link{color:#fff;text-align:left;text-decoration:none;font-size:17px;padding:16px 0;display:block;border-bottom:1px solid #ffffff40;width:100%;line-height:1.5}
.lg-article .lg-dark-section .lg-link:hover{text-decoration:underline;text-decoration-color:#00cc6a}
.lg-article .lg-dark-section button:focus-visible{outline:3px solid #00cc6a;outline-offset:4px}
.lg-article .lg-source{border-top:1px solid #15563e33;padding-top:24px;line-height:1.8;margin-top:32px}
.lg-article .lg-source a{color:#15563e;text-decoration:underline}
#learn .lg-editorial-row .lg-photo{background-image:url('assets/learn-stylists-1.webp');background-size:300% 100%}
#learn .lg-topic-cards button{background-image:linear-gradient(0deg,#0f1117e8,#0f111710),url('assets/learn-stylists-2.webp');background-size:300% 100%}
.rp-lesson-card .rp-lesson-photo{background-image:url('assets/learn-stylists-3.webp');background-size:300% 100%}
@media(max-width:640px){
.lg-article .lg-article-hero{grid-template-columns:1fr;gap:24px;margin:24px 0 32px;padding-bottom:24px}
.lg-article .lg-header h1{font-size:32px}.lg-article .lg-header p{font-size:16px}
.lg-article .lg-article-hero figure{max-width:420px;width:100%;margin:0 auto}
.lg-article .lg-prose p{font-size:16px;line-height:1.85}
.lg-article .lg-prose h2{font-size:25px;margin-top:32px}
.lg-article .lg-gallery{gap:12px;margin:30px 0}
.lg-article .lg-teaching{padding:20px 16px;margin:30px 0}
.lg-article .lg-steps{grid-template-columns:1fr;gap:10px}
.lg-article .lg-steps li{padding:14px 16px}.lg-article .lg-steps strong{margin-bottom:6px}
.lg-article .lg-dark-section{padding:28px 22px}.lg-article .lg-dark-section h2{font-size:27px}
.lg-article td,.lg-article th{padding:12px;font-size:14px}.lg-article .lg-key{grid-template-columns:1fr}
}



.chairFocus{border-left:4px solid #15563e;background:#f1f6f3;padding:18px 20px;margin:0 0 20px;border-radius:4px;color:#0f1117}.chairFocus>span{font:700 11px Inter,sans-serif;letter-spacing:.12em;color:#15563e}.chairFocus h2{font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:28px;line-height:1.2;margin:7px 0}.chairFocus p,.chairCallout p{margin:6px 0 0;line-height:1.5}.chairCallout{background:#f1f6f3;border-left:3px solid #15563e;padding:16px;margin:16px 0;border-radius:4px;color:#0f1117}.chairReview{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dce5df;border:1px solid #dce5df;border-radius:4px;overflow:hidden}.chairReview>div{background:#fff;padding:18px}.chairReview span{display:block;color:#59645d;font-size:12px;margin-bottom:7px}.chairReview strong{font-size:17px;line-height:1.45}.chairActions{justify-content:flex-start!important;flex-wrap:wrap;gap:10px}#consultQuiz .btn{min-height:44px;border-radius:5px}#consultQuiz .consultDecision{border-radius:5px}#consultQuiz details summary{min-height:44px;display:flex;align-items:center}#consultStepPanel>.panelTitle{font-size:18px;margin-bottom:8px}@media(max-width:600px){.chairFocus{padding:14px}.chairFocus h2{font-size:24px}.chairReview{grid-template-columns:1fr}.chairReview>div{padding:14px}.chairActions .btn{width:100%}}


/* Business Hub progressive disclosure, shared visual meanings */
.rp-progressive .rp-explore h2,.rp-progressive .rp-depth-header h2{color:#0f1117!important;text-shadow:none!important}.rp-progressive .rp-explore>p,.rp-progressive .rp-depth-footer p{color:#526058!important}.rp-progressive .rp-explore-card{background:#fff!important;color:#0f1117!important;border:1px solid #d8dfda!important;border-left:4px solid #15563e!important}.rp-progressive .rp-explore-card strong{color:#0f1117!important}.rp-progressive .rp-explore-card small{color:#526058!important}.rp-progressive .rp-depth-dialog{color:#0f1117!important}

.rp-explore{margin:24px 0}.rp-explore h2{font-size:24px;margin:0 0 8px}.rp-explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rp-explore-card{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:18px;background:var(--panel,#fff);color:var(--ink,#0f1117);border:1px solid var(--line,#d8dfda);border-left:4px solid var(--accentDeep,#15563e);border-radius:5px;cursor:pointer;font-family:Inter,sans-serif}.rp-explore-card strong{display:block;font-size:17px}.rp-explore-card small{display:block;font-size:14px;line-height:1.5;margin-top:5px;color:var(--muted,#526058)}.rp-explore-arrow{font-size:23px;color:var(--accentDeep,#15563e)}
.rp-depth-dialog{width:min(840px,calc(100% - 32px));max-height:88dvh;box-sizing:border-box;border:1px solid var(--line,#d8dfda);border-radius:6px;padding:24px;color:var(--ink,#0f1117);background:#fff;font-family:Inter,sans-serif}.rp-depth-dialog::backdrop{background:rgba(15,17,23,.65)}.rp-depth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:3px solid var(--accentDeep,#15563e);padding-bottom:16px;margin-bottom:20px}.rp-depth-header h2{margin:0;font-family:var(--rn-font-ui, "Inter"), sans-serif;font-size:28px}.rp-depth-header button,.rp-depth-footer button{background:#0f1117;color:#fff;border:0;border-radius:5px;padding:12px 18px;font:600 14px Inter,sans-serif;cursor:pointer}.rp-depth-body{display:grid;gap:16px}.rp-depth-body .rp-market,.rp-depth-body .rp-scenario-strip{margin:0}.rp-depth-footer{margin-top:24px;border-top:1px solid var(--line,#d8dfda);padding-top:16px}.rp-depth-footer p{font-size:14px;color:var(--muted,#526058)}.rp-depth-dialog .rp-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-depth-dialog .rp-history{width:100%}.rp-depth-error{color:#7b2525;font-size:14px}
.rp-progressive .rp-tip{background:#edf4ef!important;border-left:4px solid var(--accentDeep,#15563e)!important;border-radius:4px;padding:16px}.rp-progressive .rp-workspace{align-items:start}.rp-progressive .rp-save{background:var(--accentDeep,#15563e);color:#fff}.rp-progressive .rp-depth-body input,.rp-progressive .rp-depth-body textarea{max-width:100%;box-sizing:border-box}.rp-progressive .bh-schedule{display:none}.rp-progressive .rp-slim-banner{padding:14px 18px}.rp-progressive .rp-slim-banner>div:not(:first-child){display:none}.rp-progressive .rp-slim-banner{grid-template-columns:1fr auto}
@media(max-width:760px){.rp-explore-grid{grid-template-columns:1fr}.rp-explore-card{padding:14px}.rp-explore-card strong{font-size:16px}.rp-depth-dialog{padding:16px;width:calc(100% - 20px);max-height:92dvh}.rp-depth-dialog .rp-market-grid{grid-template-columns:1fr}.rp-depth-header h2{font-size:23px}.rp-explore{margin:18px 0}.rp-depth-body input{font-size:16px}}

.rp-progressive .rp-presets{grid-column:1/-1;background:#fff;border:1px solid #15563E;border-top:5px solid #15563E;border-radius:4px;padding:20px;margin-bottom:18px;color:#0F1117}.rp-progressive .rp-presets h2,.rp-progressive .rp-presets h3{color:#0F1117!important;text-shadow:none}.rp-progressive .rp-presets h2{font:600 24px var(--rn-font-ui, "Inter"), sans-serif;margin:0 0 10px}.rp-progressive .rp-presets p,.rp-progressive .rp-presets label,.rp-progressive .rp-presets summary{color:#0F1117!important;font:400 15px/1.6 Inter,sans-serif}.rp-progressive .rp-presets summary{font-weight:600;cursor:pointer}.rp-progressive .rp-presets select{display:block;width:100%;min-height:44px;font:16px Inter,sans-serif;background:white;color:#0F1117;border:1px solid #15563E;margin-top:6px}.rp-preset-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.rp-progressive .rp-preset-actions button{background:#15563E!important;color:#fff!important;border:1px solid #15563E;border-radius:4px;padding:12px 18px;font:600 15px Inter,sans-serif;min-height:44px}.rp-progressive .rp-preset-actions button+button{background:#fff!important;color:#0F1117!important}.rp-presets details{margin-top:12px;border-top:1px solid #15563E;padding-top:12px}.rp-benchmark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.rp-progressive .rp-benchmark-grid section{padding:16px;border:1px solid #15563E;background:#fff;min-width:0}.rp-progressive .rp-benchmark-grid a{color:#15563E;text-decoration:underline;overflow-wrap:anywhere}.rp-progressive .rp-benchmark-grid h3{font:600 17px Inter,sans-serif;margin-top:0}.rp-progressive .rp-benchmark-grid strong{color:#0F1117!important}.rp-progressive .rp-presets button:focus-visible,.rp-progressive .rp-presets select:focus-visible{outline:3px solid #00CC6A;outline-offset:3px}@media(max-width:760px){.rp-progressive .rp-presets{padding:14px}.rp-benchmark-grid{grid-template-columns:1fr}.rp-progressive .rp-presets h2{font-size:21px}.rp-preset-actions button{flex:1}}



/* Keep notification consent usable on narrow screens despite global input sizing. */
.launchNotifyConsent{display:flex;gap:10px;align-items:flex-start}
.launchNotifyConsent input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;padding:0}
.launchNotifyConsent span{min-width:0}

/* Phone business flow: center the column, not all of its functional text.
   Keep one tile per row across 320–430px instead of switching at 420px. */
@media(max-width:540px){
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){width:100%;min-width:0;max-width:100%;margin-inline:auto}
 #businessTools .bh-paths{grid-template-columns:minmax(0,1fr);width:100%;max-width:380px;margin:22px auto;justify-content:center;justify-items:center}
 #businessTools .bh-paths>button.bh-tile{justify-self:center;margin-inline:auto}
 #businessTools button.bh-tile{width:100%;max-width:100%;max-height:none;min-height:220px;height:auto;aspect-ratio:1;padding:20px}
 #businessTools .bh-tile-title,#businessTools .bh-tile-revenue .bh-tile-title{font-size:clamp(24px,7vw,30px);line-height:1.2;overflow-wrap:anywhere}
 #businessTools .bh-tile-description{font-size:15px;line-height:1.5}
 #businessTools .bh-heading h1{font-size:30px;line-height:1.2;overflow-wrap:anywhere}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;min-width:0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label{font-size:20px;min-width:0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-banner-label small{font-size:12px;line-height:1.5}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric{min-width:0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-metric strong{font-size:20px;white-space:normal;overflow-wrap:anywhere}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .bh-heading p{font-size:14px!important;line-height:1.5}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison{grid-template-columns:minmax(0,1fr)}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:12px;border-right:0;border-bottom:1px solid #dce3dd;padding:12px!important;min-width:0}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison span{font-size:12px;line-height:1.5;margin:0}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-comparison strong{font-size:18px!important;line-height:1.35;overflow-wrap:anywhere}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-big{font-size:clamp(30px,8vw,38px);line-height:1.15;letter-spacing:-.5px;overflow-wrap:anywhere}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-big.rp-empty-value{font-size:28px}
 #yourPay #rp-income{font-size:22px!important;min-height:48px}
 #yourPay #rp-income::placeholder{font-size:18px}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-field{font-size:14px;line-height:1.5}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-muted{font-size:13px!important;line-height:1.6}
 :is(#yourPay,#revenueExpensePlan) .rp-slim-banner>div:first-child{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
 :is(#yourPay,#revenueExpensePlan) .rp-slim-banner small{font-size:12px!important;line-height:1.5}
 :is(#yourPay,#revenueExpensePlan) .rp-slim-banner strong{font-size:20px!important;overflow-wrap:anywhere}
 #revenueExpensePlan .rp-allocation{grid-template-columns:minmax(0,1fr)!important}
 :is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-inputs,:is(#yourPay,#revenueExpensePlan,#pricingStrategy) .rp-results{max-width:100%;min-width:0}
}

.launchFeaturePreview{max-width:480px;margin:24px auto;text-align:left}
.launchFeaturePreview h2{font-size:20px;line-height:1.3}
.launchFeaturePreview ul{padding-left:22px;line-height:1.6}
.launchFeaturePreview li{margin:8px 0}

/* Coming-soon opt-in: signature green, clear consent, unchanged submission logic. */
#csBody .launchNotifyForm{max-width:400px;margin:24px auto;text-align:left}
#csBody .launchNotifyForm>label:first-child{display:block;font-size:14px;font-weight:500}
#csBody #launchNotifyEmail{box-sizing:border-box;width:100%;min-width:0;min-height:48px;margin:8px 0 16px;padding:12px;font-size:16px}
#csBody .launchNotifyConsent{font-size:14px;line-height:1.5;min-height:44px;cursor:pointer}
#csBody .launchNotifyButton{display:block;width:100%;min-height:48px;margin-top:16px;padding:12px 20px;border:1px solid #00CC6A;border-radius:5px;background:#00CC6A;color:#0F1117;font-size:16px;font-weight:600;box-shadow:none}
#csBody .launchNotifyButton:hover:not(:disabled){background:#00b85f;border-color:#00b85f;filter:none}
#csBody .launchNotifyButton:disabled{cursor:default;opacity:.7}
#csBody .launchNotifyStatus{font-size:14px;line-height:1.5;overflow-wrap:anywhere;margin:12px 0 0}
#csBody .launchNotifyStatus:empty{display:none}
#comingSoonScreen.chairLaunchPage{max-width:960px;width:100%;box-sizing:border-box;margin-inline:auto;padding:32px!important;text-align:left!important;border-top:4px solid #00CC6A}
#csBody .chairLaunch{color:var(--text,#0F1117);text-align:left;min-width:0}
#csBody .chairLaunchHeader{max-width:640px;margin-bottom:30px}
#csBody .chairLaunchEta{display:inline-block;color:var(--text,#0F1117);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-left:3px solid #00CC6A;padding-left:10px}
#csBody .chairLaunch h1{font-size:clamp(30px,5vw,42px);line-height:1.12;letter-spacing:-.8px;margin:18px 0 12px;color:var(--text,#0F1117)}
#csBody .chairLaunchHeader>p{font-size:18px;line-height:1.5;margin:0 0 12px}
#csBody .chairLaunchHeader .chairLaunchIntro{font-size:15px;line-height:1.65;color:var(--muted,#5B6470);margin:0}
#csBody .chairLaunchLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
#csBody .chairLaunch h2{font-size:20px;line-height:1.3;margin:0 0 14px;color:var(--text,#0F1117)}
#csBody .chairLaunch .launchFeaturePreview{max-width:none;margin:0;padding:0}
#csBody .chairLaunch .launchFeaturePreview ul{list-style:none;margin:0;padding:0}
#csBody .chairLaunch .launchFeaturePreview li{position:relative;font-size:15px;line-height:1.5;margin:0;padding:13px 0 13px 18px;border-bottom:1px solid var(--line,#dce3dd)}
#csBody .chairLaunch .launchFeaturePreview li:before{content:'';position:absolute;left:0;top:21px;width:5px;height:5px;background:#00CC6A;border-radius:50%}
#csBody .chairLaunchSignup{min-width:0;padding:24px;background:var(--cloud,#F5F6F7);border-top:2px solid #00CC6A}
#csBody .chairLaunchSignup>p{font-size:14px;line-height:1.5;color:var(--muted,#5B6470);margin:0 0 20px}
#csBody .chairLaunchSignup .launchNotifyForm{margin:0;max-width:none}
#csBody .chairLaunchFooter{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line,#dce3dd)}
#csBody .chairLaunchFooter>div{display:flex;gap:20px;align-items:center}
#csBody .chairLaunchFooter button,#csBody .chairLaunchFooter a{display:inline-flex;align-items:center;min-height:44px;width:auto;margin:0;padding:8px 0;background:transparent;border:0;box-shadow:none;color:var(--text,#0F1117);font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#csBody .chairLaunchFooter .chairLaunchBack{text-decoration:none}
#csBody .chairLaunch :is(button,a,input):focus-visible{outline:2px solid var(--text,#0F1117);outline-offset:3px}
@media(max-width:640px){
 #comingSoonScreen.chairLaunchPage{padding:22px 18px!important}
 #csBody .chairLaunchHeader{margin-bottom:26px}
 #csBody .chairLaunchLayout{grid-template-columns:minmax(0,1fr);gap:28px}
 #csBody .chairLaunchSignup{padding:20px 16px}
 #csBody .chairLaunchFooter{display:block;margin-top:26px}
 #csBody .chairLaunchFooter>div{margin-top:8px}
}

/* Account-sync notices are informational, not payment confirmations. */
#toast.accountNotice{top:auto;bottom:calc(88px + env(safe-area-inset-bottom,0px));box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:14px 56px 14px 16px;gap:12px;background:#0F1117;color:#fff;border:1px solid #343941;border-left:3px solid #00CC6A;border-radius:5px;box-shadow:0 6px 20px #0f111726;font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
#toast.accountNotice .toastIcon{width:24px;height:24px;flex:0 0 24px;border:1px solid #00CC6A;border-radius:50%;background:transparent;color:#00CC6A;font-size:15px;font-weight:500}
#toast.accountNotice .toastMsg{color:#fff}
#toast.accountNotice .toastX{top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;background:transparent;border:0;color:#fff;opacity:1;font-size:18px;font-weight:400;border-radius:3px}
#toast.accountNotice .toastX:hover{background:#ffffff12}
#toast.accountNotice .toastX:focus-visible{outline:2px solid #00CC6A;outline-offset:-4px}
@media(prefers-reduced-motion:reduce){#toast.accountNotice{transition:none}}

/* Settings: current-launch controls only, scoped to avoid other screens. */
#settings { max-width: 900px; }
#settings .settingsHeader { margin: 0 0 24px; }
#settings .settingsEyebrow { color: var(--accentDeep); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
#settings .settingsHeader h1 { text-align: left; margin: 6px 0 8px; }
#settings .settingsHeader p { color: var(--muted); line-height: 1.6; margin: 0; }
#settings .setTabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
#settings .setTab { min-height: 44px; white-space: normal; flex: 1 1 180px; }
#settings .settingsSection { padding: 20px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel, #fff); }
#settings .settingsSection h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 18px; }
#settings .settingsIcon { display: inline-flex; justify-content: center; align-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accentSoft, #f2edf8); color: var(--accentDeep); flex-shrink: 0; font-size: 18px; }
#settings .btnRow { justify-content: flex-start; flex-wrap: wrap; gap: 10px; }
#settings .btn { min-height: 44px; }
#settings .settingsSection .panel { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
#settings .settingsFooter { margin-top: 24px; }
#settings button:focus-visible { outline: 3px solid var(--accentDeep); outline-offset: 3px; }
#settings [hidden] { display: none !important; }
@media (max-width: 480px) {
 #settings .settingsSection { padding: 16px; }
 #settings .settingsSection .btnRow .btn { flex: 1 1 160px; }
 #settings .subGrid { grid-template-columns: 1fr; }
}
@media (max-width:640px) {
  #learn .lg-editorial-row .lg-photo {
    align-self: start;
    width: 72px;
    height: 72px;
    min-height: 0;
    background-size: 300% auto;
    background-repeat: no-repeat;
  }
}

/* One connected page. Palette from Reynora's brand reference: ink + night. */
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){background:#0f1117;color:#f5f6f7;padding:28px}
.ch-hub{--text:#f5f6f7;--muted:#c2c5c9;--card:#0f1117;--line:#58615e;--ch-forest:#09251c;max-width:1180px;margin:auto;color:var(--text);padding:0 0 24px}
.ch-hub *{box-sizing:border-box}.ch-hub button,.ch-hub input,.ch-hub select{font:inherit}.ch-hub [hidden]{display:none!important}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub :is(h1,h2,h3){color:var(--text);text-shadow:none}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub p{color:var(--muted);line-height:1.65}
.ch-heading{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:center;margin:32px 0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-heading h1{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-1px;margin:12px 0 16px}
.ch-heading p{max-width:520px;margin:0}.ch-eyebrow,.ch-section header>span{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-learn{display:flex;flex-direction:column;gap:12px;width:100%;min-height:224px;justify-content:space-between;padding:24px;background:var(--ch-forest);border:1px solid var(--line);border-radius:4px;text-align:left;color:var(--text);box-shadow:0 4px 16px #0002}
.ch-learn strong{font-size:24px;line-height:1.2;letter-spacing:-.4px}.ch-learn>span{font-size:13px;line-height:1.5}.ch-learn .ch-learn-kicker{font-size:10px;letter-spacing:1.4px;font-weight:700}.ch-learn-action{text-decoration:underline;text-underline-offset:4px;font-weight:600}
.ch-toolbar{border-top:1px solid var(--line);padding-top:24px}.ch-toolbar>div{display:flex;flex-wrap:wrap;gap:10px}.ch-toolbar p{font-size:12px;margin:14px 0 8px;font-weight:600}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-toolbar button{min-height:48px;max-width:100%;padding:12px 16px;border:1px solid #00cc6a;border-radius:3px;background:#00cc6a;color:#062114;font-weight:600;white-space:normal}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-toolbar button:disabled{opacity:.75;border-style:dashed}
.ch-hub button:disabled{opacity:.55;cursor:not-allowed!important}.ch-note,.ch-field small{font-size:12px;line-height:1.6;color:var(--muted)}.ch-hub>.ch-note{max-width:850px;margin:8px 0}
.ch-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;margin-top:24px;overflow:hidden;background:var(--ch-forest)}
.ch-overview>div{display:flex;flex-direction:column;gap:10px;padding:24px;border-right:1px solid var(--line)}.ch-overview>div:last-child{border-right:0}.ch-overview span{font-size:13px;font-weight:600}.ch-overview strong{font-size:clamp(26px,3vw,36px);letter-spacing:-.7px;font-variant-numeric:tabular-nums}.ch-overview small{font-size:12px;color:var(--muted)}.ch-scope{font-size:12px;margin:12px 0 24px;max-width:900px}
.ch-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}.ch-nav>span{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--muted)}.ch-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px;border-radius:0}
.ch-section{--text:#0f1117;--muted:#4b5350;--card:#ffffff;--line:#b5b9b7;color:var(--text);background:#ffffff;border:1px solid var(--line);border-radius:4px;padding:28px;margin:28px 0;scroll-margin-top:88px}
.ch-section header{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-section h2{color:#15563e;font-size:30px;letter-spacing:-.6px;line-height:1.2;margin:8px 0 12px}.ch-section header p{max-width:650px;margin:0}
.ch-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.ch-inputs{display:flex;flex-direction:column;gap:20px}.ch-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px}.ch-field>span{font-weight:600}
.ch-field input,.ch-field select{width:100%;min-width:0;height:48px;padding:10px 12px;background:var(--card);color:var(--text);border:1px solid #858b88;border-radius:3px;font-size:16px;color-scheme:light}.ch-field input:invalid{border-color:#a52727;box-shadow:0 0 0 1px #a52727}
.ch-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ch-results{align-self:start;min-width:0;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:4px}.ch-results h3{font-size:20px;line-height:1.3;margin:0 0 16px}.ch-results h3:not(:first-child){margin-top:28px}.ch-results p{font-size:13px}.ch-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.ch-row span{flex:1 1 130px}.ch-row strong{font-size:18px;margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.ch-insight{margin:20px 0 12px;padding:16px;border-left:3px solid #0f1117;background:#f5f6f7;font-size:17px;line-height:1.5;font-weight:600}.ch-allocation{border-top:1px solid var(--line);margin-top:24px}
.ch-days{border:0;padding:0;margin:0;display:flex;gap:6px;flex-wrap:wrap}.ch-days legend{font-size:14px;font-weight:600;margin-bottom:10px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-days button{min-width:42px;min-height:44px;padding:8px;border:1px solid #858b88;background:var(--card);color:var(--text)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-days button[aria-pressed=true]{background:#00cc6a;color:#062114;border-color:#062114;font-weight:700;box-shadow:inset 0 -3px 0 #062114}
.ch-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:4px 0 24px}.ch-footer h2{font-size:22px;margin:0 0 10px}.ch-footer p{font-size:13px;max-width:720px}.ch-footer button{min-width:160px;min-height:48px}
.ch-assumptions{font-size:13px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.ch-assumptions summary{min-height:44px;cursor:pointer;font-weight:600}
/* Restore the banner cascade from 283cf43; shared features.css supplies its colors. */
.ch-hub .bh-banner{margin-bottom:0}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-footer .bh-primary{background:var(--ch-forest);border:1px solid #858b88;color:var(--text)}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub :focus-visible{outline:3px solid #f5f6f7;outline-offset:4px}
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub button:not(:disabled):hover{filter:brightness(1.12)}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-section :focus-visible{outline-color:#0f1117}
@media(max-width:700px){
 .ch-hub .bh-banner{border-radius:14px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){padding:16px}
 .ch-heading{grid-template-columns:1fr;gap:20px;margin:24px 0}.ch-hub .ch-learn{max-width:320px}.ch-toolbar>div{display:grid;grid-template-columns:1fr;width:100%}.ch-toolbar button{width:100%!important;text-align:left}.ch-overview{grid-template-columns:1fr}.ch-overview>div{padding:18px;border-right:0;border-bottom:1px solid var(--line)}.ch-overview>div:last-child{border-bottom:0}.ch-nav{gap:0;align-items:stretch;flex-direction:column;margin-bottom:24px}.ch-nav>span{margin-bottom:6px}.ch-columns{grid-template-columns:1fr;gap:24px}.ch-section{padding:18px;margin:24px 0}.ch-section header{margin-bottom:24px}.ch-inputs{gap:18px}.ch-pair{grid-template-columns:1fr}.ch-results{padding:18px}.ch-row strong{font-size:17px}.ch-footer{display:block}.ch-footer button{width:100%!important}.ch-section h2{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.ch-hub *{scroll-behavior:auto!important}}
/* Phone layout: recover usable width and surface the weekly picture earlier. */
@media(max-width:700px){
 .container:has(> :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy):not(.hidden)){padding-left:12px;padding-right:12px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){padding:12px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .bh-banner>.bh-primary{min-height:44px}
 .ch-hub{display:flex;flex-direction:column}
 .ch-hub>*{order:3}.ch-hub>.bh-banner{order:0}.ch-hub>.ch-heading{order:1}.ch-hub>.ch-overview{order:2}
 .ch-heading{gap:16px;margin:20px 0}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-heading h1{font-size:30px;margin:8px 0 12px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-learn{max-width:none;min-height:148px;padding:16px;gap:8px}
 .ch-hub .ch-learn strong{font-size:21px}
 .ch-overview{margin:0 0 20px}.ch-overview>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px}
 .ch-overview strong{grid-column:2;grid-row:1/3;align-self:center;font-size:26px}.ch-overview small{grid-column:1}
 .ch-toolbar{padding-top:16px}.ch-toolbar>div{gap:8px}
 .ch-nav{padding:12px 0;margin:8px 0 12px}.ch-nav a{min-height:48px}
 .ch-section{padding:14px;margin:16px 0;scroll-margin-top:88px}.ch-section header{padding-bottom:16px;margin-bottom:16px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-section h2{font-size:26px}
 .ch-inputs{gap:16px}.ch-field{gap:6px}.ch-field small{font-size:13px;line-height:1.5}
 .ch-results{padding:14px}.ch-results p{margin:12px 0}.ch-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0;align-items:start}
 .ch-row strong{margin-left:0}.ch-insight{padding:12px;font-size:16px}.ch-results h3:not(:first-child){margin-top:22px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-days button{min-width:44px;min-height:44px}
 .ch-footer{padding-top:12px}.ch-footer button{min-height:48px}
}
@media(min-width:380px) and (max-width:700px){
 .ch-toolbar>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-toolbar button{height:100%;padding:12px;text-align:left}
}

/* Approved Option A: all three connected result cards. */
:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub :is(#ch-revenue-result,#ch-pay-result,#ch-pricing-result){--text:#f5f6f7;--muted:#d6ddd9;--line:#688579;background:#09251c;color:#f5f6f7;border:1px solid #688579;border-top:4px solid #d6ddd9}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub :is(#ch-revenue-result,#ch-pay-result,#ch-pricing-result)>h3:first-child{font-style:italic!important}:is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub :is(#ch-revenue-result,#ch-pay-result,#ch-pricing-result) .ch-insight{background:#0f1117;color:#f5f6f7;border-left-color:#d6ddd9}

/* Side-by-side phone planning where each column retains usable input width. */
@media(min-width:375px) and (max-width:700px){
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy){padding:8px}
 .ch-section{padding:12px}
 .ch-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
 .ch-results{padding:10px}
 .ch-row{grid-template-columns:1fr;gap:4px}.ch-row strong{font-size:17px}
 .ch-results h3{font-size:18px}
 :is(#businessTools,#yourPay,#revenueExpensePlan,#pricingStrategy) .ch-hub .ch-results p{font-size:13px;line-height:1.5}
 .ch-insight{font-size:14px;padding:10px}
 .ch-field input,.ch-field select{padding:10px 8px}
}

@media(max-width:700px){
 .ch-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ch-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .ch-nav>span{grid-column:1/-1}
 .ch-nav a{border:1px solid var(--line);padding:8px;min-height:64px;align-items:center;line-height:1.4;text-decoration:none}
}
@media(min-width:375px) and (max-width:700px){
 .ch-pair{grid-template-columns:1fr}
 .ch-days{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:4px}
}

/* Let each phone section breathe without stretching individual fields. */
@media(max-width:700px){
 .ch-section{margin:24px 0;padding-top:22px;padding-bottom:22px}
 .ch-section header{padding-bottom:20px;margin-bottom:24px}
}

/* Shared hierarchy: quiet rules organize reading without link-like underlines. */
 .ch-section header h2::after{content:"";display:block;width:40px;height:3px;margin-top:14px;background:currentColor}
 .ch-field>span,.ch-days legend{font-weight:700;line-height:1.35}
 .ch-inputs>.ch-field+.ch-field,.ch-inputs>.ch-pair,.ch-inputs>.ch-days{border-top:1px solid #d9dcda;padding-top:14px}
 .ch-field input{font-weight:600}
 .ch-results>h3:first-child{padding-bottom:14px;border-bottom:1px solid var(--line)}
 .ch-row span{font-weight:600;line-height:1.45}
 .ch-row strong{font-weight:750;letter-spacing:-.2px}
 .ch-row:nth-of-type(even){background:#0f111708}
 :is(#ch-revenue-result,#ch-pay-result,#ch-pricing-result) .ch-row:nth-of-type(even){background:#ffffff08}
 .ch-results h3:not(:first-child){padding-top:16px;border-top:1px solid var(--line)}
