body{font-size:15px}header{padding:14px 24px;min-height:64px;gap:16px}header .identity{font-size:16px;display:block}header .identity span{font-size:12px;color:var(--muted);margin-left:16px}header button{font-size:13px;padding:7px 12px}main,body:has(.company-map) main{padding:0 18px 18px;max-width:none;min-height:0}.company-map{display:grid;grid-template-columns:minmax(0,1fr) 350px;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100dvh - 82px);min-height:600px}.map-toolbar{grid-column:1/-1;padding:10px 15px}.map-stage,body:has(.company-map) .map-stage{grid-column:1;grid-row:2;height:100%;max-height:none;min-height:0}.map-caption{grid-column:1/-1;padding:10px 16px;font-size:11px;border-top:1px solid var(--line)}.interview-notes{grid-column:2;grid-row:2;border-left:1px solid var(--line);overflow:auto;padding:18px;background:#202925}.notes-heading h1{font:25px var(--font);margin:0 0 6px}.notes-heading span{font-size:11px;color:var(--green)}.map-detail{border:0;padding:20px 0 14px}.map-detail h3{font-size:17px}.map-detail p{font-size:13px;line-height:1.5}.map-detail .area-boundary{font-size:12px}.note-editor{display:flex;flex-wrap:wrap;gap:12px 22px}.check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}input[type=checkbox]{width:18px;height:18px;accent-color:#79d4b0;margin:0;cursor:pointer}label[for=area-note],label[for=general-note]{display:block;flex-basis:100%;font-size:13px;color:var(--muted)}textarea{display:block;width:100%;resize:vertical;min-height:125px;padding:12px;font:15px/1.5 'Segoe UI',sans-serif;border:1px solid #617167;border-radius:5px;background:#151d19;color:var(--paper)}textarea::placeholder{color:#98a99e}.interview-notes details{margin-top:18px;padding:12px 0}.interview-notes summary{font-size:13px}.session-notes label{margin:12px 0 8px}.coverage summary{display:flex;justify-content:space-between;gap:12px}.topic-row{display:flex;align-items:center;gap:8px;padding-top:6px}.topic-row button{text-align:left;border:0;padding:6px;font-size:12px;line-height:1.3}.topic-row button:hover{background:#35463d;color:var(--paper)}.note-actions{margin-top:20px}.note-actions button{font-size:13px;padding:8px 12px}.note-actions details button{margin:12px 0}.import-label{display:block;font-size:12px;margin-bottom:8px}input[type=file]{font-size:12px;max-width:100%}.storage-note{font-size:11px;color:var(--muted);margin:14px 0 0}.map-canvas .node.discussed rect{stroke:#80e7b6!important;stroke-width:3px!important}.map-canvas .discussion-mark{fill:#aaffcb;pointer-events:none}.map-canvas .node.needs-followup rect{stroke-dasharray:4 3}.notes-hidden{grid-template-columns:1fr}.notes-hidden .interview-notes{display:none}.company-map.map-expanded{display:grid;height:auto;min-height:0}.map-expanded .map-detail{max-height:none;overflow:visible}.map-expanded .map-caption{padding-top:10px}.map-expanded .map-stage,body:has(.company-map) .map-expanded .map-stage{min-height:0;height:100%}.map-stage:focus-visible{outline-offset:-3px}@media(max-width:1000px){.company-map{grid-template-columns:minmax(0,1fr) 300px}.map-toolbar{gap:9px}.map-legend{font-size:11px}}@media(max-width:700px){header .identity span{display:block;margin:3px 0 0}header{padding:12px 16px}main,body:has(.company-map) main{padding:0 8px 12px}.company-map{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto 60dvh auto auto}.interview-notes{grid-column:1;grid-row:3;border-left:0;border-top:1px solid var(--line);max-height:none}.map-caption{grid-row:4}.map-toolbar{padding:10px}.company-map.map-expanded{grid-template-rows:auto minmax(160px,1fr) minmax(100px,35dvh) auto}.map-expanded .interview-notes{overflow:auto}.notes-hidden{grid-template-rows:auto 75dvh auto}.notes-hidden .map-caption{grid-row:3}.map-expanded.notes-hidden{grid-template-rows:auto 1fr auto}.map-controls{gap:6px}.map-controls button{font-size:12px;padding:5px 9px}}@media print{header,.map-toolbar,.map-stage,.map-caption,.note-actions{display:none!important}.company-map{display:block;height:auto}.interview-notes{display:block!important;border:0;overflow:visible;background:white;color:black}}
