/* =============================================================================
   ГЛАВНАЯ — персональный кабинет.

   Стекло и глубина: крупные скруглённые полупрозрачные контейнеры с размытием
   и мягким сине-фиолетовым свечением. Все цвета берутся из theme.css.

   ЧЕСТНОСТЬ ДАННЫХ. Ни одной цифры, которой нет: пока источники не подключены,
   на месте выручки, графика и наблюдений стоят честные строки о том, что
   данных ещё нет. Никаких портретов людей — агенты не люди.
   ============================================================================= */

#homeView {
  background: var(--wv-bg);
  color: var(--wv-text);
  font-family: "Onest", system-ui, sans-serif;
  min-height: 100vh;
}

/* Проявление блоков. Прятать можно только когда есть кому показать:
   класс ready ставит скрипт, иначе страница остаётся читаемой. */
#homeView.ready .reveal { opacity: 0; transform: translateY(20px); }
#homeView.ready .reveal.in {
  opacity: 1; transform: none;
  transition: opacity .4s var(--wv-e), transform .4s var(--wv-e);
}

/* ---------------------------------------------------------------- Каркас --- */
.cab { position: relative; overflow: hidden; padding: 40px 20px 64px; }
/* Сине-фиолетовое свечение фона: даёт глубину, но не спорит с контентом */
.cab-aura {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(52% 44% at 74% 26%, rgba(168,85,247,.16), transparent 68%),
    radial-gradient(48% 40% at 18% 62%, rgba(77,166,255,.13), transparent 70%);
}
.cab-in { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; }

.cab-head { margin-bottom: 28px; }
.cab-hi {
  margin: 0; font-size: 40px; line-height: 48px; font-weight: 600;
  letter-spacing: -.03em; color: var(--wv-text);
}
.cab-sub { margin: 8px 0 0; font-size: 16px; line-height: 24px; color: var(--wv-mute); }

/* Сетка кабинета: слева бизнес, справа сфера, ниже офис и колонка статусов */
.cab-grid {
  display: grid; gap: 18px;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  grid-template-areas: "biz orb" "office side";
  align-items: start;
}
#cabBiz    { grid-area: biz; }
#cabOrb    { grid-area: orb; }
#cabOffice { grid-area: office; }
.cab-side  { grid-area: side; display: flex; flex-direction: column; gap: 18px; }

/* ------------------------------------------------------------- Карточки --- */
.cab-card {
  padding: 26px;
  transition: transform .15s var(--wv-e), border-color .15s var(--wv-e);
}
.cab-card:hover { transform: translateY(-4px); border-color: var(--wv-line-2); }
.cab-card.accent {
  background:
    radial-gradient(120% 110% at 100% 0%, rgba(168,85,247,.15), transparent 62%),
    var(--wv-glass);
  border-color: rgba(111,168,255,.28);
}
.cab-card.accent:hover { border-color: rgba(111,168,255,.5); }

.cab-card-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cab-card-t {
  font-size: 11px; font-weight: 500; letter-spacing: .09em;
  text-transform: uppercase; color: var(--wv-mute);
}
.cab-card-n { font-size: 12.5px; color: var(--wv-faint); white-space: nowrap; }

/* --- Карточка бизнеса --- */
.cab-biz-name {
  font-size: 26px; line-height: 32px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase; color: var(--wv-text);
}
.cab-biz-line { margin-top: 6px; font-size: 14px; color: var(--wv-mute); }
.cab-biz-line:empty { display: none; }

/* Честное состояние вместо выдуманных цифр и графика */
.cab-metric, .cab-noticed {
  margin-top: 20px; padding: 16px 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--wv-line); border-radius: var(--wv-r-2);
}
.cab-metric-t, .cab-noticed-t {
  font-size: 11px; font-weight: 500; letter-spacing: .08em;
  text-transform: uppercase; color: var(--wv-mute); margin-bottom: 7px;
}
.cab-metric-v, .cab-noticed-v {
  font-size: 14.5px; line-height: 21px; color: var(--wv-mute);
}
/* Когда данные реально появятся — крупная строка вместо приглушённой */
.cab-metric.has .cab-metric-v, .cab-noticed.has .cab-noticed-v {
  font-size: 19px; line-height: 27px; color: var(--wv-text);
}

/* --- Сфера --- */
.cab-orb {
  position: relative; aspect-ratio: 1 / 1; width: 100%;
  max-width: 420px; margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
}
.cab-orb-c { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cab-orb-mark {
  position: relative; z-index: 1;
  font-size: 26px; font-weight: 700; letter-spacing: .16em;
  background: var(--wv-grad); -webkit-background-clip: text; background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 18px rgba(111,168,255,.55));
  pointer-events: none; user-select: none;
}

