/* === Вторые руки — премиум-тема «Изумруд» (admin-custom.css) === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --vr-acc:#10B981; --vr-acc2:#059669; --vr-acc-ink:#047857;
  --vr-soft:#E7F7F0; --vr-ring:rgba(16,185,129,0.30);
  --vr-side1:#0B3D2E; --vr-side2:#0A2A20;
  --vr-ease:cubic-bezier(.2,.8,.2,1);
}

/* ---- Базовый шрифт ---- */
html, body, button, input, select, textarea, th, td, label, a {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ---- Плавное появление контента страницы ---- */
@keyframes vrFade { from { opacity:0; transform: translateY(8px); } to { opacity:1; transform:none; } }
#content, #content-main, main { animation: vrFade .42s var(--vr-ease) both; }

/* ============================================================
   ТЁМНЫЙ ПРЕМИУМ-САЙДБАР
   ============================================================ */
#nav-sidebar,
#nav-sidebar > div,
#nav-sidebar-inner {
  background: linear-gradient(180deg, var(--vr-side1) 0%, var(--vr-side2) 100%) !important;
  border-right-color: rgba(255,255,255,0.07) !important;
}
#nav-sidebar-inner [class*="border-base"],
#nav-sidebar-inner .border-b { border-color: rgba(255,255,255,0.08) !important; }

/* Заголовки групп меню */
#nav-sidebar-inner .text-font-important-light,
#nav-sidebar-inner h1, #nav-sidebar-inner h2, #nav-sidebar-inner h3 {
  color: rgba(255,255,255,0.44) !important;
  letter-spacing: .6px !important;
}

/* Пункты меню */
#nav-sidebar-inner a {
  color: rgba(255,255,255,0.82) !important;
  transition: background .18s ease, color .18s ease, transform .2s var(--vr-ease) !important;
}
#nav-sidebar-inner a .material-symbols-outlined,
#nav-sidebar-inner a svg { transition: transform .2s var(--vr-ease), color .18s ease; }
#nav-sidebar-inner a:hover {
  background: rgba(255,255,255,0.10) !important;
  color: #ffffff !important;
  transform: translateX(3px);
}
#nav-sidebar-inner a:hover .material-symbols-outlined,
#nav-sidebar-inner a:hover svg { transform: scale(1.12); color: var(--vr-acc) !important; }

/* Активный пункт — изумрудная заливка + свечение */
#nav-sidebar-inner a.text-primary-600 {
  background: linear-gradient(145deg, var(--vr-acc), var(--vr-acc2)) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px var(--vr-ring) !important;
}
#nav-sidebar-inner a.text-primary-600 .material-symbols-outlined,
#nav-sidebar-inner a.text-primary-600 svg { color: #ffffff !important; }

/* Поиск в сайдбаре */
#nav-sidebar input {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: #ffffff !important;
}
#nav-sidebar input::placeholder { color: rgba(255,255,255,0.5) !important; }

/* ============================================================
   ТАБЛИЦЫ СПИСКОВ
   ============================================================ */
#result_list {
  border-collapse: collapse !important; border-spacing: 0 !important;
  border-radius: 14px !important; overflow: hidden !important;
}
#result_list thead th {
  background: #F8FAFB !important; color: #808BA3 !important;
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.6px !important;
  padding: 12px 16px !important; border-bottom: 2px solid #E3E8F0 !important;
  border-top: none !important; white-space: nowrap !important;
}
#result_list thead th input { margin: 0 !important; }
#result_list tbody tr {
  border-bottom: 1px solid #EFF2F7 !important;
  transition: background .16s ease, box-shadow .16s ease !important;
}
#result_list tbody tr:last-child { border-bottom: none !important; }
#result_list tbody tr:hover td, #result_list tbody tr:hover th {
  background: var(--vr-soft) !important;
}
#result_list tbody td, #result_list tbody th {
  padding: 12px 16px !important; font-size: 13.5px !important;
  color: #1A2033 !important; vertical-align: middle !important;
}
#result_list tbody td a { font-weight: 600 !important; color: var(--vr-acc-ink) !important; }

