/* GTM Health Session. Styled to match morninglogic.ai: Inter for text, Fraunces for display numbers and names,
   JetBrains Mono for figures and meta, a violet accent, white panels on a soft background. Light theme only, like the site. */
:root{
  --bg:#FAF9FB; --panel:#FFFFFF; --surface:#F6F5F9; --surface-2:#F0EEF6;
  --border:#E6E4ED; --border-strong:#D8D5E3;
  --violet:#7C3AED; --violet-strong:#6D28D9; --violet-deep:#3B1275; --violet-soft:#F0EBFC; --violet-soft-border:#DDD2F7;
  --text:#16151A; --text-body:#55545F; --text-faint:#8D8B96;
  --good:#059669; --good-bg:#E4F5EE; --good-border:#A7E3C9;
  --warn:#B45309; --warn-bg:#FBEEDC; --warn-border:#F3CF9B;
  --bad:#B91C1C; --bad-bg:#FCE8E8; --bad-border:#F4B4B4;
  --unm:#475569; --unm-bg:#E9ECF2; --unm-border:#C5CCD9;
  --nyn:#8D8B96; --nyn-bg:#F0EEF6; --nyn-border:#DEDAE8;
  --shadow-sm:0 1px 2px rgba(23,17,42,0.04),0 1px 1px rgba(23,17,42,0.03);
  --shadow-md:0 4px 14px rgba(23,17,42,0.06),0 1px 3px rgba(23,17,42,0.05);
  --shadow-lg:0 20px 40px -12px rgba(76,29,149,0.16),0 4px 12px rgba(23,17,42,0.05);
  --font-body:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-display:"Fraunces",Georgia,serif;
  --font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-0.01em;color:var(--text);text-wrap:balance}
h1{font-size:clamp(28px,3.4vw,36px);line-height:1.12}
h2{font-size:18px;line-height:1.3}
h3{font-size:15px;line-height:1.35}
p{margin:0}
a{color:var(--violet-strong);text-decoration:none}
a:hover{text-decoration:underline}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.opt input:focus-visible + span,summary:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:4px}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}

