/* Enterprise toolkit, documents, AI co-founder, network, and Green Lab.
   Builds on the shared tokens and components in styles.css. */

/* Tool pages */
.tool-page h1 { font:600 clamp(28px,3.4vw,44px)/1.02 var(--font-display); letter-spacing:-.02em; margin:8px 0 8px; }
.tool-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin:14px 0 20px; }
.tool-head p { color:var(--muted); margin:0; max-width:70ch; }
.tool-saved { flex:0 0 auto; color:var(--dim); font:500 10px var(--font-mono); letter-spacing:.06em; padding:6px 10px; border:1px solid var(--line); border-radius:999px; transition:color .2s,border-color .2s; }
.tool-saved.on { color:var(--green); border-color:rgba(143,213,164,.4); }
.tool-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr); gap:16px; align-items:start; }
.tool-result { position:sticky; top:130px; }
.tool-form .form-grid { margin-top:0; }
.field-help { color:var(--dim); font-size:10px; }
.tool-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1px; margin:12px 0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.tool-kpis > div { display:flex; flex-direction:column; gap:4px; padding:12px; background:var(--surface-card); }
.tool-kpis small { color:var(--dim); font:500 9px var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.tool-kpis strong { font:600 17px var(--font-display); color:var(--ink-strong); overflow-wrap:anywhere; }
.tool-kpis .bad strong { color:var(--coral); }
.tool-kpis .good strong { color:var(--green); }
.tool-notes { margin:12px 0; padding-left:18px; color:var(--muted); font-size:12px; display:grid; gap:6px; }
.tool-done { margin-top:14px; padding:10px 12px; border-radius:10px; border:1px dashed var(--line-strong); color:var(--dim); font-size:11px; }
.tool-done.on { border-style:solid; border-color:rgba(143,213,164,.4); color:var(--green); background:rgba(143,213,164,.06); }
.tool-rows { margin-top:22px; }
.tool-rows-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.tool-rows-head h3 { margin:0; font-size:15px; }
.tool-rows-head span { color:var(--dim); font:500 10px var(--font-mono); }
.tool-row { position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; padding:12px 38px 12px 12px; margin-bottom:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface-card); }
.tool-row .field { margin:0; }
.tool-row .field > span { font-size:10px; }
.tool-row-remove { position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; border:1px solid var(--line); background:transparent; color:var(--dim); font-size:15px; line-height:1; cursor:pointer; }
.tool-row-remove:hover { color:var(--coral); border-color:var(--coral); }
.tool-multi { border:0; padding:0; margin:0; }
.tool-multi legend, fieldset.field > legend { color:var(--muted); font-size:11px; font-weight:700; margin-bottom:8px; padding:0; }
fieldset.field { border:0; padding:0; margin:0; min-width:0; }
.tool-multi > div, .chip-row { display:flex; flex-wrap:wrap; gap:6px; }
.chip-check { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid var(--line); border-radius:999px; background:var(--surface-card); color:var(--muted); font-size:11px; cursor:pointer; }
.chip-check:has(input:checked) { border-color:var(--cyan); color:var(--ink); background:rgba(132,228,229,.08); }
.chip-check input { accent-color:var(--cyan); margin:0; }
.chip-check.solo { border-radius:12px; padding:11px 13px; }
.tool-presets { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:18px; }
.tool-presets > span { color:var(--dim); font-size:11px; }
.tool-logo { margin:16px 0 0; display:flex; gap:14px; align-items:center; }
.tool-logo img { width:120px; height:120px; border-radius:16px; border:1px solid var(--line); object-fit:cover; background:#fff; }
.tool-logo figcaption { color:var(--dim); font-size:11px; }
.tool-ai-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:7px; margin-top:12px; }
.tool-ai-list .path-choice { flex-direction:column; align-items:flex-start; text-align:left; }
.tool-ai-list small { color:var(--dim); }
.tool-chain { display:flex; flex-wrap:wrap; align-items:stretch; gap:6px; margin:12px 0; }
.tool-chain > div { flex:1 1 90px; display:flex; flex-direction:column; gap:4px; padding:10px; border:1px dashed var(--line-strong); border-radius:10px; font-size:11px; color:var(--dim); }
.tool-chain > div.on { border-style:solid; color:var(--ink); }
.tool-chain small { color:var(--gold); font:500 9px var(--font-mono); text-transform:uppercase; }
.tool-chain b { align-self:center; color:var(--dim); font-weight:400; }
.tool-bars { display:grid; gap:9px; margin:12px 0; }
.tool-bars > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; align-items:center; font-size:11px; color:var(--muted); }
.tool-bars i { grid-column:1/-1; order:3; height:6px; border-radius:4px; background:var(--line); position:relative; overflow:hidden; }
.tool-bars i::after { content:""; position:absolute; inset:0 auto 0 0; width:var(--p); border-radius:4px; background:var(--cyan); }
.tool-bars small { color:var(--ink); font-variant-numeric:tabular-nums; }
.tool-ranked { margin:12px 0; padding-left:20px; display:grid; gap:9px; }
.tool-ranked li { display:flex; flex-direction:column; gap:2px; }
.tool-ranked strong { font-size:13px; }
.tool-ranked span { color:var(--muted); font-size:11px; }
.tool-plot { margin:12px 0; }
.tool-plot figcaption { color:var(--dim); font-size:10px; margin-bottom:4px; }
.tool-plot svg { width:100%; height:auto; display:block; }
.tool-plot .axis { stroke:var(--line-strong); stroke-width:1; }
.tool-plot .axis-label { fill:var(--dim); font-size:11px; }
.tool-plot text { fill:var(--muted); font-size:12px; }
.tool-plot .dot circle { fill:var(--violet); stroke:var(--bg); stroke-width:2; }
.tool-plot .me circle { fill:var(--gold); stroke:var(--bg); stroke-width:2; }
.tool-plot .me text { fill:var(--ink-strong); font-weight:700; }
.tool-plot rect.pos { fill:var(--cyan); }
.tool-plot rect.neg { fill:var(--coral); }
.tool-plot rect:hover, .tool-plot circle:hover { opacity:.75; }
.tool-canvas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin:12px 0; }
.tool-canvas > div { min-height:64px; padding:8px; border:1px dashed var(--line-strong); border-radius:8px; display:flex; flex-direction:column; gap:3px; font-size:10px; color:var(--dim); overflow:hidden; }
.tool-canvas > div.on { border-style:solid; color:var(--ink); }
.tool-canvas small { color:var(--gold); font:500 8px var(--font-mono); text-transform:uppercase; }
.tool-table { width:100%; border-collapse:collapse; font-size:11px; font-variant-numeric:tabular-nums; }
.tool-table th, .tool-table td { padding:6px 8px; border-bottom:1px solid var(--line); text-align:right; }
.tool-table th:first-child, .tool-table td:first-child { text-align:left; }
.tool-table th { color:var(--dim); font-weight:600; }
.tool-details { margin-top:10px; }
.tool-details > summary { cursor:pointer; padding:10px 12px; color:var(--muted); font-size:12px; }
.tool-feedback { margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:12px; }
.tool-feedback p, .tool-feedback li { color:var(--muted); font-size:12px; }
.tool-invoice { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-card); font-size:12px; }
.tool-invoice header { display:flex; justify-content:space-between; margin-bottom:10px; }
.tool-flags { list-style:none; padding:0; margin:12px 0; display:grid; gap:7px; }
.tool-flags li { display:flex; flex-direction:column; gap:3px; padding:9px 11px; border-radius:9px; border-left:3px solid var(--gold); background:rgba(234,203,131,.07); font-size:11px; }
.tool-flags li.high { border-color:var(--coral); background:rgba(255,128,110,.07); }
.tool-flags li.low { border-color:var(--line-strong); background:transparent; }
.tool-flags span { color:var(--muted); }
.tool-qr { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.tool-qr figure { margin:0; text-align:center; font-size:11px; }
.tool-qr img { width:140px; height:140px; background:#fff; border-radius:8px; padding:4px; }

/* Tool catalogue */
.tool-group-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:12px; }
.tool-group-head p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.tool-group-head > span { color:var(--dim); font:500 10px var(--font-mono); }
.tool-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:9px; }
.tool-card, .tool-mini { display:flex; flex-direction:column; align-items:flex-start; gap:6px; text-align:left; padding:15px; min-height:128px; color:var(--ink); cursor:pointer; position:relative; font:inherit; }
.tool-card:hover, .tool-mini:hover { border-color:var(--line-strong); background:var(--surface-hover); }
.tool-card strong, .tool-mini strong { font-size:14px; }
.tool-card small, .tool-mini small { color:var(--muted); font-size:11px; }
.tool-card em { margin-top:auto; color:var(--green); font-style:normal; font:500 9px var(--font-mono); text-transform:uppercase; }
.tool-card-state { color:var(--dim); font:500 9px var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.tool-card.started .tool-card-state, .tool-mini.started .tool-card-state { color:var(--gold); }
.tool-card.done .tool-card-state, .tool-mini.done .tool-card-state { color:var(--green); }
.tool-card.done, .tool-mini.done { border-color:rgba(143,213,164,.3); }
.tool-mini-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; margin-top:16px; }
.tool-mini { min-height:100px; border:1px solid var(--line); }