/* --- Команда: знаки-шестиугольники, не лица --- */
.cab-team {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px; margin: 18px 0 20px;
}
.cab-mate { text-align: center; }
.cab-mate-g {
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 1 / 1; max-width: 56px; margin: 0 auto 8px;
  color: var(--wv-accent);
  filter: drop-shadow(0 0 8px rgba(111,168,255,.35));
  animation: cabBreathe 3.4s ease-in-out infinite;
}
.cab-mate:nth-child(2) .cab-mate-g { animation-delay: .4s; }
.cab-mate:nth-child(3) .cab-mate-g { animation-delay: .8s; }
.cab-mate:nth-child(4) .cab-mate-g { animation-delay: 1.2s; }
.cab-mate:nth-child(5) .cab-mate-g { animation-delay: 1.6s; }
@keyframes cabBreathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.04); } }
.cab-mate-g svg { width: 100%; height: 100%; display: block; }
.cab-mate-n { font-size: 12.5px; color: var(--wv-text); line-height: 16px; }
.cab-mate-r { font-size: 11px; color: var(--wv-faint); line-height: 15px; margin-top: 2px; }

/* --- Кнопки --- */
.cab-go {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 22px; border-radius: 999px;
  text-decoration: none; font-size: 15px; font-weight: 500;
  color: var(--wv-text); border: 1px solid var(--wv-line-2);
  transition: background .15s var(--wv-e), border-color .15s var(--wv-e);
}
.cab-go:hover { background: rgba(255,255,255,.06); border-color: var(--wv-accent); }
.cab-go.grad {
  background: var(--wv-grad); border: none; color: var(--wv-accent-in);
  font-weight: 600;
}
.cab-go.grad:hover { box-shadow: var(--wv-glow-soft); }

/* --- Статус --- */
.cab-status { display: flex; align-items: center; gap: 9px; margin-top: 10px; font-size: 16px; }
.cab-dot {
  width: 9px; height: 9px; border-radius: 50%; flex: none;
  background: var(--wv-ok); box-shadow: 0 0 12px rgba(45,212,191,.7);
}
.cab-super-d { margin: 10px 0 18px; font-size: 16px; line-height: 24px; color: var(--wv-text); }

/* --- Строка ввода --- */
.cab-ask {
  display: flex; align-items: center; gap: 12px; margin-top: 22px;
  padding: 8px 8px 8px 22px; border-radius: 999px;
  background: var(--wv-glass); border: 1px solid rgba(111,168,255,.35);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  animation: cabAsk 3.6s ease-in-out infinite;
}
/* Свечение по контуру мягко пульсирует */
@keyframes cabAsk {
  0%,100% { box-shadow: 0 0 22px rgba(77,166,255,.16); }
  50%     { box-shadow: 0 0 34px rgba(168,85,247,.26); }
}
.cab-ask-i {
  flex: 1; min-width: 0; background: none; border: none; color: var(--wv-text);
  font-family: inherit; font-size: 16px; padding: 14px 0;
}
.cab-ask-i::placeholder { color: var(--wv-mute); }
.cab-ask-i:focus { outline: none; }
.cab-ask-b {
  flex: none; width: 48px; height: 48px; border-radius: 50%;
  background: var(--wv-grad); border: none; color: var(--wv-accent-in);
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: transform .15s var(--wv-e), box-shadow .15s var(--wv-e);
}
.cab-ask-b svg { width: 20px; height: 20px; }
.cab-ask-b:hover { transform: translateY(-2px); box-shadow: var(--wv-glow-soft); }

.cab-fine {
  margin: 20px 0 0; text-align: center;
  font-size: 12.5px; line-height: 19px; color: var(--wv-faint);
}

/* ------------------------------------------------------- Мобильный экран --- */
@media (max-width: 900px) {
  .cab-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "orb" "biz" "office" "side";
  }
}

@media (max-width: 640px) {
  .cab { padding: 24px 16px 48px; }
  .cab-hi { font-size: 28px; line-height: 35px; }
  .cab-sub { font-size: 15px; }
  .cab-card { padding: 20px; border-radius: 22px; }
  .cab-biz-name { font-size: 21px; line-height: 27px; }
  /* Сфера уменьшается, чтобы не съедать первый экран */
  .cab-orb { max-width: 220px; }
  .cab-orb-mark { font-size: 19px; }
  .cab-team { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .cab-ask { padding-left: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  #homeView.ready .reveal { opacity: 1; transform: none; transition: none; }
  .cab-mate-g, .cab-ask { animation: none; }
  .cab-card:hover, .cab-ask-b:hover { transform: none; }
}