/* ---------- site header ---------- */
.site{position:sticky;top:0;z-index:20;background:rgba(255,255,255,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.site .inner{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;color:var(--text)}
.brand:hover{text-decoration:none}
.brand svg{flex-shrink:0}
.logo-pulse{transform-origin:32px 32px;animation:logo-pulse-ring 2.4s ease-out infinite}
@keyframes logo-pulse-ring{0%{transform:scale(0.85);opacity:0.9}70%{transform:scale(1.7);opacity:0}100%{transform:scale(1.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.logo-pulse{animation:none;opacity:0}}
.brand-text{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.brand-name{font-size:23px;font-weight:700;letter-spacing:-0.005em}
.brand-tag{font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-faint)}
.hdr-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.who{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-body)}
.saveinfo{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);text-align:right}
@media (max-width:640px){.brand-text{flex-direction:column;align-items:flex-start;gap:1px}.hdr-right{align-items:flex-start}}

/* ---------- page ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:22px 28px 56px;display:flex;flex-direction:column;gap:18px}
@media (max-width:640px){.wrap{padding:16px 16px 48px}}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--violet-strong);margin-bottom:10px}
.intro{padding:22px 0 10px}
.intro .sub{color:var(--text-body);max-width:60ch;margin-top:12px;font-size:16px;line-height:1.6}
.note{font-size:13px;color:var(--text-body);line-height:1.5}
.faint{color:var(--text-faint)}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;min-width:0;box-shadow:var(--shadow-sm)}
.panel > h2 + .note,.panel > h2 + p{margin-top:6px}
.banner{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;background:var(--violet-soft);border:1px solid var(--violet-soft-border);border-radius:10px;padding:10px 14px;font-size:14px;color:var(--text)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.stack{display:flex;flex-direction:column;gap:18px}
.mt-sm{margin-top:8px}.mt-md{margin-top:14px}
footer.site-foot{border-top:1px solid var(--border);padding:18px 28px;font-size:12.5px;color:var(--text-faint);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1180px;margin:0 auto}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto}
.tab{font:inherit;font-size:14px;font-weight:500;padding:10px 14px 12px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--text-body);cursor:pointer;white-space:nowrap;border-radius:0}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{color:var(--text);border-bottom-color:var(--violet);font-weight:600}
.tab .tn{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);margin-right:7px}
.tab[aria-selected="true"] .tn{color:var(--violet-strong)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:14px;font-weight:500;padding:9px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease;text-decoration:none;line-height:1.3}
.btn:hover{border-color:var(--border-strong);text-decoration:none}
.btn.primary{background:var(--text);color:#FFFFFF;border-color:var(--text);box-shadow:var(--shadow-sm)}
.btn.primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.btn.small{font-size:12.5px;padding:5px 10px}
.btn.danger:hover{border-color:var(--bad);color:var(--bad)}
.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.field:first-of-type{margin-top:12px}
label.lbl,.lbl{font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-faint)}
input[type=text],input[type=date],input[type=number],input[type=password],select,textarea{font:inherit;font-size:14.5px;width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:8px;background:#FFFFFF;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}
textarea{min-height:76px;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--text-faint)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:block;padding:7px 13px;border:1px solid var(--border);border-radius:999px;font-size:13.5px;background:#FFFFFF;color:var(--text-body);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.opt:hover span{border-color:var(--border-strong)}
.opt input:checked + span{background:var(--violet-soft);color:var(--violet-deep);border-color:var(--violet);font-weight:500}
.opt.y input:checked + span{background:var(--good-bg);color:var(--good);border-color:var(--good)}
.opt.p input:checked + span{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}
.opt.n input:checked + span{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}
.opt.d input:checked + span{background:var(--unm-bg);color:var(--unm);border-color:var(--unm)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:12px}
.steps.col{grid-template-columns:1fr;gap:12px}
.steps div{font-size:13.5px;color:var(--text-body);line-height:1.5}
.steps b{display:block;color:var(--text);font-weight:600;margin-bottom:3px}
.err{color:var(--bad);font-size:13px;min-height:1.2em}

/* ---------- login ---------- */
.login{max-width:420px;margin:48px auto 0;width:100%}
.login .panel{padding:28px}
.login h2{font-size:22px}
.login .note{margin-top:6px}

/* ---------- session: agenda + card ---------- */
.session{display:grid;grid-template-columns:296px minmax(0,1fr);gap:18px;align-items:start}
.agenda-wrap{position:sticky;top:76px;min-width:0}
.agenda-wrap .panel{padding:16px}
.agenda{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.aitem{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;font:inherit;padding:8px 10px 8px 9px;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;background:#FFFFFF;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}
.aitem:hover{border-color:var(--border-strong);background:var(--surface)}
.aitem[aria-current="true"]{border-color:var(--violet);background:var(--violet-soft)}
.aitem .anum{font-family:var(--font-mono);font-size:12px;color:var(--text-faint)}
.aitem .aname{font-size:13.5px;font-weight:500;min-width:0;line-height:1.3}
.aitem small{display:block;font-size:11.5px;color:var(--text-faint);font-weight:400;margin-top:2px}
.aitem .atag{font-size:11px;color:var(--text-faint);text-align:right;white-space:nowrap}
.aitem[data-state="healthy"]{border-left-color:var(--good)}
.aitem[data-state="watch"]{border-left-color:var(--warn)}
.aitem[data-state="failing"]{border-left-color:var(--bad)}
.aitem[data-state="unmeasured"]{border-left-color:var(--unm)}
.aitem[data-state="nyn"]{border-left-color:var(--nyn-border);opacity:.7}
.progress{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin-top:8px}
.progress i{display:block;height:100%;background:var(--violet)}
.chip{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap;line-height:1.5}
.chip.healthy{background:var(--good-bg);color:var(--good)}
.chip.watch{background:var(--warn-bg);color:var(--warn)}
.chip.failing{background:var(--bad-bg);color:var(--bad)}
.chip.unmeasured{background:var(--unm-bg);color:var(--unm)}
.chip.nyn{background:var(--nyn-bg);color:var(--nyn)}
.chip.none{background:var(--surface);color:var(--text-faint);border-color:var(--border)}
.card{display:flex;flex-direction:column;gap:22px;padding:24px}
.chead{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;align-items:flex-start}
.chead h2{font-size:22px}
.cnum{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.04em;text-transform:uppercase;color:var(--violet-strong);margin-bottom:6px}
.cq{color:var(--text-body);margin-top:5px;font-size:15px}
.cmeta{margin-top:8px}
.cstate{display:flex;flex-direction:column;gap:6px;min-width:220px;max-width:360px}
.cstate .note{font-size:12.5px}
.qrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}
.qrow:first-child{border-top:0}
.qt{font-size:15.5px;line-height:1.45;text-wrap:pretty}
.qk{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px}
.pre{background:var(--violet-soft);border:1px solid var(--violet-soft-border);border-radius:8px;padding:12px 14px}
.pre .lbl{color:var(--violet-deep)}
.pre textarea{min-height:56px;margin-top:6px}
.ownrow{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.sec{display:flex;flex-direction:column;gap:8px}
.sec > h3 + .note{margin-top:-2px}
details summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none;display:flex;align-items:center;gap:8px}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"+";font-weight:400;color:var(--violet);width:14px;display:inline-block;text-align:center;transition:transform .15s ease}
details[open] summary::before{transform:rotate(45deg)}
details.sec > :not(summary){margin-top:6px}
.navbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border)}
@media (max-width:760px){.qrow{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.session{grid-template-columns:minmax(0,1fr)}.agenda-wrap{position:static}.agenda{flex-direction:row;overflow-x:auto;padding-bottom:6px}.aitem{min-width:210px}}

/* metrics grid */
.mgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:8px 10px;align-items:center;margin-top:8px}
.mgrid .h{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-faint)}
.mgrid .ml{font-size:13.5px;line-height:1.35}
.mgrid .ml small{color:var(--text-faint)}
@media (max-width:640px){.mgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mgrid .h{display:none}.mgrid .ml{grid-column:1 / -1;margin-top:6px}}
.calc{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}
.calc .total{font-family:var(--font-mono);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:12px}
.crow{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:10px;align-items:center;margin-top:8px;font-size:14px}
@media (max-width:520px){.crow{grid-template-columns:minmax(0,1fr)}}
.vrow{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:4px}
.vrow label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:120px;color:var(--text-body)}

