/* ═══════════════════════════════════════════════════════════════════════
   "Your week" — the coach's home (hub-week.js). Coach-home mockup v4,
   24 Sep 2026. Tokens only (styles/tokens.css).
   ═══════════════════════════════════════════════════════════════════════ */

/* Clients and History open in place of the home, on every width (the phone
   already did this; the laptop's Dashboard · Clients · History tabs went). */
.account-wrap:not([data-tab="dashboard"]) .hub2{display:none;}
.account-wrap[data-tab="dashboard"] #acctPanelWrap{display:none;}
.account-wrap:not([data-tab="dashboard"]) .hub2-panelhead{display:flex;align-items:baseline;gap:14px;font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--ink);margin:4px 0 16px;}
.hw-back{border:0;background:none;padding:0;font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--fairway);cursor:pointer;}
.btn-outline2.share{border-color:var(--fairway);color:var(--fairway);}

/* laptop: the week wide on the left, what needs you on the right */
@media (min-width:1024px){
  .hub2:has(.hw-cols){max-width:1180px;}
  .account-wrap:has(.hw-cols){max-width:1180px;}
  .hw-cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr);}
  .hw-cols .hub2-side{position:static;}
}
.hw-cols .hub2-side > * + *{margin-top:12px;}

/* ── the fold: a white header with a green edge; the contents on grey ── */
.hw-fold{padding:0;overflow:hidden;margin-bottom:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);}
.hub2-side .hw-fold{margin-bottom:0;}
.hw-fold-h{position:relative;width:100%;display:flex;align-items:center;gap:10px;border:0;background:var(--paper);
  box-shadow:inset 4px 0 0 var(--fairway);text-align:left;padding:12px 14px 12px 16px;min-height:60px;cursor:pointer;
  font:inherit;color:var(--ink);}
.hw-static .hw-fold-h{cursor:default;}
button.hw-fold-h:hover{background:#f7faf8;}
.hw-fold-h:focus-visible{outline:2px solid var(--fairway);outline-offset:-2px;}
.hw-ic{width:32px;height:32px;border-radius:9px;background:var(--mint);color:var(--fairway);display:flex;align-items:center;justify-content:center;flex:none;}
.hw-ic svg{width:17px;height:17px;}
.hw-mid{flex:1;min-width:0;}
.hw-t{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-family:var(--serif);font-weight:600;font-size:1.02rem;line-height:1.2;}
.hw-s{display:block;font-size:.8rem;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.hw-n{font-size:1.3rem;min-width:24px;text-align:right;color:var(--ink);}
.hw-cv{width:18px;height:18px;flex:none;color:var(--slate);transition:transform .15s;}
.hw-fold.open > .hw-fold-h .hw-cv{transform:rotate(180deg);}
.hw-newdot{position:absolute;left:9px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--paper);}
.hw-new{display:inline-flex;align-items:center;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.02em;
  background:var(--red);color:#fff;border-radius:20px;padding:1px 7px;white-space:nowrap;}
.hw-fold-b{display:none;background:var(--fog);border-top:1px solid var(--line);padding:6px;}
.hw-fold.open > .hw-fold-b{display:block;}
.hw-fold-b > .hub2-req{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:9px;margin:0 0 6px;}
.hw-fold-b > .hub2-req.lapsed{border-left-color:var(--line);}
.hw-fold-b > .hub2-req:last-of-type{margin-bottom:0;}
.hw-more{display:block;width:100%;margin-top:6px;border:0;background:none;padding:6px;font:inherit;font-size:.82rem;font-weight:600;color:var(--fairway);cursor:pointer;}
.hw-chip{display:inline-flex;align-items:center;font-family:var(--sans);font-size:.7rem;font-weight:650;padding:1px 8px;border-radius:20px;white-space:nowrap;}
.hw-chip.gr{background:var(--mint);color:var(--fairway);}
.hw-chip.am{background:var(--amber-bg);color:var(--amber);}
.hw-chip.rd{background:var(--red-bg);color:var(--red);}
@media (prefers-reduced-motion:reduce){.hw-cv{transition:none;}}

/* ── NEXT 7 DAYS ── */
.hw-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:12px;}
.hw-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);}
.hw-head h3{margin:0 4px 0 0;font-family:var(--serif);font-weight:600;font-size:1.08rem;white-space:nowrap;}
.hw-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:9px;background:var(--fairway);color:#fff;
  font:inherit;font-size:.82rem;font-weight:600;padding:7px 12px;min-height:36px;cursor:pointer;white-space:nowrap;}
.hw-btn svg{width:15px;height:15px;}
.hw-btn.ghost{margin-left:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);}
.hw-axis{display:grid;grid-template-columns:104px minmax(0,1fr) 184px;gap:12px;padding:8px 14px 0 14px;margin-right:30px;font-family:var(--mono);font-size:.64rem;color:var(--slate);}
.hw-axis .ticks{position:relative;height:14px;}
.hw-axis .ticks span{position:absolute;transform:translateX(-50%);white-space:nowrap;}
.hw-day{border-top:1px solid var(--line);}
.hw-days .hw-day:first-child{border-top:0;}
.hw-row{display:grid;grid-template-columns:104px minmax(0,1fr) 184px 18px;gap:12px;align-items:center;width:100%;border:0;background:var(--paper);
  text-align:left;padding:11px 14px;font:inherit;color:var(--ink);cursor:pointer;}
