*{box-sizing:border-box}
body{margin:0;background:#0f1317;color:#edf1f5;font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:0}
main{display:block}p{color:#b8c3ce}a{color:#14d5cf}
button,input,select{font:inherit;color:inherit;background:#1a242c;border:1px solid #52616d;border-radius:4px;min-height:38px;padding:6px 10px}
button{cursor:pointer}button:hover:not(:disabled){border-color:#14d5cf}button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #14d5cf;outline-offset:2px}
input[type=range]{accent-color:#14d5cf;padding:0;min-height:28px;background:none;border:0}
.hy-scn{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;margin-bottom:12px}
.hy-scn label{display:grid;gap:4px;font-size:12px;color:#a9b5c0}
.hy-factor{min-width:220px}.hy-factor output{color:#14d5cf;font-weight:600;margin-left:6px}
.hy-status{flex-basis:100%;margin:0;font-size:12.5px}
.hy-bench{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;height:min(68vh,660px);min-height:480px}
.hy-map-wrap{position:relative;border:1px solid #2e3a44;border-radius:6px;overflow:hidden;background:#0b1014;background-image:linear-gradient(#141c22 1px,transparent 1px),linear-gradient(90deg,#141c22 1px,transparent 1px);background-size:40px 40px}
#hy-map{position:absolute;inset:0;background:transparent}
.hy-tools{position:absolute;z-index:500;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap}
.hy-tools>*{background:#0b0f12e6}.hy-tools .civ-seg button{background:transparent}.hy-tools .civ-seg button[aria-pressed=true]{background:#14d5cf}
.hy-legend{position:absolute;z-index:500;right:10px;bottom:10px}
.hy-record{overflow:auto;min-height:0}
.hy-rtabs{width:100%;margin-bottom:10px}.hy-rtabs button{flex:1}
.hy-pick{display:grid;gap:4px;font-size:12px;color:#a9b5c0;margin-bottom:12px}
.hy-rh{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.hy-rh h2{margin:0;font-size:22px}
.hy-eyebrow{margin:0!important;font:600 10.5px/1.3 system-ui;letter-spacing:.06em;text-transform:uppercase;color:#14d5cf!important}
.hy-warn{border-left:3px solid #ffbf69;padding:6px 10px;background:#2a2114;color:#ffdca8!important;font-size:12.5px}
.hy-acts{margin:12px 0}.hy-h3{font-size:13px;color:#a9b5c0;margin:12px 0 8px}.hy-small{font-size:12px}
.hy-tables{margin-top:22px}
.hy-sort{background:none;border:0;padding:0;min-height:0;color:inherit;font:inherit;text-align:inherit;width:100%}
.civ-table tr[data-pick]{cursor:pointer}.hy-row-bad td:first-child{box-shadow:inset 3px 0 #ffbf69}
.hy-dash{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;margin-bottom:16px;align-items:start}
.hy-dash .civ-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.leaflet-container{font:inherit}.leaflet-tooltip{background:#0b0f12;color:#edf1f5;border:1px solid #43515e;box-shadow:none}
.leaflet-control-zoom a{background:#0b0f12;color:#edf1f5;border-color:#2e3a44!important}
@media(max-width:1000px){.hy-bench{grid-template-columns:1fr;height:auto}.hy-map-wrap{height:60vh}.hy-dash{grid-template-columns:1fr}}
@media(max-width:600px){.hy-scn>*{flex:1 1 100%}.hy-legend{left:10px;right:auto;bottom:10px;max-width:calc(100% - 20px)}.hy-tools .civ-seg{width:100%}.hy-tools .civ-seg button{flex:1;padding:6px 4px;font-size:12px}}
