/* MSV Goals Module v16 */
.msv-goals-wrap { position:relative; display:flex; flex-direction:column; min-height:100%; }

/* ── Hero ── */
.msv-goals-topbar { padding:16px 16px 0; display:flex; align-items:flex-start; justify-content:space-between; }
.msv-goals-hero { flex:1; }
.msv-goals-hero-label { font-size:11px; font-weight:500; letter-spacing:1.2px; text-transform:uppercase; color:rgba(255,255,255,0.32); margin-bottom:5px; }
.msv-goals-hero-name { font-size:26px; font-weight:500; color:var(--msv-text); line-height:1.18; }
.msv-goals-accent { color:var(--msv-accent); }
.msv-goals-hero-sub { font-size:13px; color:var(--msv-text-muted); margin-top:6px; line-height:1.6; }
.msv-goals-add-fab { background:rgba(255,255,255,0.1); border:none; border-radius:50%; width:36px; height:36px; color:#fff; font-size:24px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:4px; }
.msv-goals-add-fab:hover { background:rgba(255,255,255,0.2); }
.msv-goals-divider { height:1px; background:rgba(255,255,255,0.07); margin:14px 16px 0; }

/* ── Body ── */
.msv-goals-body { padding:14px 14px 80px; }
.msv-goals-loading { display:flex; flex-direction:column; align-items:center; gap:12px; padding:48px 0; color:var(--msv-text-muted); }

/* ── Empty ── */
.msv-goals-empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:48px 20px; gap:13px; }
.msv-goals-empty-tagline { font-size:18px; font-weight:500; color:var(--msv-text); }
.msv-goals-empty-p { font-size:14px; color:var(--msv-text-muted); line-height:1.65; max-width:270px; }

