/* VK4SLR three-view dashboard: map first, detail without crowding. */
body.vk-paged-dashboard {
  height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.vk-view-tabs {
  display: flex;
  flex: 0 0 auto;
  gap: .4rem;
  align-items: stretch;
  padding: .35rem;
  border: 1px solid #26364d;
  border-radius: 7px;
  background: #0a111f;
}

.vk-view-tab {
  min-width: 0;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .48rem .7rem;
  border: 1px solid #334155;
  border-radius: 6px;
  color: #94a3b8;
  background: #111827;
  cursor: pointer;
  font: inherit;
  font-size: .75rem;
  font-weight: 750;
}

.vk-view-tab small { color: #64748b; font-size: .6rem; font-weight: 500; }
.vk-view-tab:hover { border-color: #38bdf8; color: #e2e8f0; }
.vk-view-tab[aria-selected="true"] {
  border-color: #0ea5e9;
  color: #e0f2fe;
  background: linear-gradient(180deg, #075985, #0c4a6e);
  box-shadow: inset 0 0 0 1px rgba(125,211,252,.12), 0 0 12px rgba(14,165,233,.13);
}
.vk-view-tab[aria-selected="true"] small { color: #bae6fd; }

.vk-pages-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.vk-view-page {
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: auto;
  padding: .1rem .15rem .55rem;
  scrollbar-width: thin;
  scrollbar-color: #475569 #0b0f19;
}
.vk-view-page[hidden] { display: none !important; }

.vk-page-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: .05rem 0 .5rem;
  padding: .58rem .7rem;
  border: 1px solid #334155;
  border-radius: 7px;
  background: #111827;
  color: #cbd5e1;
  font-size: .72rem;
}
.vk-page-intro strong { color: #38bdf8; font-size: .82rem; }
.vk-page-intro span { color: #94a3b8; }

/* Page 1: the map is again the centre of gravity at normal browser zoom. */
.vk-page-map .dashboard-top {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  flex: none !important;
  min-height: 94px;
  margin-bottom: .35rem;
}

.vk-page-map .work-area-v23 {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr) !important;
  grid-template-areas:
    "map map"
    "environment passes";
  gap: .4rem !important;
  flex: none !important;
  min-height: 0 !important;
}
.vk-page-map .map-card {
  grid-area: map;
  min-height: clamp(470px, 56vh, 640px) !important;
  height: clamp(470px, 56vh, 640px);
}
.vk-page-map .map-container { min-height: 410px !important; }
.vk-page-map .side-stack-v23.left {
  grid-area: environment;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none !important;
  min-height: 150px;
}
.vk-page-map .side-stack-v23.right {
  grid-area: passes;
  display: grid !important;
  grid-template-rows: 1fr !important;
  min-height: 150px;
}
.vk-page-map .side-stack-v23 .card { min-height: 140px; }

/* Page 2: larger lists, Peanut room, and room to read the data. */
.vk-live-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem;
  margin-bottom: .5rem;
}
.vk-page-feeds .peanut-card {
  min-height: 190px;
  padding: .65rem .75rem;
  flex: none;
}
.vk-page-feeds .peanut-users { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vk-page-feeds .bottom-feed-dock {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .5rem !important;
  min-height: 0 !important;
  flex: none !important;
}
.vk-page-feeds .bottom-feed-dock .card {
  min-height: 320px;
  padding: .65rem .7rem;
  overflow: hidden;
}
.vk-page-feeds .bottom-feed-dock .feed-list {
  overflow-y: auto !important;
  font-size: .72rem;
  line-height: 1.3;
}
.vk-page-feeds .bottom-feed-dock .feed-list li { padding: .24rem 0 !important; }

/* Page 3: event planning, real public link detail, and reserved control space. */
.vk-radio-plan {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin-bottom: .5rem;
}
.vk-radio-plan-card {
  min-height: 105px;
  padding: .7rem;
  border: 1px dashed #475569;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(14,165,233,.07), #111827 48%);
}
.vk-radio-plan-card h3 { margin: 0 0 .35rem; color: #38bdf8; font-size: .78rem; text-transform: uppercase; }
.vk-radio-plan-card p { margin: 0; color: #94a3b8; font-size: .7rem; line-height: 1.45; }
.vk-radio-plan-card strong { color: #fbbf24; }
.vk-page-radio .vk-extras-shell { padding: 0; border-top: 0; background: transparent; }
.vk-page-radio .vk-extras-heading { margin: .35rem 0 .5rem; }
.vk-page-radio .vk-extras-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.vk-page-radio .vk-extra-card { min-height: 235px; font-size: .76rem; }

.vk-link-details {
  margin-top: .55rem;
  padding-top: .5rem;
  border-top: 1px solid #334155;
}
.vk-link-station { margin: .35rem 0 .55rem; }
.vk-link-station-title { display: flex; justify-content: space-between; gap: .5rem; color: #e2e8f0; }
.vk-link-connected { margin-top: .25rem; color: #94a3b8; font-size: .68rem; line-height: 1.45; }
.vk-link-chip {
  display: inline-flex;
  margin: .15rem .2rem .05rem 0;
  padding: .18rem .35rem;
  border: 1px solid #334155;
  border-radius: 999px;
  color: #7dd3fc;
  background: #0b1220;
}
.vk-public-scope { margin-top: .5rem; color: #64748b; font-size: .64rem; line-height: 1.35; }

@media (max-width: 1200px) {
  .vk-page-map .dashboard-top { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .vk-page-map .work-area-v23 { grid-template-columns: 1fr !important; grid-template-areas: "map" "environment" "passes"; }
  .vk-page-feeds .bottom-feed-dock { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vk-page-feeds .peanut-users { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body.vk-paged-dashboard { height: auto !important; min-height: 100vh !important; overflow-y: auto !important; }
  .vk-view-tabs { position: sticky; top: 0; z-index: 8000; padding: .25rem; }
  .vk-view-tab { padding: .52rem .3rem; font-size: .66rem; }
  .vk-view-tab small { display: none; }
  .vk-pages-shell { overflow: visible; }
  .vk-view-page { height: auto; overflow: visible; }
  .vk-page-map .dashboard-top,
  .vk-page-map .side-stack-v23.left,
  .vk-page-feeds .bottom-feed-dock,
  .vk-page-radio .vk-extras-grid,
  .vk-radio-plan { grid-template-columns: 1fr !important; }
  .vk-page-map .map-card { height: 58vh; min-height: 420px !important; }
  .vk-page-map .map-container { min-height: 350px !important; }
  .vk-page-feeds .peanut-users { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vk-page-intro { align-items: flex-start; flex-direction: column; gap: .2rem; }
}
