/* ConnectIQ document stylesheet
   Shared by index.html and crm/ (the two-phase architecture & build plan).
   Tokens mirror style-kit/tokens.json — do not introduce raw hex in page markup.
   Extracted from the core object model note so every ConnectIQ document reads
   as one family. */
/* Neue Montreal — licensed (Pangram Pangram), self-hosted, not committed.
   Falls back to Inter until the woff2 files are dropped into /fonts.
   Paths resolve relative to this stylesheet, so every page gets them. */
@font-face{font-family:"Neue Montreal";src:url("../fonts/PPNeueMontreal-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("../fonts/PPNeueMontreal-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("../fonts/PPNeueMontreal-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --n0:#FFFFFF;--n25:#FCFCFA;--n50:#F6F7F3;--n100:#F0F1EC;--n200:#E1E3DC;
  --n300:#CACDC4;--n400:#A2A59C;--n500:#73776E;--n600:#595D56;--n700:#3F3F3F;
  --n800:#202020;--n900:#000000;
  --o50:#FFF2E8;--o100:#FFDCC4;--o500:#FF6700;--o600:#E85E00;--o700:#C94F00;
  --g50:#ECF8F2;--g500:#62C696;--g700:#278F63;
  --y50:#FFF9E6;--y500:#F1BF00;--y700:#9C7800;
  --r50:#FDEDEC;--r500:#F2584B;--r700:#B43128;
  --b50:#EDF4FF;--b500:#4C8FF7;--b700:#2466B9;
  --canvas:var(--n50);--surface:var(--n0);--muted:var(--n100);
  --fg:var(--n900);--fg-2:var(--n700);--fg-muted:var(--n500);
  --border:var(--n200);--accent:var(--o500);
  --font-display:"Neue Montreal",Inter,system-ui,sans-serif;
  --font:Inter,system-ui,-apple-system,sans-serif;
  --mono:"DM Mono",ui-monospace,"SFMono-Regular",monospace;
  --ease:cubic-bezier(.2,0,0,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--canvas);color:var(--fg);
  font-family:var(--font);font-size:13px;line-height:1.62;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px 96px}
@media(max-width:640px){.wrap{padding:0 12px 72px}}

.ast{display:inline-block;vertical-align:middle;color:var(--accent)}
.ast line{stroke:currentColor;stroke-width:1.4;stroke-linecap:round}

.masthead{display:flex;align-items:center;gap:10px;padding:22px 0 14px;border-bottom:1px solid var(--border)}
.masthead .name{font-weight:600;font-size:13px;letter-spacing:.01em}
.masthead .env{margin-left:auto;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}

.sitenav{display:flex;flex-wrap:wrap;gap:4px;padding:12px 0;border-bottom:1px solid var(--border)}
.sitenav a{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;padding:6px 12px;border-radius:999px;transition:color .12s var(--ease),background-color .12s var(--ease)}
.sitenav a:hover{color:var(--fg-2);background:var(--n100)}
.sitenav a.on{color:var(--o700);background:var(--o50)}
.meta{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border)}
.meta div{padding:10px 20px 10px 0;margin-right:20px;border-right:1px solid var(--border)}
.meta div:last-child{border-right:none;margin-right:0}
.meta dt{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 2px}
.meta dd{margin:0;font-size:13px;color:var(--fg-2);font-weight:500}

.dochead{padding:44px 0 40px;border-bottom:1px solid var(--border)}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 14px}
.pill{width:40px;height:3px;border-radius:2px;background:var(--accent);margin:0 0 16px}
.dochead h1{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.28;letter-spacing:-.01em;margin:0 0 16px;max-width:26ch}
.dochead h1 span{color:var(--accent)}
.dochead p{margin:0 0 10px;color:var(--fg-2);max-width:70ch}
.dochead p:last-child{margin-bottom:0}
.head-grid{display:grid;grid-template-columns:1fr 300px;gap:44px;align-items:start}
@media(max-width:820px){.head-grid{grid-template-columns:1fr;gap:28px}}

.record{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.record-h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}
.record-h .t{font-weight:600;font-size:13px}
.record-h .badge{margin-left:auto}
.record-b{padding:6px 16px 12px}
.rrow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--n100)}
.rrow:last-child{border-bottom:none}
.rrow dt{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0}
.rrow dd{margin:0;font-family:var(--mono);font-size:12px;color:var(--fg);text-align:right}