/* ---------- sessions list ---------- */
.slist{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.slist li{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:#FFFFFF}
.slist li.cur{border-color:var(--violet);background:var(--violet-soft)}
.slist small{display:block;color:var(--text-faint);font-size:12.5px;margin-top:2px}
.slist .nm{font:inherit;font-size:15px;font-weight:600;background:none;border:0;padding:0;color:var(--text);cursor:pointer;text-align:left}
.slist .nm:hover{color:var(--violet-strong)}

/* ---------- summary ---------- */
.focus{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
@media (max-width:860px){.focus{grid-template-columns:minmax(0,1fr)}}
.big{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,3vw,32px);line-height:1.15;margin-top:8px;letter-spacing:-0.005em;text-wrap:balance}
.rank{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.rank li{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:14.5px}
.rank b{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:18px;color:var(--violet-strong)}
.rank em{font-style:normal;font-family:var(--font-mono);font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}
.stake{font-family:var(--font-mono);font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-0.01em;margin-top:6px}
.stake .note{font-family:var(--font-body);font-weight:400;font-size:14px}
.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:#FFFFFF;box-shadow:var(--shadow-sm)}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:13.5px}
th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
tbody tr:last-child td{border-bottom:0}
th{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-faint);background:var(--surface)}
td:nth-child(4){white-space:nowrap}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12.5px}
tr.grp td{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--violet-strong);background:var(--bg);padding:7px 12px}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.ins{margin:12px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:0}
.ins li{padding:9px 0;border-top:1px solid var(--border);font-size:14.5px;line-height:1.5}
.ins li:first-child{border-top:0;padding-top:0}
.rec{border:1px solid var(--border);border-radius:10px;padding:16px;background:#FFFFFF;box-shadow:var(--shadow-sm)}
.rec h3{font-size:15.5px}
.rec ul{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.rec li{display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.5}
.tag{font-size:11.5px;color:var(--text-faint);letter-spacing:0.02em}
.recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:12px}
.quick li b{font-weight:600}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
.field input + input{margin-top:6px}

/* ---------- AI answer check ---------- */
.aipanel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}
.aipanel textarea{min-height:120px;font-size:14px}
.aitable{min-width:640px}
.aitable td.srcs{font-size:12.5px;color:var(--text-body);max-width:320px}
.aitable tr.brandrow td{color:var(--text-faint)}
.aitable details.exc{margin-top:4px}
.aitable details.exc summary{font-size:12px;font-weight:500;color:var(--violet-strong)}
.aitable details.exc p{margin-top:4px;max-width:60ch}

