/* =========================================================
   E90 DashNav Rails — v1.0.19
   Left/Right columns (Monitoring / Ecosystem Activity)
   ========================================================= */

/* Side wrappers */
.e90-dash-side {
  position: relative;
}

.e90-dash-side__inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.e90-dash-side__header {
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.04);
}

.e90-dash-side__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Cards */
.e90-dash-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.85);
  padding: 12px;
}

.e90-dash-card__title {
  font-weight: 700;
  margin: 0 0 10px 0;
}

.e90-dash-kv {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 0;
}

.e90-dash-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  opacity: 0.85;
}

.e90-dash-muted {
  opacity: 0.75;
  font-size: 13px;
  line-height: 1.35;
}

.e90-dash-muted--mini {
  font-size: 12px;
  margin-top: 8px;
}

.e90-dash-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.e90-dash-pill {
  display: inline-block;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  margin-right: 6px;
}

.e90-dash-when {
  margin-left: 10px;
  font-size: 12px;
  opacity: 0.7;
  white-space: nowrap;
}

/* 3-wide Icon Grid (Geo + Sources) */
.e90-icon-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.e90-icon-tile {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  padding: 10px 8px;
  text-align: center;
}

.e90-icon-tile.is-active{
  border-color: rgba(0,0,0,0.28);
  box-shadow: 0 1px 0 rgba(0,0,0,0.05);
}

.e90-icon {
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 22px;
}

.e90-src-svg {
  width: 26px;
  height: 26px;
  display: block;
}


/* Source icon brand colors */
.e90-src-svg,
.e90-src-svg path,
.e90-src-svg circle,
.e90-src-svg rect,
.e90-src-svg polygon {
  fill: currentColor;
  stroke: currentColor;
}

