/* FwdLink product workspace (/app). Tokens follow DESIGN.md: ivory paper,
   charcoal text, one accent (lime action with dark text, green links). */
:root{--ink:#20251f;--muted:#62665b;--paper:#faf9f5;--panel:#f0efe8;--rule:#e2e2d8;--lime:#d5f687;--green:#4b642b;--bad:#8a2b1d;--badbg:#fbeae6}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--lime);color:var(--ink);padding:8px;z-index:9}
.app-header{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;padding:14px 40px;border-bottom:1px solid var(--rule);background:#fff}
.wordmark{font-weight:700;font-size:20px;color:var(--ink);text-decoration:none}.wordmark span{color:var(--green);margin-left:2px}
.app-user{font-size:14px;color:var(--muted)}
.space-head{padding:16px 40px 0;border-bottom:1px solid var(--rule);background:#fff}
.eyebrow{margin:0;font:12px/1.4 ui-monospace,Menlo,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.space-name{margin:2px 0 10px;font-size:20px;font-weight:650}
.tabs{display:flex;gap:4px 20px;flex-wrap:wrap}.tabs a{padding:8px 0 10px;color:var(--ink);text-decoration:none;border-bottom:3px solid transparent}
.tabs a[aria-current=page]{border-color:var(--green);font-weight:600}
main{max-width:1180px;margin:0 auto;padding:28px 40px 56px}
main:focus{outline:none}
h1{font-size:30px;line-height:1.2;margin:0 0 16px}h2{font-size:21px;margin:32px 0 10px}h3{font-size:17px;margin:20px 0 8px}
.lead{font-size:18px}.small,caption{font-size:14px;color:var(--muted)}.muted{color:var(--muted);font-weight:400;font-size:15px}
.stack{display:grid;gap:14px;max-width:680px}.narrow{max-width:420px}
label{display:grid;gap:4px;font-weight:550}label span[lang]{font-weight:400;color:var(--muted);font-size:14px}
.choice{display:flex;gap:8px;align-items:center;font-weight:400}
fieldset{border:1px solid var(--rule);border-radius:8px;padding:10px 14px;display:grid;gap:6px}legend{font-weight:600;padding:0 4px}
input,select,textarea{font:inherit;padding:9px 10px;border:1px solid #b9bcae;border-radius:6px;background:#fff;color:var(--ink);width:100%}
input[type=checkbox],input[type=radio]{width:auto}
.btn,.btn-secondary,button.link{font:inherit;cursor:pointer;border-radius:999px;padding:10px 18px;text-decoration:none;display:inline-block}
.btn{background:var(--lime);color:var(--ink);border:1px solid var(--ink);font-weight:650}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--ink)}
button.link{background:none;border:0;padding:2px 4px;color:var(--green);text-decoration:underline;border-radius:4px}
form.inline{display:inline}.inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.notice{background:#eef5dc;border-left:4px solid var(--green);padding:10px 14px;border-radius:4px}
.notice.error{background:var(--badbg);border-color:var(--bad)}
.tag{display:inline-block;font-size:12px;border:1px solid var(--muted);border-radius:999px;padding:1px 8px;margin-left:6px;font-weight:500}
.table-wrap{overflow-x:auto;margin:10px 0 18px;border:1px solid var(--rule);border-radius:8px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:15px}caption{text-align:left;padding:10px 12px}
th,td{text-align:left;padding:9px 12px;border-top:1px solid var(--rule);vertical-align:top}th{background:var(--panel);font-weight:600}
td a{word-break:break-word}
td:first-child{min-width:11em}
.questions,.facts{list-style:none;padding:0;display:grid;gap:10px}.questions li,.facts li{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:10px 14px}
.q{font-weight:600;margin:0}
.conditions{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;font-size:15px}.conditions dt{color:var(--muted)}.conditions dd{margin:0}
pre.answer{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:14px;font:15px/1.55 system-ui,sans-serif;max-height:70vh;overflow:auto}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
details summary{cursor:pointer;color:var(--green)}
.app-footer{border-top:1px solid var(--rule);padding:18px 40px;font-size:14px;color:var(--muted)}
@media (max-width:720px){.app-header,.space-head,main,.app-footer{padding-left:16px;padding-right:16px}.compare{grid-template-columns:1fr}.conditions{grid-template-columns:1fr}.conditions dd{margin-bottom:6px}h1{font-size:25px}}

/* Run report: one accent (the brand) against neutral context; ramp validated
   with the dataviz validator (ordinal, light surface): #9fbd62 #6f8f3a #3f5523. */
.report{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:24px 28px;margin:12px 0 28px}
.report h2{border-top:1px solid var(--rule);padding-top:22px}
.report-brand{font-size:24px;font-weight:700;margin:4px 0}.report-meta{color:var(--muted);margin:0 0 12px;font-size:15px}
.report-actions{display:flex;gap:10px;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 8px}
.kpi{border:1px solid var(--rule);border-radius:10px;padding:14px 16px;background:var(--paper)}
.kpi-label{margin:0;font-size:13px;color:var(--muted)}.kpi-value{margin:2px 0;font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}
.kpi-sub{margin:0;font-size:13px;color:var(--muted)}
.findings{padding-left:20px;display:grid;gap:6px}
.chart{margin:8px 0 18px}.chart figcaption{font-weight:600;margin-bottom:6px}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bars{list-style:none;padding:0;margin:0;display:grid;gap:6px;max-width:680px}
.bars li{display:grid;grid-template-columns:minmax(6em,13em) 1fr 7.5em;gap:10px;align-items:center;font-size:14px}
.bars.wide{max-width:760px}.bars.wide li{grid-template-columns:minmax(8em,20em) 1fr 7.5em}
.bar-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-label.is-hl{color:var(--ink);font-weight:700}
.bar-value{font-variant-numeric:tabular-nums;white-space:nowrap}
.bar-svg{width:100%;height:14px;display:block}.bar-track{fill:#f0efe8}.bar{fill:#9a9d90}.bar-hl{fill:#4b642b}
.chart-note{font-size:13px;color:var(--muted);margin:4px 0}
table.heat td{text-align:center;font-variant-numeric:tabular-nums;font-weight:600;min-width:7em}
.h0{background:#f0efe8;color:var(--muted)}.h1{background:#9fbd62;color:#20251f}.h2{background:#6f8f3a;color:#20251f}.h3{background:#3f5523;color:#fff}
.heat-legend{display:flex;gap:4px;align-items:center;font-size:13px;color:var(--muted)}
.heat-legend span{display:inline-block;min-width:26px;text-align:center;border-radius:4px;padding:1px 0}
.report-foot{margin-top:18px}
@media (max-width:720px){.bars li,.bars.wide li{grid-template-columns:minmax(5em,11em) 1fr 6.5em;font-size:13px}table.heat td{min-width:3.6em}.report{padding:16px}.kpis{grid-template-columns:1fr 1fr}.chart-grid{grid-template-columns:1fr}.kpi-value{font-size:24px}}
@media print{.app-header,.space-head,.app-footer,.report-actions,.skip,.actions,.report~*,main>h1,main>h1+p{display:none}main{padding:0;max-width:none}
.report{border:0;padding:0}.chart,.kpis,table{break-inside:avoid}body{background:#fff}}
.next-steps{margin:8px 0 28px}.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.next-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px 20px}
.next-card h3{margin-top:0}.ticks{padding-left:20px}
@media (max-width:720px){.next-grid{grid-template-columns:1fr}}
@media print{.next-steps{display:none}}
.stack>button{justify-self:start}
