/* VibeDesk: `:root` и базовый `html` font-size — wwwroot/css/foundation/01-tokens.css
   Темы (data-color-palette) — wwwroot/css/palettes/*.css, порядок в Views/Shared/_ThemeHead.cshtml
   См. docs/UI_STYLES_AND_THEMES.md
   C1+C2: компоненты в wwwroot/css/components/vd-*.css (guest, nav, desk, avatars, ticket-details, …). */

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 2px var(--vd-panel), 0 0 0 4px color-mix(in srgb, var(--vd-accent) 45%, transparent);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Офисно-техническая база: ровная типографика Inter */
body.zen-body {
  font-family: 'Inter', 'Roboto', 'Open Sans', system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--vd-text);
  background-color: var(--vd-bg);
  /* Bootstrap 5 типографика: наследование от токенов палитры (светлый текст на тёмном и наоборот) */
  --bs-body-color: var(--vd-text);
  --bs-emphasis-color: var(--vd-text-strong);
  --bs-secondary-color: var(--vd-text-muted);
  --bs-heading-color: var(--vd-text-strong);
}

body.zen-body .main-wrapper {
  position: relative;
  z-index: 1;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Ползунок прозрачности и масштаба */
.slider-container {
    padding: 10px 0;
}

.custom-slider {
    width: 100%;
}

/* Knowledge Base: wwwroot/css/pages/knowledge-base.css (@section Styles в Views/KnowledgeBase/*.cshtml). */
