/* Atlas additions on top of style.css tokens */
[hidden]{display:none!important}
.head-actions{display:flex;gap:6px;flex:none}
.home,.gov{display:flex;flex-direction:column;gap:14px}
.home-tools{display:flex;gap:8px}
.home-tools input{flex:1;min-width:0;font:400 .92rem var(--font);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:3px;padding:8px 10px}
.home-tools select{flex:none}
.cards{display:flex;flex-direction:column;gap:6px}
.cards h3{margin:10px 0 2px;font-size:.78rem;font-weight:500;color:var(--muted);letter-spacing:.02em}
.card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;text-align:start;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--rule);border-radius:4px;padding:9px 12px;cursor:pointer}
.card:hover,.card:focus-visible{border-color:var(--accent)}
.card b{font-size:.95rem}
.card small{color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.card .sc{grid-row:span 2;display:flex;flex-direction:column;align-items:center;gap:3px;font:700 1rem var(--font);font-variant-numeric:tabular-nums}
.card .sc i{display:block;inline-size:44px;block-size:5px;border-radius:3px;background:var(--rule);overflow:hidden}
.card .sc i span{display:block;block-size:100%}
.card .sc em{font-style:normal;font-size:.62rem;font-weight:400;color:var(--muted)}
.card.pending{opacity:.55;cursor:default}
.back{align-self:flex-start;font:500 .82rem var(--font);color:var(--accent);background:none;border:0;padding:0;cursor:pointer}
.tabq{margin:-4px 0 0;font-size:.82rem;color:var(--muted)}
.say{margin:0;padding:10px 12px;border-inline-start:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);font-size:.92rem;line-height:1.55}
.say b{font-variant-numeric:tabular-nums}
.thr{display:flex;flex-direction:column;gap:4px;flex-basis:100%;font-size:.82rem}
.thr b{color:var(--accent);font-variant-numeric:tabular-nums}
.kpi .qm{align-self:flex-start;font:500 .7rem var(--font);color:var(--muted);background:none;border:1px solid var(--rule);border-radius:50%;inline-size:1.5em;block-size:1.5em;padding:0;cursor:help}
.kpi .help{font-size:.74rem;color:var(--muted);line-height:1.45}
.kpi-top{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}
.bins{display:flex;gap:2px}
.bins button{flex:1;block-size:16px;border:0;border-radius:2px;cursor:pointer;padding:0}
.bins button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}
.bins-note{font-size:.72rem;color:var(--muted)}
.maplibregl-popup-content{background:var(--panel);color:var(--ink);box-shadow:0 4px 18px rgba(0,0,0,.35);border-radius:6px;padding:10px 12px;font:400 12.5px/1.5 var(--font)}
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--panel)}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--panel)}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--panel)}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--panel)}
.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--panel)}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--panel)}
.maplibregl-popup-close-button{color:var(--muted);font-size:18px;padding:0 6px}
.maplibregl-map{font-family:var(--font)}
.place{font:400 12.5px/1.5 var(--font);min-width:220px;color:var(--ink)}
.place h4{margin:0 0 4px;font-size:13.5px}
.place table{border-collapse:collapse;width:100%}
.place td{padding:2px 0;border-bottom:1px solid var(--rule)}
.place td:last-child{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap;padding-inline-start:10px}
.place .ok{color:var(--ok)}.place .bad{color:var(--warm)}
.guide{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(10,20,24,.55);padding:16px}
.guide-box{background:var(--panel);color:var(--ink);border-radius:6px;max-width:420px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.guide-box h2{margin:0;font-size:1.2rem}
.guide-box ol{margin:0;padding-inline-start:1.2em;display:flex;flex-direction:column;gap:10px;font-size:.9rem}
.guide-box li b{display:block}
.guide-box li span{color:var(--muted)}
.guide-box .btn{align-self:flex-start}
.gov-tip .maplibregl-popup-content,.hextip .maplibregl-popup-content{font:500 12px/1.5 var(--font);padding:6px 9px}
.hextip,.gov-tip{pointer-events:none}
/* spatial report: always on a white page so it prints the same in any theme */
.rdoc{position:fixed;inset:0;z-index:3000;overflow:auto;background:#e9e7e1;padding:16px}
.rbar-top{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px;margin:-16px -16px 16px;background:#16252b}
.rbar-top .btn.ghost{color:#fff;border-color:#fff}
.rpage{max-width:900px;margin:0 auto;background:#fff;color:#16252b;padding:28px 32px;font:400 13.5px/1.6 var(--font);box-shadow:0 2px 14px rgba(0,0,0,.15)}
.rpage h1{font-size:1.6rem;margin:0 0 4px}
.rpage h2{font-size:1.1rem;margin:0 0 4px;color:#0a7c7b}
.rpage p{margin:6px 0}
.rpage .note{color:#5e6b6e;font-size:.78rem}
.rpage .tbl td{border-color:#e2dfd6}
.rpage .bench{color:#5e6b6e;border-color:#d0ccc0}.rpage .bench.ok{color:#1D5F8A;border-color:#1D5F8A}.rpage .bench.bad{color:#A8432C;border-color:#A8432C}
.rhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:3px solid #16252b;padding-bottom:12px;margin-bottom:12px}
.rhead p{color:#5e6b6e;margin:0}
.rloc{inline-size:220px;max-inline-size:40%;border:1px solid #e2dfd6}
.rsec{padding:14px 0;border-bottom:1px solid #e2dfd6;break-inside:avoid}
.rq{color:#5e6b6e;font-size:.85rem}
.rgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
.rgrid figure{margin:0}
.rgrid img{inline-size:100%;block-size:auto;border:1px solid #e2dfd6}
.rgrid figcaption{font-size:.75rem;color:#5e6b6e;margin-top:4px}
.rkpi{font-size:1rem}.rkpi b{font-size:1.5rem;color:#16252b}
.rleg{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.7rem;color:#5e6b6e;margin-top:6px}
.rleg span{display:flex;align-items:center;gap:4px}
.rleg i{inline-size:11px;block-size:11px;border-radius:2px;display:inline-block}
.rbars{display:flex;flex-direction:column;gap:4px;margin-top:8px;font-size:.78rem}
.rbar{display:grid;grid-template-columns:9em minmax(0,1fr) auto;gap:6px;align-items:center}
.rbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rbar i{display:block;block-size:10px;border-radius:2px}
.rbar em{font-style:normal;font-variant-numeric:tabular-nums}
.rstack{display:flex;block-size:16px;border-radius:3px;overflow:hidden;margin:4px 0 8px}
.rstack i{display:block}
.rfoot{font-size:.74rem;color:#5e6b6e;padding-top:12px}
@media (max-width:700px){.rgrid{grid-template-columns:minmax(0,1fr)}.rhead{flex-direction:column}.rloc{max-inline-size:100%}}
@media print{
  body.printing-report > *:not(.rdoc){display:none!important}
  body.printing-report .rdoc{position:static;padding:0;background:#fff;overflow:visible}
  body.printing-report .rbar-top{display:none}
  body.printing-report .rpage{box-shadow:none;max-width:none;padding:0}
}
/* layers panel on the map */
.lyr{background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.25);font:400 12.5px/1.5 var(--font);max-inline-size:260px}
.lyr-btn{display:block;inline-size:100%;font:600 12.5px var(--font);color:var(--ink);background:transparent;border:0;padding:8px 12px;cursor:pointer;text-align:start}
.lyr-body{display:flex;flex-direction:column;gap:3px;padding:2px 12px 12px;max-block-size:65vh;overflow:auto}
.lyr-body b{margin-top:8px;font-size:11.5px;color:var(--muted)}
.lyr-body label{display:flex;align-items:center;gap:6px;cursor:pointer}
.lyr-body .sw{display:inline-block;inline-size:12px;block-size:12px;border-radius:2px;margin:0}
.lyr-body .sw.ln{background:transparent;border-bottom:3px solid;block-size:6px}
.lyr-body .op{flex-direction:column;align-items:stretch}
.lyr-body .btn{margin-top:10px}
/* export window */
.expbox{position:fixed;inset-block-start:70px;inset-inline-end:16px;z-index:2500;inline-size:min(380px,calc(100vw - 32px));max-block-size:calc(100vh - 90px);overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--accent);border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.35);padding:14px;display:flex;flex-direction:column;gap:10px;font-size:.85rem}
.exp-head{display:flex;justify-content:space-between;align-items:center}
.expbox label{display:flex;flex-direction:column;gap:4px;font-weight:500}
.expbox input[type=text],.expbox select{font:400 .9rem var(--font);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:3px;padding:6px 8px}
.exp-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.exp-checks{display:flex;flex-wrap:wrap;gap:6px 14px}
.exp-checks label{flex-direction:row;align-items:center;font-weight:400}
.micro{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--accent);border-radius:4px;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.micro b{font-size:.88rem}
.refs{margin:0;padding-inline-start:1.1em;display:flex;flex-direction:column;gap:6px;font-size:.8rem;line-height:1.5}
.refs a,.say a{color:var(--accent)}
.label{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.scope{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--rule);border-radius:3px}
.scope-main{min-width:0;flex:1}
.scope-actions{display:flex;flex-direction:column;gap:6px}
.drawbar{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;color:var(--accent);border-top:1px dashed var(--rule);padding-top:8px}
.drawbar span{flex:1;min-width:12em}
/* smart diagnosis */
.issues{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;counter-reset:iss}
.issue{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--rule)}
.issue::before{counter-increment:iss;content:counter(iss);grid-row:span 3;font:700 1.1rem/1.2 var(--font);color:var(--warm);min-width:1.2em}
.issue b{font-size:.92rem;line-height:1.45}
.issue .act{font-size:.8rem;color:var(--muted)}
.issue .where{font-size:.78rem}
.issue .where a{color:var(--accent);cursor:pointer;text-decoration:underline}
.good{margin:0;padding-inline-start:1.2em;font-size:.84rem;color:var(--ok)}
.sites{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.82rem}
.sites li{display:flex;gap:8px;align-items:baseline;cursor:pointer}
.sites li i{font:700 .8rem var(--font);font-style:normal;background:var(--warm);color:#fff;border-radius:50%;inline-size:1.5em;block-size:1.5em;display:inline-grid;place-items:center;flex:none}
.site-pin{background:var(--warm,#c4561e);color:#fff;border:2px solid #fff;border-radius:50%;font:700 12px/20px sans-serif;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.lu-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-size:.78rem}
.lu-legend span{display:flex;align-items:center;gap:6px}
.lu-legend i{inline-size:12px;block-size:12px;border-radius:2px;flex:none}
.scope b{display:block;font-size:1.05rem;line-height:1.3}
.scope small{display:block;color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums}
.btn.sm{padding:5px 10px;font-size:.78rem;flex:none}

.inds{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.inds:empty{display:none}
.inds button{font:500 .78rem var(--font);color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;padding:3px 2px;cursor:pointer}
.inds button:hover{color:var(--ink)}
.inds button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}
.inds select{font:400 .82rem var(--font);padding:4px 6px}

.kpi.cur{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.kpi{cursor:pointer}
.legend-bar{display:flex;flex-direction:column;gap:4px}
.legend-bar .ramp2{display:flex;height:10px;border-radius:2px;overflow:hidden}
.legend-bar .ramp2 i{flex:1}
.legend-bar .ends{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}

.rank{max-height:340px;overflow:auto;border-top:1.5px solid var(--ink)}
.rank table{width:100%;border-collapse:collapse;font-size:.82rem}
.rank th{position:sticky;top:0;background:var(--panel);text-align:start;font-weight:500;font-size:.72rem;color:var(--muted);padding:5px 4px;border-bottom:1px solid var(--rule)}
.rank td{padding:5px 4px;border-bottom:1px solid var(--rule)}
.rank td.n{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}
.rank tr{cursor:pointer}
.rank tr:hover td{background:var(--bg)}
.rank tr.sel td{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.chip{display:inline-block;inline-size:8px;block-size:8px;border-radius:1px;margin-inline-end:6px}
.h4{margin:6px 0 0;font-size:.9rem}
.note{margin:0;font-size:.76rem;color:var(--muted)}
.hextip{font:500 12px var(--font);line-height:1.5}
.foot a{color:var(--accent)}
