:root{--sky:#bce5f4;--yellow:#ffdb34;--ink:#132230;--paper:#f6fafb;--line:#dbe4e8;font-family:'DM Sans',sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #056699;outline-offset:4px}header{height:88px;padding:0 4%;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{font-size:34px;letter-spacing:-2px;font-weight:700;color:var(--ink);text-decoration:none}.brand span{color:#176a8a}.brand i{font-style:normal;color:#176a8a;display:inline-block;margin-left:7px;font-size:28px}.header-label{font-size:13px;font-weight:700;letter-spacing:1.8px}.preview{font-size:12px;border:1px solid var(--line);border-radius:5px;padding:7px 10px;font-weight:700;letter-spacing:1px}main{display:grid;grid-template-columns:minmax(310px,36%) 1fr;min-height:calc(100svh - 145px)}.intro{background:var(--sky);padding:42px clamp(24px,4vw,64px) 25px;position:relative;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700}.intro>.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{width:22px;height:3px;background:var(--ink)}.identity{display:flex;align-items:center;gap:20px;margin:34px 0 25px}.sign{width:71px;height:71px;flex-shrink:0;background:var(--yellow);border:2px solid var(--ink);transform:rotate(-8deg);box-shadow:4px 4px 0 var(--ink);display:grid;place-items:center;border-radius:6px}.sign strong{font:900 50px 'Barlow Condensed',sans-serif}.identity h1{font:800 25px/1 'Barlow Condensed',sans-serif;letter-spacing:.4px;margin:0}.identity h1 span{display:block;font:700 11px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:10px}.intro>h2{font:800 clamp(62px,6.6vw,105px)/.91 'Barlow Condensed',sans-serif;letter-spacing:-1px;text-transform:uppercase;margin:15px 0 27px}.intro>h2 span{color:var(--yellow)}.lead{font-size:16px;line-height:1.65;max-width:350px;margin:0 0 28px}.lead strong{display:block;margin-top:7px}.primary{background:var(--yellow);border:2px solid var(--ink);color:var(--ink);border-radius:8px;box-shadow:4px 4px 0 var(--ink);width:100%;padding:15px 18px;font:800 22px 'Barlow Condensed',sans-serif;letter-spacing:.8px;display:flex;align-items:center;justify-content:center;gap:12px}.primary:hover{background:#ffe568;transform:translateY(-1px)}.primary span{font:400 29px/1 'DM Sans'}.review-note{font-size:12px;line-height:1.5;margin:16px 0 32px}.aside-bottom{margin-top:auto;padding-top:22px;border-top:1px solid #13223030;width:100%}.aside-bottom>span{font-size:11px;letter-spacing:1.4px;font-weight:700}.aside-bottom p{font-size:12px;line-height:1.6;max-width:310px;margin:7px 0}.workspace{padding:32px;display:flex;flex-direction:column;min-width:0}.map-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}h3{font:700 34px 'Barlow Condensed',sans-serif;margin:5px 0 0}.counter{display:flex;gap:10px;align-items:center}.counter strong{font:700 46px 'Barlow Condensed',sans-serif}.counter span{font-size:12px;line-height:1.4;color:#526574}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar button{border:1px solid #cddbe2;border-radius:7px;background:white;padding:11px 13px;color:var(--ink);display:flex;align-items:center;gap:9px;font-size:14px}#filter-count{background:#ffe9a8;border-radius:5px;padding:2px 6px;font-size:12px}#filters:not([hidden]){display:flex;gap:8px;flex-wrap:wrap;padding-bottom:15px}.chip{border:1px solid var(--line);padding:9px 12px;background:white;border-radius:24px;font-size:13px;color:var(--ink)}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.map-wrap{min-height:420px;flex:1;position:relative;isolation:isolate;border:1px solid #bfced6;border-radius:12px;overflow:hidden;background:#e1f1f7}#map{height:100%;position:absolute;inset:0;z-index:0}.map-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;font-size:12px;gap:10px}.map-footer>span{display:flex;align-items:center;gap:7px}.map-footer i{width:9px;height:9px;background:var(--yellow);border:1px solid #847324;border-radius:50%}.map-footer button{font-size:12px;background:none;border:0;text-decoration:underline;color:var(--ink);padding:5px}#map-message{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);background:#fffffff2;border:1px solid var(--line);border-radius:8px;width:max-content;max-width:85%;padding:12px 16px;font-size:13px;box-shadow:0 3px 14px #13223015;text-align:center;pointer-events:none}.map-stamp{position:absolute;right:15px;top:15px;background:var(--yellow);border:2px solid var(--ink);border-radius:5px;font:800 25px 'Barlow Condensed';padding:5px 9px;display:flex;align-items:center;gap:7px;pointer-events:none}.map-stamp span{font:700 8px/1.2 'DM Sans';max-width:60px}footer{background:white;border-top:1px solid var(--line);padding:19px 4%;display:flex;justify-content:space-between;gap:20px;font-size:12px}footer span{color:#627481}.marker{background:var(--yellow);border:2px solid var(--ink);border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:15px;box-shadow:2px 2px 0 #13223055}.cluster{background:var(--sky);border:3px solid white;border-radius:50%;display:grid;place-items:center;font-weight:700;box-shadow:0 0 0 2px var(--ink);color:var(--ink)}.leaflet-popup-content{font:14px/1.5 'DM Sans'}dialog{padding:25px;border:0;border-radius:16px;color:var(--ink);width:min(580px,calc(100% - 24px));max-height:90svh;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#102532a8;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font:800 35px 'Barlow Condensed';margin:5px 0 12px}.close{background:#eef4f6;border:0;border-radius:50%;width:40px;height:40px;font-size:26px}.preview-note{font-size:14px;background:#fff4bd;padding:12px;border-radius:7px;line-height:1.5}form{display:flex;flex-direction:column;gap:8px}form label{font-size:14px;font-weight:700;margin-top:14px}form input:not([type=checkbox]),form select,form textarea{border:1px solid #aebfc9;border-radius:7px;padding:12px;width:100%;color:var(--ink);background:white}form textarea{resize:vertical}small{font-size:12px;color:#546773;font-weight:400;line-height:1.5}label small{display:block}#location-map{height:200px;border-radius:8px;background:#e1f1f7}#coordinates{font-size:12px;margin:0;color:#536571}.checkbox{display:flex;gap:10px;align-items:center;margin-bottom:16px}.checkbox input{width:18px;height:18px}#photo-preview{max-height:200px;max-width:100%;object-fit:contain}#photo-error{font-size:13px;color:#a42624;margin:0}#form-result,#assistance-note{font-size:14px;line-height:1.5}#form-result:not(:empty){padding:12px;background:#fff0cf;border-radius:7px}@media(min-width:1500px){main{max-width:1680px;margin:auto}}@media(max-width:900px){main{grid-template-columns:320px 1fr}.intro{padding:30px 25px}.intro>h2{font-size:69px}.workspace{padding:24px 18px}.counter{gap:5px}.counter span{font-size:11px}.map-heading h3{font-size:29px}.header-label{font-size:11px}}@media(max-width:680px){header{height:68px;padding:0 20px}.header-label{display:none}.brand{font-size:29px}main{display:block}.intro{padding:24px 24px 28px}.identity{margin:23px 0 10px;gap:17px}.sign{width:57px;height:57px}.sign strong{font-size:41px}.identity h1{font-size:23px}.intro>h2{font-size:61px;line-height:.96;margin:18px 0}.intro>h2 br{display:none}.intro>h2 br:after{content:' '}.intro>h2{max-width:360px}.lead{font-size:14px;line-height:1.6;max-width:100%;margin-bottom:18px}.lead br{display:none}.lead strong{margin-top:5px}.review-note{margin:13px 0 0}.aside-bottom{display:none}.workspace{padding:25px 16px 18px}.map-heading{margin-bottom:17px}.map-heading .eyebrow{font-size:10px}.map-heading h3{font-size:31px}.counter strong{font-size:40px}.map-wrap{height:480px;min-height:0}.map-footer{font-size:11px}.toolbar button{font-size:13px}.preview{font-size:10px}footer{padding:20px;flex-direction:column;gap:8px;font-size:12px}dialog{padding:20px}#map-message{font-size:12px}.primary{min-height:56px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.call-to-report{display:block;margin-top:14px;font-weight:600}
#details-stage[hidden],#category-stage[hidden],#category[hidden]{display:none!important}
dialog.choosing-category{background:#111;color:#bce5f4;border:1px solid #bce5f480}
.choosing-category .close{background:#292929;color:#bce5f4}
.category-intro{font-size:16px;margin:8px 0 18px;color:#e4f3f8}
#category-menu{display:grid;gap:11px;padding:2px 0 8px}
.category-choice{display:flex;align-items:center;gap:15px;width:100%;padding:15px 18px;border:2px solid #bce5f4;border-radius:9px;background:#bce5f4;color:#000;text-align:left;font-size:16px;line-height:1.3;font-weight:700;text-transform:uppercase;min-height:56px}
.category-choice:hover{background:#d6f1fb;border-color:#d6f1fb}
.category-choice:focus-visible{outline:3px solid white;outline-offset:3px}
.category-choice i{font-size:23px;flex:0 0 26px;text-align:center}
.selected-category{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:#fff4bd;border-radius:8px;padding:13px;margin-top:10px}
.selected-category strong{font-size:16px}
#change-category{border:0;background:none;padding:5px 0;font-size:14px;text-decoration:underline;color:#132230}
#category-help{font-size:14px;line-height:1.5;margin:0;color:#526574}
#category-help:empty{display:none}
.contact-block{background:#e9f7fb;border:1px solid #c6e5ef;border-radius:10px;padding:16px;margin-top:16px}
.contact-block h3{font:800 23px/1.05 'Barlow Condensed',sans-serif;margin:0 0 7px}
.contact-block>p{font-size:13px;line-height:1.45;margin:0 0 8px;color:#526574}
.form-actions{display:flex;gap:10px;align-items:stretch;margin-top:12px}
.form-actions .primary{flex:1;width:auto}
.secondary{border:2px solid var(--ink);border-radius:8px;background:white;color:var(--ink);padding:12px 18px;font:700 16px 'Barlow Condensed',sans-serif;letter-spacing:.5px}
.secondary:hover{background:#eef4f6}
#form-result.success{background:#d9f4df;border:1px solid #8bc799;color:#175c2a}
@media(max-width:400px){.category-choice{font-size:14px;padding:13px 12px;gap:10px}}

.brand img{display:block;width:154px;height:auto}.brand{display:flex;align-items:center}.brand img{filter:none}@media(max-width:680px){.brand img{width:132px}}
.header-actions{display:flex;align-items:center;gap:10px}.admin-link{border:1px solid var(--ink);background:white;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--ink)}.admin-link:hover{background:var(--ink);color:white}.moderation-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.moderation-toolbar strong{margin-right:auto}.moderation-toolbar .secondary{padding:8px 12px;font-size:13px}.pending-card{border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:12px;background:#fbfdfe}.pending-card h3{font-size:24px;margin:0 0 4px}.pending-meta{font-size:12px;color:#526574;margin:0 0 9px}.pending-description{font-size:14px;line-height:1.5;margin:7px 0}.pending-photo{width:100%;max-height:230px;object-fit:cover;border-radius:7px;margin:8px 0}.pending-contact{font-size:13px;background:#e9f7fb;border-radius:7px;padding:9px;line-height:1.5}.pending-actions{display:flex;gap:8px;margin-top:12px}.approve-button,.reject-button{border:2px solid var(--ink);border-radius:7px;padding:9px 13px;font-weight:700}.approve-button{background:#d9f4df}.reject-button{background:#ffe1df}.pending-empty{padding:25px 8px;text-align:center;color:#526574;font-size:14px}.moderation-error{color:#a42624;font-size:13px}@media(max-width:680px){.header-actions .admin-link{font-size:9px;padding:6px}.preview{display:none}}
.popup-photo-status{font-size:12px;color:#526574;margin-top:8px}.popup-photo{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:7px;margin-top:8px;cursor:zoom-in}.photo-viewer[hidden]{display:none}.photo-viewer{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,15,27,.86);cursor:zoom-out}.photo-viewer-image{display:block;max-width:min(94vw,1100px);max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 16px 50px rgba(0,0,0,.4);cursor:default}.photo-viewer-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#102333;font-size:30px;line-height:1;cursor:pointer}.photo-viewer-open{overflow:hidden}
.election-countdown{min-height:48px;padding:10px 16px;background:var(--yellow);color:#101820;display:flex;align-items:center;justify-content:center;gap:10px;font-size:clamp(14px,1.7vw,22px);font-weight:500;letter-spacing:.2px;text-align:center}.election-countdown strong{font-weight:900;font-size:1.18em}.countdown-icon{font-size:1.45em;line-height:1;font-weight:700}
.marker i{font-size:16px;line-height:1}
.map-wrap{display:block}.map-wrap #map{display:block;width:100%;min-height:420px}@media(max-width:680px){.workspace{display:block}.map-wrap{display:block;width:100%;height:480px;min-height:480px;background:#e1f1f7}.map-wrap #map{display:block;width:100%;height:480px;min-height:480px}}
.admin-link{display:none}.admin-view .admin-link{display:block}
.social-footer{width:100%;margin-top:12px;padding-top:14px;border-top:1px solid rgba(19,34,48,.2);display:flex;align-items:center;justify-content:center;gap:18px;font-size:13px}.social-links{display:flex;align-items:center;gap:14px}.social-links a{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;color:var(--ink);font-size:18px;text-decoration:none;transition:background .2s,color .2s,transform .2s}.social-links a:hover,.social-links a:focus-visible{background:var(--ink);color:var(--yellow);transform:translateY(-2px)}.social-links a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media(max-width:680px){.social-footer{flex-direction:column;gap:9px;margin-top:10px;padding-top:12px}.social-links{gap:12px}}