/* ── Goal Cards ── */
.msv-goal-card { background:var(--msv-card-bg); border:1px solid var(--msv-card-border); border-radius:14px; padding:13px; margin-bottom:9px; }
.msv-goal-card--achieved { border-color:rgba(253,224,71,0.3); }
.msv-goal-card-header { display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.msv-goal-scope { font-size:11px; color:var(--msv-text-muted); margin-left:auto; }
.msv-achieved-badge { font-size:11px; font-weight:600; color:#fde047; padding:2px 7px; border-radius:10px; background:rgba(253,224,71,0.12); }
.msv-goal-stmt { font-size:15px; font-weight:500; color:var(--msv-text); line-height:1.45; margin-bottom:9px; }
.msv-goal-footer { display:flex; align-items:center; gap:8px; }
.msv-goal-emo { font-size:16px; }
.msv-goal-checkin-btn { font-size:12px; padding:5px 12px; border-radius:20px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14); color:var(--msv-text); cursor:pointer; }
.msv-goal-checkin-btn:hover { background:rgba(255,255,255,0.15); }
.msv-goal-menu-btn { font-size:18px; padding:3px 7px; background:transparent; border:none; color:var(--msv-text-muted); cursor:pointer; border-radius:6px; letter-spacing:1px; }
.msv-goal-menu-btn:hover { background:rgba(255,255,255,0.08); }
.msv-goals-add-row-btn { width:100%; padding:12px; background:transparent; border:1px solid rgba(255,255,255,0.12); border-radius:14px; color:var(--msv-text-muted); font-size:13px; cursor:pointer; margin-top:4px; }
.msv-goals-add-row-btn:hover { border-color:rgba(255,255,255,0.25); color:var(--msv-text); }

/* ── Type Badges ── */
.msv-type-badge { display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:12px; font-size:11px; font-weight:600; }
.msv-badge-process   { background:rgba(96,165,250,0.12);  color:#60a5fa; border:1px solid rgba(96,165,250,0.25); }
.msv-badge-mindset   { background:rgba(167,139,250,0.12); color:#a78bfa; border:1px solid rgba(167,139,250,0.25); }
.msv-badge-technical { background:rgba(52,211,153,0.12);  color:#34d399; border:1px solid rgba(52,211,153,0.25); }
.msv-badge-presence  { background:rgba(251,146,60,0.12);  color:#fb923c; border:1px solid rgba(251,146,60,0.25); }
.msv-badge-north_star{ background:rgba(56,189,248,0.12);  color:#38bdf8; border:1px solid rgba(56,189,248,0.25); }

/* ── North Star Cards ── */
.msv-ns-card { background:rgba(56,189,248,0.07); border:1px solid rgba(56,189,248,0.22); border-radius:16px; padding:14px 16px; margin-bottom:10px; transition:all 0.4s; }
.msv-ns-card--has-goals { border-color:rgba(56,189,248,0.4); background:rgba(56,189,248,0.1); }
.msv-ns-card--branch { margin:0; }
.msv-ns-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.msv-ns-label { font-size:10px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#38bdf8; }
.msv-ns-stmt { font-size:16px; font-weight:500; color:var(--msv-text); line-height:1.3; }
.msv-ns-pills { display:flex; gap:6px; flex-wrap:wrap; margin-top:7px; }
.msv-ns-pill { font-size:11px; padding:2px 9px; border-radius:9px; background:rgba(56,189,248,0.1); color:#38bdf8; border:1px solid rgba(56,189,248,0.2); }
.msv-ns-pinned { display:flex; flex-direction:column; gap:7px; margin-top:10px; padding-top:10px; border-top:1px solid rgba(56,189,248,0.15); }
.msv-ns-pinned-row { display:flex; align-items:flex-start; gap:9px; animation:msv-pin-in 0.4s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes msv-pin-in { from{opacity:0;transform:translateY(-5px) scale(0.97);}to{opacity:1;transform:none;} }
.msv-ns-pin-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:4px; }
.msv-dot-process  { background:#60a5fa; } .msv-dot-mindset { background:#a78bfa; }
.msv-dot-technical{ background:#34d399; } .msv-dot-presence{ background:#fb923c; }
.msv-ns-pin-content { flex:1; }
.msv-ns-pin-type { font-size:10px; font-weight:600; color:var(--msv-text-muted); letter-spacing:0.5px; }
.msv-ns-pin-stmt { font-size:13px; color:var(--msv-text); line-height:1.4; margin-top:2px; }
.msv-ns-add-btn { width:100%; margin-top:11px; padding:9px; background:transparent; border:1px dashed rgba(56,189,248,0.3); border-radius:10px; color:rgba(56,189,248,0.7); font-size:12px; cursor:pointer; }
.msv-ns-add-btn:hover { border-color:rgba(56,189,248,0.6); color:#38bdf8; }

/* ── Fullscreen Overlay ── */
.msv-goals-fullscreen { position:absolute; inset:0; background:var(--msv-bg,#0f1117); z-index:50; flex-direction:column; overflow-y:auto; }

/* ── Onboarding ── */
.msv-ob-inner { flex:1; padding:20px; }
.msv-ob-card { padding:20px 8px; }
.msv-ob-eyebrow { font-size:11px; font-weight:600; letter-spacing:1.1px; text-transform:uppercase; color:var(--msv-accent); margin-bottom:12px; }
.msv-ob-headline { font-size:26px; font-weight:500; color:var(--msv-text); line-height:1.25; margin-bottom:18px; }
.msv-ob-headline em { color:var(--msv-accent); font-style:normal; }
.msv-ob-body { font-size:15px; color:var(--msv-text-muted); line-height:1.7; }
.msv-ob-body strong { color:var(--msv-text); font-weight:500; }
.msv-ob-example { margin-top:22px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.09); border-radius:12px; padding:14px; }
.msv-ob-ex-label { font-size:10px; font-weight:600; letter-spacing:0.8px; text-transform:uppercase; color:var(--msv-text-muted); margin-bottom:10px; }
.msv-ob-ex-row { display:flex; align-items:flex-start; gap:9px; margin-bottom:7px; }
.msv-ob-badge { font-size:10px; font-weight:600; padding:2px 7px; border-radius:8px; flex-shrink:0; margin-top:1px; }
.ex-result  { background:rgba(255,255,255,0.07); color:var(--msv-text-muted); }
.ex-process { background:rgba(56,189,248,0.12); color:#38bdf8; border:1px solid rgba(56,189,248,0.25); }
.ex-mindset { background:rgba(167,139,250,0.12); color:#a78bfa; border:1px solid rgba(167,139,250,0.25); }
.msv-ob-ex-text { font-size:13px; color:var(--msv-text); line-height:1.45; }
.msv-ob-bottom { padding:14px 20px 32px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.msv-ob-dots { display:flex; gap:6px; margin-bottom:4px; }
.msv-ob-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.15); transition:all 0.3s; }
.msv-ob-dot.active { background:var(--msv-accent); width:18px; border-radius:3px; }
.msv-ob-dot.done { background:rgba(56,189,248,0.4); }
.msv-ob-skip { background:none; border:none; color:var(--msv-text-muted); font-size:13px; cursor:pointer; }

/* ── Bridge ── */
.msv-bridge-inner { flex:1; padding:28px 24px 16px; display:flex; flex-direction:column; gap:14px; }
.msv-bridge-avatar { font-size:40px; }
.msv-bridge-eyebrow { font-size:11px; font-weight:600; letter-spacing:1.1px; text-transform:uppercase; color:var(--msv-accent); }
.msv-bridge-headline { font-size:26px; font-weight:500; color:var(--msv-text); line-height:1.25; }
.msv-bridge-body { font-size:15px; color:var(--msv-text-muted); line-height:1.7; }
.msv-bridge-steps { display:flex; flex-direction:column; gap:12px; margin-top:6px; }
.msv-bridge-step { display:flex; align-items:flex-start; gap:12px; }
.msv-bridge-num { width:24px; height:24px; border-radius:50%; background:rgba(56,189,248,0.12); border:1px solid rgba(56,189,248,0.25); color:#38bdf8; font-size:12px; font-weight:600; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.msv-bridge-step p { font-size:14px; color:var(--msv-text-muted); line-height:1.5; }
.msv-bridge-step strong { color:var(--msv-text); font-weight:500; }
.msv-bridge-bottom { padding:16px 24px 36px; display:flex; flex-direction:column; gap:10px; }

/* ── Sheet ── */
.msv-goals-sheet-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.6); z-index:60; align-items:flex-end; }
.msv-goals-sheet { background:var(--msv-surface,#1a1d27); border-radius:20px 20px 0 0; width:100%; max-height:88vh; display:flex; flex-direction:column; }
.msv-convo-sheet { max-height:82vh; }
.msv-goals-sheet-handle-row { padding:12px 18px 0; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.msv-goals-sheet-handle { width:32px; height:4px; background:rgba(255,255,255,0.1); border-radius:2px; }
.msv-goals-sheet-close { background:rgba(255,255,255,0.08); border:none; border-radius:50%; width:26px; height:26px; color:var(--msv-text-muted); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.msv-goals-sheet-body { overflow-y:auto; padding:16px 20px 28px; }

/* ── Wizard Steps ── */
.msv-wiz-step { display:flex; flex-direction:column; gap:14px; }
.msv-wiz-avatar { font-size:30px; text-align:center; }
.msv-wiz-avatar-sm { font-size:20px; flex-shrink:0; margin-top:2px; }
.msv-wiz-q { font-size:17px; font-weight:500; color:var(--msv-text); line-height:1.4; }
.msv-wiz-hint { font-size:13px; color:var(--msv-text-muted); line-height:1.5; }
.msv-wiz-reflection p { font-size:14px; color:var(--msv-text); line-height:1.65; margin-bottom:10px; }
.msv-wiz-textarea { width:100%; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:10px; padding:12px; color:var(--msv-text); font-size:14px; line-height:1.55; resize:none; font-family:inherit; }
.msv-wiz-textarea:focus { outline:none; border-color:var(--msv-accent); }
.msv-wiz-actions { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
.msv-wiz-loading { display:flex; flex-direction:column; align-items:center; gap:14px; padding:36px 0; color:var(--msv-text-muted); font-size:13px; }
.msv-scope-row { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--msv-text-muted); }
.msv-scope-row select { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:7px 10px; color:var(--msv-text); font-size:13px; flex:1; }

/* ── Coach Bubble ── */
.msv-coach-row { display:flex; align-items:flex-start; gap:9px; }
.msv-coach-bubble { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:0 12px 12px 12px; padding:12px 14px; flex:1; }
.msv-coach-bubble p { font-size:14px; color:var(--msv-text); line-height:1.6; }
.msv-coach-bubble p+p { margin-top:8px; }
.msv-suggested-pill { display:inline-flex; margin-top:8px; }
.msv-section-label { font-size:10px; font-weight:600; letter-spacing:0.9px; text-transform:uppercase; color:var(--msv-text-muted); margin-top:4px; }

/* ── Type Picker ── */
.msv-type-list { display:flex; flex-direction:column; gap:8px; }
.msv-type-card { display:flex; align-items:center; gap:12px; padding:12px 13px; background:rgba(255,255,255,0.04); border:1.5px solid rgba(255,255,255,0.09); border-radius:13px; cursor:pointer; position:relative; transition:all 0.15s; }
.msv-type-card:hover { background:rgba(255,255,255,0.07); }
.msv-type-card--suggested { border-color:var(--msv-accent); background:rgba(56,189,248,0.07); }
.msv-type-suggested-tag { position:absolute; top:0; right:10px; transform:translateY(-50%); font-size:10px; font-weight:600; padding:2px 8px; border-radius:8px; background:var(--msv-accent); color:#0f1117; }
.msv-type-icon-wrap { width:38px; height:38px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.msv-type-icon-process   { background:rgba(96,165,250,0.12); }
.msv-type-icon-mindset   { background:rgba(167,139,250,0.12); }
.msv-type-icon-technical { background:rgba(52,211,153,0.12); }
.msv-type-icon-presence  { background:rgba(251,146,60,0.12); }
.msv-type-text { flex:1; }
.msv-type-name { font-size:14px; font-weight:500; color:var(--msv-text); margin-bottom:2px; }
.msv-type-desc { font-size:12px; color:var(--msv-text-muted); line-height:1.35; }
.msv-type-check { width:20px; height:20px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.15); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; color:transparent; transition:all 0.15s; }
.msv-type-check--process   { background:#60a5fa; border-color:#60a5fa; color:#0f1117; }
.msv-type-check--mindset   { background:#a78bfa; border-color:#a78bfa; color:#0f1117; }
.msv-type-check--technical { background:#34d399; border-color:#34d399; color:#0f1117; }
.msv-type-check--presence  { background:#fb923c; border-color:#fb923c; color:#0f1117; }

/* ── Shaped Goal ── */
.msv-shaped-box { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:13px; display:flex; flex-direction:column; gap:9px; }
.msv-shaped-box--convo { margin-top:8px; }
.msv-shaped-reasoning { font-size:12px; color:var(--msv-text-muted); font-style:italic; }
.msv-shaped-edit-hint { font-size:11px; color:rgba(255,255,255,0.22); }
.msv-shaped-q { font-size:13px; color:var(--msv-text-muted); margin-top:8px; }

/* ── Branch ── */
.msv-branch-header { padding:14px 18px 0; display:flex; align-items:center; gap:12px; flex-shrink:0; }
.msv-goals-back-btn { background:rgba(255,255,255,0.07); border:none; border-radius:50%; width:32px; height:32px; color:var(--msv-text-muted); font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.msv-wiz-progress { flex:1; height:3px; background:rgba(255,255,255,0.08); border-radius:2px; overflow:hidden; }
.msv-wiz-fill { height:100%; background:var(--msv-accent); border-radius:2px; transition:width 0.4s; }
.msv-branch-body { flex:1; padding:14px 16px; display:flex; flex-direction:column; gap:11px; overflow-y:auto; }
.msv-branch-footer { padding:10px 16px 28px; }
.msv-branch-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.msv-branch-card { border-radius:13px; padding:11px 12px 10px; border:1.5px solid rgba(255,255,255,0.08); background:rgba(255,255,255,0.03); display:flex; flex-direction:column; gap:4px; cursor:pointer; transition:all 0.18s; position:relative; min-height:100px; }
.msv-branch-card:hover { background:rgba(255,255,255,0.07); }
.msv-bc--has { border-style:solid; }
.msv-bc-process.msv-bc--has   { border-color:#60a5fa; background:rgba(96,165,250,0.07); }
.msv-bc-mindset.msv-bc--has   { border-color:#a78bfa; background:rgba(167,139,250,0.07); }
.msv-bc-technical.msv-bc--has { border-color:#34d399; background:rgba(52,211,153,0.07); }
.msv-bc-presence.msv-bc--has  { border-color:#fb923c; background:rgba(251,146,60,0.07); }
.msv-bc-icon { font-size:18px; }
.msv-bc-name { font-size:12px; font-weight:500; color:var(--msv-text); }
.msv-bc-desc { font-size:11px; color:var(--msv-text-muted); line-height:1.35; }
.msv-bc-desc.has { color:rgba(255,255,255,0.55); font-style:italic; }
.msv-bc-check { position:absolute; top:7px; right:7px; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; }
.msv-bc-chk-process   { background:#60a5fa; color:#0f1117; }
.msv-bc-chk-mindset   { background:#a78bfa; color:#0f1117; }
.msv-bc-chk-technical { background:#34d399; color:#0f1117; }
.msv-bc-chk-presence  { background:#fb923c; color:#0f1117; }
.msv-save-nudge { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:11px; padding:9px 12px; font-size:12px; color:var(--msv-text-muted); line-height:1.5; }
.msv-save-nudge strong { color:var(--msv-text); font-weight:500; }

/* ── Convo ── */
.msv-convo-messages { flex:1; overflow-y:auto; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
.msv-convo-coach-row { display:flex; align-items:flex-start; gap:8px; }
.msv-convo-athlete-row { display:flex; justify-content:flex-end; }
.msv-athlete-bubble { background:rgba(56,189,248,0.1); border:1px solid rgba(56,189,248,0.2); border-radius:12px 12px 0 12px; padding:10px 13px; max-width:82%; }
.msv-athlete-bubble p { font-size:14px; color:var(--msv-text); line-height:1.5; }
.msv-thinking { display:flex; align-items:center; gap:3px; padding:10px 14px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:0 12px 12px 12px; }
.msv-thinking span { display:inline-block; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.25); animation:msv-blink 1.2s infinite; }
.msv-thinking span:nth-child(2){animation-delay:.2s;} .msv-thinking span:nth-child(3){animation-delay:.4s;}
@keyframes msv-blink{0%,80%,100%{opacity:.2;}40%{opacity:1;}}
.msv-convo-input-row { padding:10px 14px 14px; display:flex; gap:8px; align-items:flex-end; flex-shrink:0; border-top:1px solid rgba(255,255,255,0.06); }
.msv-convo-input { flex:1; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:10px 14px; color:var(--msv-text); font-size:14px; line-height:1.4; resize:none; font-family:inherit; max-height:72px; }
.msv-convo-input:focus { outline:none; border-color:var(--msv-accent); }
.msv-convo-input::placeholder { color:var(--msv-text-muted); }
.msv-convo-send { width:36px; height:36px; border-radius:50%; background:var(--msv-accent); border:none; color:#0f1117; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.msv-convo-pin-row { padding:10px 16px 16px; display:flex; gap:8px; flex-shrink:0; }
.msv-convo-keep { flex:1; } .msv-convo-pin { flex:1; }

/* ── Pin Flash ── */
.msv-pin-flash { position:absolute; inset:0; background:rgba(56,189,248,0.15); z-index:30; border-radius:20px 20px 0 0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; animation:msv-fade-in 0.25s ease; }
@keyframes msv-fade-in{from{opacity:0;}to{opacity:1;}}
.msv-pin-flash-icon { font-size:36px; animation:msv-pop 0.4s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes msv-pop{from{transform:scale(0.3);opacity:0;}to{transform:scale(1);opacity:1;}}
.msv-pin-flash-title { font-size:15px; font-weight:500; color:var(--msv-text); }
.msv-pin-flash-sub { font-size:13px; color:var(--msv-text-muted); }

/* ── Check-in ── */
.msv-checkin-title { font-size:16px; font-weight:600; color:var(--msv-text); }
.msv-checkin-goal { font-size:13px; color:var(--msv-text-muted); font-style:italic; line-height:1.4; }
.msv-checkin-prompt { font-size:15px; color:var(--msv-text); font-weight:500; }
.msv-checkin-emojis { display:flex; gap:10px; justify-content:center; padding:8px 0; }
.msv-emoji-btn { font-size:28px; background:rgba(255,255,255,0.05); border:2px solid transparent; border-radius:12px; padding:10px 13px; cursor:pointer; transition:all 0.15s; }
.msv-emoji-btn:hover { transform:scale(1.08); }
.msv-emoji-btn.selected { border-color:var(--msv-accent); background:rgba(56,189,248,0.12); transform:scale(1.1); }

/* ── Achievement ── */
.msv-goals-achievement { position:absolute; inset:0; background:rgba(10,10,20,0.92); z-index:80; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:32px; text-align:center; }
.msv-achievement-icon { font-size:54px; }
.msv-achievement-title { font-size:24px; font-weight:700; color:#fde047; }
.msv-achievement-type { font-size:14px; color:var(--msv-text-muted); }
.msv-achievement-stmt { font-size:17px; font-weight:500; color:var(--msv-text); font-style:italic; line-height:1.5; max-width:280px; }
.msv-achievement-note { font-size:13px; color:var(--msv-text-muted); }

/* ── Context Menu ── */
.msv-goal-menu { position:absolute; z-index:100; background:var(--msv-surface,#1a1d27); border:1px solid rgba(255,255,255,0.12); border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,0.4); min-width:160px; }
.msv-goal-menu button { display:block; width:100%; padding:10px 16px; background:transparent; border:none; color:var(--msv-text); font-size:13px; text-align:left; cursor:pointer; }
.msv-goal-menu button:hover { background:rgba(255,255,255,0.08); }

/* ── Buttons ── */
.msv-goals-btn-primary { padding:12px 22px; border-radius:24px; background:var(--msv-accent,#38bdf8); border:none; color:#0f1117; font-size:14px; font-weight:600; cursor:pointer; transition:opacity 0.15s; width:100%; }
.msv-goals-btn-primary:hover { opacity:0.88; }
.msv-goals-btn-ghost { padding:11px 18px; border-radius:24px; background:transparent; border:1px solid rgba(255,255,255,0.18); color:var(--msv-text-muted); font-size:13px; cursor:pointer; width:100%; }
.msv-goals-btn-ghost:hover { border-color:rgba(255,255,255,0.35); color:var(--msv-text); }

/* ── Spinner ── */
.msv-g-spinner { width:24px; height:24px; border:2px solid rgba(255,255,255,0.1); border-top-color:var(--msv-accent); border-radius:50%; animation:msv-spin 0.7s linear infinite; }
@keyframes msv-spin{to{transform:rotate(360deg);}}

/* ── Path Choice ── */
.msv-path-choice-step { padding-top: 4px; }
.msv-path-options { display: flex; flex-direction: column; gap: 9px; padding-left: 0; margin-top: 4px; }
.msv-path-btn { background: rgba(255,255,255,0.04); border: 1.5px solid rgba(255,255,255,0.12); border-radius: 13px; padding: 14px 16px; text-align: left; cursor: pointer; transition: all 0.18s; width: 100%; }
.msv-path-btn:hover { background: rgba(56,189,248,0.08); border-color: rgba(56,189,248,0.4); }
.msv-path-title { font-size: 14px; font-weight: 500; color: #f0f0f0; margin-bottom: 4px; font-family: var(--font-sans); }
.msv-path-sub { font-size: 12px; color: rgba(255,255,255,0.38); line-height: 1.45; font-family: var(--font-sans); }

/* ── North Star Confirm Card (in wizard) ── */
.msv-ns-confirm-card { background: rgba(56,189,248,0.08); border: 1.5px solid rgba(56,189,248,0.35); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.msv-ns-confirm-label { font-size: 10px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #38bdf8; }
.msv-ns-stmt-edit { background: rgba(255,255,255,0.06) !important; border-color: rgba(56,189,248,0.25) !important; }
.msv-ns-stmt-edit:focus { border-color: #38bdf8 !important; }
