/*
 * flumen E2E — слой полировки. Подключается ПОСЛЕДНИМ и не меняет разметку/логику:
 * только приводит интерфейс к одному набору скруглений, теней, состояний и движения.
 *
 * Почему отдельным файлом, а не правкой на местах: правила разбросаны по четырём файлам и
 * инлайну в e2e.html, и массовая замена радиусов рисковала бы поломать выверенные размеры
 * (миниатюры товаров, чипы доски). Здесь — только то, что безопасно поверх.
 *
 * Движение уважает prefers-reduced-motion (см. конец файла).
 */

/* ---------- 1. Кнопки: одинаковые отклик и фокус ---------- */
.btn, .nav-btn, .chip-btn, .bd-seg-btn, .seg-pick button, .lg-tog, .pick-item, .pick-trigger,
.fchip, .pu-tab, .dp-chip, .dp-day, .gi-use, .btn-arrived {
    transition: background-color var(--t-fast), border-color var(--t-fast),
                color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);
}
/* Нажатие должно ощущаться: небольшое «вдавливание» вместо мгновенной смены цвета. */
.btn:active, .chip-btn:active, .pick-item:active, .pick-trigger:active, .btn-arrived:active { transform: translateY(1px); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

/* Фокус с клавиатуры — видимое кольцо; мышью кольцо не мозолит глаза. */
.btn:focus-visible, .nav-btn:focus-visible, .pick-item:focus-visible, .pick-trigger:focus-visible,
.bd-seg-btn:focus-visible, .seg-pick button:focus-visible, .fchip:focus-visible, .pu-tab:focus-visible,
.dp-day:focus-visible, .dp-chip:focus-visible, .lg-tog:focus-visible, .x:focus-visible {
    outline: none; box-shadow: var(--ring);
}
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: none; }

/* ---------- 2. Поля ввода: одинаковая рамка и подсветка ---------- */
.form label input, .form label textarea, .form label select,
.pu-search, .bd-search, .map-search, .pick-search, input[type="text"], input[type="search"],
input[type="number"], input[type="date"], input[type="password"], textarea, select {
    transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.form label input:focus, .form label textarea:focus, .form label select:focus,
.pu-search:focus, .bd-search:focus, .map-search:focus, .pick-search:focus,
input:focus, textarea:focus, select:focus { border-color: var(--ac); box-shadow: var(--ring); }

/* ---------- 3. Модалки: мягкое появление вместо рывка ---------- */
.modal { backdrop-filter: blur(2px); animation: flFade var(--t-med) both; }
.modal > .modal-card { animation: flPop var(--t-med) both; box-shadow: var(--sh-3); border-radius: var(--r-lg); }
@keyframes flFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes flPop { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }

/* Крестик закрытия — заметная зона нажатия и отклик. */
.modal-head .x { border-radius: var(--r-xs); transition: background-color var(--t-fast), color var(--t-fast); }
.modal-head .x:hover { background: #f1f2f7; color: var(--ink); }

/* ---------- 4. Всплывающие слои (календарь, листы выбора) ---------- */
.dp-pop, .sheet, .bd-toast { animation: flPop var(--t-fast) both; }
.dp-pop { box-shadow: var(--sh-3); border-radius: var(--r-lg); }

/* ---------- 5. Таблицы: спокойный ритм и подсветка строки под курсором ---------- */
.tbl tbody tr { transition: background-color var(--t-fast); }
.tbl tbody tr:hover { background: #fafbff; }
.tbl th { position: sticky; top: 0; background: var(--panel); z-index: 1; }
.ct-tblwrap, .panel { border-radius: var(--r-lg); }

/* ---------- 6. Карточки доски и списки ---------- */
.chip { transition: border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast); }
.chip:hover { box-shadow: var(--sh-2); }
.column { border-radius: var(--r-lg); }
.acct, .ordcard, .track-item, .sb-row, .gen-item { transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.acct:hover, .track-item:hover { box-shadow: var(--sh-1); }

/* ---------- 7. Плашки и чипы: одна форма ---------- */
.bd-pill, .sb-pill, .sb-status, .chip-days, .chip-tag, .chip-own, .abadge, .ord-owner, .sb-cat, .pu-draft-owner {
    border-radius: var(--r-full);
}
.bd-seg, .seg-pick, .nav { border-radius: var(--r-full); }
.bd-seg-btn, .seg-pick button, .nav-btn { border-radius: var(--r-full); }

/* ---------- 8. Появление содержимого вкладки ---------- */
[data-screen="app"] > .pu-wrap:not([hidden]), [data-screen="app"] > .bd-wrap:not([hidden]) {
    animation: flIn var(--t-med) both;
}
@keyframes flIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ---------- 9. Полосы прокрутки — тоньше и в тон ---------- */
.col-scroll, .pick-list, .map-found, .ct-tblwrap, .pu-feed { scrollbar-width: thin; scrollbar-color: #cdd2e2 transparent; }
.col-scroll::-webkit-scrollbar, .pick-list::-webkit-scrollbar, .map-found::-webkit-scrollbar { width: 8px; height: 8px; }
.col-scroll::-webkit-scrollbar-thumb, .pick-list::-webkit-scrollbar-thumb, .map-found::-webkit-scrollbar-thumb {
    background: #cdd2e2; border-radius: var(--r-full);
}
.col-scroll::-webkit-scrollbar-track, .pick-list::-webkit-scrollbar-track, .map-found::-webkit-scrollbar-track { background: transparent; }

/* ---------- 10. Уважаем системную настройку «меньше движения» ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important;
                             transition-duration: .001ms !important; }
    .btn:active, .chip-btn:active { transform: none; }
}

/* ---------- 11. Пустые состояния: не голая строчка, а понятный блок ---------- */
.empty-state{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;padding:30px 12px;
  color:var(--muted);font-size:13px;font-weight:600;text-align:center}
.empty-state .es-ico{font-size:26px;line-height:1;opacity:.55;margin-bottom:4px}
.empty-state .es-sub{font-size:12px;font-weight:500;color:var(--muted);opacity:.85}
