:root{--ink:#13231d;--muted:#637069;--bg:#f5f7f5;--card:#fff;--green:#12372a;--green2:#1c5a42;--line:#dce4df;--soft:#eaf3ee;--warn:#fff4d8;--danger:#8a2f2f;--radius:18px;--shadow:0 10px 30px rgba(18,55,42,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}.topbar{position:sticky;top:0;z-index:20;background:rgba(245,247,245,.94);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;text-align:left}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--green);color:white;display:grid;place-items:center;font-weight:800}.brand small{display:block;color:var(--muted);font-size:11px}.quiet-status{font-size:12px;color:var(--green);background:var(--soft);padding:7px 10px;border-radius:999px}.shell{max-width:920px;margin:0 auto;padding:22px 16px 100px}.hero{padding:26px;border-radius:24px;background:linear-gradient(135deg,#12372a,#245c47);color:white;box-shadow:var(--shadow)}.hero h1{font-size:clamp(28px,5vw,48px);line-height:1.05;margin:0 0 12px}.hero p{max-width:650px;margin:0;opacity:.9}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 18px rgba(18,55,42,.04)}.card h2,.card h3{margin:0 0 8px}.card p{margin:6px 0;color:var(--muted)}.btn{appearance:none;border:0;border-radius:14px;padding:13px 16px;font-weight:700;font-size:15px;cursor:pointer;background:var(--green);color:white}.btn:hover{background:var(--green2)}.btn.secondary{background:white;color:var(--green);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--green)}.btn.danger{background:#8a2f2f}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.field{margin:14px 0}.field label{display:block;font-weight:700;margin-bottom:6px}.field small{display:block;color:var(--muted);margin-top:4px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #cfdad3;border-radius:13px;background:white;font:inherit;color:inherit}.field textarea{min-height:90px;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:white;cursor:pointer}.choice input{margin-top:4px}.progress{height:10px;border-radius:999px;background:#e0e6e2;overflow:hidden}.progress>span{display:block;height:100%;background:var(--green2);transition:width .2s}.step-note{background:var(--soft);border-radius:14px;padding:12px 14px;color:#254938}.warning{background:var(--warn);border-radius:14px;padding:12px 14px}.error{background:#fae7e7;color:var(--danger);border-radius:14px;padding:12px 14px}.ok{background:var(--soft);color:var(--green);border-radius:14px;padding:12px 14px}.pill{display:inline-block;border-radius:999px;background:var(--soft);color:var(--green);padding:5px 9px;font-size:12px;font-weight:700}.room-row,.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.room-row:last-child,.file-row:last-child{border:0}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}.media-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.media-card img,.media-card video{display:block;width:100%;height:120px;object-fit:cover;background:#dde5e0}.media-card div{padding:8px;font-size:12px}.capture-box{border:2px dashed #b9c9bf;border-radius:18px;padding:18px;text-align:center;background:#fbfcfb}.question-title{font-size:26px;margin:5px 0}.question-instruction{font-size:17px;color:#40524a}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.bottom-nav button{border:0;background:none;padding:10px 4px;color:#52635a;font-weight:650}.bottom-nav button.active{color:var(--green)}.modal{border:0;border-radius:18px;max-width:560px;width:calc(100% - 28px);box-shadow:0 20px 80px rgba(0,0,0,.25)}.modal::backdrop{background:rgba(0,0,0,.36)}.modal-body{padding:8px 2px 18px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:#f0f3f1;border-radius:12px;padding:11px}.report{background:white;padding:26px;border:1px solid var(--line);border-radius:18px}.report h1{margin-top:0}.report-section{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.tiny{font-size:12px;color:var(--muted)}
.report-room,.report-observation{break-inside:avoid-page;margin-top:18px}.report-room>h3{margin-bottom:4px}.report-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:12px 0 18px}.report-photo{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;break-inside:avoid-page}.report-photo-canvas{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#eef2ef}.report-photo figcaption{padding:10px 12px}.report-photo-missing{min-height:150px;display:grid;place-items:center;padding:18px;text-align:center;background:#f4f5f4;color:var(--muted)}.report-photo-error{border-color:#e2b8b8}.report-question-evidence{margin-top:8px}
@media(max-width:600px){.quiet-status{max-width:150px;text-align:right;background:none;padding:0}.shell{padding-top:14px}.hero{padding:20px}.question-title{font-size:22px}.bottom-nav button{font-size:12px}}@media print{.topbar,.bottom-nav,.no-print{display:none!important}.shell{max-width:none;padding:0}.report{border:0;box-shadow:none}.report-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-photo,.report-room,.report-observation{break-inside:avoid-page;page-break-inside:avoid}.report-photo-canvas{max-height:320px}}

/* Central A3-derived media review/markup layer. Evidence originals are never painted back. */
.media-open-card{appearance:none;padding:0;text-align:left;color:inherit;cursor:pointer;width:100%}.media-open-card canvas{display:block;width:100%;height:120px;object-fit:cover;background:#dde5e0}.media-open-card.has-markup{box-shadow:0 0 0 2px #1c5a42 inset}.media-open-card.has-markup div strong::after{content:' · gemarkeerd';color:var(--green)}.video-placeholder,.media-preview-error{height:120px;display:grid;place-items:center;padding:12px;background:#e8eeea;color:var(--muted);text-align:center}.media-editor{max-width:min(980px,calc(100vw - 24px));width:min(980px,calc(100vw - 24px));padding:14px}.review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-head h3{margin:0}.markup-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.markup-tools .btn{padding:9px 12px;font-size:13px}.markup-tools .btn.active{background:var(--green);color:white}.markup-stage{background:#17201c;border-radius:14px;overflow:auto;max-height:68vh;display:grid;place-items:center;touch-action:none}.markup-stage canvas{display:block;max-width:100%;height:auto;touch-action:none;cursor:crosshair}.review-video{display:block;width:100%;max-height:70vh;background:#111;border-radius:14px}.markup-text-wrap{max-width:520px}@media(max-width:600px){.media-editor{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:8px}.review-head{display:block}.markup-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.markup-tools .btn{width:100%}.markup-stage{max-height:62vh}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-open-card canvas,.video-placeholder,.media-preview-error{height:108px}}
.evidence-row{flex-wrap:wrap}.evidence-row>.media-preview-grid{flex:1 0 100%;width:100%;margin-top:4px}.error-text{color:var(--danger)!important}

/* Home floorplan: uploaded image + detached normalized photo markers only. */
.floorplan-stage,.report-floorplan-stage{position:relative;margin:14px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#eef2ef}.floorplan-stage canvas,.report-floorplan-stage canvas{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;touch-action:manipulation}.floorplan-marker-list{margin-top:12px}.report-floorplan-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 14px}.report-floorplan-legend p{margin:4px 0;break-inside:avoid}


/* Secure address provider: manual local input is default; external lookup is explicit opt-in. */
.address-provider-box{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfb}.address-results{display:grid;gap:6px;margin-top:8px}.address-result{appearance:none;width:100%;text-align:left;border:1px solid var(--line);background:white;color:var(--ink);padding:11px 12px;border-radius:11px;font:inherit;cursor:pointer}.address-result:hover,.address-result:focus{border-color:#8da99a;outline:2px solid rgba(28,90,66,.12)}#addressInput.provider-selected{border-color:var(--green2);box-shadow:0 0 0 2px rgba(28,90,66,.12)}
