/* Люстра09: выбранные круглые люстры + светлая карточка с тёмным действием. */
:root{--ink:#203640;--amber:#edb64a;--line:#e7eaee;color:#101828;background:#f5f6f8}
.primary{background:#203640;color:#fff;border-radius:13px;font-weight:650;box-shadow:none}
.primary:hover{background:#294652}.secondary,.negative{background:#eef0f3;border:0;color:#17232e;border-radius:13px}
.secondary:hover,.negative:hover{background:#e5e9ee}.muted,.fine{color:#7a8491}
.panel,.panel-open .panel,.report-sheet .panel{background:#fff;border-color:#e8ebef;border-radius:24px 24px 0 0;box-shadow:0 -5px 28px #182d4014}
.panel-open .panel{padding-top:24px}.report-sheet .panel{padding:22px 18px 12px}
.sheet-handle{top:8px;width:34px;height:4px;border-radius:4px;background:#c5cbd2}
.sheet-close,.report-sheet .sheet-close{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;background:#f1f3f5;color:#65717c;border-radius:50%;border:0}
.panel>.sheet-close{position:absolute;right:12px;top:12px;margin:0;float:none}
.sheet-close .close-icon{display:block;width:22px;height:22px;pointer-events:none}
.real-map .report-pin{position:relative;display:block;background:transparent;border:0;border-radius:50%;box-shadow:none;color:#fff;opacity:1;outline:0}
.real-map .report-pin.selected{outline:0}
.marker-face{display:grid;place-items:center;width:100%;height:100%;border:var(--marker-border-size,3px) solid #fff;border-radius:50%;background:var(--pin-color);color:#fff;opacity:var(--pin-opacity,1);box-shadow:0 2px 7px #2437462b}
.marker-face .siren-icon{display:block;width:var(--marker-symbol-size,28px);height:var(--marker-symbol-size,28px);stroke-width:2}
.report-pin.selected .marker-face{box-shadow:0 0 0 3px #fff,0 0 0 7px #fbd6d9,0 2px 8px #24374620}
.report-pin.pending.selected .marker-face{box-shadow:0 0 0 3px #fff,0 0 0 7px #fae9bc,0 2px 8px #24374620}
.report-pin.disputed.selected .marker-face{box-shadow:0 0 0 3px #fff,0 0 0 7px #efdecd,0 2px 8px #24374620}
.real-map .report-pin small.report-age{position:absolute;top:calc(var(--marker-size,44px) + 6px);left:50%;transform:translateX(-50%);max-width:150px;white-space:nowrap;margin:0;padding:3px 7px;border:1px solid #e7eaee;border-radius:8px;background:#fff;color:#23333f;box-shadow:0 2px 5px #24374612;font-size:11px;font-weight:650;line-height:1.25}
.real-map .report-pin.pending small.report-age{background:#fff7e5;border-color:#f3dfae;color:#7c5819}
.real-map .report-pin.disputed small.report-age{background:#f8f1e9;border-color:#e8daca;color:#825a35}
.real-map .draft-pin{display:grid!important;place-items:center;width:32px;height:32px;border:2px solid #fff;border-radius:50%;background:#fff;color:#2878d7;box-shadow:0 0 0 5px #2878d722,0 2px 8px #24374626}
.draft-pin .pin-icon{display:block;width:22px;height:22px}
.report-card .tag{min-height:25px;margin:0 48px 0 0;padding:5px 9px;border:0;border-radius:9px;font-size:12px;font-weight:500;line-height:1.3}
.report-card .tag.confirmed{background:#ffebed;color:#cf353d}.report-card .tag.pending{background:#fff3d8;color:#87611e}
.report-card .tag.disputed{background:#f9eee2;color:#97632d}.report-card .tag.aged,.report-card .tag.expired,.report-card .tag.closed{background:#eef0f3;color:#687480}
.report-card .tag i{width:6px;height:6px}
.report-card h2{margin:9px 48px 5px 0;font-size:24px;font-weight:750;letter-spacing:-.65px;line-height:1.2}
.report-card .report-place{margin:0 0 11px;font-size:13px;line-height:1.4;color:#7a8491}
.report-card .freshness-label{margin:0 0 15px;padding:0;border:0;background:none;color:#23333f;font-size:15px;font-weight:600;line-height:1.4}
.report-card .vote-actions{display:flex;gap:8px}
.report-card .vote-actions button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;min-height:50px;padding:12px 8px;border-radius:13px;font-size:16px;font-weight:600;line-height:1.3}
.report-card .vote-actions .check-icon{display:block;flex:none;width:22px;height:22px}
.report-card .vote-actions .negative{background:#eef0f3;color:#17232e}
.report-card .report-more{margin:8px 0 0;border:0}
.report-more>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;margin:0;padding:3px 0;list-style:none;color:#89929e;font-size:11px;line-height:1.4}
.report-more>summary::-webkit-details-marker{display:none}.report-more-link{flex:none;color:#6e7c89;text-decoration:underline;text-underline-offset:3px}
.report-more-body{padding-top:8px;border-top:1px solid #e7eaee}
.report-card .report-more .detail-metrics{margin-bottom:10px}.report-card .report-more .detail-metrics span{font-size:13px}
.report-card .own-report-note{font-size:12px;margin:0 0 8px}.report-card .secondary.full{min-height:48px;margin-top:0}
.report-card .success{margin:0;padding:12px;background:#edf6f1;border-color:#dcece2;color:#387252}
.add-sheet .panel{padding-top:10px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.comment-heading label{color:#17232e}.add-sheet #comment{border-color:#e0e5eb;border-radius:13px;color:#17232e}
.add-sheet #comment:focus{border-color:#8f9fae;outline:2px solid #20364014;outline-offset:0}
.add-sheet [data-action="publish"]{border-radius:13px}
.row-icon{border-radius:50%;background:#fff3d8;color:var(--pin-color)}.row-icon.confirmed{background:#ffebed;color:var(--pin-color)}
.row-icon svg{display:block;width:21px;height:21px}.row-copy strong{font-weight:600}.help-item p{color:#71808b}
#welcome{background:#fff;color:#101828}.intro-number{background:#eef1f4;color:#435867}.intro-item>p{color:#4e606d}
#welcome .intro-demo{color:#8a939d}
.real-map .district-button{background:#fffffff5;border-color:#e8ebef;color:#263a48;box-shadow:0 2px 10px #1d354416}
.real-map .map-tools button,.real-map .leaflet-control-zoom.leaflet-bar a{border-color:#e8ebef;color:#263a48;box-shadow:0 3px 12px #1d35441c}
.real-map .map-tools .located{color:#2878c8}.real-map .map-tools .locating{color:#92702d}
.real-map .map-tools{bottom:calc(28px + var(--sheet-clearance,0px) + env(safe-area-inset-bottom,0px))}
.real-map .leaflet-top.leaflet-right{bottom:calc(156px + var(--sheet-clearance,0px) + env(safe-area-inset-bottom,0px))}
.map-context-popup .leaflet-popup-content-wrapper{border-radius:18px;background:#fff;box-shadow:0 5px 24px #20364024}
.map-context-menu .primary,.map-context-menu .secondary{border-radius:12px}
@media(min-width:761px){.report-sheet .panel{border-radius:24px;bottom:18px}}
@media(max-width:760px){.report-sheet .panel{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
/* Compact rhythm from the selected first sheet; retain comfortable touch targets. */
.report-sheet .panel{padding:18px 18px 8px}
.report-card .tag{min-height:22px;padding:4px 8px;line-height:1.2}
.report-card h2{margin:7px 48px 4px 0;font-size:23px;line-height:1.15}
.report-card .report-place{margin-bottom:8px;line-height:1.3}
.report-card .freshness-label{margin-bottom:12px;line-height:1.3}
.report-card .vote-actions button{min-height:48px}
.report-card .report-more{margin-top:6px}.report-more>summary{min-height:28px}
.marker-face .siren-art{display:block;width:var(--marker-symbol-size,28px);height:var(--marker-symbol-size,28px);object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.real-map .report-pin.pending small.report-age,.real-map .report-pin.disputed small.report-age{background:#fff;border-color:#e7eaee;color:#23333f}
@media(max-width:760px){.report-sheet .panel{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}
/* Exact reference glyph is a real raster asset; black drops out through screen blending. */
.marker-face{position:relative;overflow:hidden;isolation:isolate}
.marker-face .siren-art{position:absolute;left:50%;top:50%;width:calc(var(--marker-size,44px) * 1.2);height:calc(var(--marker-size,44px) * 1.2);max-width:none;transform:translate(-50%,-50%);mix-blend-mode:screen}
.report-pin.selected .marker-face{box-shadow:0 0 0 calc(var(--marker-size,44px) * .068) #fff,0 0 0 calc(var(--marker-size,44px) * .159) #fbd6d9,0 2px 8px #24374620}
.report-pin.pending.selected .marker-face{box-shadow:0 0 0 calc(var(--marker-size,44px) * .068) #fff,0 0 0 calc(var(--marker-size,44px) * .159) #fae9bc,0 2px 8px #24374620}
.report-pin.disputed.selected .marker-face{box-shadow:0 0 0 calc(var(--marker-size,44px) * .068) #fff,0 0 0 calc(var(--marker-size,44px) * .159) #efdecd,0 2px 8px #24374620}
.map-cluster-wrapper{display:grid!important;place-items:center;background:transparent;border:0}
.map-cluster{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border:1px solid #dce2e8;border-radius:14px;background:#fff;color:#23333f;font-size:12px;font-weight:700;line-height:1;box-shadow:0 2px 8px #23333f26}
.map-cluster.selected{border-color:#ee4b55;box-shadow:0 0 0 3px #fbd6d9,0 2px 8px #23333f20}

/* Pending needs a check: keep its cue distinct from stale confirmed sightings. */
.real-map .report-pin.pending small.report-age{background:#fff0c2;border:1px solid #dc960f;color:#703f00;font-weight:750;box-shadow:0 2px 6px #593d202b}
.report-pin.pending:not(.selected) .marker-face{box-shadow:0 0 0 calc(var(--marker-size,44px) * .045) #fff,0 0 0 calc(var(--marker-size,44px) * .09) #f0a41880,0 2px 7px #2437462b}

/* One flat list of places: no nested district selection or tiny native select. */
#place-picker:not([open]){display:none}
#place-picker{position:fixed;inset:12px;margin:auto;z-index:1200;width:min(440px,calc(100% - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;border:1px solid #e8ebef;border-radius:24px;background:#fff;color:#17232e;box-shadow:0 12px 48px #172c3c35;overflow:auto;overscroll-behavior:contain}
#place-picker::backdrop{background:#172c3c70}
.place-picker-content{padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px))}
.place-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.place-picker-heading h2{margin:0;font-size:24px;letter-spacing:-.5px;line-height:1.2}
.place-picker-close{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#f1f3f5;color:#65717c;font-size:28px;line-height:1}
#place-picker-message{margin:10px 0 16px;color:#65717c;font-size:14px;line-height:1.45}
.place-options{list-style:none;margin:0;padding:0}
.place-options li+li{border-top:1px solid #edf0f3}
.place-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:12px;border-radius:10px;background:#fff;color:#23333f;text-align:left;font-size:16px;line-height:1.35}
.place-options button:hover{background:#f5f7f9}.place-options button[aria-pressed=true]{background:#eef3f6;color:#203640;font-weight:650}
.place-check{flex:none;color:#315a6e;font-size:18px}
@media(max-width:360px){.place-picker-content{padding-left:12px;padding-right:12px}.place-picker-heading h2{font-size:22px}.place-options button{padding-left:10px;padding-right:10px}}
