/* NeoFlora AI — цвета админки поверх токенов SpaceCore Admin Kit.
   ЕДИНСТВЕННОЕ место, где заданы цвета этой админки. Ребрендинг = правка этого файла.
   Подключается ПОСЛЕ tokens.css и kit.css. Все страницы берут цвета только через var(--k-*). */

:root {
  /* бренд админки: тёмно-синий + золото (как было), зелёный логотипа сайта — для акцентов */
  --nf-navy: #1a2238;
  --nf-navy-2: #2d3a5c;
  --nf-gold: #f3c97f;
  --nf-gold-ink: #7a5a1a;
  --nf-sage: #91c2a4;

  --k-primary: var(--nf-navy);
  --k-primary-hover: var(--nf-navy-2);
  --k-primary-soft: #e6e9f2;
  --k-primary-ink: var(--nf-navy);
  --k-on-primary: var(--nf-gold);
  --k-focus: 0 0 0 3px rgb(243 201 127 / .45);

  --k-sidebar: var(--nf-navy);
  --k-sidebar-ink: #cbd5e1;
  --k-sidebar-active: var(--nf-navy-2);
  --k-sidebar-accent: var(--nf-gold);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --k-primary: var(--nf-gold);
    --k-primary-hover: #f7d89c;
    --k-primary-soft: #3a3020;
    --k-primary-ink: var(--nf-gold);
    --k-on-primary: var(--nf-navy);
    --k-bg: #0d1322;
    --k-surface: #141c30;
    --k-surface-2: #1b2440;
    --k-surface-3: #243052;
    --k-line: #243052;
    --k-line-strong: #33436b;
    --k-sidebar: #0d1322;
    --k-sidebar-active: #1b2440;
  }
}
:root[data-theme="dark"] {
  --k-primary: var(--nf-gold);
  --k-primary-hover: #f7d89c;
  --k-primary-soft: #3a3020;
  --k-primary-ink: var(--nf-gold);
  --k-on-primary: var(--nf-navy);
  --k-bg: #0d1322;
  --k-surface: #141c30;
  --k-surface-2: #1b2440;
  --k-surface-3: #243052;
  --k-line: #243052;
  --k-line-strong: #33436b;
  --k-sidebar: #0d1322;
  --k-sidebar-active: #1b2440;
}

/* ---------- каркас: знак бренда и вкладки раздела ---------- */
.k-sidebar .k-brand img { width: 28px; height: 28px; border-radius: 7px; flex: none; }
.k-sidebar .k-nav a .k-i { opacity: .85; }
.k-sidebar .k-nav a.is-active .k-i { opacity: 1; color: var(--k-sidebar-accent); }
.nf-subnav { background: var(--k-surface); padding: 0 var(--k-sp-5); border-bottom: .5px solid var(--k-line); }
.nf-subnav .k-tabs { border-bottom: 0; }
.k-topbar .nf-user { color: var(--k-ink-2); font-size: var(--k-fs-sm); }
.k-topbar .nf-env { font-size: var(--k-fs-xs); color: var(--k-ink-3); }
.nf-brand-name { font-weight: 700; letter-spacing: .01em; }

/* строка формы, где у одного поля рядом с подписью стоят чипы: подписи одной высоты,
   поэтому сами поля и кнопка начинаются на одной линии */
.nf-row-top > .k-field > label, .nf-row-top .nf-label-row { min-height: 26px; display: flex; align-items: center; margin: 0; }

/* в фильтрах числовые поля без стрелок-счётчика: значение вводится руками */
.k-filters input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.k-filters input[type="number"]::-webkit-outer-spin-button,
.k-filters input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }

/* ряд из шести плиток: одной строкой на десктопе, дробится на узких экранах */
.k-stats.nf-stats-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
/* подписи разной длины не должны сдвигать цифры друг относительно друга */
.k-stats.nf-stats-6 .k-label { min-height: 2.2em; }
@media (max-width: 1280px) { .k-stats.nf-stats-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .k-stats.nf-stats-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* переменные-чипы: копируются по клику */
.k-chip[data-copy] { border: 0; cursor: pointer; font: inherit; font-size: var(--k-fs-sm); font-weight: 600; font-family: var(--k-mono); }
.k-chip[data-copy]:hover { background: var(--k-primary); color: var(--k-on-primary); }

/* числовая колонка, выровненная ВЛЕВО (k-num в ките всегда прижимает вправо) */
.k-table .nf-num { text-align: left; font-variant-numeric: tabular-nums; }

/* шапка страницы: слева назад/бейджи, справа действия */
.nf-head { display: flex; align-items: center; gap: var(--k-sp-2); flex-wrap: wrap; }
.nf-head .k-spacer { flex: 1; }

/* пары «подпись — значение» в карточке */
.nf-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px var(--k-sp-4); align-items: baseline; margin: 0; }
.nf-dl dt { color: var(--k-ink-3); font-size: var(--k-fs-sm); font-weight: 600; }
.nf-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }

