/* The new Planning Assessment Report.
   One stylesheet for both outputs: printed to PDF today, served as the customer's own page next.
   Frank, 1 October 2026: "i want you help to design a new pdf then a new webapge per client". */

:root{
  --blue:#3DB3E5; --ink:#173049; --gold:#EDAA02; --grey:#5F6B75;
  --line:#E3E9EE; --red:#C0392B; --green:#1E7A45; --wash:#F7FAFC;
}

@page{ size:A4; margin:16mm 15mm 14mm; }

*{box-sizing:border-box}
body{
  margin:0; color:#20251F; background:#fff;
  font:11pt/1.55 'Maven Pro','Segoe UI',Arial,sans-serif;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}

/* Each page is its own element so the PDF and the web page break the same way. */
.page{ page-break-after:always; break-after:page; padding-top:2mm; }
.page:last-child{ page-break-after:auto; break-after:auto; }

h1{font-size:26pt;line-height:1.15;margin:0 0 6pt;color:var(--ink);font-weight:700}
h2{font-size:17pt;line-height:1.2;margin:0 0 3pt;color:var(--ink);font-weight:700}
h3{font-size:12pt;margin:14pt 0 4pt;color:var(--ink);font-weight:600}
p{margin:0 0 8pt}
.lede{color:var(--grey);font-size:11.5pt;margin:0 0 14pt;max-width:150mm}
.eyebrow{font-size:8.5pt;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:600;margin:0 0 4pt}
.rule{height:3px;background:var(--gold);width:54pt;margin:10pt 0 14pt;border-radius:2px}

/* ---- cover ---- */
.cover{background:var(--ink);color:#fff;margin:-16mm -15mm 0;padding:40mm 15mm 16mm;min-height:200mm}
.cover h1{color:#fff;font-size:34pt;margin-bottom:10pt}
.cover .who{font-size:15pt;color:#fff;font-weight:600;margin-top:24pt}
.cover .addr{font-size:13pt;color:#C9D9E4}
.cover .meta{margin-top:30mm;color:#9FB6C6;font-size:10pt;line-height:1.8}
.cover .brand{font-size:10pt;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}

/* ---- the strip of block facts ---- */
.facts{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--ink);margin:0 0 12pt}
.facts div{flex:1 1 22%;padding:7pt 9pt;border-right:1px solid rgba(255,255,255,.14)}
.facts div:last-child{border-right:0}
.facts span{display:block;font-size:7.5pt;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-weight:600}
.facts b{display:block;font-size:13pt;color:#fff;font-weight:700;margin-top:1pt;line-height:1.25}

/* ---- verdicts ---- */
.verdicts{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.verdict{display:flex;align-items:flex-start;gap:10pt;padding:9pt 11pt;border-bottom:1px solid var(--line)}
.verdict:last-child{border-bottom:0}
.verdict .name{flex:0 0 46mm;font-weight:600;color:var(--ink)}
.verdict .said{flex:1;font-size:10pt;color:var(--grey)}
.tag{flex:0 0 auto;font-size:8.5pt;font-weight:700;padding:2pt 8pt;border-radius:9pt;white-space:nowrap}
.tag-yes{background:#E7F5EC;color:var(--green)}
.tag-no{background:#FDF0EE;color:var(--red)}
.tag-unknown{background:#EEF2F5;color:var(--grey)}

/* ---- the numbers ---- */
.numbers{display:flex;flex-wrap:wrap;gap:8pt;margin:10pt 0}
.numbers>div{flex:1 1 30%;background:var(--wash);border:1px solid var(--line);border-radius:6px;padding:10pt 11pt}
.numbers span{display:block;font-size:9pt;color:var(--grey);font-weight:600}
.numbers b{display:block;font-size:22pt;color:var(--ink);line-height:1.15;margin:2pt 0}
.numbers em{font-style:normal;font-size:8.5pt;color:var(--grey);display:block;line-height:1.45}

/* ---- tables ---- */
table{width:100%;border-collapse:collapse;font-size:9.5pt;margin:8pt 0}
th{text-align:left;background:var(--wash);color:var(--grey);font-size:8pt;letter-spacing:.06em;
   text-transform:uppercase;font-weight:600;padding:6pt 8pt;border:1px solid var(--line)}
td{padding:6pt 8pt;border:1px solid var(--line);vertical-align:top}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
td.src{color:var(--grey);font-size:8.5pt}

/* ---- call-outs ---- */
.note{background:#FFF9E8;border:1px solid #F0DFA8;border-left:3px solid var(--gold);
      border-radius:5px;padding:9pt 12pt;font-size:10pt;margin:10pt 0;line-height:1.6}
.gap{background:#FDF5F4;border:1px solid #E8D4D0;border-left:3px solid var(--red);
     border-radius:5px;padding:10pt 13pt;margin:10pt 0}
.gap b.head{color:var(--red);display:block;font-size:11.5pt;margin-bottom:4pt}
.ask{background:var(--ink);color:#fff;border-radius:6px;padding:13pt 15pt;margin-top:12pt}
.ask b{display:block;font-size:12pt;margin-bottom:3pt}
.ask p{color:#C9D9E4;margin:0;font-size:10pt}

figure{margin:10pt 0}
figure img{width:100%;border:1px solid var(--line);border-radius:6px;display:block}
figcaption{font-size:8.5pt;color:var(--grey);margin-top:4pt;line-height:1.5}

.stages{counter-reset:s}
.stage{display:flex;gap:10pt;padding:8pt 0;border-bottom:1px solid var(--line)}
.stage:last-child{border-bottom:0}
.stage .n{flex:0 0 20pt;height:20pt;border-radius:50%;background:var(--blue);color:#fff;
          font-weight:700;font-size:10pt;display:flex;align-items:center;justify-content:center}
.stage .t b{display:block;color:var(--ink)}
.stage .t span{font-size:9.5pt;color:var(--grey)}

.qa{border-bottom:1px solid var(--line);padding:8pt 0}
.qa:last-child{border-bottom:0}
.qa b{display:block;color:var(--ink);font-size:10.5pt}
.qa span{font-size:9.5pt;color:var(--grey)}

.foot{position:running(foot);font-size:8pt;color:var(--grey)}
.pagefoot{margin-top:14pt;padding-top:6pt;border-top:1px solid var(--line);
          font-size:8pt;color:var(--grey);line-height:1.6}

/* The report sits inside the workbench shell on screen, and alone on paper. */
.shell.report main.paper{background:#fff;max-width:210mm;margin:22px auto;padding:16mm 15mm;
    border:1px solid var(--line);border-radius:8px}
@media print{
    .shell{display:block}
    aside{display:none !important}
    .shell.report main.paper{max-width:none;margin:0;padding:0;border:0;border-radius:0}
}