.paginator { font-size: 13px !important; color: #808BA3 !important; padding: 8px 0 !important; }
.paginator a { font-weight: 600 !important; color: var(--vr-acc-ink) !important; }

/* ============================================================
   ПОЛЯ ВВОДА / ПОИСК — изумрудный фокус
   ============================================================ */
input[type=text], input[type=email], input[type=number], input[type=url],
input[type=password], input[type=date], input[type=tel], input[type=datetime-local],
input[type=search], select, textarea, .vTextField, .vDateField, .vTimeField, #searchbar {
  border: 1.5px solid #DDE3EE !important; border-radius: 10px !important;
  padding: 9px 13px !important; font-size: 14px !important; color: #1A2033 !important;
  background: #FFFFFF !important; box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}
input:focus, select:focus, textarea:focus, .vTextField:focus, #searchbar:focus {
  border-color: var(--vr-acc) !important;
  box-shadow: 0 0 0 4px var(--vr-ring) !important; outline: none !important;
}
textarea { min-height: 72px !important; resize: vertical !important; }
label {
  font-size: 12px !important; font-weight: 600 !important; color: #808BA3 !important;
  text-transform: uppercase !important; letter-spacing: 0.4px !important;
}
p.help { font-size: 12px !important; color: #9BA4B8 !important; }

/* ============================================================
   КНОПКИ — изумрудный градиент, подъём и нажатие
   ============================================================ */
.submit-row input[type=submit].default, input[type=submit].default,
.button.default, a.button.default {
  background: linear-gradient(145deg, var(--vr-acc) 0%, var(--vr-acc2) 100%) !important;
  border: none !important; border-radius: 11px !important; color: #fff !important;
  font-weight: 700 !important; font-size: 14px !important; letter-spacing: 0.2px !important;
  padding: 11px 26px !important; box-shadow: 0 6px 16px var(--vr-ring) !important;
  cursor: pointer !important;
  transition: transform .14s var(--vr-ease), box-shadow .18s ease, filter .18s ease !important;
}
.submit-row input[type=submit].default:hover, input[type=submit].default:hover,
.button.default:hover, a.button.default:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 26px var(--vr-ring) !important; filter: brightness(1.05) !important;
}
.submit-row input[type=submit].default:active, input[type=submit].default:active {
  transform: translateY(0) scale(.97) !important; box-shadow: 0 3px 10px var(--vr-ring) !important;
}
.submit-row input[type=submit]:not(.default), .button:not(.default) {
  border-radius: 11px !important; font-weight: 600 !important; font-size: 14px !important;
  padding: 10px 20px !important;
  transition: transform .14s var(--vr-ease), background .16s ease, border-color .16s ease !important;
}
.submit-row input[type=submit]:not(.default):hover, .button:not(.default):hover {
  transform: translateY(-1px) !important; border-color: var(--vr-acc) !important;
}
.object-tools a { transition: transform .14s var(--vr-ease); }
.object-tools a:hover { transform: translateY(-1px); }

/* ============================================================
   СЕКЦИИ ФОРМ / ФИЛЬТРЫ / КРОШКИ
   ============================================================ */
.module, fieldset.module {
  border-radius: 14px !important; overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.055) !important;
  border: 1px solid #E3E8F0 !important; margin-bottom: 18px !important;
  transition: box-shadow .18s ease !important;
}
.module:hover, fieldset.module:hover { box-shadow: 0 6px 22px rgba(0,0,0,0.08) !important; }
.module > h2 {
  font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.55px !important; padding: 10px 16px !important;
}
.form-row { padding: 8px 14px !important; }

#changelist-filter {
  border-radius: 14px !important; overflow: hidden !important;
  border: 1px solid #E3E8F0 !important; box-shadow: 0 2px 8px rgba(0,0,0,0.045) !important;
}
#changelist-filter h2, #changelist-filter h3 {
  font-size: 11px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.5px !important;
}
#changelist-filter li { font-size: 13px !important; line-height: 1.8 !important; transition: color .15s ease; }
#changelist-filter li a:hover { color: var(--vr-acc-ink) !important; }

div#breadcrumbs {
  background: transparent !important; padding: 6px 2px !important;
  font-size: 12.5px !important; color: #9BA4B8 !important;
}
div#breadcrumbs a { transition: color .15s ease; }
div#breadcrumbs a:hover { color: var(--vr-acc-ink) !important; }

/* ---- Дашборд KPI/cards (доп. к inline-стилям index.html) ---- */
.vrd-kpi, .kpi { transition: box-shadow .18s ease, transform .18s var(--vr-ease) !important; }
.vrd-kpi:hover, .kpi:hover { box-shadow: 0 12px 30px rgba(0,0,0,0.12) !important; transform: translateY(-4px) !important; }
.vrd-card, .vc { transition: box-shadow .18s ease !important; }
.vrd-card:hover, .vc:hover { box-shadow: 0 6px 22px rgba(0,0,0,0.09) !important; }