.e90-icon-tile[data-e90-source="YouTube"] { color: #FF0000; }
.e90-icon-tile[data-e90-source="TikTok"] { color: #000000; }
.e90-icon-tile[data-e90-source="Instagram"] { color: #C13584; }
.e90-icon-tile[data-e90-source="X"] { color: #000000; }
.e90-icon-tile[data-e90-source="Facebook"] { color: #1877F2; }
.e90-icon-tile[data-e90-source="LinkedIn"] { color: #0A66C2; }

.e90-icon-label {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.e90-icon-value {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
}

.e90-icon-badge {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  background: rgba(0, 0, 0, 0.08);
}

.e90-icon-badge--direct {
  background: rgba(0, 0, 0, 0.12);
}


/* Unified Shell anchor: keep dashboard rails bound to the same layout wrapper used site-wide */
.e90-dash-layout { position: relative; }


/* =========================================================
   Live Monitoring KV rows — v1.0.22
   ========================================================= */
.e90-dash-kv{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}
.e90-dash-kv__row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  line-height:1.2;
}
.e90-dash-kv__k{
  font-size:12px;
  opacity:0.75;
  flex:0 0 44%;
}
.e90-dash-kv__v{
  font-size:12px;
  text-align:right;
  flex:1 1 auto;
  word-break:break-word;
}
.e90-dash-muted--tight{
  margin-top:8px;
}

/* Nested cards inside a single rail card */
.e90-dash-card--subtle{
  background: rgba(255,255,255,0.78);
}
.e90-dash-subcard{
  border-top:1px solid rgba(0,0,0,0.06);
  padding-top:10px;
  margin-top:10px;
}
.e90-dash-subcard__title{
  font-size:12px;
  font-weight:600;
  margin-bottom:8px;
  opacity:0.85;
}


/* =========================================================
   Ecosystem Snapshot (Right Rail) — 2-row single block
   ========================================================= */
.e90-eco-card { padding: 14px; }
.e90-eco-title{
  font-family: Georgia, "Times New Roman", serif;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
  margin: 4px 0 12px;
}
.e90-eco-row { display: grid; gap: 12px; }
.e90-eco-row--totals { grid-template-columns: 1fr 1fr; margin-bottom: 10px; }
.e90-eco-row--types { grid-template-columns: 1fr 1fr 1fr; }
.e90-eco-metric { text-align: center; padding: 8px 6px; border-radius: 12px; background: rgba(0,0,0,0.02); }
.e90-eco-label { font-size: 12px; letter-spacing: .02em; opacity: .8; margin-bottom: 6px; }
.e90-eco-value { font-size: 20px; font-weight: 700; }

.e90-eco-gem { padding: 10px 8px; border-radius: 12px; background: rgba(0,0,0,0.02); }
.e90-eco-gem__name { font-size: 12px; font-weight: 700; line-height: 1.1; margin-bottom: 8px; }
.e90-eco-gem__sub { font-weight: 600; opacity: .75; }
.e90-eco-gem__meta { display: flex; align-items: center; justify-content: center; gap: 8px; }
.e90-eco-gem__count { font-size: 16px; font-weight: 800; }
.e90-eco-gem__icon svg { display: block; }

.e90-eco-nav__list, .e90-eco-nav__sub { list-style: none; margin: 0; padding: 0; }
.e90-eco-nav__item { margin: 0; }
.e90-eco-nav__item > a{
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration: none;
}
.e90-eco-nav__item.is-active > a{ font-weight: 700; background: rgba(0,0,0,0.05); }
.e90-eco-nav__sub{ margin-left: 10px; margin-top: 6px; }
.e90-eco-nav__item.is-child > a{ padding-left: 16px; font-size: 13px; opacity: .95; }

@media (max-width: 480px){
  .e90-eco-row--types { grid-template-columns: 1fr; }
}

/* Photo gem icon support */
.e90-eco-gem__icon img{width:18px;height:18px;object-fit:cover;border-radius:4px;display:block;}


/* EcoSystem card (right rail) */
.e90-ecosystem-title{font-weight:800;text-align:center;margin:2px 0 10px;}
.e90-eco-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;}
.e90-eco-total{background:#f6f6f6;border-radius:10px;padding:10px;text-align:center;}
.e90-eco-total__label{font-size:11px;opacity:.7;margin-bottom:2px;}
.e90-eco-total__value{font-size:18px;font-weight:800;line-height:1.1;}
.e90-eco-types{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}



/* Right-rail Navigation */
.e90-nav-list{list-style:none;margin:10px 0 0;padding:0;}
.e90-nav-list__item{margin:0;padding:6px 0;border-top:1px solid rgba(0,0,0,.05);}
.e90-nav-list__item:first-child{border-top:0;}
.e90-nav-list__item a{text-decoration:none;display:block;}
.e90-nav-list__item a:hover{text-decoration:underline;}
.e90-rail-card__subtitle{font-size:12px;opacity:.7;margin-top:2px;}
.e90-rail-empty{font-size:12px;opacity:.8;margin-top:10px;}

.e90-eco-gem__img{width:18px;height:18px;object-fit:cover;border-radius:4px;display:block;}


/* Right-rail Navigation: name-click expand + child paging */
.e90-eco-nav__row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.e90-eco-nav__link{flex:1;min-width:0;display:block;text-decoration:none;}
.e90-eco-nav__link:hover{text-decoration:underline;}

.e90-eco-nav__item.has-children > .e90-eco-nav__row .e90-eco-nav__link{position:relative;padding-right:20px;}
.e90-eco-nav__item.has-children > .e90-eco-nav__row .e90-eco-nav__link:after{content:'›';position:absolute;right:6px;top:50%;transform:translateY(-50%) rotate(0deg);opacity:.6;transition:transform .15s ease, opacity .15s ease;}
.e90-eco-nav__item.is-expanded > .e90-eco-nav__row .e90-eco-nav__link:after{transform:translateY(-50%) rotate(90deg);opacity:.85;}

.e90-eco-nav__sub[hidden]{display:none !important;}

.e90-eco-nav__more{margin:6px 0 0;}
.e90-eco-nav__more-btn{width:100%;border:1px solid rgba(0,0,0,0.08);background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;cursor:pointer;}
.e90-eco-nav__more-btn:hover{background:rgba(0,0,0,0.03);}
.e90-eco-nav__more-btn.is-loading{opacity:.6;cursor:default;}
.e90-activity-link{text-decoration:none;display:block;padding:6px 0;}
