.progress-overview{background:#fff;border-bottom:1px solid #e6e9ee;padding:12px 20px;flex-shrink:0;max-height:45vh;overflow:auto}.progress-heading{display:flex;align-items:center;gap:12px;font-size:16px;margin-bottom:8px}.progress-heading span{font-size:12px;color:#687487}.progress-heading button{margin-left:auto;background:#fff;border:1px solid #ccd2db;border-radius:6px;padding:6px 12px;cursor:pointer}.stage-overview{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stage-overview button{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border:1px solid #e6e9ee;background:#f8fafc;border-radius:8px;cursor:pointer;text-align:left}.stage-overview button[aria-pressed=true]{border-color:#d90019;background:#fff1f2}.stage-overview span{font-size:14px}.stage-overview b{font-size:25px;font-variant-numeric:tabular-nums}.progress-overview summary{font-size:14px;cursor:pointer;padding:9px 0}.progress-overview small{font-size:12px;color:#687487}.region-progress{overflow:auto}.region-progress table{width:100%;border-collapse:collapse;min-width:520px;text-align:center;font-size:14px}.region-progress td,.region-progress th{padding:7px;border-bottom:1px solid #eee}.region-progress button{border:0;background:none;color:#bd0015;cursor:pointer;font-weight:700}.workspace{height:auto;flex:1;min-height:0}body{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar{flex-shrink:0}.kpis[hidden]{display:none!important}@media(max-width:860px){.progress-overview{padding:8px 10px;max-height:40vh}.stage-overview{grid-template-columns:repeat(3,1fr);gap:5px}.stage-overview button{padding:6px 8px}.stage-overview b{font-size:20px}.progress-heading{gap:6px;flex-wrap:wrap}.progress-heading span{font-size:12px}.progress-overview small{display:block;line-height:1.4}.workspace{min-height:140px}}
.postcode-name{font:600 13px/20px Arial,sans-serif;color:#3d5266;text-align:center;white-space:nowrap;text-shadow:1px 1px 2px #fff,-1px -1px 2px #fff,1px -1px 2px #fff,-1px 1px 2px #fff;pointer-events:none}.postcode-area-name{font-size:16px;font-weight:700}.postcode-layer-control{background:#fff;padding:8px 10px;border:1px solid #ccd2db;border-radius:6px;box-shadow:0 1px 5px #0002;font:14px Arial,sans-serif}.postcode-layer-control label{cursor:pointer;display:block}.postcode-layer-control small{display:block;color:#63788b;font-size:12px;margin-top:4px}
.map-legend{max-height:72px;overflow:auto;pointer-events:auto}.map-legend .legend-item{font-size:12px}
