/* App-only additions on top of the mockup stylesheet (cc.css). Brand Book v0.2 tokens only. */
[hidden]{display:none!important}
button.acct{border:0;cursor:pointer;font-family:inherit;padding:0}
.acct-menu{position:absolute;right:16px;top:64px;background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:0 8px 24px rgba(15,23,41,.12);padding:8px;z-index:50;min-width:200px}
.acct-menu p{font-size:13px;padding:8px 12px;color:var(--body);margin:0}
.acct-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 12px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;border-radius:6px}
.acct-menu button:hover{background:var(--surface)}
.form-err{font-size:14px;line-height:20px;color:var(--err);background:var(--err-bg);border-radius:var(--r);padding:8px 12px;margin:0}
.lockbar{display:flex;gap:12px;align-items:center;font-size:14px;line-height:20px;color:var(--body);background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:8px 12px;margin-bottom:24px}
.is-disabled{pointer-events:none;opacity:.5}
.inv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:640px){.inv-grid{grid-template-columns:1fr}}
.bub-err{color:var(--err)}
.empty{padding:24px 0;color:var(--body);font-size:14px}

/* Question heading above the answer card (all stages, every state) */
.qhead { margin: 0 0 16px; }
.qhead-n { display: block; font: 500 13px/16px Inter, sans-serif; color: #364153; margin-bottom: 8px; }
.qhead-t { margin: 0; font: 600 22px/30px Inter, sans-serif; color: #0B1F3B; letter-spacing: -0.01em; overflow-wrap: anywhere; text-wrap: pretty; }
@media (max-width: 600px) { .qhead-t { font-size: 20px; line-height: 28px; } }
/* Phones: the question heading replaces the duplicate "<Advisor> asks" bubble above the answer card. */
@media (max-width: 600px) { .work .m-ask, .m-ask { display: none !important; } }
/* Deal Builder (Stage 02) */
.work-deal{max-width:760px}
.handoff{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:16px}
.handoff-av{display:flex;align-items:center;gap:8px;flex:none;color:var(--body)}
.handoff-l{color:var(--body)}.handoff-t{color:var(--ink);font-size:14px;line-height:20px;margin-top:2px;overflow-wrap:anywhere}
.saved{min-height:20px;margin-top:16px;color:var(--body);text-align:right}
.input-sm{height:40px;font-size:14px;margin-top:8px}
.qg{margin-top:40px}.qg-p{margin:-8px 0 16px;max-width:640px}.qg-c{padding:24px}
.qg-c>.field+.field,.qg-c>*+.field{margin-top:16px}
.field{display:block;min-width:0}.field.wide{grid-column:1/-1}
.f-l{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;line-height:20px;font-weight:600;color:var(--ink)}
.f-l label{font-weight:600}
.pre{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--r);background:#fff;overflow:hidden}
.pre:focus-within{outline:2px solid var(--blue);outline-offset:1px}
.pre>span{display:flex;align-items:center;padding:0 12px;background:var(--surface);color:var(--body);font-size:14px;white-space:nowrap}
.pre .input{border:0;border-radius:0;flex:1;min-width:0;outline:none}
.ta{height:auto;min-height:72px;padding:12px;resize:vertical;line-height:1.5;font-family:inherit}
.sample-f{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:12px;line-height:16px;font-weight:600}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg-b{min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--r);background:#fff;color:var(--ink);font:500 14px/20px Inter,sans-serif;cursor:pointer;text-align:left}
.seg-b:hover:not(:disabled){border-color:var(--blue)}.seg-b.on{border-color:var(--navy);background:var(--navy);color:#fff}
.seg-b:disabled{cursor:not-allowed;opacity:.75}.seg-b:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.star{color:var(--gold)}.seg-b.on .star{color:#F2D36B}
.why{display:inline-block;position:relative}
.why>summary{list-style:none;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--blue-ink);cursor:pointer;background:#fff}
.why>summary::-webkit-details-marker{display:none}
.why-b{position:absolute;z-index:5;top:32px;left:-8px;width:min(340px,80vw);background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:0 8px 24px rgba(11,31,59,.12);padding:16px;font-weight:400;color:var(--body)}
.why-b p{margin-top:8px}.why-ex{font-style:italic}
.cash-says{display:flex;gap:12px;align-items:flex-start;background:var(--muted);border-radius:var(--r);padding:16px;margin-top:24px}
.cash-says p{font-size:14px;line-height:22px;color:var(--ink)}
.link{background:none;border:0;padding:0;color:var(--blue-ink);font:600 14px/22px Inter,sans-serif;text-decoration:underline;cursor:pointer}
.lens-g{margin:24px 0 8px;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--body)}
.lens-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lens{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--r);cursor:pointer;font:inherit;color:var(--body)}
.lens:hover:not(:disabled){border-color:var(--blue)}.lens.on{border:2px solid var(--navy);padding:15px;box-shadow:0 0 0 3px rgba(11,31,59,.08)}
.lens:disabled{cursor:default}
.lens-h{display:flex;justify-content:space-between;width:100%;gap:8px;color:var(--ink);font-size:16px;line-height:24px}
.lens-ck{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:14px;flex:none}
.lens-t{font-size:14px;line-height:20px}.lens-r{font-size:13px;line-height:20px;color:var(--ink);font-weight:500}
.pill.rec{background:#F7F0DA;color:#6E5A12;border:1px solid #E5D49A}
.fit{display:block;width:100%;margin-top:auto}.fit-bar{display:block;height:6px;border-radius:3px;background:var(--surface);overflow:hidden}
.fit-bar i{display:block;height:100%;background:var(--blue);border-radius:3px}
.fit-l{display:block;font-size:12px;line-height:16px;margin-top:6px}
/* Asset Lens fit score cards (Step 1): an absolute 0–100 score per lens with an expandable factor breakdown. */
.lens-grid-s{margin-top:24px;align-items:start}.lens-grid-s .lens{cursor:default;min-width:0;align-items:stretch}
.lens-pick{display:flex;flex-direction:column;gap:8px;align-items:flex-start;width:100%;padding:0;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:4px}
.lens-pick:disabled{cursor:default}.lens-pick:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.lens-grid-s .lens:has(.lens-pick:hover:not(:disabled)){border-color:var(--blue)}.lens-grid-s .lens.on:has(.lens-pick:hover){border-color:var(--navy)}
.lens .score{display:flex;align-items:baseline;gap:4px;margin-top:8px}.lens .num{font-size:32px;line-height:40px;font-weight:700;color:var(--navy)}.lens .of{font-size:14px}
.lens .lbl{margin-left:8px;font-size:12px;line-height:16px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface);color:var(--body)}
.lens .l-strong{background:var(--navy);color:#fff}.lens .l-good{background:var(--muted);color:var(--navy)}
.lens-pick .fit-bar{width:100%}
.lens .lens-why{font-size:13px;line-height:20px;color:var(--ink);font-weight:500}.lens .basis{display:block;font-size:12px;line-height:16px}
.lens .capnote{font-size:12px;line-height:16px;color:#6E5A12;background:#F7F0DA;border-radius:6px;padding:4px 8px}
.lens-bd{border-top:1px solid var(--border);padding-top:8px;width:100%}.lens-bd summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--blue-ink)}
.lens-bd table{width:100%;border-collapse:collapse;font-size:12px;line-height:16px;margin-top:8px}
.lens-bd th{text-align:left;font-weight:600;color:var(--ink);border-bottom:1px solid var(--border);padding:4px}
.lens-bd td{padding:4px;border-bottom:1px solid var(--surface)}.lens-bd th+th,.lens-bd td+td{text-align:right;white-space:nowrap}
.lens-bd .tot td{border-top:1px solid var(--border);font-weight:600;color:var(--ink)}.lens-bd .cap td{color:#6E5A12;text-align:left;white-space:normal}
.lens-bd em{color:var(--gold);font-style:normal}.lens-bd .miss td{color:var(--body)}.lens-bd .basis{margin-top:8px}
.lens-how{margin-top:24px;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:16px;font-size:14px;line-height:22px}
.lens-how b{color:var(--ink)}.lens-how p{margin-top:8px}
.feebar{margin-top:16px;padding:16px;border-left:4px solid var(--gold);background:#fff;border-radius:var(--r);font-size:14px;line-height:22px;display:flex;flex-direction:column;gap:4px;color:var(--body)}
.feebar>b{color:var(--ink)}
.note-w,.note-e{margin-top:16px;padding:12px 16px;border-radius:var(--r);font-size:14px;line-height:20px;background:var(--warn-bg);color:var(--warn)}
.note-e{background:var(--err-bg);color:var(--err)}.optics{margin-top:16px}.optics .note-w,.optics .note-e{margin-top:8px}
.fees{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.fee-r{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 80px minmax(0,1fr) auto;gap:8px;align-items:center}
.defn{margin-top:16px;padding:12px 16px;background:var(--surface);border-radius:var(--r);font-size:14px;line-height:20px}.defn p{margin-top:4px}
.ex-c{border:1px solid var(--border);border-radius:var(--r);padding:16px;background:#fff}.ex-c+.ex-c{margin-top:12px}
.ex-c.on{border:2px solid var(--navy);padding:15px}.ex-c.off{background:var(--surface)}
.ex-h{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ex-h b{color:var(--ink)}
.ex-s{flex:none;text-align:right;color:var(--ink);font-size:20px;line-height:24px}.ex-s .label{display:block}
.ex-dq{margin-top:8px;color:var(--err)}.ex-d{margin:12px 0}.ex-d summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--blue-ink)}
.ex-d>p{margin-top:8px}.ex-pc ul{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:20px}.ex-pc li+li{margin-top:4px}
.ex-lh{list-style:none;margin-left:-18px;font-weight:600;color:var(--ink)}
.milestone{margin-top:24px;padding:16px;border-radius:var(--r);background:var(--ok-bg);color:var(--ok);font-size:14px;line-height:22px}
.sp{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--border)}.sp .grid2,.sp>.field{margin-top:16px}
.own-r{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;color:var(--ink)}.own-r .pre{width:140px}
.own-t{margin-top:16px;font-size:14px}.own-t .good{color:var(--ok)}.own-t .bad{color:var(--err)}
.bp-h{margin-bottom:16px}.bp{row-gap:24px}
.risks{margin:0;padding-left:18px;font-size:14px;line-height:20px}.risks li+li{margin-top:8px}.risks b{color:var(--ink)}
.deal-actions{margin-top:40px}
@media (max-width:600px){
 .lens-grid{grid-template-columns:1fr}.qg-c{padding:16px}.qg{margin-top:32px}
 .fee-r{grid-template-columns:1fr 1fr;padding-bottom:8px;border-bottom:1px solid var(--surface)}.fee-r>input:first-child{grid-column:1/-1}
 .handoff{align-items:flex-start}.ex-h{flex-direction:column;gap:8px}.ex-s{text-align:left}
 .deal-actions{flex-direction:column;align-items:stretch}.deal-actions .btn{width:100%}
}

/* Stage 03 Financial Modeling (model panel, /app/fm.js) */
.fm-flag{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fm-qg{margin-top:32px}
.fm-num{display:flex;align-items:center;gap:8px}.fm-num .input{max-width:200px}.fm-sfx{font-size:14px;color:var(--body)}
.fm-hint{margin-top:6px}.fm-fixed{margin:8px 0 0;font-size:16px;line-height:24px;color:var(--ink);font-weight:500;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fm-lock{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.fm-lock .sp{flex:1}.fm-prob{color:var(--warn)}
.fm-docs{margin-top:24px;padding:16px;border:1px dashed var(--border);border-radius:var(--r)}.fm-docs .btn{margin-top:12px}
.fm-tot{margin-top:16px;max-width:420px}
.fm-contrib .input-sm{min-width:110px}.fm-amt{max-width:150px;text-align:right}
.t tr.fm-total td{font-weight:600;background:var(--surface)}
.fm-adv{margin-top:24px}.fm-adv ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.fm-adv li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;background:var(--surface);border-radius:var(--r);font-size:14px;color:var(--ink)}
.fm-disc{margin-top:16px;color:var(--body)}
.fm-ok{margin-top:16px;padding:12px 16px;border-radius:var(--r);background:var(--ok-bg);color:var(--ok);font-size:14px;line-height:20px}
.fm-head{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.fm-head>div{padding:16px;background:var(--surface);border-radius:var(--r);display:flex;flex-direction:column;gap:4px}.fm-head b{font-size:24px;line-height:32px;color:var(--navy);font-variant-numeric:tabular-nums}.fm-head small{font-size:12px;line-height:16px;color:var(--body)}
.fm-notes{margin:8px 0 0;padding-left:20px;font-size:14px;line-height:22px;color:var(--ink)}
.fm-strip{margin-top:32px;padding:16px 24px;display:flex;flex-wrap:wrap;gap:8px 32px;align-items:baseline}.fm-strip>.label{flex-basis:100%}.fm-strip div{display:flex;flex-direction:column}.fm-strip div span{font-size:12px;color:var(--body)}.fm-strip b{font-size:18px;color:var(--navy);font-variant-numeric:tabular-nums}
.pill.soon{margin-left:4px;font-size:11px;padding:1px 8px}
@media (max-width:720px){.fm-head{grid-template-columns:1fr 1fr}.fm-head b{font-size:20px}.fm-num .input{max-width:140px}.fm-lock .btn{width:100%}}
[data-stage="s03"] .abar .btn{white-space:normal;text-align:center;height:auto;min-height:40px}
.fm-terms td:nth-child(3),.fm-terms td:nth-child(5) a{white-space:nowrap}.fm-terms td:first-child{color:var(--body)}
/* ---------- Stage 04 Investor Avatar (s04-investor-avatar.html / s04-report.html) ---------- */
.ia-deal .seg{margin-top:8px}.ia-deal .seg-b{text-decoration:none;display:inline-flex;align-items:center}
.ia-ex{flex-wrap:wrap}.ia-h{font-size:18px;line-height:24px;margin:40px 0 16px}
.ia-big{font-size:24px;line-height:32px;font-weight:700;color:var(--ink);margin-top:4px}.ia-big span{font-size:14px;font-weight:400;color:var(--body);margin-left:4px}
.ia-conf{margin-top:24px}.ia-bar{height:8px;border-radius:999px;background:var(--muted);margin-top:16px;overflow:hidden}.ia-bar i{display:block;height:100%;background:var(--blue);border-radius:999px}
.ia-kv th[scope=row]{font-weight:600;color:var(--ink);white-space:nowrap}.ia-kv td,.ia-kv th{vertical-align:top}
.ia-ctx+.ia-ctx{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.ia-ctx summary{cursor:pointer}.ia-ctx p{margin-top:8px}
.ia-elig{margin-top:24px}.ia-el td{white-space:nowrap}.ia-notes{margin:0;padding-left:18px;font-size:14px;line-height:20px}.ia-notes li+li{margin-top:8px}
.ia-opt{cursor:default}.ia-opt-b{flex:1;min-width:0}.ia-mot{color:var(--navy);font-weight:600}
.ia-w{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.ia-m-h{display:flex;gap:16px;align-items:flex-start}.ia-m-t{flex:1;min-width:0}.ia-m-t h3{margin-top:4px}
.ia-fit{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ia-fit b{font-size:28px;line-height:32px;color:var(--navy)}
.ia-wg{margin-top:16px}.ia-wg ul{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:20px}.ia-wg li+li{margin-top:4px}
.ia-unv{margin-top:12px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.ia-rest{margin-top:16px}.ia-rest summary{cursor:pointer}.ia-rest ul{margin:12px 0 0;padding-left:18px;font-size:14px;line-height:20px}
.ia-br td{vertical-align:top}.ia-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.ia-nav .pill{text-decoration:none;background:var(--muted);color:var(--navy)}
.ia-dd{margin:0;padding-left:20px;font-size:15px;line-height:24px;color:var(--ink)}.ia-dd li+li{margin-top:12px}
.ia-pkg{align-items:center}.ia-pkg>div{flex:1;min-width:220px}
.ia-cta{margin-top:40px;background:var(--navy);border-radius:var(--r);padding:24px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-left:4px solid var(--gold)}
.ia-cta p{color:#fff;font-size:18px;line-height:26px;font-weight:600;max-width:520px}
.btn-gold{background:var(--gold);color:var(--navy);border:0;font-weight:600}.btn-gold:hover{filter:brightness(1.06)}
.ia-out .card{background:var(--surface)}
.counsel{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:14px;line-height:20px;margin-bottom:16px}
.qual{display:flex;flex-wrap:wrap;gap:8px}.qual .seg-b{border:1px solid var(--border);border-radius:var(--r)}
.aw-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aw-f{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.aw-f .input{max-width:96px;flex:none}
.aw-t .input{max-width:130px}
@media (max-width:600px){
 .ia-m-h{flex-wrap:wrap}.ia-fit{flex-direction:row;align-items:center;width:100%;justify-content:space-between}
 .ia-cta{padding:16px}.ia-cta .btn{width:100%}.ia-pkg .btn{width:100%}.aw-grid{grid-template-columns:1fr}.ia-h{margin-top:32px}
 .ia-deal .seg{display:flex;flex-direction:column}.ia-deal .seg-b{width:100%}
}
.qg-s04 .qg-c>*+.grid2,.qg-s04 .qg-c>.counsel+.qual{margin-top:16px}.qg-s04 .counsel{margin-bottom:0}

/* Investor Avatar: investor-type badges + sources of capital (Option A). Mapping pending Ryan McDermott confirmation. Everbridge brand: Inter, 8px spacing. */
.lv-g{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.lv{display:inline-flex;align-items:center;font:600 12px/16px Inter,Arial,sans-serif;padding:4px 8px;border-radius:4px;border:1px solid currentColor;white-space:nowrap}
.lv abbr{text-decoration:none;font-weight:700;letter-spacing:.02em}
.lv-NA{color:#A3221B;background:#FDECEA}.lv-A{color:#1F4FB8;background:#E8EFF8}.lv-QC{color:#6B5714;background:#F6EFD8}.lv-QP{color:#FFFFFF;background:#0B1F3B;border-color:#0B1F3B}
.src-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.src-row>.label{margin:0}
.src{font:500 12px/16px Inter,Arial,sans-serif;color:#364153;background:#F3F5F7;border:1px solid var(--border);padding:2px 8px;border-radius:999px}
.badges-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