.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:6px;white-space:nowrap}
.badge .dot{width:6px;height:6px;border-radius:50%;flex:none}
.badge.success{background:var(--g50);color:var(--g700)}.badge.success .dot{background:var(--g500)}
.badge.warning{background:var(--y50);color:var(--y700)}.badge.warning .dot{background:var(--y500)}
.badge.info{background:var(--b50);color:var(--b700)}.badge.info .dot{background:var(--b500)}
.badge.neutral{background:var(--n100);color:var(--n600)}.badge.neutral .dot{background:var(--n400)}

.sec{padding:40px 0;border-bottom:1px solid var(--border)}
.sec:last-of-type{border-bottom:none}
.sec>.eyebrow{margin-bottom:12px}
.sec h2{font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.005em;margin:0 0 14px}
.sec h3{font-weight:600;font-size:14px;margin:28px 0 8px}
.sec p{margin:0 0 14px;color:var(--fg-2);max-width:74ch}
.sec p strong{font-weight:600;color:var(--fg)}
.sec em{font-style:normal;font-weight:600;color:var(--fg)}
code{font-family:var(--mono);font-size:12px;background:var(--n100);padding:1px 5px;border-radius:6px;color:var(--n700)}

figure{margin:24px 0 6px}
figure svg{display:block;width:100%;height:auto}
figcaption{font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--fg-muted);border-top:1px solid var(--border);padding-top:8px;margin-top:12px;max-width:76ch}
.legend{display:flex;flex-wrap:wrap;gap:20px;margin:16px 0 0}
.lg{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}
.sw{width:13px;height:13px;border-radius:4px;flex:none}
.sw.anchor{background:var(--o50);border:1.5px solid var(--o500)}
.sw.persist{background:var(--n0);border:1px solid var(--n300)}
.sw.episo{background:var(--n100);border:1px solid var(--n300)}

.track{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 6px}
.st{flex:1 1 150px;min-width:150px;position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}
.st.ghost{background:var(--n50);border-style:dashed}
.st .badge{margin-bottom:8px}
.st p{margin:0;font-size:12px;line-height:1.5;color:var(--fg-2);max-width:none}
.st .born{position:absolute;top:-10px;left:14px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--o700);background:var(--o50);border:1px solid var(--o100);border-radius:6px;padding:1px 7px}
.st.birth{border-color:var(--o500)}

.note{border-left:2px solid var(--n300);padding:2px 0 2px 16px;margin:22px 0}
.note.warn{border-color:var(--y500)}
.note.guide{border-color:var(--o500)}
.note .k{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);display:block;margin-bottom:6px}
.note.warn .k{color:var(--y700)}
.note.guide .k{color:var(--o700)}
.note p{margin:0;color:var(--fg-2);max-width:72ch;font-size:13px}
.note p+p{margin-top:8px}

.ref{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;margin:22px 0 6px}
.ref-row{padding:16px 18px;border-bottom:1px solid var(--n100)}
.ref-row:last-child{border-bottom:none}
.rule{border:1px solid var(--o100);border-left:3px solid var(--o500);background:var(--o50);border-radius:8px;padding:14px 18px;margin:22px 0 4px}
.rule-k{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--o700);display:block;margin-bottom:6px}
.rule p{margin:0;color:var(--fg-2);max-width:78ch}
.rule strong{font-weight:600;color:var(--fg)}
.rule em{font-style:normal;font-weight:600;color:var(--fg)}
.ref-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-weight:600;font-size:14px;color:var(--fg);margin-bottom:6px}
.ref-tier{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}
.ref-row p{margin:0;color:var(--fg-2);max-width:82ch}
.ref-link{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--o700);text-decoration:none;border-bottom:1px solid var(--o100);padding-bottom:1px}
.ref-link:hover{border-bottom-color:var(--o500)}
.ref-link svg{width:11px;height:11px;flex:none}
.ref-link-inline{color:var(--o700);text-decoration:none;border-bottom:1px solid var(--o100)}
.ref-link-inline:hover{border-bottom-color:var(--o500)}
.schema{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:22px 0 6px}
.tbl{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}
.tbl-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;background:var(--n50);border-bottom:1px solid var(--border);color:var(--n700)}
.tbl-h .tag{font-size:10px;color:var(--fg-muted)}
.tbl ul{list-style:none;margin:0;padding:8px 14px 12px}
.tbl li{font-family:var(--mono);font-size:12px;line-height:1.85;color:var(--fg-2);word-break:break-word}
.tbl li i{font-style:normal;color:var(--fg-muted)}
.tbl li b{font-weight:500;color:var(--fg)}

/* site footer — shared shape across every ConnectIQ document.
   Nav row on top, page descriptor and brand lockup beneath. */
