/* Explicit grid tracks prevent Leaflet intrinsic dimensions widening the page. */
html,body{width:100%;max-width:100%;margin:0;overflow-x:clip}
body{height:100dvh;display:grid;grid-template-rows:78px 66px 48px minmax(0,1fr);background:#fff}
body>header{grid-row:1}body>.filters{grid-row:2;order:0}body>#metrics{grid-row:3}body>main{grid-row:4}
body>header{height:auto;min-height:0;padding:10px 24px;gap:22px;min-width:0}
.brand{width:68px;height:56px;flex-shrink:0}.heading{flex:1;min-width:0;white-space:normal}.heading strong{font-size:23px;color:#15344c}
.site-link{display:none}header>.primary{padding:12px 20px;white-space:nowrap}
body>.filters{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;margin:0;padding:10px 24px;min-width:0}
.filters input{grid-column:1;grid-row:1}.filters #year{grid-column:2}.filters #type{grid-column:3}.filters>*{width:100%;max-width:none;min-width:0}
.filters input,.filters select{width:100%;max-width:none;min-width:0}
#metrics{height:auto;min-height:0;padding:4px 24px 12px;gap:20px;display:flex;align-items:center;flex-wrap:wrap}
#metrics>div{flex:0 1 auto;border:0;padding:0!important;display:flex;align-items:baseline;gap:5px}
#metrics b{font-size:17px;margin:0}#metrics small{font-size:12px;display:inline;margin:0}
#metrics>div:last-child{margin-left:auto}#metrics>div:last-child small{max-width:230px;font-size:10px}
main{width:100%;min-width:0;min-height:0;height:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}
main>aside{grid-column:1;grid-row:1;min-height:0;min-width:0;overflow:hidden;border-right:1px solid var(--line)}
.side-heading{padding:18px 24px 12px;min-height:72px}.eyebrow{display:none}h1{font-size:22px;margin:0 0 6px}.side-heading p{font-size:11px}.side-heading button{font-size:11px}
#content{padding:0 20px 16px 24px;min-height:0;min-width:0;overflow:auto;overflow-wrap:anywhere}
.action-cards{display:grid;gap:10px}.action-card{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:17px 14px;border:1px solid #dbe5e9;background:white;min-width:0;border-radius:7px}
.action-card.is-selected{background:#e9f7f6;border-left:4px solid #099a9e}
.action-symbol{display:grid;place-items:center;width:44px;height:52px;flex-shrink:0;background:#edf5f6;border-radius:5px;color:#27898e;font-size:28px}
.action-copy{display:grid;gap:7px;flex:1;min-width:0}.action-copy strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere;color:#16344b}.action-copy>span{font-size:12px;color:#6c8190;line-height:1.35}.action-copy .action-result{color:#355869}.action-view{font-size:12px;white-space:nowrap;color:#265568}
.list-footer{padding:10px 24px 14px;border-top:1px solid #edf1f3}.list-footer button{padding:5px 0;border:0;color:#527a92;background:transparent;font-size:12px}
.map-column{grid-column:2;grid-row:1;position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:72px minmax(0,1fr)}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;min-width:0;background:white}.map-heading h2{font-size:19px;margin:0}.map-heading button{font-size:11px}
#map{height:100%;width:100%;min-width:0;min-height:0;grid-row:2}
.map-toolbar,.map-select{display:none}
.map-bottom{bottom:28px;left:12px;right:60px;max-width:100%;pointer-events:none}#mapHint{font-size:10px}
#mapSelection{position:absolute;bottom:65px;left:16px;right:60px;z-index:650;display:flex;align-items:center;gap:10px;background:#fffffff5;border:1px solid #dce7e9;border-radius:8px;padding:14px;box-shadow:0 4px 18px #21465620}
#mapSelection>div{flex:1;min-width:0;overflow-wrap:anywhere}#mapSelection strong{font-size:13px;display:block}#mapSelection span{display:block;font-size:11px;color:#6c8190;margin-top:5px}#mapSelection button{font-size:11px;padding:9px;white-space:nowrap}#closeMapSelection{border:0;background:transparent}
.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}form label{min-width:0}form input,form select,form textarea{min-width:0}
#mobileMapToggle{display:none}[hidden]{display:none!important}
@media(min-width:1450px){.action-card{padding:19px}.action-copy strong{font-size:17px}.action-copy>span{font-size:13px}}
@media(max-width:900px){#metrics{gap:12px}#metrics>div:last-child{display:none}.action-symbol{display:none}.action-card{padding:14px 11px}.map-heading{padding:12px}.map-heading h2{font-size:16px}.side-heading{padding-left:16px}#content{padding-left:16px}}
@media(max-width:700px){
 body{grid-template-rows:72px 98px 62px minmax(0,1fr)}body>header{padding:8px 12px;gap:10px;flex-wrap:nowrap}.brand{width:45px;height:48px}.heading strong{font-size:17px}header>.primary{font-size:12px;padding:10px}
 body>.filters{padding:8px 12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:7px}.filters input{grid-column:1/3;grid-row:1}.filters #year{grid-column:1;grid-row:2}.filters #type{grid-column:2;grid-row:2}.filters button{grid-column:3;grid-row:1/3;padding:7px}
 .filters>*{width:100%!important;max-width:none!important;min-width:0!important;padding:8px;font-size:12px}
 #metrics{padding:6px 12px;gap:6px 14px;display:flex;align-content:center}#metrics b{font-size:14px}#metrics small{font-size:10px}
 main{display:grid;grid-template-columns:minmax(0,1fr)}main>aside{grid-column:1;min-height:0;overflow:hidden}
 .map-column{display:none;grid-column:1;grid-row:1;height:100%!important;min-height:0!important}
 body.show-mobile-map .map-column{display:grid}body.show-mobile-map main>aside{display:none}
 #mobileMapToggle{display:block;position:fixed;bottom:14px;right:16px;z-index:900;background:#153f53;color:white;border:0;box-shadow:0 3px 12px #16394d33}
 .side-heading{padding:12px 16px;min-height:65px}.side-heading h1{font-size:20px}#content{overflow:auto;padding:0 12px 12px}.list-footer{padding:8px 16px 48px}
 .action-card{gap:10px}.action-copy strong{font-size:14px}.action-copy>span{font-size:11px}.map-heading{padding:12px}.form-grid{gap:12px}.map-bottom{bottom:30px}
}
/* cards-7: municipality filter, coverage line and removable chip */
body>.filters{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr) auto}.filters #city{grid-column:4;grid-row:1}
#coverage{margin:3px 0 0;font-size:11px;color:#5b6d74}
.filter-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:8px 10px;border:1px solid #c1781b;border-radius:6px;background:#fdf6ea;font-size:13px}
.filter-chip button{margin-left:auto;padding:4px 10px;font-size:12px}
.action-tooltip small{color:#5b6d74}
@media(max-width:700px){body>.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters input{grid-column:1/3}.filters #city{grid-column:3;grid-row:2}.filters button{grid-column:3;grid-row:1}#coverage{font-size:10px}}
.action-tooltip{min-width:250px;max-height:none}.cluster-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:7px;font-size:12px;line-height:1.35}.cluster-list li{padding-top:7px;border-top:1px solid #e3e9eb}
/* cards-8: clean light map */
#map{background:#eef2f3}
.leaflet-tile-pane{filter:saturate(.55) brightness(1.03) contrast(.95)}
.pin-icon{background:#0b7f83e6;border:2px solid #fff;box-shadow:0 1px 4px #0f2f3a40;font-size:12px;font-weight:700;transition:transform .12s}
.pin-icon:hover{transform:scale(1.08);z-index:1000!important}
.pin-icon.selected{background:#d9821f;box-shadow:0 0 0 4px #d9821f40}
.leaflet-interactive:focus,.leaflet-container path:focus{outline:none}
.pin-icon:focus-visible{outline:3px solid #0b6e72;outline-offset:2px}
.leaflet-tooltip{border-radius:8px}
/* cards-9: map on the left, place panel */
@media(min-width:701px){.map-column{grid-column:1}main>aside{grid-column:2;border-right:0;border-left:1px solid var(--line)}}
.back-link{border:0;background:none;padding:4px 0;margin:0 0 12px;color:#0b6e72;font-size:13px;font-weight:600;cursor:pointer}
.back-link:hover{text-decoration:underline}
.place-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}
.place-stats>div{background:#f2f7f8;border-radius:8px;padding:12px 10px;display:grid;gap:3px;min-width:0}
.place-stats b{font-size:20px;color:#16344b;line-height:1.1}.place-stats span{font-size:11px;color:#657a84}
.place-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e3eaec}
.place-head span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#527a92}
.link-btn{border:0;background:none;padding:0;color:#0b6e72;font-size:12px;text-decoration:underline;cursor:pointer}
.place-list{display:grid;gap:8px}
.place-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border:1px solid #dbe5e9;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s}
.place-card:hover{border-color:#0b7f83;background:#f4fafa}
.place-card>span:first-child{flex:1;min-width:0;display:grid;gap:4px}.place-card strong{font-size:14px;color:#16344b}.place-card small{font-size:12px;color:#657a84}
.place-card .chev{font-size:22px;color:#0b7f83}
@media(max-width:700px){.place-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
#zoomCluster{display:block}
#clusterBack+#zoomCluster{margin-top:-4px}
/* cards-9c: participations read like the other metrics */
#metrics>div:last-child{margin-left:0}#metrics>div:last-child small{max-width:none;font-size:12px}
@media(max-width:900px){#metrics>div:last-child{display:flex}}
/* cards-12: minimal map, no municipality markers */
#coverage .link-btn{font-size:11px}
/* cards-14: municipality-only actions counted in circles */
.place-card.is-city{border-style:dashed}
/* cards-15: clearer location form and placement banner */
#positionBanner{top:84px;bottom:auto;left:14px;right:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:#fffaf0;color:#5a3d12}
#positionBanner span{font-size:13px;flex:1;min-width:180px}
#positionBanner>div{display:flex;gap:8px}#positionBanner button{font-size:12px;padding:7px 12px}
.position-box{margin:6px 0 4px;padding:12px;border:1px solid #dbe5e9;border-radius:8px;background:#f7fafb}
.position-btn{background:#fff;border:1px solid #0b7f83;color:#0b6e72;font-weight:600;padding:9px 14px;border-radius:6px}
.position-box .coordinate-note{padding:8px 0 0;margin:0}
#locationForm .help{margin:0 0 12px}
/* cards-16: drag points, confirmation dialog, delete action */
.dialog-backdrop{position:fixed;inset:0;z-index:2000;background:#0f2a3466;display:grid;place-items:center;padding:16px}
.dialog{background:#fff;border-radius:12px;max-width:440px;width:100%;padding:22px;box-shadow:0 12px 40px #0f2a3440}
.dialog h3{margin:0 0 8px;font-size:18px;color:#16344b}.dialog p{margin:0 0 18px;font-size:14px;line-height:1.5;color:#4c6673}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dialog-actions button{padding:9px 14px;font-size:13px}
button.danger{background:#b3261e;border-color:#b3261e;color:#fff}
.danger-zone{margin-top:28px;padding-top:14px;border-top:1px solid #edf1f3}
.danger-link{border:0;background:none;padding:0;color:#b3261e;font-size:13px;text-decoration:underline;cursor:pointer}
.leaflet-marker-draggable.pin-icon{cursor:grab}.leaflet-dragging .pin-icon{cursor:grabbing}
/* cards-26: municipality ranking above the list */
.ranking{border:1px solid #dbe5e9;border-radius:12px;padding:6px 16px 8px;margin:0 0 16px}
.ranking-head{display:flex;justify-content:space-between;padding:10px 0;font-size:12px;color:#657a84;border-bottom:1px solid #e3eaec}
.ranking-row{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) minmax(80px,38%) 34px;align-items:center;gap:10px;padding:11px 0;border:0;border-bottom:1px solid #edf1f3;border-radius:0;background:none;text-align:left;cursor:pointer}
.ranking-row:hover{background:#f6fafa}
.rank-n{font-size:12px;color:#8197a1}.rank-name{font-size:14px;color:#16344b;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-bar{height:8px;border-radius:4px;background:#d7ebea;overflow:hidden}.rank-bar i{display:block;height:100%;border-radius:4px;background:#0b6e72}
.rank-v{font-size:13px;color:#16344b;text-align:right;font-weight:600}
.ranking-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 0 2px;font-size:12px;color:#40606c}
.ranking-foot>:first-child{margin-right:auto}
.rank-nav{border:0;background:none;font-size:20px;line-height:1;padding:0 6px;color:#16344b}.rank-nav:disabled{color:#c3d0d4}
/* cards-28: metric cards, type colors, compact action rows, clearer pins */
.type-limpeza{--tc:#0b7f83;--tb:#e2f3f2}.type-evento{--tc:#6a4fb3;--tb:#efebfa}.type-escola{--tc:#2a6fb0;--tb:#e6f0fa}.type-oficina{--tc:#a86b12;--tb:#fbf1df}
.type-visita{--tc:#3f8a4f;--tb:#e7f4e9}.type-palestra{--tc:#b5476a;--tb:#f9e8ee}.type-intervencao{--tc:#c05a24;--tb:#fbece2}.type-entrevista{--tc:#4f6b80;--tb:#eaf0f4}.type-outro{--tc:#40606c;--tb:#edf2f4}
#metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 24px 16px;min-height:0;height:auto}
#metrics>div.metric{display:flex;align-items:center;gap:12px;padding:12px 14px!important;margin:0;border:1px solid #e1eaed;border-radius:12px;background:#fff;min-width:0}
.metric-icon{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--mb);color:var(--mc)}
.metric-icon svg,.type-tag svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.metric-acoes{--mc:#0b6e72;--mb:#e2f3f2}.metric-kg{--mc:#2a6fb0;--mb:#e6f0fa}.metric-bitucas{--mc:#a86b12;--mb:#fbf1df}.metric-pessoas{--mc:#6a4fb3;--mb:#efebfa}
.metric-text{display:grid;min-width:0}
#metrics .metric b{font-size:21px;line-height:1.15;font-weight:700;color:#16344b;margin:0;font-variant-numeric:tabular-nums}
#metrics .metric b.empty{font-size:14px;font-weight:600;color:#8197a1;padding:3px 0}
#metrics .metric small{display:block;font-size:12px;color:#657a84;margin:2px 0 0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.action-cards{gap:8px}
.action-card.action-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto 12px;gap:14px;align-items:center;padding:10px 14px 10px 10px;border-radius:10px;border:1px solid #e1eaed;transition:border-color .12s,box-shadow .12s}
.action-row:hover{border-color:#b9d3d6;box-shadow:0 2px 10px #0f2a3412}
.action-row.is-selected{background:#f1f9f8;border-color:#7fc3c4;border-left:1px solid #7fc3c4;box-shadow:inset 3px 0 0 var(--tc)}
.date-block{display:grid;justify-items:center;padding:6px 0;border-radius:8px;background:#f3f7f8;line-height:1.1}
.date-block b{font-size:18px;color:#16344b;font-variant-numeric:tabular-nums;white-space:nowrap}.date-block small{font-size:10.5px;color:#657a84;margin-top:2px;white-space:nowrap}
.action-row .action-copy{gap:6px}.action-row .action-copy strong{font-size:14.5px}
.action-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.type-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 6px;border-radius:999px;background:var(--tb);color:var(--tc);font-size:12px;font-weight:600;line-height:1.5}
.type-tag svg{width:14px;height:14px;stroke-width:2}
.action-city{font-size:12px;color:#6c8190}
.action-num{display:grid;justify-items:end;text-align:right;line-height:1.15}.action-num b{font-size:16px;color:#16344b;font-variant-numeric:tabular-nums}.action-num small{font-size:11px;color:#657a84}.action-num .no-data{color:#9aaab2}
.action-chevron{color:#9fb3ba;font-size:20px;line-height:1}
.rank-v{font-variant-numeric:tabular-nums}
.pin-icon{background:radial-gradient(circle at 35% 30%,#18989c,#0a6f73);border:2.5px solid #fff;box-shadow:0 0 0 4px #0b7f8326,0 3px 8px #0f2f3a40}
.pin-icon.selected{background:radial-gradient(circle at 35% 30%,#f0a043,#cf7614);box-shadow:0 0 0 5px #d9821f40,0 3px 8px #0f2f3a40}
@media(min-width:1450px){.action-card.action-row{padding:12px 16px 12px 12px}.action-row .action-copy strong{font-size:16px}}
@media(max-width:900px){#metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 16px 12px}#metrics>div.metric{padding:9px 10px!important;gap:9px}.metric-icon{width:32px;height:32px}#metrics .metric b{font-size:17px}
 .action-card.action-row{grid-template-columns:50px minmax(0,1fr) auto;gap:10px;padding:9px 10px 9px 8px}.action-chevron{display:none}}
@media(max-width:700px){#metrics{padding:6px 12px}#metrics .metric small{font-size:10.5px}.metric-icon{display:none}}
body{grid-template-rows:78px 66px auto minmax(0,1fr)}
.back-link+.place-head{margin-top:14px}
@media(max-width:700px){body{grid-template-rows:72px auto auto minmax(0,1fr)}
 #metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px 12px 10px}#metrics>div.metric{padding:7px 8px!important;border-radius:9px}
 #metrics .metric b{font-size:14px}#metrics .metric b.empty{font-size:11px;padding:2px 0}#metrics .metric small{font-size:9.5px;white-space:normal;line-height:1.2}}
#metrics>div.metric:last-child small{font-size:12px;max-width:none}
@media(max-width:700px){#metrics>div.metric:last-child small{font-size:9.5px}}
/* cards-29: lighter filters + chips, short tooltip, finishing, brand colors (site blue #075673 + mint #9bd6cc) */
:root{--brand:#075673;--brand-deep:#063b50;--brand-2:#13889b;--mint:#9bd6cc;--mint-soft:#e5f3f0}
body{grid-template-rows:78px auto auto minmax(0,1fr)}
body::before{content:"";position:fixed;inset:0 0 auto;height:3px;z-index:3000;background:linear-gradient(90deg,var(--brand),var(--brand-2) 55%,var(--mint));pointer-events:none}
header>.primary{background:var(--brand);border-color:var(--brand);border-radius:10px;box-shadow:0 2px 8px #07567333}header>.primary:hover{background:var(--brand-deep)}
body>.filters{padding:12px 24px 10px;gap:10px;align-items:center}
.filters input,.filters select,.filters>button{height:40px;border:1px solid #e1eaed;border-radius:10px;background-color:#f6f9fa;font-size:13.5px;color:#16344b;transition:border-color .12s,background-color .12s,box-shadow .12s}
.filters select{-webkit-appearance:none;appearance:none;padding:0 34px 0 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23657a84' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
.filters input{padding:0 12px 0 36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23657a84' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3.5 3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}
.filters input:hover,.filters select:hover{background-color:#fff;border-color:#c9d9dd}
.filters input:focus,.filters select:focus{outline:none;background-color:#fff;border-color:var(--brand-2);box-shadow:0 0 0 3px #13889b26}
.filters>button{background:#fff;padding:0 16px;color:#40606c}
#activeFilters{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 12px;border:1px solid #b9dcd6;border-radius:999px;background:var(--mint-soft);color:var(--brand-deep);font-size:12.5px;font-weight:600;cursor:pointer}
.chip span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--brand);font-size:14px;line-height:1}
.chip:hover{border-color:var(--brand-2)}.chip:hover span{background:var(--brand);color:#fff}
#metrics{padding:4px 24px 18px}
.metric-acoes{--mc:var(--brand);--mb:var(--mint-soft)}
.map-heading{padding:16px 20px}.side-heading{padding:20px 24px 14px}
.map-heading>button,.side-heading>button{font-size:13px;padding:8px 14px;border-radius:9px;border:1px solid #d6e3e6;background:#fff;color:var(--brand)}
.map-heading>button:hover,.side-heading>button:hover{border-color:var(--brand-2);background:#f3f9f9}
.side-heading p,#coverage{font-size:12px}
.map-bottom{bottom:30px;left:14px}#mapHint{font-size:11.5px;padding:6px 12px;border-radius:999px;background:#fffffff0;box-shadow:0 2px 8px #0f2a341f;border:0;color:#40606c}
.list-footer{padding:10px 24px 14px;background:#fbfdfd}
.list-footer button{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#5a6f78;padding:4px 0}
.list-footer button u{color:var(--brand);text-underline-offset:2px}.list-footer button:disabled{cursor:default}
.pending-dot{width:8px;height:8px;border-radius:50%;background:#d9821f;box-shadow:0 0 0 3px #d9821f2e}
.action-tooltip{min-width:230px;max-width:290px;padding:10px 12px!important;border:0!important;border-radius:10px!important;box-shadow:0 6px 20px #0f2a3426!important;white-space:normal}
.action-tooltip strong{display:block;font-size:13.5px;color:#16344b;line-height:1.3}
.action-tooltip .tip-where{display:block;margin-top:2px;font-size:11.5px;color:#657a84}
.action-tooltip .tip-line{margin-top:8px;padding-top:8px;border-top:1px solid #edf1f3;font-size:12.5px;font-weight:600;color:var(--brand-deep)}
.action-tooltip .tip-hint{display:block;margin-top:6px;font-size:11px;color:#8197a1}
.rank-bar{background:var(--mint-soft)}.rank-bar i{background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.ranking-row:first-of-type .rank-n{color:#fff;background:var(--brand);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:11px}
.pin-icon{background:radial-gradient(circle at 35% 30%,var(--brand-2),var(--brand));box-shadow:0 0 0 4px #07567326,0 3px 8px #0f2f3a40}
.pin-icon.selected{background:radial-gradient(circle at 35% 30%,#f0a043,#cf7614);box-shadow:0 0 0 5px #d9821f40,0 3px 8px #0f2f3a40}
@media(max-width:700px){body{grid-template-rows:72px auto auto minmax(0,1fr)}body>.filters{padding:8px 12px;gap:7px}.filters input,.filters select,.filters>button{height:36px;font-size:12px}
 .filters select{padding:0 26px 0 9px;background-position:right 8px center}.filters input{padding-left:32px;background-position:10px center}
 #activeFilters{grid-row:3}.map-heading>button,.side-heading>button{font-size:12px;padding:7px 10px}.list-footer{padding:8px 16px 56px}}
/* cards-30: flat markers; map framed as a card with breathing room */
.pin-icon{background:#075673;border:2px solid #fff;box-shadow:0 1px 3px #0f2f3a4d;font-weight:700}
.pin-icon:hover{background:#063b50}
.pin-icon.selected{background:#d9821f;box-shadow:0 0 0 3px #d9821f40,0 1px 3px #0f2f3a4d}
.map-column{background:#fff}
#map{margin:0 20px 20px;width:auto;height:auto;align-self:stretch;border:1px solid #dfe8eb;border-radius:14px;overflow:hidden}
.map-bottom{bottom:46px;left:36px}
#mapSelection{bottom:82px;left:36px;right:80px}
#positionBanner{left:34px;right:34px}
@media(max-width:700px){#map{margin:0 12px 12px;border-radius:12px}.map-bottom{bottom:40px;left:24px}#mapSelection{left:24px;right:64px;bottom:70px}#positionBanner{left:22px;right:22px}}
.logout{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-decoration:none;white-space:nowrap}