/* Documents */
.doc-group { margin-bottom:18px; }
.doc-group > .eyebrow { margin-bottom:8px; }
.doc-card.started { border-color:rgba(132,228,229,.25); }
.doc-toolbar { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.doc-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.doc-source textarea { min-height:640px; font:13px/1.55 var(--font-mono); resize:vertical; }
.doc-preview { max-height:720px; overflow:auto; font-size:13px; line-height:1.6; }
.doc-preview h1 { font-size:26px; margin-top:0; }
.doc-preview h2 { font-size:17px; margin:20px 0 6px; color:var(--gold); }
.doc-preview ul { padding-left:18px; }
.doc-gap { background:rgba(234,203,131,.18); color:var(--gold); border-radius:4px; padding:0 4px; }
.doc-snapshot { white-space:pre-wrap; font-size:11px; max-height:320px; overflow:auto; padding:12px; }

/* Onboarding wizard & diagnostic */
.wizard { padding:clamp(18px,3.5vw,38px); }
.wizard-steps { list-style:none; display:flex; gap:6px; padding:0; margin:0 0 26px; overflow-x:auto; }
.wizard-steps li { flex:1 1 0; min-width:110px; }
.wizard-steps button { width:100%; display:flex; align-items:center; gap:8px; padding:9px 10px; border:1px solid var(--line); border-radius:12px; background:transparent; color:var(--dim); font-size:11px; font-weight:700; cursor:pointer; }
.wizard-steps span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; border:1px solid currentColor; font-size:10px; }
.wizard-steps li.active button { color:var(--ink-strong); border-color:var(--cyan); background:rgba(132,228,229,.08); }
.wizard-steps li.done button { color:var(--green); }
.wizard-body h2 { font:600 26px var(--font-display); margin:0 0 18px; }
.lens-cards { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:18px; }
.lens-choice span { display:flex; flex-direction:column; gap:3px; }
.lens-choice small { color:var(--dim); font-size:11px; }
.lens-choice strong { color:var(--ink); }
.ai-assist { margin-top:18px; }
.ai-suggestion { margin-top:12px; padding:14px; border:1px solid rgba(185,165,255,.35); border-radius:12px; background:rgba(185,165,255,.06); }
.ai-suggestion small { color:var(--violet); font:500 9px var(--font-mono); text-transform:uppercase; }
.ai-suggestion p { margin:6px 0; font-size:13px; }
.diag-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:18px; }
.diag-grid fieldset { border:0; padding:0; margin:0; display:grid; gap:6px; align-content:start; }
.diag-grid legend { color:var(--gold); font:500 10px var(--font-mono); letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.diag-grid .path-choice { min-height:44px; }
button.next-action-card { width:100%; text-align:left; color:inherit; font:inherit; cursor:pointer; }
button.next-action-card:hover { background:rgba(132,228,229,.08); }
button.next-action-card > b { color:var(--cyan); font-weight:600; }
.next-actions { display:grid; gap:8px; }
.next-actions .next-action-card { margin-top:0; }

/* Venture workspace */
.venture-title { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.venture-switch { max-width:190px; padding:5px 8px; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--muted); font-size:10px; }
.text-link { border:0; padding:0; background:none; color:var(--cyan); font:inherit; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.grid-4.enterprise-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.chat-log { display:flex; flex-direction:column; gap:10px; margin:18px 0; max-height:520px; overflow:auto; padding-right:4px; }
.chat-msg { max-width:86%; padding:11px 14px; border-radius:14px; font-size:13px; line-height:1.55; }
.chat-msg p { margin:0 0 6px; } .chat-msg p:last-child { margin-bottom:0; }
.chat-msg h1, .chat-msg h2, .chat-msg h3 { font-size:14px; margin:6px 0; }
.chat-msg ul { margin:4px 0; padding-left:18px; }
.chat-msg.user { align-self:flex-end; background:rgba(132,228,229,.12); border:1px solid rgba(132,228,229,.25); }
.chat-msg.assistant { align-self:flex-start; background:var(--surface-card); border:1px solid var(--line); }
.chat-msg.thinking { color:var(--dim); animation:pulse 1.2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:.5; } }
.chat-starters { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:7px; }
.chat-starters .path-choice { text-align:left; }
.comment-compose { display:flex; gap:8px; align-items:flex-end; margin-top:10px; }
.comment-compose textarea { flex:1; min-height:44px; }
.comment-thread { display:grid; gap:8px; margin:14px 0; }
.comment { padding:10px 12px; border:1px solid var(--line); border-radius:12px; }
.comment.mine { border-color:rgba(132,228,229,.25); }
.comment small { color:var(--dim); font-size:10px; }
.comment p { margin:4px 0 0; font-size:12px; white-space:pre-wrap; }
.milestone-list { display:grid; gap:6px; margin-top:16px; }
.milestone { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:11px 13px; border:1px solid var(--line); border-radius:11px; }
.milestone small { display:block; color:var(--dim); font-size:10px; margin-top:2px; }
.milestone.done { border-color:rgba(143,213,164,.3); }
.milestone input { padding:6px 8px; font-size:11px; }

/* Incubator stages */
details.stage-card { display:block; padding:0; }
details.stage-card > summary { display:grid; grid-template-columns:54px 1fr; gap:16px; align-items:center; padding:17px; cursor:pointer; list-style:none; }
details.stage-card > summary::-webkit-details-marker { display:none; }
details.stage-card.complete { border-color:rgba(143,213,164,.28); }
.stage-tasks { list-style:none; margin:0; padding:0 17px 6px 87px; display:grid; gap:6px; }
.stage-tasks li { display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:10px; padding:9px 11px; border:1px solid var(--line); border-radius:10px; }
.stage-tasks li > span { color:var(--dim); }
.stage-tasks li.done > span { color:var(--green); }
.stage-tasks li.done strong { color:var(--muted); font-weight:500; }
.stage-tasks strong { font-size:12px; }
.stage-tasks small { display:block; color:var(--dim); font-size:10px; }
details.stage-card .stage-check { margin:6px 17px 16px 87px; display:flex; gap:8px; align-items:center; color:var(--dim); font-size:11px; }

/* Funding, banking, training, costs */
.funding-grid label.linked { border-color:rgba(143,213,164,.3); }
.funding-grid label.linked small { color:var(--green); }
.training-paths article.recommended { border-color:rgba(132,228,229,.35); }
.training-paths article.recommended .eyebrow { color:var(--cyan); }
.training-paths details summary { cursor:pointer; color:var(--muted); font-size:12px; margin:6px 0; }
.training-paths ol { padding-left:18px; font-size:12px; color:var(--muted); display:grid; gap:6px; }
.pay-steps { list-style:none; padding:0; margin:18px 0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.pay-steps li { padding:12px; border:1px solid var(--line); border-radius:11px; color:var(--dim); font-size:11px; }
.pay-steps li.done { color:var(--green); border-color:rgba(143,213,164,.3); }
.pay-steps li.active { color:var(--ink); border-color:var(--cyan); background:rgba(132,228,229,.06); grid-column:span 2; }
.pay-steps li p { margin:6px 0 0; color:var(--muted); }
.cost-row { grid-template-columns:2fr 1fr .7fr 1fr 2fr; }
.cost-table > div .btn { justify-self:start; }

/* Network: reviews, mentors, showcase, exchange */
.sync-panel { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:14px 16px; margin:14px 0; }
.sync-panel p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.sync-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:10px; }
.sync-actions input { padding:7px 10px; font-size:11px; }
.conflict-box { flex-basis:100%; padding:12px; border:1px solid rgba(234,203,131,.4); border-radius:10px; background:rgba(234,203,131,.06); }
.conflict-box p { margin:4px 0 8px; }
.review-list { display:grid; gap:7px; margin:12px 0; }
.review-item { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding:12px 14px; border:1px solid var(--line); border-radius:12px; }
.review-item small { display:block; color:var(--dim); font-size:10px; margin-top:3px; }
.review-item p { margin:6px 0 0; color:var(--muted); font-size:12px; }
.review-queue { display:grid; gap:9px; margin-top:12px; }
.review-card > summary { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:13px 15px; cursor:pointer; }
.review-card > summary small { display:block; color:var(--dim); font-size:10px; }
.review-card > :not(summary) { margin-left:15px; margin-right:15px; }
.review-decide textarea { width:100%; }
.readiness-list.compact > div { padding:8px 0; grid-template-columns:170px 1fr; }
.moderation-grid h3 { font-size:14px; }
.mod-item { padding:10px 0; border-bottom:1px solid var(--line); }
.mod-item small { display:block; color:var(--muted); font-size:11px; }
.mentor-grid, .showcase-grid, .exchange-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:10px; margin-top:14px; }
.mentor-card, .exchange-card { padding:15px; display:flex; flex-direction:column; gap:8px; }
.mentor-card p, .exchange-card p, .showcase-card p { color:var(--muted); font-size:12px; margin:0; }
.mentor-top { display:flex; gap:10px; align-items:center; }
.mentor-top img, .showcase-by img { border-radius:50%; }
.mentor-top small { display:block; color:var(--dim); font-size:10px; }
.mentor-top .tag { margin-left:auto; }
.mentor-card .btn { align-self:flex-start; margin-top:auto; }
.showcase-card { padding:18px; display:flex; flex-direction:column; gap:9px; }
.showcase-card h3 { margin:0; font-size:19px; }
.showcase-foot { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; margin-top:auto; }
.showcase-by { display:inline-flex; gap:6px; align-items:center; color:var(--muted); font-size:11px; text-decoration:none; }
.segmented { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:999px; margin-bottom:6px; }
.segmented button { border:0; background:transparent; color:var(--muted); padding:8px 14px; border-radius:999px; font-size:11px; font-weight:700; cursor:pointer; }
.segmented button.active { background:var(--surface-hover); color:var(--ink-strong); }
.exchange-bar { display:flex; gap:8px; flex-wrap:wrap; }
.exchange-bar input { flex:1 1 220px; }
.exchange-card h3 { margin:0; font-size:16px; }
.exchange-card small { color:var(--dim); font-size:11px; }
.exchange-top { display:flex; justify-content:space-between; }
.exchange-card.offer { border-left:3px solid var(--green); }
.exchange-card.need { border-left:3px solid var(--gold); }
.lens-banner { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px; margin-bottom:10px; }
.lens-banner p { margin:3px 0 0; color:var(--muted); font-size:12px; }

