:root{--navy:#0e2238;--navy-raised:#1a3552;--blue:#2f7de1;--navy-text:#b4c2d3;--bg:#f4f6f9;--panel:#fff;--text:#14202e;--muted:#5b6b7c;--border:#d6dde6;--map:#dfe8f1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#11181f;--panel:#1b242d;--text:#e6edf3;--muted:#93a1b0;--border:#2c3946;--map:#16303f}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.4 system-ui,sans-serif}button{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--blue);border-color:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.muted{color:var(--muted)}.centered{text-align:center;place-content:center;justify-items:center;gap:12px;height:100%;display:grid}.shell{height:100%;display:flex}.shell.narrow{flex-direction:column}.sidebar{background:var(--navy);width:216px;color:var(--navy-text);flex-direction:column;flex:none;display:flex}.narrow .sidebar{width:auto}.brand{border-bottom:1px solid var(--navy-raised);gap:4px;padding:16px;display:grid}.brand strong{color:#fff;font-size:16px}.user{font-size:12px}.dev-badge{background:var(--navy-raised);color:#fff;border-radius:4px;justify-self:start;padding:2px 6px;font-size:11px}.nav{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.narrow .nav{flex-direction:row;overflow-x:auto}.nav-spacer{flex:1}.nav-item{color:var(--navy-text);border-radius:6px;padding:8px 12px;text-decoration:none}.nav-item:hover{background:var(--navy-raised)}.nav-item[aria-current=page]{background:var(--blue);color:#fff}.main{flex-direction:column;flex:1;min-width:0;display:flex}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;height:56px;padding:0 16px;display:flex}.search{border:1px solid var(--border);background:var(--bg);width:360px;max-width:40%;color:var(--text);border-radius:6px;padding:6px 10px}.grow{flex:1}.work{flex:1;min-height:0;display:flex}.center{flex-direction:column;flex:1;min-width:0;display:flex}.map{background:var(--map);text-align:center;flex:1;place-content:center;min-height:0;padding:16px;display:grid}.list-wrap{flex:none;min-height:0;overflow:auto}.details-wrap{flex:none;overflow:auto}.panel{background:var(--panel);height:100%;padding:12px 16px;overflow:auto}.panel.fill{flex:1}.panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel h2{margin:0;font-size:15px}.splitter{background:var(--border);flex:none}.splitter.horizontal{cursor:row-resize;height:6px}.splitter.vertical{cursor:col-resize;width:6px}.splitter:hover,.splitter:focus-visible{background:var(--blue)}.statusbar{background:var(--panel);border-top:1px solid var(--border);flex:none;align-items:center;height:32px;padding:0 16px;display:flex}.overlay{background:#00000073;place-content:center;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border-radius:8px;max-width:480px;padding:20px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.count{opacity:.75}.rows{margin:8px 0 0;padding:0;list-style:none}.row{color:inherit;border-radius:6px;justify-content:space-between;gap:12px;padding:8px 10px;text-decoration:none;display:flex}.row:hover{background:var(--bg)}.row[aria-current=true]{background:var(--bg);box-shadow:inset 3px 0 var(--blue)}.row-title{font-weight:600}.fields{gap:8px;margin:8px 0 0;display:grid}.fields dt{font-size:12px}.fields dd{margin:0}.map{padding:0;display:block;position:relative}.map-canvas,.map-canvas.maplibregl-map{position:absolute;inset:0}.cluster{color:#fff;cursor:pointer;border:3px solid #fff;border-radius:50%;width:36px;height:36px;padding:0;font-weight:700}.toolbar button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.filters-panel{border-bottom:1px solid var(--border,#c8d0da);flex-direction:column;gap:8px;padding:12px;display:flex}.filters-panel fieldset{border:0;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;display:flex}.filters-panel .actions{gap:8px;display:flex}.filters-panel .error{color:#c62828;margin:0}.evidence-section ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.evidence-thumb{border:1px solid var(--border,#c8d0da);cursor:zoom-in;background:0 0;margin-top:6px;padding:0;display:block}.evidence-thumb img{max-width:100%;max-height:160px;display:block}.evidence-viewer{z-index:50;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.evidence-viewer img{max-width:92vw;max-height:84vh}.report-card{z-index:40;background:var(--panel-bg,#1b2330);border:1px solid var(--border,#3a4658);border-radius:8px;flex-direction:column;width:min(380px,100vw - 16px);max-height:calc(100vh - 96px);display:flex;position:fixed;top:72px;right:24px;box-shadow:0 8px 28px #0006}.report-head{cursor:move;touch-action:none;border-bottom:1px solid var(--border,#3a4658);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.report-head h3{margin:0;font-size:15px}.report-body{flex-direction:column;gap:8px;padding:12px;display:flex;overflow:hidden auto}.report-body label{flex-direction:column;gap:2px;font-size:12px;display:flex}.report-coords{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.report-coords label{flex:120px;min-width:0}.report-coords button{flex:100%}.report-foot{border-top:1px solid var(--border,#3a4658);justify-content:flex-end;gap:8px;padding:8px 12px;display:flex}.report-card .error{color:#ef5350;margin:0}.notice{z-index:60;background:#5a3b12;border:1px solid #c58a2b;border-radius:6px;align-items:center;gap:12px;padding:8px 12px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.notes{flex-direction:column;gap:10px;margin:8px 0;padding:0;list-style:none;display:flex}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.note-form{flex-direction:column;gap:6px;margin:8px 0;display:flex}.note-form label{flex-direction:column;gap:2px;font-size:12px;display:flex}.note-form .actions{gap:8px;display:flex}.note-form .error{color:#ef5350;margin:0}.archive-section{margin-top:12px}.archive-section .actions{gap:8px;display:flex}
