/* ==========================================================================
   Tharvik - teams: coach view + client side (2026-10-07), see js/coach.js.
   Same tokens as the session layer, so light and dark both work.
   ========================================================================== */

.tc-eyebrow{ font:700 10.5px var(--font-ui); letter-spacing:.13em; text-transform:uppercase; color:var(--gold); }

/* ---- "This week" overview at the top of a team the coach leads ---- */
.tc-roster{ display:flex; flex-direction:column; gap:10px; }
.tc-overview{
  padding:13px 13px 12px; border-radius:14px; border:1px solid var(--accent-line);
  background:linear-gradient(160deg, var(--accent-tint) 0%, transparent 65%), var(--panel-2);
}
.tc-ov-stats{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:7px; margin-top:9px; }
.tc-ov-stat{ background:var(--panel); border:1px solid var(--line); border-radius:11px; padding:8px 6px; text-align:center; }
.tc-ov-stat b{ display:block; font:700 17px 'IBM Plex Mono', ui-monospace, monospace; font-variant-numeric:tabular-nums; color:var(--text); }
.tc-ov-stat small{ display:block; font:600 10.5px var(--font-ui); color:var(--text-dim); margin-top:2px; }
.tc-ov-line{ margin:10px 0 0; font:500 13px/1.45 var(--font-ui); color:var(--text); }
.tc-ov-list{ margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.tc-ov-title{ font:700 10.5px var(--font-ui); letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); }
.tc-ov-list.needs .tc-ov-title{ color:var(--ember); }
.tc-ov-item{
  display:flex; align-items:baseline; gap:8px; width:100%; text-align:left; cursor:pointer;
  padding:8px 10px; border-radius:10px; border:1px solid var(--line); background:var(--panel); color:var(--text);
  font:500 12.5px/1.35 var(--font-ui);
}
.tc-ov-item b{ font-weight:700; flex:0 0 auto; }
.tc-ov-item span{ color:var(--text-dim); min-width:0; }
.tc-ov-list.needs .tc-ov-item{ border-color:var(--ember-dim); }
.tc-ov-list.wins .tc-ov-item{ border-color:var(--accent-line); }
.tc-ov-item:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* ---- one client ---- */
.tc-client{ border:1px solid var(--line); border-radius:14px; padding:12px 12px 10px; background:var(--panel); transition:opacity .2s ease; }
.tc-client.needs{ border-color:var(--ember-dim); }
.tc-client.busy{ opacity:.5; pointer-events:none; }
.tc-cl-top{ display:flex; gap:10px; align-items:flex-start; }
.tc-cl-who{ flex:1; min-width:0; }
.tc-cl-name{ font:700 15px var(--font-ui); color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tc-cl-streak{ margin-left:8px; font:700 11.5px var(--font-ui); color:var(--gold); }
.tc-cl-meta{ font:500 12px var(--font-ui); color:var(--text-dim); margin-top:3px; font-variant-numeric:tabular-nums; }
.tc-cl-flag{ font:600 12px/1.35 var(--font-ui); color:var(--text-dim); margin-top:5px; }
.tc-cl-flag.needs{ color:var(--ember); }
.tc-cl-flag.win{ color:var(--gold); }
.sx-maps.tc-heat{ flex:0 0 auto; gap:2px; }
.sx-maps.tc-heat .sx-body{ width:26px; height:56px; }
.tc-client .team-day-strip{ margin-top:9px; }
.tc-cl-note{ font:500 11px var(--font-ui); color:var(--text-dim); margin-top:7px; opacity:.85; }
.tc-cl-actions{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.tc-cl-last{ font:500 11px var(--font-ui); color:var(--text-dim); margin-top:8px; }
.tc-cl-slot:empty{ display:none; }

.tc-btn{
  height:32px; padding:0 11px; border-radius:var(--r-pill); cursor:pointer; white-space:nowrap;
  border:1px solid var(--line-strong); background:transparent; color:var(--text); font:700 12px var(--font-ui);
}
.tc-btn.primary{ background:var(--gold); border-color:var(--gold); color:var(--ink); }
.tc-btn.quiet{ color:var(--text-dim); border-color:transparent; }
.tc-btn:disabled{ opacity:.55; cursor:default; }
.tc-btn:active{ transform:scale(.97); }
.tc-btn:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* react / instructions panel */
.tc-panel{ margin-top:10px; padding:11px; border-radius:12px; background:var(--panel-2); border:1px solid var(--line); animation:sxIn .22s ease; }
.tc-panel-q{ font:600 12px/1.4 var(--font-ui); color:var(--text-dim); margin-bottom:8px; }
.tc-panel-out{ font:600 12px var(--font-ui); color:var(--gold); margin-top:7px; min-height:1px; }
.tc-panel-out:empty{ display:none; }
.tc-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.tc-chip{
  padding:8px 11px; border-radius:var(--r-pill); cursor:pointer; border:1px solid var(--line-strong);
  background:var(--panel); color:var(--text); font:600 12.5px var(--font-ui);
}
.tc-chip.on{ border-color:var(--gold); background:var(--accent-tint); }
.tc-chip:disabled{ opacity:.6; }
.tc-row{ display:flex; gap:6px; margin-top:8px; }
.tc-input{
  flex:1; min-width:0; height:36px; padding:0 11px; border-radius:10px; border:1px solid var(--line-strong);
  background:var(--panel); color:var(--text); font:500 13px var(--font-ui);
}
.tc-input:focus{ outline:none; border-color:var(--gold); }
.tc-ta{ display:block; width:100%; height:auto; padding:9px 11px; margin:8px 0; resize:vertical; line-height:1.4; box-sizing:border-box; }
.tc-notes{ display:flex; flex-direction:column; gap:6px; }
.tc-note{
  display:flex; align-items:flex-start; gap:8px; padding:8px 10px; border-radius:10px;
  background:var(--panel); border:1px solid var(--accent-line); font:500 13px/1.4 var(--font-ui); color:var(--text);
}
.tc-note span{ flex:1; min-width:0; overflow-wrap:anywhere; }
.tc-note-x{ flex:0 0 auto; width:24px; height:24px; margin:-3px -4px -3px 0; border:0; border-radius:50%; background:transparent; color:var(--text-dim); font:400 18px/1 var(--font-ui); cursor:pointer; }
.tc-empty{ font:500 12px/1.45 var(--font-ui); color:var(--text-dim); }
.tc-refresh{ align-self:center; margin-top:2px; }

/* invite: code + link + QR */
.tc-invite{ margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }
.tc-inv-row{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:8px; }
.tc-inv-row .team-invite-code{ flex:1 1 auto; min-width:90px; }
.tc-qr:empty{ display:none; }
.tc-qr{ margin-top:10px; text-align:center; }
.tc-qr svg{ width:184px; height:184px; border-radius:10px; display:block; margin:0 auto; }
.tc-qr-cap{ font:500 12px/1.4 var(--font-ui); color:var(--text-dim); margin-top:7px; }

/* ---- client side ---- */
.tc-member{ margin-top:11px; display:flex; flex-direction:column; gap:7px; }
.tc-share{ display:flex; gap:9px; align-items:flex-start; font:500 12.5px/1.4 var(--font-ui); color:var(--text); cursor:pointer; margin-top:2px; }
.tc-share input{ margin-top:2px; accent-color:var(--gold); }

.tc-banner{
  flex:0 0 auto; margin:10px 16px 0; padding:11px 12px 12px; border-radius:16px; position:relative; z-index:2;
  border:1px solid var(--accent-line); background:linear-gradient(160deg, var(--accent-tint) 0%, transparent 70%), var(--panel);
  animation:sxIn .3s ease;
}
body:not(.in-app) .tc-banner{ display:none; }
.tc-bn-top{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.tc-bn-more{ font:700 11px var(--font-ui); color:var(--text-dim); }
.tc-banner p{ margin:5px 0 9px; font:500 14.5px/1.45 var(--font-ui); color:var(--text); overflow-wrap:anywhere; }

/* landing: "you've been invited to a team" */
.tc-invite-notice{
  position:fixed; left:16px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:60;
  max-width:520px; margin:0 auto; padding:12px 14px; border-radius:14px;
  background:var(--panel-2); border:1px solid var(--accent-line); box-shadow:var(--shadow-lift);
  display:flex; flex-direction:column; gap:3px; font:500 13px/1.4 var(--font-ui); color:var(--text-dim);
}
.tc-invite-notice b{ color:var(--text); font-weight:700; font-size:14px; }
body.in-app .tc-invite-notice{ display:none; }

/* ---- the roster as a team sheet (coach + member) ---------------------------- */
.tc-sheet{ border:1px solid var(--line); border-radius:16px; background:var(--panel); overflow:hidden; }
.tc-sheet-head{ display:flex; justify-content:space-between; align-items:baseline; padding:13px 14px 9px; }
.tc-sheet-head h3{ margin:0; font:400 24px/1 var(--font-display); color:var(--text); }
.tc-days{ display:flex; gap:3px; }
.tc-days i{ width:7px; text-align:center; font:700 8px var(--font-ui); font-style:normal; color:var(--text-dim); }
.tc-group{ padding:7px 14px 6px; font:700 10px var(--font-ui); letter-spacing:.14em; text-transform:uppercase; color:var(--text-dim); border-top:1px solid var(--line); background:var(--panel-2); }
.tc-line{ display:grid; grid-template-columns:24px 36px minmax(0, 1fr) auto; gap:10px; align-items:center; padding:10px 14px; border-top:1px solid var(--line); }
.tc-num{ font:700 12.5px 'IBM Plex Mono', ui-monospace, monospace; color:var(--text-dim); font-variant-numeric:tabular-nums; }
.tc-av{
  width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto;
  background:var(--panel-2); border:1.5px solid var(--line-strong); color:var(--text); font:700 13px var(--font-ui);
}
.tc-av.gold{ border-color:var(--gold); color:var(--gold); }
.tc-who{ min-width:0; }
.tc-who b{ display:flex; align-items:center; gap:6px; font:700 14.5px var(--font-ui); color:var(--text); min-width:0; }
.tc-who small{ font:500 12px/1.35 var(--font-ui); color:var(--text-dim); margin-top:2px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.tc-who small.needs{ color:var(--ember); }
.tc-who small.win{ color:var(--gold); }
.tc-chip{ font:800 9px var(--font-ui); letter-spacing:.08em; padding:3px 6px; border-radius:5px; background:var(--gold); color:var(--ink); flex:0 0 auto; }
.tc-chip.line{ background:transparent; color:var(--gold); border:1px solid var(--accent-line); }
.tc-live{ width:7px; height:7px; border-radius:50%; background:#3FBF76; flex:0 0 auto; }
.tc-right{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.tc-week{ display:flex; gap:3px; align-items:flex-end; height:20px; }
.tc-week s{ width:7px; height:6px; border-radius:2px; background:var(--line); text-decoration:none; }
.tc-week s.d{ background:var(--gold); height:20px; }
.tc-week s.p{ background:var(--line-strong); height:12px; }
.tc-week s.m{ background:var(--ember); opacity:.8; height:9px; }
.tc-line.me{ background:var(--accent-tint); box-shadow:inset 3px 0 0 var(--gold); }
.tc-line.private .tc-who small{ font-style:italic; }
.tc-line.private .tc-week s{ background:var(--panel-2); }
.tc-clap{
  height:26px; min-width:38px; padding:0 9px; border-radius:var(--r-pill); cursor:pointer;
  border:1px solid var(--line-strong); background:transparent; color:var(--text); font:700 11.5px var(--font-ui);
}
.tc-clap.on{ border-color:var(--gold); background:var(--accent-tint); cursor:default; }
.tc-clap:active:not(:disabled){ transform:scale(.94); }
.tc-clap:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.tc-claps{ font:700 11.5px var(--font-ui); color:var(--gold); }

/* coach view: each client is a roster line that opens into their details + tools */
.tc-sheet .tc-client{ border:0; border-top:1px solid var(--line); border-radius:0; padding:0; background:transparent; }
.tc-sheet .tc-client .tc-line{ border-top:0; cursor:pointer; }
.tc-sheet .tc-client.needs .tc-line{ box-shadow:inset 3px 0 0 var(--ember); }
.tc-sheet .tc-client .tc-line:focus-visible{ outline:2px solid var(--gold); outline-offset:-2px; }
.tc-cl-body{ display:none; padding:2px 14px 13px 48px; }
.tc-client.open .tc-cl-body{ display:block; animation:sxIn .2s ease; }
.tc-client.open{ background:var(--panel-2); }

/* coach: weekly team goal */
.tc-goalset{ padding:12px 13px; border-radius:14px; border:1px solid var(--line); background:var(--panel); }
.tc-goal-row{ display:flex; align-items:center; gap:8px; margin-top:8px; }
.tc-goal-in{ flex:0 0 84px; width:84px; }
.tc-goal-unit{ font:600 12.5px var(--font-ui); color:var(--text-dim); flex:1; }
.tc-goal-out{ display:block; font:600 12px var(--font-ui); color:var(--gold); margin-top:6px; }
.tc-goal-out:empty{ display:none; }
.tc-goal{ margin-top:6px; }
.tc-goal-top{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.tc-goal-top b{ font:700 22px 'IBM Plex Mono', ui-monospace, monospace; color:var(--text); font-variant-numeric:tabular-nums; }
.tc-goal-top b small{ font:600 12.5px var(--font-ui); color:var(--text-dim); }
.tc-dim{ font:600 12px var(--font-ui); color:var(--text-dim); }
.tc-bar{ position:relative; height:8px; border-radius:8px; background:var(--panel-2); margin-top:8px; overflow:hidden; }
.tc-bar i{ position:absolute; top:0; bottom:0; left:0; background:var(--gold); border-radius:8px; }
.tc-bar i.you{ background:#FBE3A6; }
.tc-legend{ display:flex; gap:14px; margin-top:7px; font:600 11.5px var(--font-ui); color:var(--text-dim); }
.tc-legend span::before{ content:''; display:inline-block; width:8px; height:8px; border-radius:2px; background:var(--gold); margin-right:5px; }
.tc-legend span.you::before{ background:#FBE3A6; }
.tc-fine{ font:500 11.5px/1.4 var(--font-ui); color:var(--text-dim); margin-top:7px; }

/* ---- member team page ---- */
.tc-page{ display:flex; flex-direction:column; gap:12px; margin-bottom:18px; }
.tc-crest-card{
  border:1px solid var(--accent-line); border-radius:20px; padding:17px 15px 15px;
  background:radial-gradient(120% 90% at 0% 0%, var(--accent-tint), transparent 60%), var(--panel);
}
.tc-crest-row{ display:flex; gap:13px; align-items:center; }
.tc-crest{
  width:60px; height:60px; flex:0 0 60px; border-radius:50%; display:grid; place-items:center;
  border:1.5px solid var(--gold); box-shadow:inset 0 0 0 4px var(--panel), inset 0 0 0 5px var(--accent-line);
  font:400 24px var(--font-display); color:var(--gold);
}
.tc-crest-row h2{ margin:0; font:400 28px/1.05 var(--font-display); color:var(--text); text-wrap:balance; }
.tc-crest-sub{ margin-top:5px; font:500 12.5px/1.4 var(--font-ui); color:var(--text-dim); }
.tc-crest-goal{ margin-top:15px; }
.tc-coach{ border:1px solid var(--line); border-radius:16px; padding:13px 14px; background:var(--panel); display:flex; flex-direction:column; gap:9px; }
.tc-coach-top{ display:flex; gap:11px; align-items:center; }
.tc-coach-top b{ display:block; font:700 15px var(--font-ui); color:var(--text); }
.tc-coach-top small{ font:500 12px var(--font-ui); color:var(--text-dim); }
.tc-msg{ padding:10px 12px; border-radius:12px; background:var(--panel-2); font:500 14px/1.4 var(--font-ui); color:var(--text); overflow-wrap:anywhere; }
.tc-msg small{ display:block; color:var(--text-dim); font-size:11.5px; margin-top:3px; }
.tc-rule{ display:flex; align-items:flex-start; gap:8px; padding:9px 12px; border-radius:12px; border:1px solid var(--accent-line); background:var(--accent-tint); font:500 13px/1.4 var(--font-ui); color:var(--text); }
.tc-rule > div{ flex:1; min-width:0; overflow-wrap:anywhere; }
.tc-rule em{ display:block; font-style:normal; color:var(--gold); font-weight:700; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:2px; }
.tc-share-box{ border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.tc-switch-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 14px; cursor:pointer; }
.tc-switch-row + .tc-switch-row{ border-top:1px solid var(--line); }
.tc-switch-row b{ display:block; font:600 13.5px var(--font-ui); color:var(--text); }
.tc-switch-row small{ display:block; font:500 12px/1.4 var(--font-ui); color:var(--text-dim); margin-top:2px; }
.tc-switch{
  -webkit-appearance:none; appearance:none; flex:0 0 42px; width:42px; height:24px; margin:0; border-radius:24px; cursor:pointer;
  background:var(--line-strong); position:relative; transition:background .18s ease;
}
.tc-switch::after{ content:''; position:absolute; left:3px; top:3px; width:18px; height:18px; border-radius:50%; background:var(--panel); transition:transform .18s ease; }
.tc-switch:checked{ background:var(--gold); }
.tc-switch:checked::after{ transform:translateX(18px); background:var(--ink); }
.tc-switch:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.tc-leave{ align-self:center; }

/* ---- optional period tracking (js/cycle.js): card on the month view, dots on the grid, switch in Settings ---- */
.cy-card{ margin:0 0 14px; padding:13px 14px 12px; border-radius:16px; border:1px solid var(--line-strong); background:var(--panel); }
.cy-head{ display:flex; justify-content:space-between; align-items:center; }
.cy-priv{ font:600 11px var(--font-ui); color:var(--text-dim); }
.cy-line{ margin-top:6px; font:600 15px/1.35 var(--font-ui); color:var(--text); }
.cy-fine{ margin-top:4px; font:500 12px/1.4 var(--font-ui); color:var(--text-dim); }
.cy-acts{ display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.cy-acts .tc-btn{ height:36px; }
.cy-msg{ margin-top:7px; font:600 12px var(--font-ui); color:var(--ember); }
.cy-msg:empty{ display:none; }
.cy-more:not([hidden]){ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.cy-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.cy-row .tc-input{ flex:1 1 140px; min-width:0; }
.cy-hist{ display:flex; flex-direction:column; }
.cy-hist-row{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; font:500 13px var(--font-ui); color:var(--text-dim); border-bottom:1px solid var(--line); }
.cy-hist-row:last-child{ border-bottom:0; }
.cal-day .cy-dot{ position:absolute; bottom:4px; left:50%; width:5px; height:5px; margin-left:-2.5px; border-radius:50%; pointer-events:none; }
.cal-day.cy-logged .cy-dot{ background:var(--ember); }
.cal-day.cy-pred .cy-dot{ border:1.3px solid var(--ember); opacity:.75; box-sizing:border-box; }
.cy-consent:not([hidden]){ margin-top:10px; display:flex; flex-direction:column; gap:10px; }
.cy-on{ color:var(--gold); }
/* ---- "Para ti" (js/foryou.js): what Tharvik adapts for women, in one place ---- */
#forYouPanel{
  position:absolute; inset:0; z-index:15; display:flex; flex-direction:column; background:var(--bg);
  visibility:hidden; opacity:0; pointer-events:none; transform:translate3d(0,18px,0);
  transition:opacity .18s ease, transform .2s ease, visibility 0s linear .2s;
}
#forYouPanel.show{ visibility:visible; opacity:1; pointer-events:auto; transform:none; transition:opacity .24s ease, transform .3s ease, visibility 0s; }
.fy-card{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; margin-bottom:10px; border-radius:16px; border:1px solid var(--line); background:var(--panel); }
.fy-card.fy-wide{ flex-wrap:wrap; border-color:var(--accent-line); background:linear-gradient(160deg, var(--accent-tint) 0%, transparent 70%), var(--panel); }
.fy-card.fy-wide .fy-txt{ flex:1 1 100%; }
.fy-txt{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.fy-txt b{ font:700 14.5px var(--font-ui); color:var(--text); }
.fy-txt span{ font:500 12.5px/1.45 var(--font-ui); color:var(--text-dim); }
.fy-chip{ flex:0 0 auto; padding:5px 10px; border-radius:var(--r-pill); font:700 11px var(--font-ui); color:var(--gold); border:1px solid var(--accent-line); background:var(--accent-tint); }
.fy-asks{ display:flex; flex-direction:column; gap:8px; margin-top:8px; padding-bottom:24px; }
.fy-ask{ text-align:left; padding:12px 14px; border-radius:14px; cursor:pointer; border:1px solid var(--line-strong); background:transparent; color:var(--text); font:600 13.5px/1.35 var(--font-ui); }
.fy-ask:active{ transform:scale(.99); }
.fy-ask:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.fy-intro p{ margin:5px 0 10px; }
.sx-nudge p{ margin:5px 0 10px; }
.sx-nudge-btns{ display:flex; flex-wrap:wrap; gap:8px; }
.sx-nudge .sx-wn-x{ width:28px; height:28px; margin:-6px -4px -6px 0; border:0; background:transparent; color:var(--text-dim); font:400 22px/1 var(--font-ui); cursor:pointer; border-radius:50%; }

@media (prefers-reduced-motion: reduce){
  .tc-panel, .tc-banner, .tc-client.open .tc-cl-body{ animation:none; }
  .tc-client, .tc-switch, .tc-switch::after{ transition:none; }
}

/* ---- 2026-10-07 simpler teams: first choice, how-it-works card, one fold for invite + settings, who sees what ---- */
.team-empty-title{ font:700 10.5px var(--font-ui); letter-spacing:.13em; text-transform:uppercase; color:var(--gold); margin:2px 0 10px; }
.team-getstarted{ flex-direction:column; gap:10px; }
.team-choice{
  display:block; width:100%; text-align:left; cursor:pointer; padding:15px 16px 14px; border-radius:16px;
  border:1px solid var(--line-strong); background:var(--panel); color:var(--text);
}
.team-choice b{ display:block; font:700 15.5px var(--font-ui); color:var(--text); }
.team-choice small{ display:block; margin-top:4px; font:500 12.5px/1.4 var(--font-ui); color:var(--text-dim); }
.team-choice:first-child{ border-color:var(--accent-line); background:linear-gradient(160deg, var(--accent-tint) 0%, transparent 70%), var(--panel); }
.team-choice:active{ transform:scale(.99); }
.team-choice:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
/* already in a team: the same two as small "add another" buttons */
.team-getstarted.compact{ flex-direction:row; }
.team-getstarted.compact .team-choice{ padding:11px 8px; text-align:center; border-radius:14px; background:transparent; border-color:var(--line-strong); }
.team-getstarted.compact .team-choice b{ font:700 12.5px var(--font-ui); color:var(--text-dim); }
.team-getstarted.compact .team-choice small{ display:none; }

.tc-tip{ padding:14px 14px 12px; border-radius:16px; border:1px solid var(--accent-line); background:linear-gradient(160deg, var(--accent-tint) 0%, transparent 70%), var(--panel); display:flex; flex-direction:column; gap:10px; }
.tc-tip-row{ display:flex; gap:12px; align-items:flex-start; font:500 13px/1.45 var(--font-ui); color:var(--text); }
.tc-tip-k{ flex:0 0 auto; width:32px; height:32px; border-radius:50%; border:1px solid var(--line-strong); background:var(--panel-2); display:flex; align-items:center; justify-content:center; font-size:15px; }
.tc-tip-ok{ height:40px; border-radius:var(--r-pill); cursor:pointer; background:transparent; color:var(--text); border:1px solid var(--accent-line); font:700 13px var(--font-ui); }
.tc-tip-ok:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

.tc-more{ border-top:1px solid var(--line); margin-top:14px; padding-top:4px; }
.tc-more-sum{ list-style:none; cursor:pointer; padding:12px 2px; display:flex; justify-content:space-between; align-items:center; font:700 13.5px var(--font-ui); color:var(--text); }
.tc-more-sum::-webkit-details-marker{ display:none; }
.tc-more-sum::after{ content:'+'; font:400 20px/1 var(--font-ui); color:var(--gold); }
.tc-more[open] > .tc-more-sum::after{ content:'−'; }
.tc-more-sum:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; border-radius:8px; }
.tc-more-body{ display:flex; flex-direction:column; gap:14px; padding-bottom:6px; }
.tc-more-body .tc-invite{ margin-top:0; padding-top:4px; border-top:0; }

.tc-ws + .tc-ws{ border-top:1px solid var(--line); }
.tc-ws-h{ padding:12px 14px 0; display:flex; flex-direction:column; gap:2px; }
.tc-ws-h b{ font:700 13.5px var(--font-ui); color:var(--text); }
.tc-ws-h span{ font:500 12px/1.4 var(--font-ui); color:var(--text-dim); }
.tc-share-box > .tc-eyebrow{ padding:13px 14px 0; display:block; }
.tc-share-box > .tc-fine{ padding:0 14px 13px; margin-top:0; }
.tc-ws .tc-switch-row{ padding-top:6px; }
.tc-ws .tc-switch-row + .tc-switch-row{ border-top:0; }