.hw-row:hover{background:#f7faf8;}
.hw-row:focus-visible{outline:2px solid var(--fairway);outline-offset:-2px;}
.hw-day.today .hw-row{background:var(--mint);}
.hw-row .dn b{display:block;font-weight:650;font-size:.95rem;}
.hw-row .dn small{display:block;color:var(--slate);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hw-row .tx{font-size:.84rem;text-align:right;line-height:1.35;}
.hw-row .tx b{font-weight:650;}
.hw-row .tx .off{color:var(--slate);}
.hw-row .tx .ask{display:block;color:var(--amber);font-size:.74rem;font-weight:600;}
.hw-day.open .hw-row .hw-cv{transform:rotate(180deg);}
.hw-bar{position:relative;height:26px;border-radius:6px;overflow:hidden;
  background:repeating-linear-gradient(135deg,#e5ebe6 0 5px,#f2f5f2 5px 10px);}
.hw-bar .o{position:absolute;top:0;bottom:0;background:var(--paper);box-shadow:inset 0 0 0 1px #b4c8ba;}
.hw-bar .b{position:absolute;top:3px;bottom:3px;border-radius:4px;background:var(--fairway);}
.hw-bar .b.class{background:var(--bright);}
.hw-bar .b.ask{background:repeating-linear-gradient(135deg,#e0b458 0 4px,#efd394 4px 8px);box-shadow:inset 0 0 0 1px var(--amber);}
.hw-bar .now{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--red);}
.hw-daylist{display:none;background:var(--fog);border-top:1px solid var(--line);padding:8px 14px 12px 130px;font-size:.88rem;}
.hw-day.open .hw-daylist{display:block;}
.hw-daylist .it{display:flex;gap:12px;padding:3px 0;}
.hw-daylist .it .mono{color:var(--slate);width:64px;flex:none;}
.hw-daylist .none{color:var(--slate);}
.hw-daylist .acts{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;}
.hw-key{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 14px 12px;border-top:1px solid var(--line);font-size:.76rem;color:var(--slate);}
.hw-key .k{display:inline-block;width:14px;height:10px;border-radius:2px;vertical-align:-1px;margin-right:5px;}
.hw-key .k.lesson{background:var(--fairway);}
.hw-key .k.class{background:var(--bright);}
.hw-key .k.ask{background:repeating-linear-gradient(135deg,#e0b458 0 3px,#efd394 3px 6px);}
.hw-key .k.open{background:var(--paper);box-shadow:inset 0 0 0 1px #b4c8ba;}
.hw-key .k.off{background:repeating-linear-gradient(135deg,#e5ebe6 0 3px,#f2f5f2 3px 6px);}

/* phone: the label and numbers on one line, the bar full width under them */
@media (max-width:640px){
  .hw-axis{display:none;}
  .hw-head .lg{display:none;}
  .hw-row{grid-template-columns:minmax(0,1fr) auto 18px;grid-template-areas:"dn tx cv" "bar bar bar";gap:6px 10px;}
  .hw-row .dn{grid-area:dn;}
  .hw-row .tx{grid-area:tx;}
  .hw-row .hw-cv{grid-area:cv;}
  .hw-row .hw-bar{grid-area:bar;}
  .hw-daylist{padding-left:14px;}
}

/* ── classes still filling ── */
.hw-fill{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper);
  text-align:left;padding:10px 12px;margin:0 0 6px;font:inherit;color:var(--ink);cursor:pointer;}
.hw-fill:last-child{margin-bottom:0;}
.hw-fill:hover{border-color:var(--fairway);}
.hw-fill .nm{flex:1;min-width:0;}
.hw-fill .nm b{display:block;font-weight:650;font-size:.92rem;}
.hw-fill .nm small{color:var(--slate);font-size:.78rem;}
.hw-fill .nm .w, .hw-s .w{color:var(--amber);font-weight:650;}
.hw-meter{width:118px;flex:none;}
.hw-meter .fb{display:block;height:8px;border-radius:4px;background:var(--line);overflow:hidden;}
.hw-meter .fb i{display:block;height:100%;background:var(--fairway);border-radius:4px;}
.hw-meter .fb i.hot{background:var(--amber);}
.hw-meter .fl{display:flex;justify-content:space-between;font-size:.72rem;color:var(--slate);margin-top:3px;}
.hw-meter .fl b{color:var(--ink);font-weight:600;}
.hw-go{width:16px;height:16px;flex:none;color:var(--slate);}

/* ── the photo menu ── */
.hw-menu{position:absolute;z-index:9000;width:260px;background:var(--paper);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 14px 34px rgba(21,36,29,.18);padding:6px;}
.hw-menu .u{font-size:.74rem;color:var(--slate);padding:6px 10px 8px;border-bottom:1px solid var(--line);margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hw-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;text-align:left;padding:9px 10px;border-radius:8px;
  font:inherit;font-size:.9rem;font-weight:550;color:var(--ink);cursor:pointer;}
.hw-menu button:hover,.hw-menu button:focus-visible{background:var(--fog);outline:none;}
.hw-menu button svg{width:15px;height:15px;}
.nav-avatar{cursor:pointer;}

/* ── Settings › Lessons & prices, folded (lt-fold.js) ── */
.ltf-sec{padding:0!important;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);margin-bottom:12px;}
.ltf-head{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:0;background:var(--paper);box-shadow:inset 4px 0 0 var(--fairway);
  text-align:left;padding:14px 16px 14px 18px;min-height:60px;font:inherit;color:var(--ink);cursor:pointer;}
.ltf-head:hover{background:#f7faf8;}
.ltf-head:focus-visible{outline:2px solid var(--fairway);outline-offset:-2px;}
.ltf-t{font-family:var(--serif);font-weight:600;font-size:1.08rem;}
.ltf-s{flex:1;min-width:0;font-size:.82rem;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ltf-n{font-size:1.2rem;}
.ltf-cv{width:18px;height:18px;flex:none;color:var(--slate);transition:transform .15s;}
.ltf-sec.ltf-open > .ltf-head .ltf-cv{transform:rotate(180deg);}
.ltf-body{display:none;background:var(--fog);border-top:1px solid var(--line);padding:12px;}
.ltf-sec.ltf-open > .ltf-body{display:block;}
.ltf-body > .ed-hint{margin-top:0;}
.ltf-card:not(.ltf-open) > .lt-row.meta,
.ltf-card:not(.ltf-open) > :not(.lt-row){display:none;}
.ltf-sum{font-size:.8rem;color:var(--slate);white-space:nowrap;}
.ltf-card.ltf-open .ltf-sum{display:none;}
.ltf-more{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer;flex:none;}
.ltf-card.ltf-open .ltf-more .ltf-cv{transform:rotate(180deg);}
@media (max-width:640px){ .ltf-sum{display:none;} .ltf-s{display:none;} }
@media (prefers-reduced-motion:reduce){.ltf-cv{transition:none;}}

/* ── "+ New" and the menus ── */
.hw-newbtn{display:inline-flex;align-items:center;gap:6px;width:auto!important;padding:0 14px 0 10px!important;border-radius:22px!important;}
.hw-newbtn .lg{font-size:.86rem;font-weight:650;}
.hw-menu .sep{height:1px;background:var(--line);margin:4px 6px;}
.hw-menu.new{width:280px;}
.hw-menu.new button span{display:block;}
.hw-menu.new button b{display:block;font-weight:650;font-size:.92rem;}
.hw-menu.new button small{display:block;font-size:.76rem;color:var(--slate);font-weight:450;margin-top:1px;}

/* ── the Classes page (classes-page.js) ── */
.cp-wrap{max-width:1100px;}
.cp-top{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.cp-top > div{flex:1;min-width:220px;}
.cp-h1{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,3vw,2.1rem);}
.cp-lead{margin:4px 0 0;color:var(--slate);font-size:.92rem;}
.cp-lead b{color:var(--amber);}
.cp-top .hw-btn{margin-left:0;}
.cp-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;}
@media (min-width:1024px){.cp-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.cp-cols .hw-fold{margin-bottom:0;}
.cp-none{margin:6px 8px;color:var(--slate);font-size:.88rem;}
.cp-foot{margin:14px 2px 0;color:var(--slate);font-size:.86rem;}
.cp-link{border:0;background:none;padding:0;font:inherit;color:var(--fairway);font-weight:600;text-decoration:underline;cursor:pointer;}
.cp-empty{padding:24px 0;}

/* Open a class › Short description (25 Sep 2026) */
.ge-l .ge-opt{text-transform:none;letter-spacing:0;font-weight:500;}
.ge-count{display:flex;justify-content:space-between;gap:12px;}
.ge-count b{font-weight:600;white-space:nowrap;}
.pfc-desc{margin:4px 0 6px;font-size:.9rem;line-height:1.5;color:var(--slate);}
.pfc-where{margin-top:3px;font-size:.84rem;font-weight:600;color:var(--ink);}

/* Open a class: a choice the others rule out is shown, but visibly out */
.seg-row button.ge-off{opacity:.42;cursor:not-allowed;}
.seg-row button.ge-off:hover{background:transparent;}

/* The share sheet in class mode: .hub-scope's display:flex outranked [hidden] */
.hub-scope[hidden]{display:none;}

/* A parent's view of their child's classes (account.js, golfer bookings) */
.gfam{margin-top:18px;}
.gacct .gfam-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-top:10px;}
.gacct .gfam-card .bi-date{font-family:var(--mono);font-feature-settings:"tnum";font-size:.72rem;font-weight:500;color:var(--slate);margin-top:3px;}
.gfam .gbk-body .wk{font-size:.8rem;font-weight:600;color:var(--fairway);margin-top:2px;}
/* one week of a whole run on the golfer's own list: "Week 2 of 6 · included in the run" */
.gacct .gbk-body .gbk-wk{color:var(--fairway);font-weight:600;}
