/* F5407 -- Wholesale Heaven map. Light and dark, one set of tokens. */
:root{
  --wh-accent:#1a7f37; --wh-bg:#ffffff; --wh-bg-2:#f6f7f8; --wh-bg-3:#eceef0;
  --wh-fg:#14181c; --wh-fg-2:#5a646e; --wh-border:#d8dde2; --wh-shadow:0 1px 3px rgba(0,0,0,.12);
  --wh-warn-bg:#fffbe6; --wh-warn-br:#e8d99a;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --wh-accent:#3fb950; --wh-bg:#0d1117; --wh-bg-2:#161b22; --wh-bg-3:#21262d;
    --wh-fg:#e6edf3; --wh-fg-2:#9198a1; --wh-border:#30363d; --wh-shadow:0 1px 3px rgba(0,0,0,.6);
    --wh-warn-bg:#2b2410; --wh-warn-br:#5c4a15;
  }
}
:root[data-theme="dark"]{
  --wh-accent:#3fb950; --wh-bg:#0d1117; --wh-bg-2:#161b22; --wh-bg-3:#21262d;
  --wh-fg:#e6edf3; --wh-fg-2:#9198a1; --wh-border:#30363d; --wh-shadow:0 1px 3px rgba(0,0,0,.6);
  --wh-warn-bg:#2b2410; --wh-warn-br:#5c4a15;
}
*{box-sizing:border-box}
body.whmap{margin:0;background:var(--wh-bg);color:var(--wh-fg);
  font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body.whmap a{color:var(--wh-accent)}
.wh-chrome{padding:.5em 1em;border-bottom:1px solid var(--wh-border);background:var(--wh-bg-2)}
#wh-app{display:flex;height:calc(100vh - 118px);min-height:420px;position:relative}
#wh-side{width:310px;flex:0 0 310px;overflow-y:auto;border-right:1px solid var(--wh-border);
  background:var(--wh-bg-2);padding:.85em .9em 2em}
#wh-map{flex:1 1 auto;position:relative;min-width:0}
#wh-map canvas{outline:none}
.wh-h{font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--wh-fg-2);
  margin:1.1em 0 .45em;font-weight:600}
.wh-h:first-child{margin-top:0}
#wh-side select,#wh-side input[type=search]{width:100%;padding:.45em .55em;font:inherit;
  color:var(--wh-fg);background:var(--wh-bg);border:1px solid var(--wh-border);border-radius:5px}
.wh-row{display:flex;gap:.5em;align-items:center}
.wh-legend{list-style:none;margin:0;padding:0}
.wh-legend li{display:flex;align-items:flex-start;gap:.5em;padding:.3em 0;
  border-bottom:1px solid var(--wh-border)}
.wh-legend li:last-child{border-bottom:none}
.wh-legend label{display:flex;gap:.5em;align-items:flex-start;cursor:pointer;flex:1 1 auto}
.wh-sw{width:13px;height:13px;border-radius:3px;flex:0 0 13px;margin-top:.22em;
  border:1px solid rgba(0,0,0,.25)}
.wh-lname{flex:1 1 auto}
.wh-cnt{font-variant-numeric:tabular-nums;color:var(--wh-fg-2);font-size:.85em;white-space:nowrap}
.wh-nodata{color:var(--wh-fg-2);font-size:.8em;display:block}
.wh-legend li.off .wh-lname{color:var(--wh-fg-2)}
.wh-note{background:var(--wh-warn-bg);border:1px solid var(--wh-warn-br);padding:.55em .7em;
  border-radius:5px;font-size:.85em;margin:.6em 0}
.wh-muted{color:var(--wh-fg-2);font-size:.8em}
#wh-panel{position:absolute;top:10px;right:10px;width:305px;max-width:calc(100% - 20px);
  max-height:calc(100% - 20px);overflow:auto;background:var(--wh-bg);border:1px solid var(--wh-border);
  border-radius:7px;box-shadow:var(--wh-shadow);padding:.8em .9em;z-index:5}
#wh-panel[hidden]{display:none!important}
#wh-panel h3{margin:.1em 0 .5em;font-size:1.02em}
#wh-panel dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.18em .6em;font-size:.88em}
#wh-panel dt{color:var(--wh-fg-2)}
#wh-panel dd{margin:0;word-break:break-word}
.wh-close{position:absolute;top:4px;right:6px;background:none;border:none;font-size:1.3em;
  cursor:pointer;color:var(--wh-fg-2);line-height:1}
.wh-pill{display:inline-block;padding:.1em .45em;border-radius:99px;font-size:.78em;
  border:1px solid var(--wh-border);margin:.12em .2em .12em 0}
.wh-btn{font:inherit;padding:.35em .7em;border:1px solid var(--wh-border);border-radius:5px;
  background:var(--wh-bg);color:var(--wh-fg);cursor:pointer}
.wh-btn.primary{background:var(--wh-accent);border-color:var(--wh-accent);color:#fff}
#wh-status{position:absolute;left:10px;bottom:10px;z-index:5;background:var(--wh-bg);
  border:1px solid var(--wh-border);border-radius:5px;padding:.3em .6em;font-size:.8em;
  box-shadow:var(--wh-shadow);color:var(--wh-fg-2)}
#wh-tip{position:absolute;z-index:6;pointer-events:none;background:var(--wh-bg);
  border:1px solid var(--wh-border);border-radius:5px;padding:.25em .5em;font-size:.82em;
  box-shadow:var(--wh-shadow);max-width:260px}
#wh-tip[hidden]{display:none!important}
#wh-sidetoggle{display:none}
.maplibregl-ctrl-attrib{font-size:10px}
@media (max-width:820px){
  #wh-app{display:block;height:auto}
  #wh-map{height:62vh;min-height:330px}
  #wh-side{width:auto;flex:none;border-right:none;border-bottom:1px solid var(--wh-border);
    max-height:none;overflow:visible}
  #wh-side.collapsed .wh-collapsible{display:none}
  #wh-sidetoggle{display:block;width:100%;margin-bottom:.4em}
  #wh-panel{width:auto;left:10px;right:10px;max-height:52%}
}