/* ---------- GTM Map additions: dictionary, map link, cohort, pipeline, site checks, public pages ---------- */
.nm{font:inherit;font-weight:600;background:none;border:0;padding:0;color:var(--text);cursor:pointer;text-align:left}
.nm:hover{color:var(--violet-strong)}
details.panel.dict > summary{font-size:18px;font-weight:700;letter-spacing:-0.01em;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
details.panel.dict > summary::-webkit-details-marker{display:none}
details.panel.dict > summary::before{content:"+";font-family:var(--font-mono);color:var(--violet);font-weight:600}
details.panel.dict[open] > summary::before{content:"\2212"}
details.panel.dict textarea{min-height:52px}
.maplink{border-color:var(--violet-soft-border);background:linear-gradient(180deg,#FBFAFE 0%,#FFFFFF 100%)}
.filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}
.ctl{display:flex;flex-direction:column;gap:4px;font-size:13px}
.ctl select{min-width:120px}
table.cohort th.num,table.cohort td.num{text-align:center;padding-left:4px;padding-right:4px}
table.cohort th[title]{cursor:help}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-strong)}
.dot.healthy{background:var(--good);border-color:var(--good)}
.dot.watch{background:#E0A032;border-color:#E0A032}
.dot.failing{background:var(--bad);border-color:var(--bad)}
.dot.unmeasured{background:var(--unm);border-color:var(--unm)}
.dot.nyn{background:var(--nyn-bg);border-color:var(--nyn-border)}
/* pipeline chart */
.chartwrap{position:relative}
.pipechart{width:100%;height:auto;display:block;font-family:var(--font-mono)}
.pipechart .grid{stroke:var(--border);stroke-width:1}
.pipechart .axis{stroke:var(--border-strong);stroke-width:1}
.pipechart .tick{font-size:10.5px;fill:var(--text-faint)}
.pipechart .cap{font-size:11px;fill:var(--text-body);font-weight:600}
.pipechart .hit{fill:transparent;cursor:pointer}
.pipechart .hit:hover,.pipechart .hit.on{fill:rgba(124,58,237,0.06)}
.pipechart .pb{cursor:pointer}
.pipechart .pb:hover{opacity:0.85}
.tip{position:absolute;pointer-events:none;background:var(--text);color:#fff;font-size:12px;padding:5px 8px;border-radius:6px;white-space:nowrap;box-shadow:var(--shadow-md);z-index:5}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:10px;font-size:13px;color:var(--text-body)}
.legend .lg{display:inline-flex;align-items:center;gap:6px}
.legend .lg i,.pdot{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0;vertical-align:-1px;margin-right:4px}
.legend .btn{margin-left:auto}
.pipetable td.num,.pipetable th.num{text-align:right}
.deals{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:0}
.deals li{padding:12px 0;border-top:1px solid var(--border)}
.deals li:first-child{border-top:0}
.deals .dl{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:14px}
.deals .ev{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--text-body)}
.deals .ev li{padding:1px 0;border:0}
.deals details.exc{margin-top:6px}
.deals details.exc summary{font-size:12px;font-weight:500;color:var(--violet-strong);cursor:pointer}
.trail{margin:6px 0 0;padding-left:0;list-style:none;font-size:12.5px;color:var(--text-body)}
.trail li{padding:2px 0;border:0}
.trail .mono{color:var(--text-faint);font-size:11.5px}
.drill,.review{border-top:1px solid var(--border);padding-top:14px}
/* site checks */
.checks{list-style:none;margin:8px 0 0;padding:0}
.checks li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--border);font-size:14px}
.checks li:first-child{border-top:0}
.checks li .chip{flex-shrink:0;margin-top:1px}
.checks li p{margin-top:2px}
/* the map grid on the report */
.mapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.mg{border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.mg .n{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}
.mg .nm{font-size:12.5px;line-height:1.3;cursor:default}
.mg.healthy{background:var(--good-bg);border-color:var(--good-border)}
.mg.watch{background:var(--warn-bg);border-color:var(--warn-border)}
.mg.failing{background:var(--bad-bg);border-color:var(--bad-border)}
.mg.unmeasured{background:var(--unm-bg);border-color:var(--unm-border)}
.mg.nyn{opacity:0.6}
/* public pages (scan, map) */
.wrap.narrow{max-width:860px}
.cta{border-top:1px solid var(--border);padding-top:14px}
@media (max-width:640px){.legend .btn{margin-left:0}.pipechart .tick{font-size:12px}}

/* bank v3: tiers, read-from-data notes, evidence line, engine grid */
.tier{display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:1px 6px;border-radius:999px;margin-left:6px;vertical-align:1px;background:var(--surface-2);color:var(--text-faint)}
.tier.read{background:var(--violet-soft);color:var(--violet-strong)}
.tier.seen{background:var(--unm-bg);color:var(--unm)}
.auto{margin-top:4px;font-size:12.5px;color:var(--text-body);padding-left:10px;border-left:2px solid var(--violet-soft-border)}
.auto.over{border-left-color:var(--warn-border);color:var(--text-faint)}
.evrow{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}
.evrow select{min-width:160px}
@media (max-width:640px){.evrow{grid-template-columns:1fr}}
.aigrid td.num,.aigrid th.num{text-align:center;white-space:nowrap}
.aigrid td .own{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--violet);margin-left:5px;vertical-align:1px}
.aigrid tr.brandrow td:first-child{color:var(--text-faint)}

