.audit-fields,.budget-row{border:1px solid #c8d9d1;border-radius:14px;padding:22px;margin:24px 0}.audit-fields legend,.budget-row legend{font-weight:700;padding:0 8px}.budget-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#f5f8f6}.budget-row label{margin:0}.budget-row button{align-self:end}.audit-fields p{line-height:1.6;color:#355b4b}.dossier-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px max(20px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid #d9e5df;position:sticky;top:0;z-index:5}.dossier-nav .exports{display:flex;flex-wrap:wrap;gap:8px}.dossier-nav a.button,.dossier-nav a.button:visited{background:#173e30!important;color:#fff!important;text-decoration:none!important;padding:10px 18px;border-radius:9px;font-size:14px;font-weight:650}.dossier{max-width:980px;margin:32px auto;background:white;padding:clamp(22px,5vw,64px);border:1px solid #dae5e0;border-radius:20px;box-shadow:0 12px 40px #143a2710;color:#183e30;line-height:1.75}.dossier h1{font-size:clamp(28px,4vw,48px);line-height:1.2}.dossier h2{font-size:clamp(22px,3vw,30px);margin:48px 0 20px;padding-top:24px;border-top:1px solid #d7e4dd;line-height:1.35}.dossier h3{font-size:18px;margin:25px 0 10px}.dossier p{overflow-wrap:anywhere;white-space:pre-line}.dossier .report-table{overflow-x:auto;margin:20px 0}.dossier table{width:100%;border-collapse:collapse;font-size:14px}.dossier th{background:#183e30!important;color:#fff!important;text-align:left}.dossier td,.dossier th{padding:12px;border:1px solid #d9e5df;vertical-align:top}.dossier tbody tr:nth-child(even){background:#f1f6f3}.dossier details{background:#f2f7f4;padding:20px;border-radius:12px}.dossier details a{color:#16694b}.dossier .sample-note{background:#eef5dc;border-left:3px solid #8bb531;padding:14px}.dossier li{overflow-wrap:anywhere}.dossier-body{background:#f3f6f4;margin:0}.dossier blockquote{margin:12px 0 12px 20px;border-left:2px solid #b8d3c5;padding-left:14px}.dossier-nav .brand{font-size:20px}.dossier-nav .exports a{white-space:nowrap}@media(max-width:640px){.budget-row{grid-template-columns:1fr}.dossier-nav{padding:12px;align-items:flex-start}.dossier-nav .exports{justify-content:flex-end}.dossier{margin:12px 8px;padding:20px 16px;border-radius:12px}.dossier td,.dossier th{padding:8px;min-width:75px}.dossier-nav a.button{padding:8px 12px}.audit-fields{padding:15px}}@media print{.dossier-nav{display:none}.dossier{margin:0;border:0;box-shadow:none}.dossier h2{break-after:avoid}.dossier-body{background:white}}
.audit-fields,.budget-row{min-width:0;max-width:100%;box-sizing:border-box}.audit-fields select{display:block;width:100%;max-width:100%;min-height:48px;padding:12px;border:1px solid #c8d9d1;border-radius:10px;background:#fff;color:#16382f;font:inherit;margin-top:8px;box-sizing:border-box}.audit-fields label,.budget-row label,.audit-fields .field-grid{min-width:0}.audit-fields input,.audit-fields textarea{max-width:100%;box-sizing:border-box}.audit-fields legend{max-width:100%;white-space:normal;line-height:1.5}.service-form input[type=number]{min-width:0}
.service-form h1{font-size:clamp(28px,4vw,42px);line-height:1.18}
.dossier-nav .brand,.dossier-nav .brand:visited{color:#173e30;text-decoration:none;font-weight:800}
.uploads{border:1px solid #c8d9d1;border-radius:14px;padding:22px;margin:24px 0;background:#f7fbf8}
.uploads h2{font-size:22px;line-height:1.3;margin:0 0 8px}
.uploads p{line-height:1.6;color:#355b4b;margin:8px 0}
.upload-cat{border-top:1px solid #d7e4dd;padding:16px 0}
.upload-cat-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.upload-badge{font-size:12px;font-weight:700;color:#173e30;background:#e5f2ea;border-radius:999px;padding:4px 10px;white-space:nowrap}
.upload-badge.optional{background:#eef1f0;color:#4d6158}
.upload-files{list-style:none;padding:0;margin:10px 0}
.upload-files li{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0}
.upload-files a{color:#16694b;overflow-wrap:anywhere}
.upload-cat input[type=file]{display:block;max-width:100%;margin-top:8px}
#uploadError{color:#8d2b2b;font-weight:650}
#uploadHint{margin-top:12px}
@media(max-width:640px){.uploads{padding:15px}.upload-cat-head,.upload-files li{flex-direction:column;align-items:flex-start}}