/* ============================================================
   ЕДИНЫЙ СТАНДАРТ: кнопки сохранения всегда на виду
   ============================================================ */
.submit-row {
  position: sticky !important; bottom: 0 !important; z-index: 30 !important;
  display: flex !important; align-items: center !important; gap: 10px !important;
  flex-wrap: wrap !important;
  padding: 13px 16px !important;
  padding-bottom: calc(13px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #E3E8F0 !important; border-radius: 0 !important;
  box-shadow: 0 -4px 20px rgba(16,24,40,0.08) !important;
  margin-top: 18px !important;
}
/* «Сохранить» — всегда первым слева, «Удалить» — всегда последним справа */
.submit-row input[type=submit].default { order: 1 !important; }
.submit-row input[type=submit]:not(.default) { order: 2 !important; }
.submit-row a.deletelink, .submit-row .deletelink-box { order: 9 !important; margin-left: auto !important; }
.submit-row a.deletelink {
  border-radius: 11px !important; padding: 10px 20px !important;
  font-weight: 600 !important; font-size: 14px !important;
}

/* ============================================================
   ЕДИНЫЙ СТАНДАРТ: строки списков кликабельны целиком
   ============================================================ */
#result_list tbody tr { cursor: pointer !important; }
#result_list tbody tr:hover td { box-shadow: inset 3px 0 0 var(--vr-acc); }
#result_list tbody td a { text-decoration: none !important; }

/* ============================================================
   ЕДИНЫЙ СТАНДАРТ: пальцевые зоны не меньше 44 px
   ============================================================ */
input[type=text], input[type=email], input[type=number], input[type=url],
input[type=password], input[type=date], input[type=tel], input[type=datetime-local],
input[type=search], select, .vTextField, .vDateField, .vTimeField, #searchbar {
  min-height: 44px !important;
}
.submit-row input[type=submit], .submit-row a.deletelink,
.button, a.button, .object-tools a { min-height: 44px !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important; }
#changelist-filter li a { display: inline-block !important; padding: 4px 0 !important; }

/* Видимый фокус с клавиатуры — везде одинаковый */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--vr-acc) !important; outline-offset: 2px !important;
}

/* ============================================================
   ТЁМНАЯ ТЕМА: не выбеливать поля
   ============================================================ */
@media (prefers-color-scheme: dark) {
  input[type=text], input[type=email], input[type=number], input[type=url],
  input[type=password], input[type=date], input[type=tel], input[type=datetime-local],
  input[type=search], select, textarea, .vTextField, .vDateField, .vTimeField, #searchbar {
    background: #1F2937 !important; color: #F3F4F6 !important; border-color: #374151 !important;
  }
  #result_list thead th { background: #111827 !important; border-bottom-color: #374151 !important; }
  #result_list tbody td, #result_list tbody th { color: #F3F4F6 !important; }
  #result_list tbody tr { border-bottom-color: #2B3444 !important; }
  #result_list tbody tr:hover td, #result_list tbody tr:hover th { background: rgba(16,185,129,.10) !important; }
  .module, fieldset.module, #changelist-filter { border-color: #374151 !important; }
  .submit-row { border-top-color: #374151 !important; box-shadow: 0 -4px 20px rgba(0,0,0,.45) !important; }
}

/* ============================================================
   ТЕЛЕФОН
   ============================================================ */
@media (max-width: 720px) {
  #result_list thead th, #result_list tbody td, #result_list tbody th { padding: 11px 10px !important; font-size: 13px !important; }
  .submit-row { flex-direction: column-reverse !important; align-items: stretch !important; }
  .submit-row input[type=submit], .submit-row a.deletelink { width: 100% !important; }
  .submit-row a.deletelink { margin-left: 0 !important; }
  .form-row { padding: 8px 10px !important; }
  .object-tools { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
}

/* ---- Доступность: уважать «уменьшить движение» ---- */
@media (prefers-reduced-motion: reduce) {
  *, #content, .kpi, #nav-sidebar-inner a { animation: none !important; transition: none !important; }
  #nav-sidebar-inner a:hover { transform: none !important; }
}