.site-footer{margin-top:64px;border-top:1px solid var(--border);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--fg-muted);font-size:12px}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 18px;width:100%;margin-bottom:8px}
.footer-nav a{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;padding:2px 0;border-bottom:1px solid transparent;transition:color .12s var(--ease),border-color .12s var(--ease)}
.footer-nav a:hover{color:var(--fg-2);border-bottom-color:var(--border)}
.footer-nav a.on{color:var(--o700)}
.footer-lockup{display:flex;align-items:center;gap:8px}
.footer-mark{width:16px;height:16px;flex:none;color:var(--accent);transition:transform .48s cubic-bezier(.34,1.4,.6,1),color .18s var(--ease)}
.footer-lockup:hover .footer-mark{transform:rotate(90deg);color:var(--o600)}
.footer-heart{width:12px;height:12px;display:inline-block;vertical-align:-1px;color:var(--r500)}
@media(prefers-reduced-motion:no-preference){
  .footer-lockup:hover .footer-heart{animation:heartbeat .9s ease-in-out}
  @keyframes heartbeat{0%,100%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(1)}45%{transform:scale(1.35)}60%{transform:scale(1)}}
}
@media(max-width:560px){
  .meta div{border-right:none;margin-right:16px}
}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ---------------------------------------------------------------------------
   Site additions — home hub, doc navigation, plan components.
   Everything below uses the same tokens; no new colours introduced.
   --------------------------------------------------------------------------- */

/* masthead as a link back to the hub */
.masthead a.home{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.masthead a.home:hover .ast{color:var(--o600)}
.masthead .env a{color:inherit;text-decoration:none;border-bottom:1px solid var(--border)}
.masthead .env a:hover{color:var(--o700);border-bottom-color:var(--o500)}

/* doc index cards (home) */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:28px 0 6px}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 18px 16px;text-decoration:none;color:inherit;transition:border-color .18s var(--ease),transform .18s var(--ease)}
.card:hover{border-color:var(--n300)}
.card .num{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}
.card h3{font-family:var(--font-display);font-weight:700;font-size:16px;line-height:1.3;margin:10px 0 8px;color:var(--fg)}
.card p{margin:0 0 14px;font-size:12.5px;line-height:1.6;color:var(--fg-2);max-width:46ch}
.card .foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--n100)}
.card .go{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted);transition:color .12s var(--ease),transform .12s var(--ease)}
.card:hover .go{color:var(--o700);transform:translateX(2px)}
.card.disabled{background:var(--n25);border-style:dashed;cursor:default}
.card.disabled:hover{border-color:var(--border)}
.card.disabled h3{color:var(--fg-2)}

/* KPI strip — side-wash per design system (alpha only, <=.28, always with dot + mono label) */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:26px 0 6px}
.kpi{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;overflow:hidden}
.kpi::before{content:"";position:absolute;inset:0;pointer-events:none}
.kpi.green::before{background:radial-gradient(16% 82% at 0% 0%,rgba(98,198,150,.26) 0%,rgba(98,198,150,0) 60%)}
.kpi.yellow::before{background:radial-gradient(16% 82% at 0% 0%,rgba(241,191,0,.28) 0%,rgba(241,191,0,0) 60%)}
.kpi.blue::before{background:radial-gradient(16% 82% at 0% 0%,rgba(76,143,247,.22) 0%,rgba(76,143,247,0) 60%)}
.kpi.red::before{background:radial-gradient(16% 82% at 0% 0%,rgba(242,88,75,.22) 0%,rgba(242,88,75,0) 60%)}
.kpi .k{position:relative;display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:8px}
.kpi .k .dot{width:6px;height:6px;border-radius:50%;flex:none}
.kpi.green .k .dot{background:var(--g500)}.kpi.yellow .k .dot{background:var(--y500)}
.kpi.blue .k .dot{background:var(--b500)}.kpi.red .k .dot{background:var(--r500)}
.kpi .v{position:relative;font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--fg)}
.kpi .s{position:relative;margin:6px 0 0;font-size:12px;color:var(--fg-2)}

/* table of contents rail */
.toc{display:flex;flex-wrap:wrap;gap:0 18px;padding:14px 0;border-bottom:1px solid var(--border)}
.toc a{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.toc a:hover{color:var(--fg-2)}
.toc a.on{color:var(--o700);border-bottom-color:var(--o500)}

/* data table */
table.grid{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);margin:22px 0 6px;font-size:12px}
table.grid th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--n700);background:var(--n50);padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
table.grid td{padding:10px 12px;border-bottom:1px solid var(--n100);color:var(--fg-2);vertical-align:top;line-height:1.55}
table.grid tr:last-child td{border-bottom:none}
table.grid tbody tr:hover td{background:var(--n25)}
table.grid td.mono,table.grid td .mono{font-family:var(--mono);color:var(--fg)}
table.grid td b{font-weight:600;color:var(--fg)}