/* ---------- shared language, incentive map, funnel and models (v15) ---------- */
details.panel.defs > summary,details.panel.inc > summary{font-size:18px;font-weight:700;letter-spacing:-0.01em;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
details.panel.defs > summary::-webkit-details-marker,details.panel.inc > summary::-webkit-details-marker{display:none}
details.panel.defs > summary::before,details.panel.inc > summary::before{content:"+";font-family:var(--font-mono);color:var(--violet);font-weight:600}
details.panel.defs[open] > summary::before,details.panel.inc[open] > summary::before{content:"\2212"}
details.panel.defs textarea{min-height:52px}
.term{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}
.term .official{margin:2px 0 4px}
.teamgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px 14px}
.team{border:1px solid var(--border);border-radius:10px;padding:4px 14px 14px;background:#FFFFFF}
.team h3{margin-top:12px;font-size:15px}
.gaps{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.gaps li{font-size:14px;line-height:1.5;padding-left:12px;border-left:2px solid var(--border-strong)}
.vers{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.5}
details.term-ro{border-top:1px solid var(--border);padding:10px 0}
details.term-ro:first-of-type{margin-top:10px}
details.term-ro > summary{cursor:pointer;display:flex;align-items:center;gap:10px;font-size:14.5px}
table.incmap{min-width:760px}
table.incmap th{white-space:normal}
table.incmap td{vertical-align:top}
table.incmap td.empty{color:var(--text-faint);text-align:center}
table.incmap td .note{display:block;margin-top:3px;font-size:12px}
.mk{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--surface);color:var(--text-body);border:1px solid var(--border)}
.mk.activity{background:#EFE9FC;color:#3B1A7A;border-color:#EFE9FC}
.mk.volume{background:#DCCFF8;color:#3B1A7A;border-color:#DCCFF8}
.mk.pipeline{background:#B9A4E8;color:#2A1160;border-color:#B9A4E8}
.mk.revenue{background:#7C3AED;color:#FFFFFF;border-color:#7C3AED}
.mk.retention{background:#5B21B6;color:#FFFFFF;border-color:#5B21B6}
.viewsw{display:inline-flex;gap:0;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:#FFFFFF}
.viewsw .vs{font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border:0;border-right:1px solid var(--border);background:none;color:var(--text-body);cursor:pointer}
.viewsw .vs:last-child{border-right:0}
.viewsw .vs:hover{background:var(--surface)}
.viewsw .vs.on{background:var(--violet-strong);color:#FFFFFF}
.pipechart.stack .rowlbl{font-size:12.5px;font-weight:600;fill:var(--text);font-family:var(--font-body)}
.pipechart.stack .tick{font-size:10.5px}
.mb{display:inline-block;width:64px;height:6px;border-radius:3px;background:var(--surface-2,#ECEAF3);vertical-align:middle;margin-right:8px;overflow:hidden}
.mb i{display:block;height:100%;background:var(--violet);border-radius:3px}
.pc{font-family:var(--font-mono);font-size:12.5px;font-variant-numeric:tabular-nums}
.pipetable th.mine{color:var(--violet-strong)}
.pipetable tr.tot td{border-top:1px solid var(--border-strong);background:var(--surface)}
details.exc > summary{font-size:13px;font-weight:600;color:var(--violet-strong);cursor:pointer}
.modelsay{gap:4px 16px}
.modelsay span{display:inline-flex;align-items:center;gap:2px;font-size:13px}
@media (max-width:640px){.viewsw{display:flex;flex-wrap:wrap}.viewsw .vs{flex:1 1 auto}}
