:root{
  --bg:#0b1020; --panel:rgba(255,255,255,.06); --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.65); --border:rgba(255,255,255,.14);
  --shadow:0 10px 30px rgba(0,0,0,.35); --radius:18px;
}
*{box-sizing:border-box;}
html,body{height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 20% 10%, rgba(110,231,255,.18), transparent 60%),
             radial-gradient(900px 500px at 70% 40%, rgba(124,58,237,.14), transparent 60%), var(--bg);
  color:var(--text);
}
.topbar{position:sticky;top:0;z-index:1000;display:flex;gap:16px;align-items:center;justify-content:space-between;
  padding:14px 16px;background:rgba(11,16,32,.7);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.brand{display:flex;gap:12px;align-items:center;min-width:280px;}
.brand__logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(110,231,255,.35), rgba(124,58,237,.25));
  border:1px solid var(--border);box-shadow:var(--shadow);font-weight:800;letter-spacing:.5px;}
.brand__title{font-weight:700;font-size:14px;}
.brand__subtitle{font-size:12px;color:var(--muted);margin-top:2px;}
.toolbar{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex:1;flex-wrap:wrap;}
.segmented{display:flex;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:999px;}
.segmented__btn{border:0;cursor:pointer;color:var(--muted);background:transparent;padding:8px 12px;border-radius:999px;font-weight:700;}
.segmented__btn.is-active{color:var(--text);background:linear-gradient(135deg, rgba(110,231,255,.25), rgba(124,58,237,.18));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);}
.actions{display:flex;gap:10px;align-items:center;}
.select{padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);outline:none;}
.btn{padding:9px 12px;border-radius:12px;border:1px solid var(--border);
  background:linear-gradient(135deg, rgba(110,231,255,.18), rgba(124,58,237,.14));color:var(--text);font-weight:800;cursor:pointer;}
.btn--ghost{background:var(--panel);color:var(--muted);}
.pill{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);
  background:rgba(0,0,0,.20);color:var(--muted);font-size:12px;}
.pill .dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.35);box-shadow:0 0 0 3px rgba(255,255,255,.06);}
.main{display:grid;grid-template-columns:1fr 360px;gap:14px;padding:14px;height:calc(100vh - 78px);}
.tab{display:none;height:100%;}
.tab.is-active{display:block;}
.map{height:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:rgba(255,255,255,.03);}
.side{display:flex;flex-direction:column;gap:14px;height:100%;}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;overflow:hidden;}
.card__title{font-weight:900;margin-bottom:10px;}
.muted{color:var(--muted);font-size:12px;line-height:1.4;}
.list{margin:0;padding-left:18px;color:var(--muted);font-size:13px;}
.list li{margin:6px 0;}
.code{margin-top:10px;max-height:48vh;overflow:auto;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.10);
  border-radius:14px;padding:10px;font-size:12px;color:rgba(255,255,255,.85);}

/* Leaflet tweaks + аккуратная атрибуция (полностью убирать нельзя) */
.leaflet-control-zoom a{background:rgba(255,255,255,.10);color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.15);}
.leaflet-container{background:transparent;}
.leaflet-control-attribution{
  background:rgba(0,0,0,.25)!important;color:rgba(255,255,255,.55)!important;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:4px 8px!important;margin:8px!important;font-size:10px!important;backdrop-filter:blur(6px);
}
.leaflet-control-attribution a{color:rgba(255,255,255,.70)!important;text-decoration:none;}
.leaflet-control-attribution a:hover{text-decoration:underline;}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:rgba(20,24,40,.95);color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.12);}