/* Focused printing of a single area (invoice, lender summary, document) */
@media print {
  body.print-area-only * { visibility:hidden !important; }
  body.print-area-only [data-print-now], body.print-area-only [data-print-now] * { visibility:visible !important; }
  body.print-area-only [data-print-now] { position:absolute; inset:0 auto auto 0; width:100%; max-height:none; overflow:visible; color:#111; background:#fff; border:0; }
  body.print-area-only .tool-done, body.print-area-only [data-print-now] .btn { display:none !important; }
}

@media (max-width:1050px) {
  .tool-layout, .doc-layout { grid-template-columns:1fr; }
  .tool-result { position:static; }
  .diag-grid { grid-template-columns:1fr 1fr; }
  .pay-steps { grid-template-columns:repeat(3,1fr); }
  .grid-4.enterprise-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .tool-head { flex-direction:column; }
  .diag-grid, .lens-cards { grid-template-columns:1fr; }
  .tool-canvas { grid-template-columns:1fr 1fr; }
  .stage-tasks { padding-left:17px; }
  details.stage-card .stage-check { margin-left:17px; }
  details.stage-card > summary { grid-template-columns:36px 1fr; }
  .stage-tasks li { grid-template-columns:20px 1fr; }
  .stage-tasks li .btn { grid-column:2; justify-self:start; }
  .milestone { grid-template-columns:1fr; }
  .cost-row { grid-template-columns:1fr 1fr; }
  .pay-steps { grid-template-columns:1fr; }
  .pay-steps li.active { grid-column:auto; }
  .chat-msg { max-width:100%; }
  .comment-compose { flex-direction:column; align-items:stretch; }
  .doc-source textarea { min-height:360px; }
  .grid-4.enterprise-kpis { grid-template-columns:1fr; }
}

/* ─── Enterprise Home: build steps ─── */
.build-steps h2 { margin:6px 0 6px; }
.build-steps ol { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:2px; }
.build-steps li { display:grid; grid-template-columns:46px 1fr; gap:16px; padding:18px 4px; border-top:1px solid var(--line); }
.build-steps li:first-child { border-top:0; }
.build-steps .step-num { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--line-strong); color:var(--cyan); font-weight:800; font-size:14px; }
.build-steps li.done .step-num { background:rgba(143,213,164,.14); border-color:rgba(143,213,164,.5); color:var(--green); }
.build-steps li.current .step-num { background:var(--cyan); color:#052036; border-color:var(--cyan); }
.build-steps h3 { margin:6px 0 4px; font-size:18px; }
.build-steps h3 em, .guide-card em { font-style:normal; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--cyan); margin-left:8px; }
.build-steps p { margin:0 0 6px; color:var(--muted); max-width:68ch; }
.build-steps .step-help b { color:var(--gold); font-weight:700; margin-right:6px; }
.step-tools { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.step-tools button { border:1px solid var(--line-strong); background:var(--surface-card); color:var(--ink); border-radius:999px; padding:7px 13px; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.step-tools button:hover { border-color:var(--cyan); color:var(--cyan); }

/* ─── Section guide (Home + Leaders) ─── */
.section-guide { display:grid; gap:22px; margin-top:16px; }
.guide-group h3 { margin:0 0 10px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.guide-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:10px; }
.guide-card { position:relative; text-align:left; font:inherit; color:var(--ink); cursor:pointer; border:1px solid var(--line); border-radius:14px; background:var(--surface-card); padding:15px 16px; display:flex; flex-direction:column; gap:6px; }
.guide-card:hover { border-color:var(--line-strong); background:var(--surface-hover); }
.guide-card strong { display:flex; justify-content:space-between; gap:8px; font-size:15px; }
.guide-card strong span { color:var(--cyan); }
.guide-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; flex:1; }
.guide-card small { color:var(--cyan); font-size:12px; font-weight:600; }
.guide-card em { margin:0; }
.guide-card.is-next { border-color:rgba(132,228,229,.55); box-shadow:0 0 0 1px rgba(132,228,229,.18), 0 10px 30px rgba(43,189,197,.12); }

/* ─── Next Gen Leaders: personal journey ─── */
.leader-hello { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.leader-hello h2 { margin:6px 0 4px; font-size:28px; }
.leader-hello .section-copy { margin:0; }
.leader-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.leader-phase { display:flex; flex-direction:column; gap:8px; }
.leader-phase .phase-top { display:flex; justify-content:space-between; align-items:center; }
.leader-phase .phase-top span { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--line-strong); font-weight:800; font-size:13px; color:var(--muted); }
.leader-phase .phase-top small { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--dim); }
.leader-phase h3 { margin:4px 0 0; }
.leader-phase p { margin:0; color:var(--muted); font-size:14px; }
.leader-phase p strong { color:var(--ink); }
.leader-phase.upcoming { opacity:.7; }
.leader-phase.done .phase-top span { color:var(--green); border-color:rgba(143,213,164,.5); background:rgba(143,213,164,.12); }
.leader-phase.done .phase-top small { color:var(--green); }
.leader-phase.current { border-color:rgba(132,228,229,.5); }
.leader-phase.current .phase-top span { background:var(--cyan); border-color:var(--cyan); color:#052036; }
.leader-phase.current .phase-top small { color:var(--cyan); }
.phase-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:6px; }
.leader-phase details { margin-top:auto; padding-top:8px; font-size:13px; color:var(--muted); }
.leader-phase summary { cursor:pointer; color:var(--dim); }
.leader-phase details ul { margin:8px 0 0; padding-left:18px; line-height:1.7; }
.leader-h2 { margin:6px 0 0; }
.grad-grid button { align-items:center; }
.grad-copy { display:flex; flex-direction:column; gap:4px; color:var(--ink) !important; }
.grad-copy small { font-weight:500; font-size:12px; color:var(--muted); }
.leader-footnote { margin:18px 4px 0; font-size:12px; color:var(--dim); }
@media (max-width:980px) { .leader-track { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .leader-track { grid-template-columns:1fr; } .build-steps li { grid-template-columns:1fr; gap:8px; } }