/* phase / milestone rows */
.phases{display:flex;flex-direction:column;gap:10px;margin:24px 0 6px}
.phase{display:grid;grid-template-columns:78px 1fr;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}
.phase .id{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);padding-top:2px}
.phase h3{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--fg)}
.phase p{margin:0 0 10px;font-size:12.5px;color:var(--fg-2);max-width:78ch}
.phase ul{margin:0;padding-left:16px}
.phase li{font-size:12.5px;line-height:1.7;color:var(--fg-2)}
.phase li b{font-weight:600;color:var(--fg)}
.phase .badge{margin-bottom:8px}
.phase .exit{margin-top:10px;padding-top:10px;border-top:1px solid var(--n100);font-size:12px;color:var(--fg-2)}
.phase .exit span{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);display:block;margin-bottom:4px}
@media(max-width:640px){.phase{grid-template-columns:1fr;gap:8px}}

/* phase banner — announces a delivery phase inside a multi-phase plan */
.phasebar{display:grid;grid-template-columns:auto 1fr;gap:0 18px;align-items:start;margin:56px 0 0;padding:22px 0 20px;border-top:2px solid var(--fg);border-bottom:1px solid var(--border)}
.phasebar .pb-n{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--n0);background:var(--fg);border-radius:6px;padding:4px 10px;white-space:nowrap}
.phasebar h2{margin:0 0 6px;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.25;letter-spacing:-.01em;color:var(--fg)}
.phasebar p{margin:0;color:var(--fg-2);max-width:72ch}
.phasebar em{font-style:normal;font-weight:600;color:var(--fg)}
.phasebar .pb-exit{grid-column:2;margin-top:12px;font-size:12.5px;line-height:1.6;color:var(--fg-2);max-width:72ch}
.phasebar .pb-exit span{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--o700);margin-right:8px}
@media(max-width:640px){.phasebar{grid-template-columns:1fr;gap:12px}.phasebar .pb-n{justify-self:start}.phasebar .pb-exit{grid-column:1;margin-top:0}}

/* phase intro — framing paragraphs plus the phase's summary box */
.phaseintro{padding:28px 0 4px}
.phaseintro p{margin:0 0 10px;color:var(--fg-2);max-width:74ch}
.phaseintro p:last-child{margin-bottom:0}
.phaseintro strong{font-weight:600;color:var(--fg)}
.phaseintro em{font-style:normal;font-weight:600;color:var(--fg)}

/* two-column scope list */
.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 6px}
@media(max-width:720px){.split{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.panel>h4{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--n700);background:var(--n50);border-bottom:1px solid var(--border);padding:9px 14px}
.panel ul{list-style:none;margin:0;padding:10px 14px 14px}
.panel li{font-size:12.5px;line-height:1.75;color:var(--fg-2);padding-left:16px;position:relative}
.panel li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--n300)}
.panel.in li::before{background:var(--g500)}
.panel.out li::before{background:var(--n300)}
.panel li b{font-weight:600;color:var(--fg)}

/* decision (ADR) block */
.adr{border:1px solid var(--border);border-radius:12px;background:var(--surface);margin:20px 0 6px;overflow:hidden}
.adr>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:12px 16px;background:var(--n50);border-bottom:1px solid var(--border)}
.adr>header .n{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}
.adr>header h3{margin:0;font-size:14px;font-weight:600;color:var(--fg)}
.adr .body{padding:14px 16px}
.adr.superseded{background:var(--n25)}
.adr.superseded>header{background:var(--n100)}
.adr.superseded>header h3{color:var(--fg-muted);text-decoration:line-through;text-decoration-color:var(--n300)}
.adr .super-tag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--n600);background:var(--n200);border-radius:6px;padding:2px 7px;margin-left:auto}
.adr .super-note{margin:0 0 10px;padding:8px 12px;background:var(--o50);border-left:2px solid var(--o500);border-radius:0 6px 6px 0;font-size:12.5px;color:var(--fg-2)}
.adr .super-note b{font-weight:600;color:var(--fg)}
.adr dl{margin:0;display:grid;grid-template-columns:96px 1fr;gap:8px 16px}
.adr dt{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);padding-top:2px}
.adr dd{margin:0;font-size:12.5px;line-height:1.65;color:var(--fg-2)}
.adr dd b{font-weight:600;color:var(--fg)}
@media(max-width:640px){.adr dl{grid-template-columns:1fr;gap:2px 0}.adr dd{margin-bottom:8px}}