/* переписка */
.nf-chat { display: flex; flex-direction: column; gap: var(--k-sp-2); }
.nf-msg { max-width: 78%; padding: 10px 14px; border-radius: var(--k-radius); background: var(--k-surface-2); border: .5px solid var(--k-line); }
.nf-msg-user { align-self: flex-start; background: var(--k-surface-2); }
.nf-msg-assistant { align-self: flex-end; background: var(--k-primary-soft); border-color: transparent; }
.nf-msg-system, .nf-msg-tool { align-self: center; max-width: 92%; font-size: var(--k-fs-sm); color: var(--k-ink-2); background: var(--k-surface); }
.nf-msg-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: var(--k-fs-xs); color: var(--k-ink-3); margin-bottom: 4px; }
.nf-msg-meta b { color: var(--k-ink-2); text-transform: uppercase; letter-spacing: .05em; }
.nf-msg-meta .nf-msg-time { margin-left: auto; font-variant-numeric: tabular-nums; }
.nf-msg-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.nf-msg img { max-width: 240px; max-height: 240px; border-radius: var(--k-radius-sm); border: .5px solid var(--k-line); margin-top: 8px; display: block; }
.nf-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nf-list li { padding: 8px 0; border-bottom: .5px solid var(--k-line); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nf-list li:last-child { border-bottom: 0; }

/* сегмент-ссылки периода (7/30/90 дней) */
.nf-seg { display: inline-flex; border: .5px solid var(--k-line-strong); border-radius: var(--k-radius-sm); overflow: hidden; height: var(--k-control-h); }
.nf-seg a { display: inline-flex; align-items: center; padding: 0 12px; color: var(--k-ink-2); font-weight: 600; border-right: .5px solid var(--k-line); }
.nf-seg a:last-child { border-right: 0; }
.nf-seg a:hover { text-decoration: none; background: var(--k-surface-2); }
.nf-seg a.is-active { background: var(--k-primary-soft); color: var(--k-primary-ink); }

/* горизонтальная полоса доли */
.nf-bar { height: 8px; background: var(--k-surface-3); border-radius: 4px; overflow: hidden; min-width: 60px; }
.nf-bar > span { display: block; height: 100%; background: var(--k-primary); }
.nf-bar > span.is-success { background: var(--k-success); }
.nf-bar > span.is-muted { background: var(--k-ink-3); }

/* редактор промптов */
.nf-editor { font-family: var(--k-mono); font-size: 13px; line-height: 1.5; min-height: 480px; height: 70vh; }

/* галерея букетов: сетка карточек */
.nf-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--k-sp-3); }
.nf-gcard { background: var(--k-surface); border: .5px solid var(--k-line); border-radius: var(--k-radius); overflow: hidden; display: flex; flex-direction: column; }
.nf-gcard.is-off { opacity: .55; }
.nf-gcard .nf-gphoto { display: block; aspect-ratio: 1; background: var(--k-surface-2); }
.nf-gcard .nf-gphoto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nf-gcard .nf-gbody { padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.nf-gcard .nf-gtags { font-size: var(--k-fs-xs); color: var(--k-ink-3); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nf-gcard .nf-gfoot { display: flex; align-items: center; gap: 8px; margin-top: auto; }

/* выпадающий список результатов поиска */
.nf-dropdown { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: var(--k-surface); border: .5px solid var(--k-line-strong); border-radius: var(--k-radius-sm); box-shadow: var(--k-shadow-lg); max-height: 260px; overflow-y: auto; }
.nf-dropdown a { display: block; padding: 8px 12px; color: var(--k-ink); border-bottom: .5px solid var(--k-line); }
.nf-dropdown a:last-child { border-bottom: 0; }
.nf-dropdown a:hover { background: var(--k-surface-2); text-decoration: none; }
.nf-dropdown .k-muted { font-size: var(--k-fs-xs); }

/* список слева + форма справа (Пользователи, Допродажи, Нюансы…) */
.nf-split { display: flex; gap: var(--k-sp-4); align-items: flex-start; }
.nf-split > .nf-split-main { flex: 1 1 0; min-width: 0; }
.nf-split > .nf-split-side { flex: 0 0 380px; max-width: 100%; }
@media (max-width: 1100px) { .nf-split { flex-direction: column; } .nf-split > .nf-split-side { flex-basis: auto; width: 100%; } }

/* чекбоксы/радио — в цвет темы (kit красит только .k-check) */
.k input[type=checkbox], .k input[type=radio] { accent-color: var(--k-primary); }

/* заголовок страницы уже в топбаре — одиночный h1 старых страниц не дублируем */
.k-content > h1:first-child { display: none; }
