:root{--bar:5px;--good:#2f8f5b;--fair:#c98a1e;--bad:#c0474d;--ink:#172033;--muted:#677083;--line:#dfe3ea;--panel:#fff;--bg:#f4f6f9;--brand:#174f68;--brand2:#0f394d;--soft:#e7f0f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5}.topbar{height:64px;background:var(--brand2);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1280px)/2));color:white}.topbar a{color:white;text-decoration:none}.brand{font-size:20px;font-weight:750}.brand small{font-size:11px;padding:3px 6px;border:1px solid #ffffff55;border-radius:4px}.topbar nav{display:flex;gap:24px}.container{max-width:1280px;margin:28px auto;padding:0 20px}.page-head,.audit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-head h1,.audit-head h1{margin:0;font-size:30px}.page-head p,.audit-head p{margin:5px 0;color:var(--muted)}button,.button{display:inline-block;border:0;border-radius:7px;background:var(--brand);color:white;padding:10px 16px;font-weight:650;text-decoration:none;cursor:pointer}.panel,.question-card,.report{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px;box-shadow:0 3px 12px #19263b0a}.panel h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:6px;font-weight:650;font-size:14px}input,select,textarea{width:100%;padding:10px;border:1px solid #cbd2dc;border-radius:6px;background:white;font:inherit}textarea{resize:vertical}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}.stats{display:flex;gap:16px;margin-bottom:20px}.stats div{background:white;border:1px solid var(--line);padding:18px 25px;border-radius:9px;min-width:180px}.stats strong{display:block;font-size:30px}.stats span{color:var(--muted)}.audit-list{display:grid}.audit-list a{display:grid;grid-template-columns:1fr 2fr auto;gap:20px;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.audit-list span{color:var(--muted)}.audit-list em{font-style:normal;background:var(--soft);padding:3px 8px;border-radius:99px}.audit-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}.section-nav{position:sticky;top:20px;align-self:start;background:white;border:1px solid var(--line);border-radius:9px;padding:14px;display:grid;gap:3px;max-height:calc(100vh - 40px);overflow:auto}.section-nav strong{padding:8px}.section-nav a{padding:8px;border-radius:5px;color:var(--ink);text-decoration:none;font-size:14px}.section-nav a:hover{background:var(--soft)}.audit-section>h2{border-bottom:2px solid var(--brand);padding-bottom:8px}.question-group{margin-bottom:28px}.question-group>h3{color:var(--brand);margin:14px 0}.question-card{scroll-margin-top:20px}.question-id{font-size:12px;color:var(--brand);font-weight:800;letter-spacing:.06em}.question-card h4{font-size:18px;margin:5px 0 12px}.question-card details{background:#f7f9fb;padding:10px 12px;border-radius:6px;margin-bottom:14px}.answer-options{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.answer-options label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:8px 11px;font-weight:500}.answer-options input{width:auto}.evidence{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px}.evidence>a{font-size:14px}.evidence-form{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px}.save-state{font-size:13px;color:var(--muted);font-weight:500;white-space:nowrap}/* superseded by toasts */
.report{max-width:900px;margin:auto}.report-finding h3{font-size:16px;margin-bottom:5px}.empty{color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.evidence-form{grid-template-columns:1fr}.audit-list a{grid-template-columns:1fr}.stats{flex-wrap:wrap}.audit-head{flex-wrap:wrap;gap:12px}.head-actions{flex-wrap:wrap;gap:8px}}@media print{.topbar,.no-print,.container{margin:0;max-width:none}.report{box-shadow:none;border:0}.report-finding{break-inside:avoid}}

/* --- Added: comments prefill, clear answer, deletions, progress, report --- */
.muted{color:var(--muted)}
.hint{color:var(--muted);font-size:13px;font-weight:400;margin:8px 0 0}
.head-actions{display:flex;gap:10px;align-items:center}
.button-quiet{background:white;color:var(--brand);border:1px solid var(--line)}
.button-danger{background:#fff;color:#a3282d;border:1px solid #e3b6b8;padding:7px 12px;font-size:13px}
.button-danger:hover{background:#fdf3f3}
.link-danger{background:none;color:var(--muted);border:0;padding:0;font-size:13px;font-weight:500;text-decoration:underline;cursor:pointer}
.link-danger:hover{color:#a3282d}
.inline-form{display:inline}
.row-actions{white-space:nowrap;text-align:right}
.answer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.answer-row .answer-options{margin:12px 0}
.clear-answer{background:none;color:var(--muted);border:1px solid var(--line);padding:7px 11px;font-size:13px;font-weight:500}
.clear-answer:hover{background:var(--soft);color:var(--ink)}
.evidence-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}
.evidence-item small{color:var(--muted)}
.save-state.save-error{color:#a3282d}
.progress{margin-top:4px}
.progress-bar{height:8px;background:var(--soft);border-radius:99px;overflow:hidden}
.progress-bar span{display:block;height:100%;width:0;background:var(--brand);border-radius:99px;transition:width .2s ease}
.progress-label{margin:8px 0 0;color:var(--muted);font-size:13px}
.report-summary{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.report-summary div{flex:1;min-width:110px}
.report-summary strong{display:block;font-size:26px}
.report-summary span{color:var(--muted);font-size:14px}

.report-finding{border-left:var(--bar) solid transparent;padding:0 0 4px 14px;margin-bottom:22px}
.report-finding.polarity-negative{border-left-color:var(--bad)}
.report-finding.polarity-positive{border-left-color:var(--good)}
.report-finding.polarity-none{border-left-color:var(--line)}
.report-evidence{font-size:14px;margin-top:8px}
.report-evidence ul{margin:6px 0;padding-left:18px}
.report-evidence li{margin-bottom:8px}

/* Evidence photographs: never allow a full-size phone image to blow out the
   report. The generic rule is the safety net; the thumbnail rule is the intent. */
.evidence-thumb{display:inline-block;margin:8px 8px 0 0;line-height:0}
.evidence-thumb:hover img{border-color:var(--brand)}
@media print{
  .report-summary{break-inside:avoid}
    .report-evidence{break-inside:avoid}
}
.report-footer{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

/* --- Report layout: photographs, documents, guidance and display options --- */
.report-options{padding:16px 22px}
.report-options strong{display:block;margin-bottom:10px;font-size:14px}
.option-row{display:flex;gap:20px;flex-wrap:wrap}
.option{display:flex;align-items:center;gap:7px;font-weight:500;font-size:14px}
.option input{width:auto}

/* Photographs sit above the commentary, aligned to the left margin and
   wrapping onto further rows when there is more than one. */
.finding-photos{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin:10px 0 14px}
.finding-photos figure{margin:0}
.finding-photos figcaption{margin-top:5px;font-size:12px;color:var(--muted);max-width:220px}
.evidence-thumb:hover img{border-color:var(--brand)}

.finding-guidance{font-size:14px}
.finding-guidance strong{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.finding-guidance p{margin:0}
.finding-legislation{font-size:13px;color:var(--muted);margin:8px 0}

.document-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.document-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit;background:#fff;max-width:520px}
.document-card:hover{border-color:var(--brand);background:#fbfdfe}
.document-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.document-name{font-weight:650;font-size:14px;word-break:break-word}
.document-meta .muted{font-size:12px}
.file-icon{flex:0 0 auto;color:var(--muted)}
.file-icon-pdf{color:#b23b3b}
.file-icon-word{color:#2a5699}
.file-icon-excel{color:#1d6f42}

/* Display options, driven by the checkboxes above the report. */
.report:not(.show-guidance) .finding-guidance{display:none}
.report:not(.show-legislation) .finding-legislation{display:none}
.report:not(.show-photos) .finding-photos{display:none}

@media print{
  .report-options{display:none}
  .finding-photos{gap:8px}
  .document-card{break-inside:avoid}
}

/* Safety net for any image not covered by the thumbnail rule below. */
.report img{max-width:100%}

/* Uniform photograph thumbnails: a fixed box cropped to fill, so a portrait
   and a landscape photograph occupy the same footprint in the report. The
   full image is one click away. Swap cover for contain to letterbox instead. */
.evidence-thumb{display:block;line-height:0}
.evidence-thumb img{display:block;width:200px;height:150px;object-fit:cover;object-position:center;border:1px solid var(--line);border-radius:6px;background:#f4f6f9}
.finding-photos figcaption{max-width:200px}
.report-finding.polarity-partial{border-left-color:var(--fair)}

/* Compliance score */
.report-score{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}
.score-headline{text-align:center;min-width:150px;padding:6px 16px;border-radius:8px}
.score-headline strong{display:block;font-size:42px;line-height:1.1}
.score-headline span{font-size:13px;color:var(--muted)}
.score-good strong{color:var(--good)}
.score-fair strong{color:var(--fair)}
.score-poor strong{color:var(--bad)}
.score-none strong{color:var(--muted)}
.score-detail{flex:1;min-width:220px}
.score-detail p{margin:0;font-size:14px;color:var(--muted)}
.score-detail strong{color:var(--ink)}
td.score-good{color:var(--good);font-weight:700}
td.score-fair{color:var(--fair);font-weight:700}
td.score-poor{color:var(--bad);font-weight:700}
.section-scores{margin:18px 0;font-size:14px}
.section-scores th:not(:first-child),.section-scores td:not(:first-child){text-align:right;width:90px}

/* Partial answers are findings too, so they survive the findings-only view. */
.report.findings-only .report-finding:not(.polarity-negative):not(.polarity-partial){display:none}

@media print{
  .evidence-thumb img{width:150px;height:113px}
  .finding-photos figcaption{max-width:150px}
  .report-score,.section-scores{break-inside:avoid}
}

/* --- Audit details panel, report narrative sections, lightbox --- */
.audit-details{margin-bottom:18px}
.audit-details summary{cursor:pointer;font-weight:650;padding:4px 0}
.audit-details .form-grid{margin-top:14px}
.report-address{white-space:pre-line;color:var(--muted);margin:0 0 10px;font-size:14px}
.report-narrative{margin:22px 0;line-height:1.65}
.report-narrative h2{margin-bottom:8px}
.evidence-mini{display:inline-block;line-height:0;flex:0 0 auto}
.evidence-mini img{width:44px;height:44px;object-fit:cover;border:1px solid var(--line);border-radius:5px;background:#f4f6f9}
.evidence-mini:hover img{border-color:var(--brand)}
.evidence-item .file-icon{width:26px;height:26px;flex:0 0 auto}

.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(12,18,28,.92);display:flex;align-items:center;justify-content:center;gap:12px;padding:24px}
.lightbox[hidden]{display:none}
body.lightbox-open{overflow:hidden}
.lightbox-figure{margin:0;max-width:88vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox-figure img{max-width:88vw;max-height:78vh;object-fit:contain;border-radius:6px;background:#fff}
.lightbox-figure figcaption{color:#e8edf4;font-size:14px;text-align:center;max-width:60ch}
.lightbox button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:26px;line-height:1;cursor:pointer;flex:0 0 auto}
.lightbox button:hover{background:rgba(255,255,255,.24)}
.lightbox-close{position:absolute;top:18px;right:18px;font-size:30px}
.lightbox-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#9fb0c4;font-size:13px;margin:0}
@media (max-width:640px){
  .lightbox{padding:10px;gap:6px}
  .lightbox button{width:38px;height:38px;font-size:22px}
}
@media print{.lightbox{display:none}}

/* Workbook check results */
.check-result{margin-top:12px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}
.check-result strong{display:block;margin-bottom:6px}
.check-result p{margin:6px 0}
.check-result ul{margin:6px 0;padding-left:20px}
.check-good{border-color:#a9d6bd;background:#f5fbf7}
.check-warn{border-color:#e3cfa2;background:#fdfaf3}
.check-bad{border-color:#e3b6b8;background:#fdf3f3}
.check-table{width:100%;margin:10px 0;font-size:13px}
.check-table th,.check-table td{padding:4px 8px;text-align:left;border-bottom:1px solid var(--line)}
.check-table em{color:var(--muted)}
.progress-error{color:#a3282d;font-weight:600}
#checkButton{margin-left:8px}

/* --- Corrective actions, audit status, compact question IDs --- */
.question-id{display:inline-block;background:var(--soft);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.03em;padding:2px 7px;border-radius:4px;margin-right:9px;vertical-align:middle;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.question-card h4{display:block}

.status-pill{display:inline-flex;align-items:center;padding:8px 14px;border-radius:99px;font-size:13px;font-weight:650;letter-spacing:.02em;line-height:1;white-space:nowrap}
.status-open{background:#eaf3fb;color:#1f5f96}
.status-closed{background:#e9f4ee;color:#276b47}
.closed-banner{background:#f4f8f5;border:1px solid #b9dcc7;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;color:#276b47}

.actions-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.actions-block>strong{display:block;font-size:13px;margin-bottom:8px}
.action-row{background:var(--soft);border-radius:7px;padding:10px 12px;margin-bottom:8px}
.action-row textarea{width:100%;margin:6px 0}
.action-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.action-fields label{font-size:12px;font-weight:600;color:var(--muted);display:flex;flex-direction:column;gap:3px}
.action-fields input,.action-fields select{font-size:13px;padding:5px 7px}
.action-fields button{padding:7px 14px;font-size:13px}
.add-action summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--brand)}
.add-action .action-row{margin-top:8px}

.priority-flag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.priority-high{background:#fbe9ea;color:#a3282d}
.priority-medium{background:#fdf3e3;color:#8a5d10}
.priority-low{background:#eef2f7;color:#4a5b70}
.overdue-flag{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:4px;background:#a3282d;color:#fff;font-size:11px;font-weight:700}

.finding-actions{margin-top:10px;font-size:14px}
.finding-actions ul{margin:6px 0;padding-left:18px}
.finding-actions li{margin-bottom:6px}
.report:not(.show-actions) .finding-actions,.report:not(.show-actions) .action-plan{display:none}

.action-plan{margin-top:28px}
.action-table{width:100%;font-size:13px;margin-top:10px}
.action-table th,.action-table td{padding:7px 9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.action-table th{background:var(--soft);font-size:12px}
.action-table tr.row-overdue td{background:#fdf6f6}
@media print{
  .action-table{break-inside:auto}
  .action-table tr{break-inside:avoid}
  .closed-banner{display:none}
}

/* --- Toasts and confirmation dialog --- */
.toast-stack{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;flex-direction:column;gap:10px;max-width:min(420px,calc(100vw - 40px))}
.toast{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:8px;padding:12px 14px;box-shadow:0 6px 20px rgba(16,24,40,.16);font-size:14px;line-height:1.45;animation:toast-in .18s ease-out}
.toast-going{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.toast-success{border-left-color:var(--good,#2f8f5b)}
.toast-error{border-left-color:#c0474d;background:#fdf7f7}
.toast-close{background:none;border:0;color:var(--muted);font-size:20px;line-height:1;padding:0 2px;cursor:pointer;margin-left:auto}
.toast-close:hover{color:var(--ink)}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:640px){.toast-stack{left:12px;right:12px;bottom:12px;max-width:none}}

.modal{position:fixed;inset:0;z-index:1300;background:rgba(16,24,40,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
body.modal-open{overflow:hidden}
.modal-card{background:#fff;border-radius:12px;padding:24px;max-width:460px;width:100%;box-shadow:0 20px 50px rgba(16,24,40,.28);animation:modal-in .16s ease-out}
.modal-card p{margin:0 0 20px;font-size:15px;line-height:1.55}
.modal-buttons{display:flex;gap:10px;justify-content:flex-end}
@keyframes modal-in{from{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}

.upload-progress{margin-top:8px}
.upload-bar{height:6px;background:var(--soft);border-radius:99px;overflow:hidden}
.upload-bar span{display:block;height:100%;width:0;background:var(--brand);border-radius:99px;transition:width .2s ease}
.upload-progress small{display:block;margin-top:5px;color:var(--muted);font-size:12px}
@media print{.toast-stack,.modal{display:none}}

/* --- Auth / topbar user --- */
.topbar-user{display:flex;align-items:center;gap:10px;font-size:14px;color:#b8c9d8}
.topbar-user button{padding:6px 12px;font-size:13px;font-weight:600}
.flash{padding:12px 16px;border-radius:7px;margin-bottom:18px;font-size:14px}
.flash-success{background:#f0faf4;border:1px solid #a9d6bd;color:#276b47}
.flash-error{background:#fdf3f3;border:1px solid #e3b6b8;color:#a3282d}

/* --- Bottom tab bar (mobile only) --- */
.tab-bar{display:none}

@media(max-width:800px){
  /* Hide desktop nav; sign-out button stays in topbar */
  .topbar nav{display:none}
  .topbar-user span{display:none}

  /* Bottom tab bar */
  .tab-bar{
    display:flex;
    position:fixed;
    bottom:0;left:0;right:0;
    height:62px;
    background:var(--brand2);
    border-top:1px solid rgba(255,255,255,.12);
    z-index:300;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .tab-bar a{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:rgba(255,255,255,.55);
    text-decoration:none;
    font-size:10px;
    font-weight:600;
    letter-spacing:.03em;
    padding:6px 0 4px;
    transition:color .15s;
  }
  .tab-bar a svg{width:22px;height:22px;flex:0 0 auto}
  .tab-bar a:hover,.tab-bar a.tab-active{color:#fff}
  .tab-bar a.tab-active svg{stroke-width:2.5}

  /* Push page content above the tab bar */
  .container{padding-bottom:80px}

  /* Audit section nav: horizontal scrollable pill strip */
  .audit-layout{grid-template-columns:1fr}
  .section-nav{
    position:sticky;
    top:64px;
    flex-direction:row;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    gap:6px;
    padding:10px 16px;
    background:var(--bg);
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    max-height:none;
    z-index:100;
    margin-bottom:16px;
  }
  .section-nav::-webkit-scrollbar{display:none}
  .section-nav strong{display:none}
  .section-nav a{
    flex:0 0 auto;
    white-space:nowrap;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:99px;
    padding:6px 14px;
    font-size:13px;
    font-weight:500;
    color:var(--ink);
  }
  .section-nav a:hover{background:var(--soft);border-color:var(--brand)}
  .section-nav a.section-active{background:var(--brand);color:#fff;border-color:var(--brand)}
}

/* ============================================================
   Report presentation — cover, hierarchy and print behaviour
   ============================================================ */

.cover{margin-bottom:26px}
.cover-logo{max-height:64px;max-width:260px;margin-bottom:22px}
.cover-eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:650}
.report .cover h1{margin:0 0 4px;font-size:34px;line-height:1.15;letter-spacing:-.01em}
.cover-site{margin:0 0 4px;font-size:17px;color:var(--ink)}
.cover .report-address{margin:0 0 20px}

.cover-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cover-meta div{padding:11px 16px 11px 0;border-bottom:1px solid var(--line)}
.cover-meta div:nth-last-child(-n+2){border-bottom:0}
.cover-meta dt{margin:0 0 3px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:650}
.cover-meta dd{margin:0;font-size:15px;font-weight:600}

/* Section headings carry more weight than a finding heading. */
.report-section{margin-top:30px}
.report h2{font-size:20px;letter-spacing:-.01em;padding-bottom:7px;border-bottom:2px solid var(--brand);margin-bottom:16px}
.report-finding h3{font-size:15px;margin-bottom:8px;line-height:1.4}

/* Findings need air between them; the bar alone was doing all the work. */
.report-finding + .report-finding{border-top:1px solid #edf0f3;padding-top:16px}

.finding-answer{margin:8px 0 10px}
.answer-badge{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12.5px;font-weight:700;letter-spacing:.02em}
.answer-positive{background:#e8f4ec;color:#2b7a4b}
.answer-negative{background:#fbeaeb;color:#a3282d}
.answer-partial{background:#fbf2dd;color:#8a6410}
.answer-neutral{background:#eef2f7;color:#4a5b70}
.answer-none{background:#f2f4f7;color:#6b7684}

/* Guidance is reference material, not the finding. Quieten it. */
.finding-guidance{background:transparent;border-left:2px solid var(--line);border-radius:0;padding:2px 0 2px 12px;margin:10px 0}
.finding-guidance p{color:var(--muted)}

@media print{
  @page{size:A4 portrait;margin:16mm 14mm}

  /* 1. Cover page stands alone. */
  .cover{break-after:page;margin-bottom:0;padding-bottom:0}
  .cover-logo{max-height:56px}
  .report .cover h1{font-size:30pt;margin-top:12mm}
  .cover-meta{margin-top:26mm}

  /* 2. Introduction / executive summary flow together on their own page(s),
        then a hard break before the audit findings begin. */
  .report-narrative{break-inside:avoid-page}
  .report-narrative h2{break-after:avoid;page-break-after:avoid}
  .report-section:first-of-type{break-before:page;page-break-before:always}

  /* 3. Section headings must never be left stranded at the bottom of a page. */
  .report-section h2{break-after:avoid;page-break-after:avoid}
  .report-section h2 + .report-finding{break-before:avoid;page-break-before:avoid}

  /* 4. Each finding is kept together; thin rule separates consecutive ones. */
  .report-finding{break-inside:avoid;page-break-inside:avoid}
  .finding-guidance{break-inside:avoid}
  .report-finding + .report-finding{border-top:1px solid #e3e7eb}

  /* 5. Action plan always starts on a fresh page. */
  .action-plan{break-before:page;page-break-before:always}

  .answer-badge{border:1px solid currentColor;background:transparent !important}
  .report h2{border-bottom-width:1.5px}
}
