/* ============================================================
   Market Map — playbook-specific additions
   Loaded AFTER leanscale.css and playbook.css. Reuses tokens.
   ============================================================ */

/* tier accent colors (match the ICP/Persona slide tiers) */
:root{ --t1:#E8FFCF; --t2:#D6E6F7; --t3:#FBEECB; --t4:#EBCFC9; }

/* ---------- ICP / PERSONA MATRIX ---------- */
.mtxwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ls-light-gray);
  border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-top:8px}
table.mtx{width:100%;border-collapse:separate;border-spacing:0;min-width:860px;font-size:13.5px}
table.mtx thead th{background:var(--ls-dark-purple);color:#fff;font-weight:800;font-size:12px;letter-spacing:.02em;
  text-align:left;padding:15px 16px;vertical-align:middle;position:sticky;top:0}
table.mtx thead th:first-child{background:var(--ls-dark-purple)}
table.mtx tbody td{padding:14px 16px;border-bottom:1px solid var(--ls-light-gray);border-right:1px solid var(--ls-light-gray);
  color:var(--ls-ink);vertical-align:top;line-height:1.4}
table.mtx tbody td:last-child{border-right:0}
table.mtx tbody tr:last-child td{border-bottom:0}
.mtx .tier{font-weight:800;color:var(--ls-dark-purple);white-space:nowrap;border-left:5px solid transparent}
.mtx .tier small{display:block;font-weight:700;font-size:11px;color:var(--ls-dark-gray);margin-top:2px}
.mtx .tier--1{background:var(--t1);border-left-color:#8fce56}
.mtx .tier--2{background:var(--t2);border-left-color:#7aa8e0}
.mtx .tier--3{background:var(--t3);border-left-color:#e6b84d}
.mtx .tier--4{background:var(--t4);border-left-color:#c98479}
.mtx .wrow td{background:var(--ls-purple-soft);font-weight:800;color:var(--ls-strong-purple);border-bottom:0}
.mtx .wrow .tier{background:var(--ls-purple-soft);border-left-color:var(--ls-strong-purple);color:var(--ls-strong-purple)}
.mtx .na{color:var(--ls-medium-purple);font-weight:800}

/* ---------- VALUATION METHOD CARDS (numbered) ---------- */
.valgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
@media(max-width:860px){.valgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.valgrid{grid-template-columns:1fr}}
.valcard{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:22px 22px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.valcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--ls-medium-purple)}
.valcard__n{width:32px;height:32px;border-radius:50%;background:var(--ls-strong-purple);color:#fff;font-weight:800;
  font-size:14px;display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.valcard__h{font-size:1.02rem;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.01em;margin-bottom:6px}
.valcard__b{font-size:.9rem;color:var(--ls-dark-gray);line-height:1.5}
.valcard--sum{background:linear-gradient(150deg,var(--ls-dark-purple),var(--ls-strong-purple));border:none}
.valcard--sum .valcard__n{background:var(--ls-lime);color:var(--ls-dark-purple)}
.valcard--sum .valcard__h{color:#fff}
.valcard--sum .valcard__b{color:rgba(255,255,255,.8)}

/* ---------- TAM BY TIER ---------- */
.tamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
@media(max-width:760px){.tamgrid{grid-template-columns:1fr}}
.tamcard{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px 24px;position:relative;overflow:hidden}
.tamcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}
.tamcard--1:before{background:#8fce56}.tamcard--2:before{background:#7aa8e0}.tamcard--3:before{background:#e6b84d}
.tamcard__t{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ls-dark-gray)}
.tamcard__v{font-size:2.4rem;font-weight:800;letter-spacing:-.03em;color:var(--ls-strong-purple);line-height:1;margin:8px 0 16px}
.tamcard__l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tamcard__l li{font-size:13px;color:var(--ls-ink);font-weight:600;padding-left:18px;position:relative}
.tamcard__l li:before{content:"";position:absolute;left:2px;top:.5em;width:6px;height:6px;border-radius:2px;background:var(--ls-medium-purple)}

/* ---------- SIGNAL PILLS ---------- */
.signals{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.sig{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--ls-strong-purple);
  background:var(--ls-purple-soft);border-radius:100px;padding:9px 16px}
.sig .d{width:7px;height:7px;border-radius:50%;background:var(--ls-strong-purple)}

/* mock TAM dashboard preview (on-brand, static) */
.tamdash{background:#fff;border:1px solid var(--ls-light-gray);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin-top:8px}
.tamdash__row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
@media(max-width:640px){.tamdash__row{grid-template-columns:1fr 1fr}}
.tamkpi{background:var(--ls-off-white);border:1px solid var(--ls-light-gray);border-radius:14px;padding:16px 18px}
.tamkpi b{display:block;font-size:1.6rem;font-weight:800;color:var(--ls-strong-purple);letter-spacing:-.03em;line-height:1}
.tamkpi span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ls-dark-gray)}
