/* Skipi web — обвязка живых дженерик-модулей (BACKLOG №83, 05.08).
   Исходники модулей (map/intelligence/vessel-db) НЕ правятся: этот файл
   даёт им CSS-переменные хоста поверх темы webapp (light default — канон)
   и минимальные host-классы (btn/badge/field/col-head), которые в Tauri
   отдаёт хост-приложение. */

.module-live {
  /* переменные, которые ждут модули (маппинг на палитру webapp) */
  --surface: var(--card);
  --surface2: var(--bubble);
  --text: var(--fg);
  --text2: var(--muted);
  --text3: var(--muted);
  --hover: var(--bubble);
  --accent-bg: color-mix(in srgb, var(--accent) 10%, transparent);
  --accent-bg2: color-mix(in srgb, var(--accent) 22%, transparent);
  --accent-rgb: 11, 99, 196;
  --yellow: #d9a406;
  --green: #2e9e5b;
  --orange: #d97706;
  --red: #dc2626;
  --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
             Arial, sans-serif;
  color: var(--text);
}

/* шапка страницы модуля: название + версия + бейдж Demo + CTA */
.module-live-head {
  display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
  margin: 0 0 1rem;
}
.module-live-head h1 { margin: 0; font-size: 1.45rem; letter-spacing: -.02em; }
.module-live-ver { color: var(--muted); font-size: .85rem; }
.module-demo-badge {
  display: inline-flex; align-items: center; gap: .35rem;
  border: 1px solid var(--warn); color: var(--warn);
  border-radius: 999px; padding: .1rem .6rem;
  font-size: .78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em;
}
.module-demo-cta { font-size: .9rem; font-weight: 600; }
.module-live-desc { color: var(--muted); font-size: .93rem; margin: 0 0 1rem; }

/* host-классы, на которые ссылаются модули (в Tauri их даёт хост) */
.module-live .btn {
  display: inline-flex; align-items: center; gap: .3rem; cursor: pointer;
  border: 0; border-radius: 8px; padding: .45rem .8rem;
  background: var(--accent); color: #fff; font: inherit; font-size: .88rem;
  font-weight: 600;
}
.module-live .btn:hover { background: var(--accent-strong); }
.module-live .btn-outline,
.module-live .btn.btn-outline {
  background: transparent; color: var(--accent);
  border: 1px solid var(--border-strong);
}
.module-live .btn-accent { background: var(--accent); color: #fff; }
.module-live .btn-sm { padding: .3rem .6rem; font-size: .8rem; }
.module-live .badge {
  display: inline-flex; align-items: center; border-radius: 999px;
  padding: .1rem .55rem; font-size: .75rem; font-weight: 600;
  border: 1px solid var(--border); color: var(--muted);
}
.module-live .badge-valid { color: var(--green); border-color: var(--green); }
.module-live .field label {
  display: block; font-size: .8rem; color: var(--muted); margin-bottom: .25rem;
}
.module-live .field input {
  width: 100%; padding: .5rem .7rem; border: 1px solid var(--border-strong);
  border-radius: 8px; font: inherit; background: var(--card); color: var(--fg);
}
.module-live .sea-lock {
  border: 1px dashed var(--border-strong); border-radius: 10px;
  padding: 1rem 1.1rem; background: var(--card);
}
.module-live .sea-lock h3 { margin: 0 0 .35rem; font-size: 1rem; }
.module-live .sea-lock p { margin: 0; color: var(--muted); font-size: .9rem; }
.module-live .editor-narrow { max-width: 860px; }
.module-live .review-trust-chip {
  display: inline-flex; border: 1px solid var(--green); color: var(--green);
  border-radius: 999px; padding: 0 .45rem; font-size: .72rem;
}
.module-live .review-nudge-card,
.module-live .review-impact-strip {
  border: 1px solid var(--border); border-radius: 10px;
  background: var(--card); padding: .8rem 1rem; margin: .8rem 0;
  font-size: .88rem; color: var(--muted);
}
.module-live .vrev-cta a { cursor: pointer; }

/* каркас живой карты (view-viz из брокер-хоста, десктоп-режим) */
.module-live .viz-stack {
  display: flex; flex-direction: row;
  height: 72vh; min-height: 460px;
  border: 1px solid var(--border); border-radius: var(--r-lg);
  overflow: hidden; background: var(--card); position: relative;
}
.module-live .col-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; padding: .6rem .9rem; border-bottom: 1px solid var(--border);
  font-size: .85rem; font-weight: 700;
}
.module-live .col-head .count {
  background: var(--accent); color: #fff; border-radius: 999px;
  padding: 0 .5rem; font-size: .75rem; font-weight: 700;
}
.module-live .viz-sidebar {
  border-right: 1px solid var(--border); background: var(--card);
  overflow-y: auto;
}
/* карта шире контентной колонки страницы */
.module-map-main { max-width: 1200px; }
main:has(.module-map-main) { max-width: 1240px; }

/* заголовки секций Intelligence-композиции */
.module-live .intel-section-title {
  margin: 1.3rem 0 .6rem; font-size: 1rem; letter-spacing: -.01em;
}

/* тост shim-а (в Tauri showToast отдаёт хост) */
.module-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
  background: var(--fg); color: var(--bg); border-radius: 10px;
  padding: .55rem 1rem; font-size: .9rem; z-index: 3000;
  box-shadow: var(--shadow-lg); max-width: min(90vw, 480px);
}