/* open questions */
.oq{counter-reset:oq;display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;margin:22px 0 6px}
.oq .q{padding:14px 16px;border-bottom:1px solid var(--n100)}
.oq .q:last-child{border-bottom:none}
.oq .q h4{margin:0 0 5px;font-size:13px;font-weight:600;color:var(--fg);display:flex;gap:9px}
.oq .q h4::before{counter-increment:oq;content:"Q" counter(oq);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--y700);background:var(--y50);border-radius:6px;padding:2px 7px;flex:none;align-self:flex-start}
.oq .q p{margin:0;font-size:12.5px;line-height:1.65;color:var(--fg-2);max-width:80ch;padding-left:33px}
.oq .q p+p{margin-top:6px}
.oq .q .who{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}
.oq .grp{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--n700);background:var(--n50);padding:9px 16px;border-bottom:1px solid var(--border)}

/* decision register — compact stacked rows, one card, one row per decision */
.dr-list{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;margin:22px 0 6px}
.dr-list .dr{padding:14px 18px;border-bottom:1px solid var(--n100)}
.dr-list .dr:last-child{border-bottom:none}
.dr-list .dr:hover{background:var(--n25)}
.dr-list .dr h4{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 6px;font-size:13.5px;font-weight:600;color:var(--fg)}
.dr-list .dr h4 .tier{margin-left:auto;flex:none;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--o700);background:var(--o50);border:1px solid var(--o100);border-radius:6px;padding:2px 8px}
.dr-list .dr p{margin:0;font-size:12.5px;line-height:1.65;color:var(--fg-2);max-width:84ch}
@media(max-width:560px){.dr-list .dr h4 .tier{margin-left:0}}

/* stacked reference rows — one card, one row per item. Scales to any count,
   unlike .rrow which is a flex row and squeezes each child into a column. */
.srcs{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;margin:22px 0 6px}
.srcs .src{padding:14px 18px;border-bottom:1px solid var(--n100)}
.srcs .src:last-child{border-bottom:none}
.srcs .src:hover{background:var(--n25)}
.srcs .src h4{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 5px;font-size:13.5px;font-weight:600;color:var(--fg)}
.srcs .src h4 .tier{margin-left:auto;flex:none;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);background:var(--n100);border:1px solid var(--border);border-radius:6px;padding:2px 8px}
.srcs .src p{margin:0;font-size:12.5px;line-height:1.65;color:var(--fg-2);max-width:88ch}
.srcs .src .ref-link{margin-top:7px}
@media(max-width:560px){.srcs .src h4 .tier{margin-left:0}}

/* build prompts — fetched from crm/prompts/, shown inline, copyable */
.prompts{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;margin:22px 0 6px}
.pr{border-bottom:1px solid var(--n100)}
.pr:last-child{border-bottom:none}
.pr.ctx{background:var(--o50)}
.pr-head{display:flex;align-items:center;gap:10px 14px;padding:12px 16px}
.pr-id{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);width:34px;flex:none}
.pr.ctx .pr-id{color:var(--o700)}
.pr-name{font-size:13px;font-weight:600;color:var(--fg)}
.pr-note{font-size:12px;color:var(--fg-muted);flex:1 1 auto;min-width:0}
.pr-actions{display:flex;gap:6px;margin-left:auto;flex:none}
.pr-btn{font-family:var(--font);font-size:12px;font-weight:600;height:30px;padding:0 11px;border-radius:8px;border:1px solid var(--border);background:var(--n0);color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}
.pr-btn:hover{background:var(--n50);border-color:var(--n300)}
.pr-btn.is-done{background:var(--g50);border-color:var(--g500);color:var(--g700)}
.pr-btn.is-err{background:var(--r50);border-color:var(--r500);color:var(--r700)}
.pr-body{display:none;padding:0 16px 14px}
.pr.open .pr-body{display:block}
.pr-body pre{margin:0;background:var(--n900);color:#d6d6d6;border-radius:8px;padding:16px;overflow-x:auto;max-height:460px;overflow-y:auto;font-family:var(--mono);font-size:12px;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.prompts-note{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;background:var(--n50);border-bottom:1px solid var(--border);font-size:12.5px;color:var(--fg-2)}
.prompts-note b{color:var(--fg)}
@media(max-width:720px){
  .pr-head{flex-wrap:wrap}
  .pr-note{flex:1 1 100%;order:3}
  .pr-actions{margin-left:auto}
}

/* inline link */
a.lnk{color:var(--o700);text-decoration:none;border-bottom:1px solid var(--o100)}
a.lnk:hover{border-bottom-color:var(--o500)}
