:root{
  --bg:#0b0f14; --panel:#0f172a; --panel2:#101826; --text:#e7ecf5; --muted:#a9b3c7;
  --gold:#d4af37; --lapis:#1e40af; --border:#22324a;
  --low:#21c07a; --mid:#ffd166; --high:#ef476f; --vhigh:#b00020;
}
html,body,#map{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Roboto,Arial}
.linkbar{position:sticky;top:0;z-index:5000;display:flex;gap:16px;align-items:center;padding:10px 14px;background:var(--panel2);border-bottom:1px solid #1f2b40}
.linkbar a{color:var(--gold);text-decoration:none;font-weight:700}
.panel{position:absolute;background:rgba(15,23,42,.96);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);min-width:300px;max-width:92vw;left:12px;top:82px;z-index:900}
.panel .hdr{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:linear-gradient(180deg,#0f172a,#0c1422);border-bottom:1px solid var(--border);border-radius:14px 14px 0 0}
.panel .body{padding:10px 12px;max-height:64vh;overflow:auto}
.basemap button{margin-right:6px}
.btn{background:var(--lapis);color:#fff;border:none;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:600}
.btn.ghost{background:#1f2937;border:1px solid #374151}
.btn.danger{background:#3a1010;border:1px solid #5b1a1a}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:.35rem 0}
.small{font-size:.9rem;color:var(--muted)}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#223055;margin-right:6px}
.leaflet-popup-content{color:#111}
.vign{display:inline-block;border-radius:8px;padding:6px 8px;font-weight:700}
.vign.low{background:color-mix(in oklab, var(--low) 20%, transparent);border:1px solid var(--low);color:#fff}
.vign.mid{background:color-mix(in oklab, var(--mid) 20%, transparent);border:1px solid var(--mid);color:#111}
.vign.high{background:color-mix(in oklab, var(--high) 20%, transparent);border:1px solid var(--high);color:#fff}
.vign.vhigh{background:color-mix(in oklab, var(--vhigh) 20%, transparent);border:1px solid var(--vhigh);color:#fff}
.toast{position:fixed;right:14px;bottom:14px;background:#0f172a;border:1px solid var(--border);padding:10px 12px;border-radius:12px;color:#e7ecf5;z-index:5001;box-shadow:0 8px 24px rgba(0,0,0,.35)}
