/* Rikor HelpDesk v2.3.1 - ИСПРАВЛЕННАЯ версия с переключением пользователей и быстрыми ответами */

:root {
  /* Корпоративная палитра Rikor */
  --rikor-primary: #1e40af;
  --rikor-primary-light: #3b82f6;
  --rikor-primary-dark: #1e3a8a;
  --rikor-secondary: #64748b;
  --rikor-accent: #0ea5e9;

  --rikor-success: #10b981;
  --rikor-warning: #f59e0b;
  --rikor-error: #ef4444;
  --rikor-info: #06b6d4;

  /* Светлая тема */
  --rikor-bg-primary: #f8fafc;
  --rikor-bg-secondary: #ffffff;
  --rikor-bg-tertiary: #f1f5f9;
  --rikor-bg-hover: #e2e8f0;
  --rikor-bg-active: #cbd5e1;

  --rikor-text-primary: #1e293b;
  --rikor-text-secondary: #475569;
  --rikor-text-muted: #64748b;
  --rikor-text-light: #94a3b8;

  --rikor-border: #e2e8f0;
  --rikor-border-light: #f1f5f9;
  --rikor-border-dark: #cbd5e1;

  --menu-active-bg: linear-gradient(135deg, #dbeafe, #f0f9ff);
  --menu-active-text: #1e40af;
  --menu-active-border: #3b82f6;
  --menu-hover-bg: rgba(59, 130, 246, 0.08);
  --menu-hover-text: #1e3a8a;
  --menu-focus-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

  --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

@font-face {
  font-family: 'Retni Sans';
  font-style: normal;
  font-weight: 300;
  src: url('assets/fonts/RetniSans-Light.ttf') format('truetype');
}

@font-face {
  font-family: 'Retni Sans';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/RetniSans-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Retni Sans';
  font-style: normal;
  font-weight: 500;
  src: url('assets/fonts/RetniSans-Medium.ttf') format('truetype');
}

@font-face {
  font-family: 'Retni Sans';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/RetniSans-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'RetniSans';
  font-style: normal;
  font-weight: 300;
  src: url('assets/fonts/RetniSans-Light.ttf') format('truetype');
}

@font-face {
  font-family: 'RetniSans';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/RetniSans-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'RetniSans';
  font-style: normal;
  font-weight: 500;
  src: url('assets/fonts/RetniSans-Medium.ttf') format('truetype');
}

@font-face {
  font-family: 'RetniSans';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/RetniSans-Bold.ttf') format('truetype');
}

/* ИСПРАВЛЕННАЯ ТЕМНАЯ ТЕМА */
[data-theme="dark"] {
  --rikor-bg-primary: #0f172a;
  --rikor-bg-secondary: #1e293b;
  --rikor-bg-tertiary: #334155;
  --rikor-bg-hover: #475569;
  --rikor-bg-active: #64748b;

  --rikor-text-primary: #f1f5f9;
  --rikor-text-secondary: #cbd5e1;
  --rikor-text-muted: #94a3b8;
  --rikor-text-light: #64748b;

  --rikor-border: #334155;
  --rikor-border-light: #475569;
  --rikor-border-dark: #64748b;

  --menu-active-bg: linear-gradient(135deg, #1e40af, #3b82f6);
  --menu-active-text: #ffffff;
  --menu-active-border: #60a5fa;
  --menu-hover-bg: rgba(59, 130, 246, 0.15);
  --menu-hover-text: #dbeafe;
  --menu-focus-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6), 0 10px 10px -5px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] input:not([type='color']),
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .form-control,
[data-theme="dark"] .auth-form__input,
[data-theme="dark"] .reply-editor,
[data-theme="dark"] .search-input {
  color: var(--rikor-text-primary) !important;
  -webkit-text-fill-color: var(--rikor-text-primary);
  caret-color: var(--rikor-text-primary);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .auth-form__input::placeholder,
[data-theme="dark"] .reply-editor:empty::before {
  color: var(--rikor-text-muted) !important;
  -webkit-text-fill-color: var(--rikor-text-muted);
}

[data-theme="dark"] select option {
  background: var(--rikor-bg-secondary);
  color: var(--rikor-text-primary);
}

[data-theme="dark"] .form-control--active-soft,
[data-theme="dark"] .request-field--active-soft {
  background: rgba(250, 204, 21, 0.14) !important;
  border-color: rgba(250, 204, 21, 0.45) !important;
  color: var(--rikor-text-primary) !important;
}

[data-theme="dark"] .form-control--missing-soft,
[data-theme="dark"] .request-field--missing-soft {
  background: rgba(239, 68, 68, 0.16) !important;
  border-color: rgba(248, 113, 113, 0.55) !important;
  color: var(--rikor-text-primary) !important;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  overflow: hidden;
}

body {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: var(--rikor-bg-primary);
  color: var(--rikor-text-primary);
  font-size: 14px;
  line-height: 1.6;
  transition: background-color var(--transition-normal), color var(--transition-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#app {
  display: flex;
  height: 100vh;
  overflow: hidden;
}

/* Боковая панель остается без изменений */
.sidebar {
  width: 280px;
  background: var(--rikor-bg-secondary);
  border-right: 1px solid var(--rikor-border);
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  position: relative;
  transition: all var(--transition-normal);
  z-index: 100;
  box-shadow: var(--shadow-sm);
}

.sidebar__brand {
  padding: 24px 20px;
  border-bottom: 1px solid var(--rikor-border-light);
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.sidebar__logo {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  flex-shrink: 0;
  aspect-ratio: 1 / 1;
  background: linear-gradient(135deg, var(--rikor-primary), var(--rikor-primary-light));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-fast);
}

.sidebar__logo:hover {
  transform: scale(1.05);
}

.sidebar__logo--rikor {
  width: 64px;
  height: 64px;
  min-width: 64px;
  min-height: 64px;
  border-radius: 14px;
  background: transparent;
  box-shadow: none;
  padding: 0;
  overflow: hidden;
}

.sidebar__logo--rikor img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.sidebar__brand-text {
  flex: 1;
}

.sidebar__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--rikor-text-primary);
  margin-bottom: 2px;
}

.sidebar__subtitle {
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.theme-toggle {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--rikor-bg-tertiary);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  color: var(--rikor-text-secondary);
}

.sidebar-collapse-toggle {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--rikor-bg-tertiary);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  color: var(--rikor-text-secondary);
}

.theme-toggle:hover {
  background: var(--rikor-primary);
  color: white;
  transform: scale(1.1);
  box-shadow: var(--shadow-md);
}

.sidebar-collapse-toggle:hover {
  background: var(--rikor-primary);
  color: white;
  transform: scale(1.1);
  box-shadow: var(--shadow-md);
}

#app.sidebar-collapsed .sidebar {
  width: 94px;
}

#app.sidebar-collapsed .sidebar__brand {
  padding: 14px 10px 12px;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

#app.sidebar-collapsed .theme-toggle {
  display: flex;
}

#app.sidebar-collapsed .sidebar__logo {
  transform: none;
}

#app.sidebar-collapsed .sidebar-collapse-toggle {
  position: static;
  transform: none;
  z-index: auto;
}

#app.sidebar-collapsed .sidebar__brand-text,
#app.sidebar-collapsed .sidebar__profile-info,
#app.sidebar-collapsed .sidebar__status,
#app.sidebar-collapsed .sidebar__badge {
  display: none !important;
}

#app.sidebar-collapsed .sidebar__agents-strip {
  display: none;
}

#app.sidebar-collapsed .sidebar__nav {
  padding-top: 12px;
}

#app.sidebar-collapsed .sidebar__link {
  justify-content: center;
  padding: 14px 10px;
  margin: 0 8px 4px;
}

#app.sidebar-collapsed .sidebar__link span {
  display: none;
}

#app.sidebar-collapsed .sidebar__link.active::before {
  left: -8px;
}

#app.sidebar-collapsed .sidebar__profile {
  justify-content: center;
  padding: 12px 8px;
  margin: 8px;
}

#app.sidebar-collapsed .sidebar__profile-menu {
  left: 50%;
  transform: translateX(-50%);
  min-width: 180px;
}

.sidebar__nav {
  flex: 1;
  padding: 20px 0;
  min-height: 0;
  overflow-y: scroll;
}

.sidebar__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  margin: 0 12px 4px;
  text-decoration: none;
  color: var(--rikor-text-secondary);
  transition: all var(--transition-fast);
  position: relative;
  font-weight: 500;
  border-radius: 10px;
  font-size: 14px;
}

.sidebar__link:hover {
  background: var(--menu-hover-bg);
  color: var(--menu-hover-text);
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.12);
}

.sidebar__link.active {
  background: var(--menu-active-bg);
  color: var(--menu-active-text);
  font-weight: 600;
  border: 1px solid var(--menu-active-border);
  box-shadow: 
    0 2px 8px rgba(59, 130, 246, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transform: translateX(4px);
}

.sidebar__link.active::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 24px;
  background: var(--menu-active-text);
  border-radius: 0 2px 2px 0;
  opacity: 0.8;
}

.sidebar__badge {
  background: var(--rikor-error);
  color: white;
  font-size: 11px;
  padding: 3px 7px;
  border-radius: 12px;
  margin-left: auto;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
  line-height: 1.2;
  animation: pulse 2s infinite;
}

/* НОВЫЕ: Стили для переключения пользователей */
.sidebar__user-switcher {
  padding: 16px 20px;
  border-top: 1px solid var(--rikor-border-light);
  border-bottom: 1px solid var(--rikor-border-light);
  margin: 8px 12px;
  border-radius: 8px;
  background: var(--rikor-bg-tertiary);
  flex-shrink: 0;
}

.user-switcher-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--rikor-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.user-switcher-select {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--rikor-border);
  border-radius: 6px;
  background: var(--rikor-bg-secondary);
  color: var(--rikor-text-primary);
  font-size: 12px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.user-switcher-select:hover {
  border-color: var(--rikor-primary);
}

.user-switcher-select:focus {
  outline: none;
  border-color: var(--rikor-primary);
  box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.12);
}

.sidebar__profile {
  padding: 20px;
  border-top: 1px solid var(--rikor-border-light);
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--rikor-bg-tertiary);
  margin: 8px 12px 12px;
  border-radius: 12px;
  flex-shrink: 0;
  width: calc(100% - 24px);
  border: 1px solid transparent;
  text-align: left;
  cursor: pointer;
}

.sidebar__profile:hover {
  border-color: var(--rikor-border);
  box-shadow: var(--shadow-sm);
}

.sidebar__profile-wrap {
  position: relative;
  margin-top: 10px;
}

.sidebar__agents-strip {
  margin: 8px 12px 0;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--rikor-border-light);
  background: var(--rikor-bg-secondary);
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 260px;
  overflow-y: auto;
}

.sidebar-agent-row__title {
  color: var(--rikor-text-muted);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-bottom: 2px;
}

.sidebar-agent-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}

.sidebar-agent-row__name {
  color: var(--rikor-text-secondary);
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-agent-row__dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  box-shadow: 0 0 0 2px var(--rikor-bg-secondary);
}

.sidebar-agent-row__dot.active {
  background: var(--rikor-success);
}

.sidebar-agent-row__dot.inactive {
  background: var(--rikor-error);
}

.sidebar-agent-row--empty {
  color: var(--rikor-text-muted);
  font-size: 11px;
}

.sidebar-profile-menu {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: calc(100% + 6px);
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 12px;
  box-shadow: var(--shadow-lg);
  padding: 6px;
  display: grid;
  gap: 4px;
  z-index: 30;
}

.sidebar-profile-menu__item {
  border: none;
  border-radius: 9px;
  background: transparent;
  color: var(--rikor-text-primary);
  height: 38px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 500;
  text-align: left;
}

.sidebar-profile-menu__item:hover {
  background: var(--rikor-bg-tertiary);
}

.sidebar-profile-menu__item--danger {
  color: var(--rikor-error);
}

.sidebar-profile-menu__item--danger:hover {
  background: rgba(239, 68, 68, 0.1);
}

.sidebar__avatar {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, var(--rikor-accent), var(--rikor-primary-light));
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 14px;
  box-shadow: var(--shadow-sm);
}

.sidebar__profile-info {
  flex: 1;
}

.sidebar__name {
  font-weight: 600;
  color: var(--rikor-text-primary);
  font-size: 14px;
}

.sidebar__role {
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.sidebar__status {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rikor-success);
  box-shadow: 0 0 0 2px var(--rikor-bg-secondary);
}

.sidebar__status.online { background: var(--rikor-success); }
.sidebar__status.away { background: var(--rikor-warning); }
.sidebar__status.busy { background: var(--rikor-error); }
.sidebar__status.offline { background: var(--rikor-text-light); }

.auth-screen {
  --auth-navy: #103b93;
  --auth-navy-dark: #0b2f79;
  --auth-bg: #f4f7fc;
  --auth-text: #10294f;
  --auth-muted: #6a7ea3;
  --auth-border: #c7d4ea;
  --auth-accent: #f05a28;
  --auth-error: #ff3b30;
  --auth-success: #2aa35a;
  position: fixed;
  inset: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  scrollbar-color: #9f9f9f #2c2c2c;
  --auth-scrollbar-width: 10px;
  z-index: 1000;
  font-family: 'RetniSans', sans-serif;
  font-size: 16px;
  line-height: normal;
  background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 100%);
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 100vh;
}

.auth-screen-main {
  flex: 1;
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 176px 0 88px;
  background-image:
    linear-gradient(180deg, rgba(224, 233, 248, 0.9) 0%, rgba(211, 223, 242, 0.9) 100%),
    url('assets/images/4.jpeg');
  background-size: cover, cover;
  background-position: center center, center center;
  background-repeat: no-repeat, no-repeat;
  background-attachment: scroll, fixed;
}

.auth-screen::-webkit-scrollbar {
  width: var(--auth-scrollbar-width);
}

.auth-screen::-webkit-scrollbar-track {
  background: #2c2c2c;
}

.auth-screen::-webkit-scrollbar-thumb {
  background: #9f9f9f;
  border-radius: 8px;
  border: 1px solid #2c2c2c;
}

.auth-screen::-webkit-scrollbar-thumb:hover {
  background: #9f9f9f;
}

.auth-layout {
  width: min(500px, 100%);
  position: relative;
  z-index: 30;
}

.auth-screen .site-header {
  width: auto;
  position: fixed;
  top: 0;
  right: var(--auth-scrollbar-width);
  left: 0;
  z-index: 20;
  font-family: 'RetniSans', sans-serif;
  font-size: 16px;
  line-height: normal;
  --header-bg: #fff;
  --header-text: rgba(0, 0, 0, 0.8);
  --header-text-hover: #000;
  --header-border: rgba(0, 0, 0, 0.1);
  --dropdown-bg: rgba(255, 255, 255, 1);
  --search-bg: rgba(0, 0, 0, 0.05);
  --search-border: rgba(0, 0, 0, 0.1);
  --search-focus-bg: rgba(0, 0, 0, 0.08);
  --search-focus-border: rgba(0, 0, 0, 0.2);
  --favorites-hover-bg: rgba(0, 0, 0, 0.05);
  --burger-hover-bg: rgba(0, 0, 0, 0.05);
  background: var(--header-bg);
  backdrop-filter: saturate(1.2) blur(10px);
  transition: all 0.3s ease;
  box-shadow: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.auth-screen .container {
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  padding: 16px 24px;
}

.auth-screen .site-header .container {
  padding-right: 39px;
}

.auth-screen .header-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 48px;
}

.auth-screen .header-left {
  display: flex;
  align-items: center;
}

.auth-screen .logo-header {
  display: block;
  height: 32px;
  position: relative;
}

.auth-screen .logo-header img {
  display: block;
  height: 32px;
  width: auto;
  transition: opacity 0.3s ease;
}

.auth-screen .logo-default {
  opacity: 0;
}

.auth-screen .logo-scrolled {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
}

.auth-screen .header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 48px;
}

.auth-screen .nav-list {
  display: grid;
  grid-auto-flow: column;
  gap: 48px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.auth-screen .nav-item {
  position: relative;
}

.auth-screen .nav-item > a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--header-text);
  font-weight: 500;
  font-size: 16px;
  line-height: normal;
  letter-spacing: 0.1px;
  transition: color 0.2s ease;
}

.auth-screen .nav-item > a:hover {
  color: var(--header-text-hover);
}

.auth-screen .arrow-icon {
  width: 12px;
  height: 8px;
  margin-top: 2px;
  transition: transform 0.3s ease;
}

.auth-screen .nav-item:hover .arrow-icon {
  transform: rotate(180deg);
}

.auth-screen .dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--dropdown-bg);
  backdrop-filter: blur(20px);
  border-radius: 12px;
  border: 1px solid var(--header-border);
  padding: 16px;
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 100;
}

.auth-screen .nav-item:hover .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.auth-screen .dropdown-item {
  display: block;
  padding: 12px 16px;
  text-decoration: none;
  color: var(--header-text);
  border-radius: 8px;
  transition: all 0.2s ease;
  margin-bottom: 4px;
}

.auth-screen .dropdown-item:last-child {
  margin-bottom: 0;
}

.auth-screen .dropdown-item:hover {
  background: var(--favorites-hover-bg);
  color: var(--header-text-hover);
}

.auth-screen .actions {
  display: grid;
  grid-auto-flow: column;
  gap: 24px;
  align-items: center;
  padding-top: 0 !important;
}

.auth-screen .search-form {
  position: relative;
  display: flex;
  align-items: center;
}

.auth-screen .search-input {
  background: var(--search-bg);
  border: 1px solid var(--search-border);
  border-radius: 24px;
  padding: 10px 20px 10px 44px;
  color: var(--header-text-hover);
  font-size: 14px;
  width: 2px;
  transition: all 0.3s ease;
}

.auth-screen .search-input:focus {
  outline: none;
  background: var(--search-focus-bg);
  border-color: var(--search-focus-border);
  width: 320px;
}

.auth-screen .search-input::placeholder {
  color: #878b8f;
  opacity: 1;
  font-family: 'Retni Sans', sans-serif;
}

.auth-screen .search-submit {
  position: absolute;
  left: 12px;
  background: none;
  border: none;
  color: var(--header-text);
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.auth-screen .search-submit:hover {
  color: var(--header-text-hover);
}

.auth-screen .search-icon {
  width: 18px;
  height: 18px;
}

.auth-screen .live-btn {
  background: #eeece6;
  color: #7f7d79;
  border: none;
  border-radius: 50px;
  padding: 13px 32px;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.auth-screen .live-btn:hover {
  color: #555;
  backdrop-filter: blur(4px);
  box-shadow: 0 8px 32px rgba(147, 115, 255, 0.1);
}

.auth-screen .rikor-footer-simplified {
  width: 100%;
  font-family: 'RetniSans', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  background: rgba(130, 129, 136, 1);
  color: #e2e2e2;
  padding: 40px 0 0;
  margin-top: 0;
}

.auth-screen .rikor-footer-grid-simple {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "content contacts";
  gap: 40px;
  border-bottom: 1px solid #9a9aa2;
  padding-bottom: 40px;
  margin-bottom: 30px;
}

.auth-screen .rikor-footer-content {
  grid-area: content;
  display: grid;
  grid-template-rows: auto auto;
  gap: 5px;
}

.auth-screen .rikor-nav-main-simple,
.auth-screen .rikor-products-simple {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 30px;
  align-items: start;
}

.auth-screen .rikor-nav-main-simple a,
.auth-screen .rikor-products-simple a {
  min-width: 90px;
  display: block;
}

.auth-screen .rikor-contacts-simple {
  grid-area: contacts;
  border-left: 1px solid #9a9aa2;
  padding-left: 40px;
  font-style: normal;
  min-width: 280px;
}

.auth-screen .rikor-contacts-simple h3 {
  margin: 0 0 15px;
  font-size: 1.1rem;
  font-weight: 500;
}

.auth-screen .rikor-footer-bottom-simple {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px 40px;
}

.auth-screen .rikor-socials-simple {
  display: flex;
  gap: 10px;
  margin-bottom: 1rem;
}

.auth-screen .rikor-socials-simple a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #e2e2e2;
  transition: background-color 0.2s ease;
}

.auth-screen .rikor-socials-simple a:hover {
  background-color: #e2e2e4;
}

.auth-screen .rikor-socials-simple img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.auth-screen .rikor-legal-simple {
  font-size: 0.875em;
  color: #c0c0c0;
}

.auth-screen .rikor-legal-simple p {
  margin: 16px 0;
}

.auth-screen .rikor-logo-simple {
  justify-self: end;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: rgba(226, 226, 226, 0.2);
  text-transform: uppercase;
  user-select: none;
}

.auth-screen .rikor-contacts-simple p {
  margin: 0 0 10px;
}

.auth-screen .rikor-footer-simplified a {
  color: #dedee3;
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.auth-screen .rikor-footer-simplified a:hover {
  color: #fff;
}

.auth-screen .rikor-footer-simplified a {
  font-size: 1rem;
  font-weight: 400;
}

@media (max-width: 992px) {
  .auth-screen .site-header .container {
    padding-right: 24px;
  }

  .auth-screen .rikor-footer-simplified {
    padding: 40px 0;
  }

  .auth-screen .rikor-footer-grid-simple {
    grid-template-columns: 1fr;
    grid-template-areas: "content" "contacts";
    gap: 30px;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .auth-screen .rikor-contacts-simple {
    border-left: none;
    padding-left: 0;
    margin-top: 20px;
    padding-top: 30px;
    border-top: 1px solid #9a9aa2;
    min-width: auto;
  }

  .auth-screen .rikor-footer-content {
    gap: 25px;
  }

  .auth-screen .rikor-nav-main-simple,
  .auth-screen .rikor-products-simple {
    justify-content: flex-start;
  }

  .auth-screen .rikor-footer-bottom-simple {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #9a9aa2;
    gap: 20px;
  }

  .auth-screen .rikor-logo-simple {
    justify-self: center;
  }
}

@media (max-width: 768px) {
  .auth-screen .rikor-nav-main-simple,
  .auth-screen .rikor-products-simple {
    flex-direction: column;
    gap: 15px;
    text-align: left;
  }

  .auth-screen .rikor-nav-main-simple a,
  .auth-screen .rikor-products-simple a {
    width: auto;
  }
}

@media (max-width: 480px) {
  .auth-screen .rikor-footer-simplified {
    padding: 40px 0;
  }

  .auth-screen .rikor-products-simple a,
  .auth-screen .rikor-nav-main-simple a {
    font-size: 1rem;
  }

  .auth-screen .rikor-logo-simple {
    font-size: 3em;
    display: none;
    letter-spacing: 0.1em;
  }

  .auth-screen .rikor-logo-simple img {
    display: none !important;
  }

  .auth-screen .rikor-nav-main-simple {
    display: grid;
    grid-template-columns: 1fr;
    max-width: none;
    gap: 15px;
  }

  .auth-screen .rikor-products-simple {
    display: grid;
    grid-template-columns: 1fr;
    max-width: none;
    gap: 15px;
  }

  .auth-screen .rikor-footer-bottom-simple {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .auth-screen .rikor-footer-bottom-simple__block1 {
    width: 100%;
  }

  .auth-screen .rikor-legal-simple {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
  }

  .auth-screen .rikor-legal-simple a {
    display: block;
    margin-bottom: 5px;
  }
}

.auth-brand-panel {
  display: none;
}

.auth-brand-panel__top {
  display: flex;
  align-items: center;
}

.auth-brand-logo {
  display: block;
  width: 172px;
  height: auto;
}

.auth-rikor-mark {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--auth-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
}

.auth-rikor-copy {
  display: grid;
  gap: 2px;
}

.auth-rikor-copy strong {
  font-size: 28px;
  letter-spacing: 0.02em;
  line-height: 1;
}

.auth-rikor-copy span {
  color: #a5c0f3;
  font-size: 11px;
}

.auth-brand-panel__hero {
  margin-top: 118px;
}

.auth-brand-panel__icon {
  width: 62px;
  height: 62px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: var(--auth-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
}

.auth-brand-panel__hero h1 {
  margin: 24px 0 18px;
  font-size: 52px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.auth-brand-panel__hero p {
  margin: 0;
  max-width: 365px;
  color: #a8c3f5;
  font-size: 16px;
  line-height: 1.5;
}

.auth-brand-panel__list {
  margin: auto 0 0;
  list-style: none;
  padding: 0;
  display: grid;
  gap: 16px;
}

.auth-brand-panel__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #d1e1ff;
  font-size: 23px;
}

.auth-brand-panel__list span {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--auth-accent);
  font-size: 14px;
}

.auth-form-panel {
  background: transparent;
  padding: 0;
  display: block;
  overflow: visible;
  position: relative;
  z-index: 30;
}

.auth-panel-top {
  display: flex;
  justify-content: flex-end;
}

.auth-panel-top__help {
  text-decoration: none;
  color: #2b66d8;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.auth-card {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  border-radius: 18px;
  border: 1px solid #e1e4ea;
  background: #fff;
  box-shadow: 0 14px 36px rgba(63, 68, 80, 0.12);
  padding: 16px 20px 18px;
  position: relative;
  z-index: 31;
  pointer-events: auto;
}

.auth-card__line {
  display: none;
}

.auth-tabs {
  margin-top: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #e7edf7;
  border-radius: 10px;
  padding: 2px;
}

.auth-tab {
  font-family: 'Retni Sans', Arial, sans-serif;
  border: 2px solid transparent;
  border-radius: 8px;
  height: 38px;
  padding: 0 18px;
  background: transparent;
  color: #7f8795;
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.auth-tab.is-active {
  border-color: #d0d8e7;
  background: #fff;
  color: #2b4168;
}

.auth-card__intro {
  margin-top: 18px;
  margin-bottom: 16px;
}

.auth-card__intro h2 {
  margin: 0;
  color: var(--auth-text);
  font-size: 46px;
  line-height: 1.2;
  font-weight: 700;
}

.auth-card__intro p {
  margin: 8px 0 0;
  color: #687ea5;
  font-size: 18px;
  max-width: 460px;
}

.auth-banner {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 10px 12px;
  font-size: 14px;
  margin-bottom: 12px;
}

.auth-banner--success {
  color: #15703c;
  border-color: rgba(21, 112, 60, 0.35);
  background: rgba(42, 163, 90, 0.1);
}

.auth-banner--error {
  color: #c5352c;
  border-color: rgba(197, 53, 44, 0.35);
  background: rgba(255, 59, 48, 0.08);
}

.auth-form {
  font-family: 'Retni Sans', Arial, sans-serif;
  display: grid;
  gap: 9px;
  position: relative;
  z-index: 32;
}

.auth-form__row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.auth-form__row--between {
  justify-content: space-between;
}

.auth-form__grid {
  display: grid;
  gap: 10px;
}

.auth-form__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-form__label {
  font-family: 'Retni Sans', Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #3f4450;
}

.auth-input-wrap {
  position: relative;
  pointer-events: auto;
}

.auth-input-icon {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: #7a828f;
  font-size: 14px;
  pointer-events: none;
}

.auth-form__input {
  font-family: 'Retni Sans', Arial, sans-serif;
  width: 100%;
  height: 42px;
  border: 1px solid #cfd3dc;
  border-radius: 8px;
  padding: 0 38px;
  font-size: 16px;
  color: #3f4450 !important;
  -webkit-text-fill-color: #3f4450;
  caret-color: #3f4450;
  background: #f2f4f7;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  pointer-events: auto !important;
}

.auth-form__input:-webkit-autofill,
.auth-form__input:-webkit-autofill:hover,
.auth-form__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #3f4450;
  caret-color: #3f4450;
  transition: background-color 9999s ease-in-out 0s;
}

[data-theme="dark"] .auth-form__input {
  color: #f1f5f9 !important;
  -webkit-text-fill-color: #f1f5f9 !important;
  caret-color: #f1f5f9;
}

[data-theme="dark"] .auth-form__input:-webkit-autofill,
[data-theme="dark"] .auth-form__input:-webkit-autofill:hover,
[data-theme="dark"] .auth-form__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f1f5f9 !important;
  caret-color: #f1f5f9;
}

.auth-form__input::placeholder {
  color: #8c939f;
}

.auth-form__input:focus {
  outline: none;
  border-color: #8d93a0;
  box-shadow: 0 0 0 2px rgba(141, 147, 160, 0.18);
}

.auth-input-status {
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--auth-success);
}

.auth-link-btn {
  font-family: 'Retni Sans', Arial, sans-serif;
  background: transparent;
  border: none;
  color: #3a5f88;
  font-size: 16px;
  font-weight: 500;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.auth-password-toggle {
  position: absolute;
  right: 4px;
  top: 4px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #8ea2c3;
  cursor: pointer;
}

.auth-password-toggle:hover,
.auth-password-toggle:focus-visible {
  outline: none;
  background: rgba(43, 102, 216, 0.12);
  color: #2b66d8;
}

.auth-form__field-error {
  color: var(--auth-error);
  font-size: 12px;
  line-height: 1.2;
  min-height: 16px;
}

.auth-form__input[aria-invalid='true'] {
  border-color: var(--auth-error);
  background: #fff7f6;
  box-shadow: 0 0 0 1px rgba(255, 59, 48, 0.12);
}

.auth-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Retni Sans', Arial, sans-serif;
  font-size: 16px;
  color: #676e7a;
}

.auth-check--terms {
  font-size: 13px;
}

.auth-check--terms span {
  white-space: nowrap;
}

.auth-check a {
  color: #2b66d8;
}

.auth-check input {
  margin-top: 0;
}

.auth-strength-wrap {
  margin-top: 4px;
}

.auth-strength-label {
  display: flex;
  justify-content: space-between;
  color: #6a7fa4;
  font-size: 13px;
  margin-bottom: 6px;
}

.auth-strength {
  width: 100%;
  height: 5px;
  border-radius: 6px;
  background: #dfe8f6;
  overflow: hidden;
}

.auth-strength__bar {
  height: 100%;
  width: 0%;
  background: #ef5350;
  transition: width var(--transition-fast), background-color var(--transition-fast);
}

.auth-form__submit {
  font-family: 'Retni Sans', Arial, sans-serif;
  margin-top: 6px;
  border: none;
  border-radius: 12px;
  height: 42px;
  background: #6300e0;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);
}

.auth-form__submit:hover {
  filter: brightness(1.03);
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(99, 0, 224, 0.22);
}

.auth-form__submit:disabled {
  opacity: 0.75;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.auth-form__submit--secondary {
  margin-top: 10px;
  width: 100%;
  padding: 0 16px;
  background: #6300e0;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.auth-form__submit--secondary:hover {
  filter: brightness(1.03);
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(99, 0, 224, 0.22);
}

.auth-email-code {
  margin-top: 6px;
  padding: 10px;
  border: 1px solid #d7deea;
  border-radius: 10px;
  background: #f7f9fd;
}

.auth-btn__spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: authSpin 1s linear infinite;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #93a2bd;
  font-size: 13px;
  margin: 8px 0 2px;
}

.auth-divider::before,
.auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #cfd9ea;
}

.auth-social {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.auth-social__btn {
  height: 36px;
  border-radius: 8px;
  border: 1px solid #b9c9e3;
  background: #eef4ff;
  color: #365683;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.auth-social__btn:hover,
.auth-social__btn:focus-visible {
  outline: none;
  border-color: #7f9ecf;
}

.auth-form__message {
  margin-top: 8px;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.35;
}

.auth-form__message--info {
  background: rgba(14, 165, 233, 0.12);
  color: #0c4a6e;
  border: 1px solid rgba(14, 165, 233, 0.28);
}

.auth-form__message--success {
  background: rgba(16, 185, 129, 0.12);
  color: #065f46;
  border: 1px solid rgba(16, 185, 129, 0.28);
}

.auth-form__message--error {
  background: rgba(239, 68, 68, 0.12);
  color: #af2f2b;
  border: 1px solid rgba(239, 68, 68, 0.28);
}

.auth-card__secure-note {
  margin: 6px 0 0;
  text-align: center;
  font-size: 13px;
  color: #7a8eaf;
}

.auth-footer {
  margin-top: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  color: #7f90ad;
  font-size: 12px;
}

.auth-footer__copy {
  margin: 0;
  color: #8ca0c0;
  font-size: 12px;
}

.auth-footer__sep {
  color: #7f90ad;
  user-select: none;
}

.auth-footer a {
  color: #2f66d8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@keyframes authRise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes authSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1200px) {
  .auth-layout {
    grid-template-columns: 380px 1fr;
  }

  .auth-brand-panel__hero h1 {
    font-size: 44px;
  }

  .auth-brand-panel__hero p {
    font-size: 16px;
  }

  .auth-brand-panel__list li {
    font-size: 14px;
  }
}

@media (max-width: 960px) {
  .auth-screen-main {
    padding-top: 88px;
  }

  .auth-screen .header-grid {
    gap: 16px;
  }

  .auth-screen .header-right {
    gap: 12px;
  }

  .auth-screen .nav-list {
    gap: 16px;
  }

  .auth-layout {
    grid-template-columns: 1fr;
  }

  .auth-brand-panel {
    display: none;
  }

  .auth-card {
    max-width: 100%;
    margin: 0 auto;
  }

  .auth-form-panel {
    padding: 14px;
  }
}

@media (max-width: 640px) {
  .auth-screen .nav {
    display: none;
  }

  .auth-screen-main {
    padding-top: 80px;
  }

  .auth-tabs {
    margin-top: 14px;
  }

  .auth-tab {
    font-size: 14px;
  }

  .auth-card {
    padding: 0 14px 14px;
  }

  .auth-card__line {
    margin: 0 -14px;
  }

  .auth-card__intro h2 {
    font-size: 36px;
  }

  .auth-card__intro p {
    font-size: 14px;
  }

  .auth-form__grid--two {
    grid-template-columns: 1fr;
  }

  .auth-form__submit {
    font-size: 15px;
  }

  .auth-footer {
    flex-wrap: wrap;
    row-gap: 6px;
  }
}

/* Основной контент */
.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.breadcrumb {
  padding: 16px 24px;
  background: var(--rikor-bg-secondary);
  border-bottom: 1px solid var(--rikor-border);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  box-shadow: var(--shadow-sm);
}

.breadcrumb--tickets {
  justify-content: stretch;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
}

.tickets-breadcrumb-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tickets-topbar {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}

.tickets-topbar__left {
  justify-self: start;
}

.tickets-topbar__title {
  justify-self: stretch;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--rikor-text-primary);
  text-align: center;
}

.tickets-topbar__right {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tickets-topbar__btn {
  min-width: 114px;
  height: 34px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

.breadcrumb--knowledge {
  padding-top: 8px;
  padding-bottom: 8px;
}

.knowledge-topbar .tickets-topbar__title {
  font-size: 20px;
  line-height: 1.1;
}

.knowledge-filters-card {
  padding: 8px 10px;
}

.knowledge-filters-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 220px) auto;
  gap: 8px;
  align-items: end;
}

.knowledge-filters-row .form-label {
  margin-bottom: 2px;
  font-size: 11px;
}

.knowledge-filters-row .form-control {
  min-height: 32px;
  padding: 6px 9px;
}

.knowledge-filters-row__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}

.knowledge-hub {
  display: grid;
  gap: 12px;
}

.knowledge-hub__header {
  position: sticky;
  top: 8px;
  z-index: 4;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--rikor-border) 85%, #0f172a 15%);
}

.knowledge-hub__header-row {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr minmax(260px, 320px);
  gap: 12px;
  align-items: start;
}

.knowledge-hub__view-switch {
  display: inline-flex;
  align-self: center;
  justify-self: end;
  gap: 6px;
  background: color-mix(in srgb, var(--rikor-bg-secondary) 92%, #e2e8f0 8%);
  border: 1px solid var(--rikor-border-light);
  border-radius: 12px;
  padding: 4px;
}

.knowledge-hub__switch-btn {
  border: 1px solid transparent;
  background: transparent;
  color: var(--rikor-text-secondary);
  border-radius: 8px;
  height: 30px;
  padding: 0 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}

.knowledge-hub__switch-btn.is-active {
  border-color: color-mix(in srgb, var(--rikor-primary) 60%, var(--rikor-border) 40%);
  color: var(--rikor-primary);
  background: color-mix(in srgb, var(--rikor-primary) 10%, #ffffff 90%);
}

.knowledge-hub__brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.knowledge-hub__brand-logo {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #1e293b;
  background: linear-gradient(135deg, #fef3c7 0%, #fed7aa 55%, #fecaca 100%);
}

.knowledge-hub__brand h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.1;
}

.knowledge-hub__brand p {
  margin: 4px 0 0;
  color: var(--rikor-text-muted);
  font-size: 12px;
}

.knowledge-hub__search-wrap {
  min-width: 0;
}

.knowledge-hub__search-field {
  position: relative;
}

.knowledge-hub__search-field i {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--rikor-text-muted);
  pointer-events: none;
}

.knowledge-hub__search-field .form-control {
  padding-left: 34px;
}

.knowledge-hub__tips {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.knowledge-hub__tip {
  border: 1px solid var(--rikor-border);
  background: color-mix(in srgb, var(--rikor-bg-secondary) 90%, #e2e8f0 10%);
  color: var(--rikor-text-secondary);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
}

.knowledge-hub__tip:hover {
  border-color: var(--rikor-primary);
  color: var(--rikor-primary);
}

.knowledge-hub__profile {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

.knowledge-hub__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);
}

.knowledge-hub__name {
  font-size: 13px;
  font-weight: 600;
}

.knowledge-hub__role {
  font-size: 11px;
  color: var(--rikor-text-muted);
}

.knowledge-hub__workspace {
  display: grid;
  grid-template-columns: minmax(280px, 330px) minmax(0, 1fr);
  gap: 12px;
  min-height: 560px;
}

.knowledge-hub__workspace--cards {
  grid-template-columns: minmax(0, 1fr);
  min-height: auto;
}

.knowledge-hub__sidebar,
.knowledge-hub__content {
  padding: 12px;
}

.knowledge-hub__sidebar {
  overflow: auto;
}

.knowledge-hub__sidebar-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 8px;
}

.knowledge-hub__sidebar-title h3 {
  margin: 0;
  font-size: 15px;
}

.knowledge-hub__sidebar-title span {
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.knowledge-tree {
  display: grid;
  gap: 8px;
}

.knowledge-tree__category,
.knowledge-tree__group {
  display: grid;
  gap: 5px;
}

.knowledge-tree__node {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--rikor-border-light);
  border-radius: 10px;
  padding: 6px 8px;
  cursor: pointer;
  font-size: 13px;
}

.knowledge-tree__node em {
  color: var(--rikor-text-muted);
  font-style: normal;
  font-size: 11px;
}

.knowledge-tree__toggle {
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  font-size: 12px;
}

.knowledge-tree__children {
  display: grid;
  gap: 4px;
  padding-left: 16px;
}

.knowledge-tree__leaf {
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--rikor-bg-secondary) 82%, #f8fafc 18%);
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 12px;
  cursor: pointer;
}

.knowledge-tree__leaf-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
}

.knowledge-tree__leaf-row.is-active .knowledge-tree__leaf {
  border-color: color-mix(in srgb, var(--rikor-primary) 65%, var(--rikor-border) 35%);
  background: color-mix(in srgb, var(--rikor-primary) 8%, var(--rikor-bg-secondary) 92%);
}

.knowledge-tree__menu-wrap {
  margin-left: auto;
}

.knowledge-tree__menu-btn {
  width: 24px;
  height: 24px;
}

.knowledge-tree__leaf.is-active,
.knowledge-tree__node:hover,
.knowledge-tree__leaf:hover,
.knowledge-tree__category.is-selected > .knowledge-tree__node,
.knowledge-tree__group.is-selected > .knowledge-tree__node {
  border-color: color-mix(in srgb, var(--rikor-primary) 65%, var(--rikor-border) 35%);
  background: color-mix(in srgb, var(--rikor-primary) 8%, var(--rikor-bg-secondary) 92%);
}

.knowledge-tree__more,
.knowledge-tree__empty {
  font-size: 11px;
  color: var(--rikor-text-muted);
  padding-left: 8px;
}

.knowledge-content {
  display: grid;
  gap: 12px;
}

.knowledge-content__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.knowledge-content__crumbs {
  display: inline-block;
  font-size: 12px;
  color: var(--rikor-text-secondary);
  background: color-mix(in srgb, var(--rikor-bg-secondary) 92%, #e2e8f0 8%);
  border: 1px solid var(--rikor-border-light);
  border-radius: 999px;
  padding: 3px 10px;
  margin-bottom: 6px;
}

.knowledge-content__header h3 {
  margin: 0;
  font-size: 18px;
}

.knowledge-content__header p {
  margin: 5px 0 0;
  color: var(--rikor-text-muted);
  font-size: 13px;
}

.knowledge-content__results {
  display: grid;
  gap: 8px;
}

.knowledge-outdated-warning {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #f59e0b;
  color: #b45309;
  background: #fff7ed;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 12px;
  margin-bottom: 6px;
}

.knowledge-content__empty {
  border: 1px dashed var(--rikor-border);
  border-radius: 12px;
  padding: 20px;
  color: var(--rikor-text-muted);
  text-align: center;
}

.knowledge-result-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  border: 1px solid var(--rikor-border-light);
  border-radius: 12px;
  padding: 10px;
}

.knowledge-result-item__main {
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  padding: 0;
}

.knowledge-result-item__main h4 {
  margin: 0 0 5px;
  font-size: 15px;
}

.knowledge-result-item__main p {
  margin: 0 0 7px;
  color: var(--rikor-text-secondary);
  font-size: 13px;
  line-height: 1.45;
}

.knowledge-result-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.knowledge-result-item__actions {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.knowledge-content__quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.knowledge-quick-list {
  border: 1px solid var(--rikor-border-light);
  border-radius: 12px;
  padding: 10px;
  background: color-mix(in srgb, var(--rikor-bg-secondary) 85%, #f8fafc 15%);
}

.knowledge-quick-list h4 {
  margin: 0 0 8px;
  font-size: 14px;
}

.knowledge-quick-list__items {
  display: grid;
  gap: 6px;
}

.knowledge-quick-list__item {
  width: 100%;
  border: 1px solid var(--rikor-border-light);
  border-radius: 9px;
  background: #fff;
  padding: 7px 8px;
  cursor: pointer;
  text-align: left;
}

.knowledge-quick-list__title {
  display: block;
  font-size: 13px;
  color: var(--rikor-text-primary);
}

.knowledge-quick-list__meta {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  color: var(--rikor-text-muted);
}

.knowledge-card__actions {
  padding: 3px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--rikor-bg-secondary) 90%, #ffffff 10%);
  border: 1px solid var(--rikor-border-light);
  box-shadow: var(--shadow-sm);
}

.knowledge-card__preview {
  width: 100%;
  height: 148px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--rikor-border-light);
  margin-bottom: 12px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}

.knowledge-card__preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.knowledge-card__preview-empty {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 28px;
}

.knowledge-rating-btn {
  border: 1px solid var(--rikor-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--rikor-bg-secondary) 88%, #ffffff 12%);
  color: var(--rikor-text-secondary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px;
  font-size: 12px;
  cursor: pointer;
}

.knowledge-rating-btn i {
  color: #f59e0b;
}

.knowledge-rating-btn:hover {
  border-color: #f59e0b;
  color: var(--rikor-text-primary);
}

.knowledge-rating-btn__votes {
  color: var(--rikor-text-muted);
  font-size: 11px;
}

.content {
  flex: 1;
  padding: 24px;
  overflow: hidden;
  background: var(--rikor-bg-primary);
}

.content.content--tickets {
  padding-bottom: 0;
}

.content.content--users {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-bottom: 0;
  overflow: hidden;
}

.content.content--users .users {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.content.content--users .users-panel {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.settings {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}

.tickets {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* Карточки */
.card {
  background: var(--rikor-bg-secondary);
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--rikor-border);
  transition: all var(--transition-fast);
  position: relative;
}

.card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rikor-border-light);
}

.card__title {
  font-size: 20px;
  font-weight: 600;
  color: var(--rikor-text-primary);
  margin-bottom: 4px;
}

.card__subtitle {
  font-size: 14px;
  color: var(--rikor-text-muted);
  line-height: 1.5;
}

.settings-smtp {
  border: 1px solid var(--rikor-border-light);
  border-radius: 12px;
  background: var(--rikor-bg-secondary);
  padding: 18px;
}

.settings-smtp__section-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--rikor-text-primary);
}

.settings-smtp__row {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.settings-smtp__row--align-start {
  align-items: start;
}

.settings-smtp__label {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--rikor-text-primary);
}

.settings-smtp__control {
  max-width: 420px;
  border-width: 1px;
  border-radius: 7px;
  padding: 10px 12px;
}

.settings-smtp__password-wrap {
  max-width: 420px;
  width: 100%;
}

.settings-smtp__switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--rikor-text-primary);
}

.settings-smtp__switch input[type='checkbox'] {
  width: 16px;
  height: 16px;
}

.settings-smtp__switch--indented {
  margin-left: 180px;
}

.settings-smtp__field-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.settings-smtp__hint {
  margin: 0;
  max-width: 620px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--rikor-text-muted);
}

.settings-smtp__hint a {
  color: var(--rikor-primary);
  text-decoration: none;
}

.settings-smtp__hint a:hover {
  text-decoration: underline;
}

.settings-smtp__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.settings-smtp__test-button {
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 14px;
}

.settings-smtp__templates {
  border-top: 1px solid var(--rikor-border-light);
  margin-top: 4px;
  padding-top: 14px;
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 10px 14px;
  align-items: start;
}

.settings-smtp__templates-title {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--rikor-text-primary);
}

.settings-smtp__templates a {
  align-self: center;
  font-size: 16px;
  line-height: 1.3;
  color: var(--rikor-primary);
  text-decoration: none;
}

.settings-smtp__templates a:hover {
  text-decoration: underline;
}

.settings-smtp__templates p {
  grid-column: 2;
  margin: -4px 0 0;
  font-size: 14px;
  color: var(--rikor-text-muted);
}

@media (max-width: 1024px) {
  .settings-smtp__row,
  .settings-smtp__templates {
    grid-template-columns: 1fr;
  }

  .settings-smtp__switch--indented {
    margin-left: 0;
  }

  .settings-smtp__control {
    max-width: 100%;
  }

  .settings-smtp__templates-title,
  .settings-smtp__templates a,
  .settings-smtp__templates p {
    font-size: 14px;
    line-height: 1.3;
  }

  .settings-smtp__templates p {
    grid-column: auto;
    margin-top: 0;
  }
}

/* НОВЫЕ: Стили для быстрых ответов */
.quick-replies-panel {
  position: fixed;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 320px;
  max-height: 500px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 16px;
  box-shadow: var(--shadow-xl);
  z-index: 1000;
  overflow: hidden;
  transition: all var(--transition-normal);
}

.quick-replies-header {
  padding: 16px 20px;
  background: var(--rikor-primary);
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.quick-replies-header h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.quick-replies-header .close-btn {
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all var(--transition-fast);
}

.quick-replies-header .close-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}

.quick-replies-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 8px;
}

.quick-reply {
  padding: 12px 16px;
  margin-bottom: 4px;
  border-radius: 8px;
  background: var(--rikor-bg-tertiary);
  cursor: pointer;
  transition: all var(--transition-fast);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
}

.quick-reply:hover {
  background: var(--rikor-primary);
  color: white;
  transform: translateX(4px);
}

.quick-reply i {
  width: 16px;
  text-align: center;
  opacity: 0.7;
}

/* Стили для переключения пользователей в модальном окне */
.user-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.user-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  background: var(--rikor-bg-tertiary);
  cursor: pointer;
  transition: all var(--transition-fast);
  position: relative;
  border: 2px solid transparent;
}

.user-item:hover {
  background: var(--rikor-bg-hover);
  transform: scale(1.02);
}

.user-item.active {
  border-color: var(--rikor-primary);
  background: rgba(30, 64, 175, 0.05);
}

.user-avatar {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 18px;
  box-shadow: var(--shadow-sm);
}

.user-info {
  flex: 1;
}

.user-name {
  font-weight: 600;
  color: var(--rikor-text-primary);
  margin-bottom: 4px;
}

.user-details {
  font-size: 13px;
  color: var(--rikor-text-secondary);
  margin-bottom: 4px;
}

.user-email {
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.user-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.status-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.status-indicator.online { background: var(--rikor-success); }
.status-indicator.away { background: var(--rikor-warning); }
.status-indicator.busy { background: var(--rikor-error); }
.status-indicator.offline { background: var(--rikor-text-light); }

.current-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--rikor-success);
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
}

/* Улучшенные стили для текущего пользователя */
.user-card.current-user {
  border: 2px solid var(--rikor-success);
  background: rgba(16, 185, 129, 0.05);
  position: relative;
}

.user-card.current-user::before {
  content: '👑 Активный';
  position: absolute;
  top: -8px;
  left: 16px;
  background: var(--rikor-success);
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  box-shadow: var(--shadow-md);
}

.users-panel {
  padding: 16px;
}

.users-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 220px;
  gap: 10px;
  margin-bottom: 12px;
}

.users-toolbar__search {
  position: relative;
}

.users-toolbar__search i {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  color: var(--rikor-text-light);
  font-size: 12px;
}

.users-toolbar__search .form-control {
  padding-left: 34px;
}

.users-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-bottom: 1px solid var(--rikor-border);
  margin-bottom: 12px;
}

.users-tab-btn {
  border: 1px solid transparent;
  border-bottom: none;
  background: transparent;
  color: var(--rikor-text-secondary);
  padding: 8px 12px;
  border-radius: 8px 8px 0 0;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.users-tab-btn:hover {
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-primary);
}

.users-tab-btn.active {
  background: var(--rikor-bg-secondary);
  color: var(--rikor-primary);
  border-color: var(--rikor-border);
  box-shadow: 0 -2px 0 var(--rikor-primary) inset;
}

.users-tab-btn__count {
  font-size: 11px;
  color: var(--rikor-text-muted);
}

.users-table-wrap {
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  overflow-x: auto;
  overflow-y: auto;
  position: relative;
  flex: 1;
  min-height: 240px;
  max-height: none;
}

.users-table thead {
  position: sticky;
  top: 0;
  z-index: 30;
}

.users-table thead th {
  position: sticky;
  top: 0;
  z-index: 31;
  background: var(--rikor-bg-secondary);
  box-shadow: inset 0 -1px 0 var(--rikor-border-light);
}

.users-table th {
  font-size: 12px;
}

.users-table td {
  font-size: 13px;
  vertical-align: middle;
}

.users-index-cell {
  color: var(--rikor-text-muted);
  width: 52px;
}

.users-name-cell {
  font-weight: 500;
  color: var(--rikor-text-primary);
}

.users-actions-cell {
  text-align: center;
  position: relative;
  overflow: visible;
}

.users-table-wrap .ticket-inline-menu {
  z-index: 220;
  right: 0;
}

.users-table-wrap .ticket-inline-menu.ticket-inline-menu--down {
  top: calc(100% + 6px);
  bottom: auto;
}

.users-table-wrap .ticket-inline-menu.ticket-inline-menu--up {
  top: auto;
  bottom: calc(100% + 6px);
}

.users-empty-state {
  text-align: center;
  color: var(--rikor-text-muted);
  padding: 20px 12px;
}

.users-permissions {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.users-permissions__col {
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  background: var(--rikor-bg-tertiary);
  padding: 12px;
}

.users-permissions__col h4 {
  margin-bottom: 8px;
  font-size: 14px;
}

.users-permissions__col p {
  margin-bottom: 6px;
  font-size: 12px;
  color: var(--rikor-text-secondary);
}

.users-permissions__col p:last-child {
  margin-bottom: 0;
}

@media (max-width: 960px) {
  .users-toolbar {
    grid-template-columns: 1fr;
  }

  .users-permissions {
    grid-template-columns: 1fr;
  }
}

/* Остальные стили остаются без изменений */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: 500;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all var(--transition-fast);
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.btn--primary {
  background: linear-gradient(135deg, var(--rikor-primary), var(--rikor-primary-light));
  color: white;
  box-shadow: var(--shadow-sm);
}

.btn--primary:hover {
  background: linear-gradient(135deg, var(--rikor-primary-dark), var(--rikor-primary));
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.btn--secondary {
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-primary);
  border: 1px solid var(--rikor-border);
}

.btn--secondary:hover {
  background: var(--rikor-bg-hover);
  border-color: var(--rikor-border-dark);
  transform: translateY(-1px);
}

.btn--success {
  background: linear-gradient(135deg, var(--rikor-success), #34d399);
  color: white;
}

.btn--warning {
  background: linear-gradient(135deg, var(--rikor-warning), #fbbf24);
  color: white;
}

.btn--error {
  background: linear-gradient(135deg, var(--rikor-error), #f87171);
  color: white;
}

.btn--small {
  padding: 8px 14px;
  font-size: 13px;
}

/* Сетка */
.grid {
  display: grid;
  gap: 24px;
}

.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 1200px) {
  .grid--4, .grid--5 { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .grid--3, .grid--4, .grid--5 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .grid--2, .grid--3, .grid--4, .grid--5 { grid-template-columns: 1fr; }
}

/* Статистические виджеты */
.stat-card {
  background: var(--rikor-bg-secondary);
  border-radius: 16px;
  padding: 24px;
  border: 1px solid var(--rikor-border);
  transition: all var(--transition-normal);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.stat-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: var(--shadow-xl);
}

.stat-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 16px;
  transition: transform var(--transition-fast);
}

.stat-card:hover .stat-card__icon {
  transform: scale(1.1) rotate(5deg);
}

.stat-card__value {
  font-size: 36px;
  font-weight: 700;
  color: var(--rikor-text-primary);
  margin-bottom: 6px;
  line-height: 1;
}

.stat-card__label {
  font-size: 14px;
  color: var(--rikor-text-muted);
  margin-bottom: 12px;
  font-weight: 500;
}

/* Мини-статистики */
.stat-mini {
  text-align: center;
  padding: 16px;
  background: var(--rikor-bg-secondary);
  border-radius: 12px;
  border: 1px solid var(--rikor-border);
  transition: all var(--transition-fast);
}

.stat-mini:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.stat-mini__value {
  font-size: 24px;
  font-weight: 700;
  color: var(--rikor-text-primary);
  margin-bottom: 4px;
}

.stat-mini__label {
  font-size: 12px;
  color: var(--rikor-text-muted);
  font-weight: 500;
}

.tickets-filters-card {
  padding: 10px 12px;
}

.tickets-filters-card .card__header {
  margin-bottom: 6px;
  padding-bottom: 6px;
}

.tickets-filters-card .card__title {
  font-size: 14px;
  margin-bottom: 0;
}

.tickets-filters-card .card__subtitle {
  font-size: 11px;
}

.tickets-controls-row {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.tickets-view-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  white-space: nowrap;
  flex-shrink: 0;
}

.ticket-filters-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 8px;
}

.tickets-filters-card .form-label {
  margin-bottom: 2px;
  font-size: 11px;
}

.tickets-filters-card .form-control {
  min-height: 32px;
  padding: 6px 9px;
}

.tickets-stats--compact .tickets-stats-grid {
  gap: 10px;
}

.tickets-stats--compact .stat-mini {
  padding: 5px 8px;
  border-radius: 10px;
}

.tickets-stats--compact .stat-mini__value {
  font-size: 16px;
  margin-bottom: 1px;
  line-height: 1.1;
}

.tickets-stats--compact .stat-mini__label {
  font-size: 10px;
  line-height: 1.1;
}

.tickets-header-actions {
  align-items: center;
  flex-wrap: wrap;
  white-space: normal;
  overflow: visible;
  max-width: 100%;
}

.tickets-table .badge {
  font-size: 11px;
  padding: 5px 10px;
}

.tickets-filters-dropdown-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.tickets-filters-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tickets-filters-trigger__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 10px;
  background: var(--rikor-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.tickets-filters-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  width: min(680px, calc(100vw - 48px));
  padding: 14px;
  border-radius: 12px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  box-shadow: var(--shadow-lg);
}

.tickets-filters-dropdown__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.tickets-filters-dropdown__title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.tickets-filters-dropdown__subtitle {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.tickets-filters-dropdown__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 10px;
}

.tickets-filters-dropdown__dates {
  grid-column: 1 / -1;
}

.tickets-filters-dropdown__date-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.tickets-header-bulk-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ticket-id {
  font-weight: 700;
  color: var(--rikor-primary);
  font-family: 'JetBrains Mono', 'Consolas', monospace;
  letter-spacing: 0.2px;
}

[data-theme="dark"] .ticket-id {
  color: #e2e8f0;
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid transparent;
  transition: all var(--transition-fast);
}

.badge--primary { 
  background: rgba(30, 64, 175, 0.12); 
  color: var(--rikor-primary); 
  border-color: rgba(30, 64, 175, 0.2);
}

.badge--success { 
  background: rgba(16, 185, 129, 0.12); 
  color: var(--rikor-success);
  border-color: rgba(16, 185, 129, 0.2);
}

.badge--warning { 
  background: rgba(245, 158, 11, 0.12); 
  color: var(--rikor-warning);
  border-color: rgba(245, 158, 11, 0.2);
}

.badge--error { 
  background: rgba(239, 68, 68, 0.12); 
  color: var(--rikor-error);
  border-color: rgba(239, 68, 68, 0.2);
}

.badge--info { 
  background: rgba(6, 182, 212, 0.12); 
  color: var(--rikor-info);
  border-color: rgba(6, 182, 212, 0.2);
}

.badge--secondary {
  background: rgba(100, 116, 139, 0.12);
  color: var(--rikor-secondary);
  border-color: rgba(100, 116, 139, 0.2);
}

/* Статусы и приоритеты */
.priority--critical { 
  background: rgba(239, 68, 68, 0.15); 
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.3);
}

.priority--high { 
  background: rgba(245, 158, 11, 0.15); 
  color: #d97706;
  border-color: rgba(245, 158, 11, 0.3);
}

.priority--medium { 
  background: rgba(6, 182, 212, 0.15); 
  color: #0891b2;
  border-color: rgba(6, 182, 212, 0.3);
}

.priority--low { 
  background: rgba(16, 185, 129, 0.15); 
  color: #059669;
  border-color: rgba(16, 185, 129, 0.3);
}

.status--open { 
  background: rgba(6, 182, 212, 0.15); 
  color: #0891b2;
  border-color: rgba(6, 182, 212, 0.3);
}

.status--in_progress { 
  background: rgba(245, 158, 11, 0.15); 
  color: #d97706;
  border-color: rgba(245, 158, 11, 0.3);
}

.status--waiting { 
  background: rgba(148, 163, 184, 0.15); 
  color: #64748b;
  border-color: rgba(148, 163, 184, 0.3);
}

.status--resolved { 
  background: rgba(16, 185, 129, 0.15); 
  color: #059669;
  border-color: rgba(16, 185, 129, 0.3);
}

.status--closed { 
  background: rgba(100, 116, 139, 0.15); 
  color: #475569;
  border-color: rgba(100, 116, 139, 0.3);
}

/* Формы */
.form-group {
  margin-bottom: 24px;
}

.form-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: var(--rikor-text-primary);
  font-size: 14px;
}

.form-label__required-marker {
  color: var(--rikor-error);
  font-weight: 700;
}

.form-control {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid var(--rikor-border);
  border-radius: 10px;
  font-size: 14px;
  transition: all var(--transition-fast);
  background: var(--rikor-bg-secondary);
  color: var(--rikor-text-primary);
  font-family: inherit;
}

.form-control:focus {
  outline: none;
  border-color: var(--rikor-primary);
  box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.12);
  background: var(--rikor-bg-secondary);
}

.form-control--active-soft {
  background: #fff8cc !important;
  border-color: #e8d98a !important;
}

.form-control--missing-soft {
  background: #ffeef1 !important;
  border-color: #efc4cc !important;
}

.password-field-wrap {
  position: relative;
}

.password-field-wrap__input {
  padding-right: 44px;
}

.password-field-wrap__toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--rikor-text-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.password-field-wrap__toggle:hover {
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-primary);
}

/* Таблицы */
.table-container {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--rikor-border);
  background: var(--rikor-bg-secondary);
}

.table-container--tickets {
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
}

.tickets-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.table {
  width: 100%;
  border-collapse: collapse;
}

.table th,
.table td {
  padding: 6px 12px;
  text-align: left;
  border-bottom: 1px solid var(--rikor-border-light);
}

.table th {
  background: var(--rikor-bg-tertiary);
  font-weight: 600;
  color: var(--rikor-text-primary);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.tickets-table__th {
  position: relative;
}

.table-col-resizer {
  position: absolute;
  top: 0;
  right: -3px;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  z-index: 3;
}

.table-col-resizer::after {
  content: '';
  position: absolute;
  top: 20%;
  bottom: 20%;
  left: 3px;
  width: 1px;
  background: rgba(148, 163, 184, 0.4);
}

.tickets-table__th--bulk-active .table-sort-btn {
  color: var(--rikor-error);
}

.tickets-table__th--bulk-active {
  background: rgba(239, 68, 68, 0.12);
}

.table-bulk-actions {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.table-bulk-actions__trigger {
  color: var(--rikor-error);
}

.table-bulk-actions__menu {
  top: calc(100% + 6px);
  right: 0;
}

.col-resize-active {
  cursor: col-resize !important;
  user-select: none;
}

.table-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  cursor: pointer;
  padding: 0;
}

.table-sort-btn i {
  font-size: 11px;
  opacity: 0.75;
}

.table-sort-btn:hover i {
  opacity: 1;
}

.table tbody tr:hover {
  background: var(--rikor-bg-tertiary);
}

.tickets-table td:nth-child(2) {
  white-space: nowrap;
}

.ticket-actions-cell {
  position: relative;
}

.ticket-actions {
  position: relative;
  display: inline-flex;
}

.ticket-actions-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 170px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  box-shadow: var(--shadow-lg);
  padding: 6px;
  z-index: 20;
}

.ticket-actions-menu__item {
  width: 100%;
  border: none;
  background: transparent;
  color: var(--rikor-text-primary);
  text-align: left;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.ticket-actions-menu__item:hover {
  background: var(--rikor-bg-tertiary);
}

.ticket-actions-menu__item--danger {
  color: var(--rikor-error);
}

.kanban-board-wrap {
  flex: 1;
  height: calc(100dvh - 130px);
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0;
}

.kanban-board {
  display: grid;
  grid-template-rows: 1fr;
  grid-auto-flow: column;
  grid-auto-columns: 280px;
  gap: 14px;
  align-items: stretch;
  height: 100%;
  min-width: max-content;
}

.kanban-column {
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  min-height: 0;
  height: 100%;
  align-self: stretch;
  width: 280px;
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.kanban-column--dragover {
  border-color: var(--rikor-primary);
  box-shadow: 0 0 0 2px rgba(30, 64, 175, 0.18);
}

.kanban-column__header {
  padding: 10px 12px;
  border-bottom: 1px solid var(--rikor-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.kanban-column__header h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.kanban-column__counter {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 11px;
  background: var(--rikor-bg-tertiary);
  border: 1px solid var(--rikor-border);
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rikor-text-secondary);
}

.kanban-column__body {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.kanban-ticket {
  background: var(--rikor-bg-secondary);
  border: 2px solid #c5ccd8;
  border-left: 8px solid var(--ticket-priority-color, #3b82f6);
  border-radius: 8px;
  padding: 8px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.kanban-ticket:hover {
  transform: translateY(-1px) scale(1.01);
  box-shadow: var(--shadow-sm);
}

.kanban-ticket__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.kanban-ticket__request-type {
  box-sizing: border-box;
  max-width: 65%;
  min-height: 18px;
  height: 18px;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kanban-ticket__status-badge {
  min-height: 18px;
  height: 18px;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0.01em;
}

.kanban-ticket__title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 6px;
}

.kanban-ticket__meta {
  font-size: 12px;
  color: var(--rikor-text-muted);
  margin-bottom: 8px;
}

.kanban-ticket__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.kanban-ticket__assignee {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--rikor-bg-tertiary);
  border: 1px solid var(--rikor-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: var(--rikor-text-secondary);
}

.kanban-ticket__client-info {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  max-width: 55%;
}

.kanban-ticket__client-value {
  font-size: 11px;
  color: var(--rikor-text-secondary);
  font-weight: 400;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kanban-empty {
  font-size: 12px;
  color: var(--rikor-text-muted);
  border: 1px dashed var(--rikor-border-dark);
  border-radius: 8px;
  padding: 10px;
  text-align: center;
  background: var(--rikor-bg-tertiary);
}

/* Модальные окна */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
  backdrop-filter: blur(8px);
  animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.modal-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--rikor-bg-secondary);
  border-radius: 20px;
  box-shadow: var(--shadow-xl);
  z-index: 1001;
  width: min(960px, 90vw);
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: none;
  border: 1px solid var(--rikor-border);
}

.modal-container--ticket {
  width: min(1480px, 98vw);
  height: min(900px, 94vh);
  max-width: 98vw;
  max-height: 94vh;
}

.modal-container--request-form {
  width: min(1220px, 96vw);
  height: min(900px, 94vh);
  max-width: 96vw;
  max-height: 94vh;
}

.modal-container--knowledge-editor {
  width: min(1320px, 98vw);
  height: min(940px, 95vh);
  max-width: 98vw;
  max-height: 95vh;
}

.modal-header {
  padding: 24px 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-shrink: 0;
}

.modal-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--rikor-text-primary);
}

.ticket-header-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}

.ticket-header-top .modal-title {
  margin: 0;
}

.modal-close {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--rikor-bg-tertiary);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  color: var(--rikor-text-secondary);
}

.modal-close:hover {
  background: var(--rikor-error);
  color: white;
  transform: scale(1.1);
}

.modal-window-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.modal-window-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--rikor-bg-tertiary);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  color: var(--rikor-text-secondary);
}

.modal-window-btn:hover {
  background: var(--rikor-primary);
  color: white;
  transform: scale(1.06);
}

.image-preview-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
  z-index: 1200;
  display: flex;
  flex-direction: column;
}

.image-preview-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px;
}

.image-preview-btn {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

.image-preview-btn:hover {
  background: rgba(255, 255, 255, 0.32);
}

.image-preview-stage {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow: hidden;
}

.image-preview-img {
  max-width: 92vw;
  max-height: 82vh;
  transform-origin: center center;
  transition: transform 0.05s linear;
  user-select: none;
  -webkit-user-drag: none;
}

.file-preview-text {
  max-width: 92vw;
  max-height: 82vh;
  overflow: auto;
  background: rgba(0, 0, 0, 0.28);
  color: #f5f7fb;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 16px;
  margin: 0;
  transform-origin: center center;
  transition: transform 0.05s linear;
  white-space: pre-wrap;
  line-height: 1.4;
}

.file-preview-pdf-wrap {
  width: min(92vw, 1100px);
  height: min(82vh, 920px);
  transform-origin: center center;
  transition: transform 0.05s linear;
}

.file-preview-pdf {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 10px;
  background: #fff;
}

.modal-body {
  padding: 24px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.knowledge-editor-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.knowledge-editor-body {
  padding: 14px 20px 12px;
}

.knowledge-editor-grid-compact {
  gap: 10px;
}

.knowledge-editor-grid-compact--meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.knowledge-editor-form-group {
  margin-bottom: 10px;
}

.knowledge-editor-form-group .form-label {
  margin-bottom: 4px;
}

.knowledge-editor-control {
  height: 36px;
  min-height: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.knowledge-editor-form-group--content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.knowledge-editor-content-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
}

.knowledge-editor-content-card .reply-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--rikor-bg-secondary);
  border-bottom-color: var(--rikor-border-light);
  box-shadow: 0 2px 0 rgba(15, 23, 42, 0.04);
}

.knowledge-editor-content-card #knowledgeFontFamilySelect,
.knowledge-editor-content-card #knowledgeFontSizeSelect {
  color: var(--rikor-text-primary) !important;
  background: var(--rikor-bg-primary) !important;
  font-size: 13px !important;
  font-weight: 600;
  text-overflow: ellipsis;
}

.knowledge-toolbar-select-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.knowledge-toolbar-select-native {
  position: relative;
  z-index: 1;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 0 transparent;
  padding-right: 24px;
}

.knowledge-toolbar-select-display {
  position: absolute;
  left: 10px;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  color: var(--rikor-text-primary);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.modal-container--knowledge-editor .reply-editor {
  flex: 1 1 auto;
  min-height: 260px;
  max-height: none;
}

.knowledge-editor-footer {
  padding: 10px 20px 14px;
  border-top: 1px solid var(--rikor-border-light);
}

.ticket-modal-body {
  padding: 16px 20px;
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow-y: hidden;
  overflow-x: hidden;
}

.request-modal-body {
  padding: 14px 20px 18px;
}

.request-form-grid {
  display: grid;
  gap: 12px;
}

.request-form-grid--top {
  grid-template-columns: minmax(170px, 220px) minmax(170px, 220px) minmax(0, 1fr);
  margin-bottom: 12px;
}

.request-form-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.request-form-grid--equipment {
  grid-template-columns: minmax(180px, 220px) minmax(160px, 200px) minmax(0, 1fr) minmax(150px, 190px);
}

.request-form-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
}

.request-description-group {
  margin-bottom: 14px;
}

.request-files-group {
  justify-self: start;
  width: 100%;
  max-width: none;
}

.request-files-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.request-files-row__attach {
  width: auto;
  max-width: none;
  flex-shrink: 0;
  justify-content: center;
}

.request-file-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: auto;
  flex: 1;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 2px;
}

.request-file-tags__empty {
  color: var(--rikor-text-muted);
  font-size: 12px;
}

.request-file-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
  padding: 6px 8px;
  min-width: 0;
}

.request-file-tag__name {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.request-file-tag__actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.request-form-editor {
  min-height: 132px;
  max-height: 220px;
}

.request-form-section {
  position: relative;
  border: 1px solid var(--rikor-border);
  border-radius: 12px;
  padding: 16px 12px 12px;
  margin-bottom: 14px;
  background: color-mix(in srgb, var(--rikor-bg-secondary) 85%, var(--rikor-bg-tertiary) 15%);
}

.request-form-section__title {
  position: absolute;
  top: -8px;
  left: 10px;
  margin: 0;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--rikor-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--rikor-bg-secondary);
}

.ticket-view-layout {
  height: 100%;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  gap: 18px;
  align-items: stretch;
}

.ticket-view-main,
.ticket-view-comments {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: hidden;
  overflow-x: hidden;
  padding-right: 6px;
}

.ticket-view-main {
  overflow-y: hidden;
}

.ticket-details {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding-right: 4px;
}

.ticket-metrics-row {
  margin-top: auto;
  flex-shrink: 0;
}

.ticket-info-frame {
  margin-bottom: 8px;
  padding: 12px 10px 8px;
}

.ticket-info-grid-compact {
  gap: 6px 10px;
}

.ticket-info-field {
  min-width: 0;
}

.ticket-info-field--full {
  grid-column: 1 / -1;
}

.ticket-info-value {
  min-height: 32px;
  display: flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--rikor-border);
  background: var(--rikor-bg-primary);
  color: var(--rikor-text-primary);
  font-size: 13px;
  line-height: 1.3;
}

.ticket-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  font-size: 12px;
  color: var(--rikor-text-secondary);
}

.ticket-info-frame .form-label {
  margin-bottom: 3px;
  font-size: 11px;
  line-height: 1.1;
}

.ticket-info-frame .request-form-section__title {
  top: -7px;
  font-size: 10px;
}

.ticket-request-type-badge {
  background: rgba(245, 158, 11, 0.16);
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.34);
}

.ticket-header-badges {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.ticket-header-field {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ticket-header-field__label {
  font-size: 11px;
  line-height: 1.1;
  color: var(--rikor-text-secondary);
  white-space: nowrap;
}

.ticket-header-chip {
  box-sizing: border-box;
  height: 28px;
  min-height: 28px;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0.02em;
  line-height: 1;
}

.ticket-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ticket-info-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ticket-view-comments {
  border-left: 1px solid var(--rikor-border-light);
  padding-left: 16px;
  max-height: none;
  overflow-y: hidden;
}

.ticket-assignee-row {
  display: grid;
  grid-template-columns: auto minmax(180px, 280px);
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.ticket-assignee-row__label {
  font-size: 12px;
  color: var(--rikor-text-secondary);
  font-weight: 600;
}

.ticket-assignee-row__select {
  height: 30px;
  padding: 4px 10px;
  font-size: 12px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
  box-shadow: none;
}

.ticket-replies-section {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

.ticket-replies {
  display: flex;
  flex-direction: column;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.ticket-replies-header {
  position: sticky;
  top: 0;
  z-index: 4;
  background: var(--rikor-bg-primary);
  padding: 0 0 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--rikor-border-light);
}

.ticket-replies-title {
  margin: 0;
  color: var(--rikor-text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
}

.ticket-reply-form {
  position: static;
  margin-top: auto;
  margin-bottom: 0;
  flex-shrink: 0;
  background: transparent;
  border-top: 0;
  padding-top: 0;
}

.ticket-details-card {
  position: relative;
}

.ticket-details-menu-wrap {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
}

.ticket-inline-menu-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.ticket-inline-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 180px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  box-shadow: var(--shadow-lg);
  padding: 6px;
  z-index: 60;
}

.ticket-inline-menu--down {
  top: calc(100% + 6px);
}

.ticket-card-menu-btn,
.reply-item-menu-btn {
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
  color: var(--rikor-text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
}

.ticket-card-menu-btn:hover,
.reply-item-menu-btn:hover {
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-primary);
}

.reply {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.reply-message img,
.reply-message video,
.reply-message iframe {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.reply-message ul,
.reply-message ol {
  padding-left: 20px;
  margin: 8px 0;
}

.reply-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
}

.reply-editor {
  min-height: 120px;
  max-height: 260px;
  overflow-y: auto;
  padding: 12px 14px;
  border: 2px solid var(--rikor-border);
  border-radius: 10px;
  background: var(--rikor-bg-secondary);
  color: var(--rikor-text-primary);
  line-height: 1.45;
}

.ticket-view-comments .reply-editor {
  min-height: 180px;
  max-height: 340px;
}

.reply-editor ul,
.reply-editor ol {
  margin: 8px 0 8px 10px;
  padding-left: 26px;
}

.reply-editor li {
  margin: 2px 0;
}

.reply-editor:focus {
  outline: none;
  border-color: var(--rikor-primary);
  box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.12);
}

.request-field--active-soft {
  background: #fff8cc !important;
  border-color: #e8d98a !important;
}

.request-field--missing-soft {
  background: #ffeef1 !important;
  border-color: #efc4cc !important;
}

.reply-editor--dragover {
  border-color: var(--rikor-info);
  background: rgba(13, 148, 136, 0.08);
}

.reply-editor:empty::before {
  content: attr(data-placeholder);
  color: var(--rikor-text-muted);
  pointer-events: none;
}

.reply-inline-image-token {
  display: inline-block;
  margin: 2px 4px 2px 0;
  padding: 4px 8px;
  border: 1px solid var(--rikor-border);
  border-radius: 999px;
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-secondary);
  font-size: 12px;
}

.reply-toolbar__btn {
  width: 30px;
  height: 30px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--rikor-text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
}

.reply-toolbar__btn:hover {
  background: var(--rikor-bg-tertiary);
  border-color: var(--rikor-border);
  color: var(--rikor-text-primary);
}

.reply-toolbar__btn--active {
  background: color-mix(in srgb, var(--rikor-primary) 14%, #ffffff 86%);
  border-color: color-mix(in srgb, var(--rikor-primary) 42%, #94a3b8 58%);
  color: var(--rikor-primary-dark);
}

.reply-toolbar__color {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid var(--rikor-border);
  border-radius: 6px;
  background: var(--rikor-bg-primary);
  color: var(--rikor-text-secondary);
}

.reply-toolbar__color-label {
  font-weight: 700;
  font-size: 13px;
  color: var(--rikor-text-primary);
}

.reply-toolbar__color input[type="color"] {
  width: 20px;
  height: 20px;
  border: none;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.knowledge-color-picker {
  position: relative;
}

.knowledge-color-picker__swatch {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border: 1px solid rgba(15, 23, 42, 0.2);
}

.knowledge-color-picker__panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  width: 238px;
  padding: 8px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
  box-shadow: var(--shadow-lg);
}

.knowledge-color-picker__auto {
  width: 100%;
  border: 1px solid var(--rikor-border-light);
  border-radius: 6px;
  background: var(--rikor-bg-primary);
  color: var(--rikor-text-primary);
  height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  cursor: pointer;
  margin-bottom: 8px;
}

.knowledge-color-picker__auto-swatch {
  width: 12px;
  height: 12px;
  border-radius: 2px;
  border: 1px solid #0f172a;
  background: #0f172a;
}

.knowledge-color-picker__section-title {
  font-size: 11px;
  color: var(--rikor-text-muted);
  margin: 6px 0 4px;
}

.knowledge-color-picker__grid {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 4px;
}

.knowledge-color-picker__grid--standard {
  margin-bottom: 8px;
}

.knowledge-color-picker__cell {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  cursor: pointer;
}

.knowledge-color-picker__custom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: var(--rikor-text-secondary);
}

.knowledge-color-picker__custom input[type="color"] {
  width: 28px;
  height: 24px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.knowledge-table-picker {
  position: relative;
}

.knowledge-table-picker__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 32;
  width: 286px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
  box-shadow: var(--shadow-lg);
  padding: 8px;
}

.knowledge-table-picker__title {
  font-size: 12px;
  font-weight: 600;
  color: var(--rikor-text-secondary);
  margin-bottom: 6px;
}

.knowledge-table-picker__grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 2px;
}

.knowledge-table-picker__cell {
  width: 22px;
  height: 20px;
  border: 1px solid var(--rikor-border);
  background: var(--rikor-bg-primary);
  cursor: pointer;
  border-radius: 2px;
}

.knowledge-table-picker__cell.is-active,
.knowledge-table-picker__cell:hover {
  border-color: var(--rikor-primary);
  background: color-mix(in srgb, var(--rikor-primary) 18%, #ffffff 82%);
}

.knowledge-table-picker__label {
  font-size: 12px;
  color: var(--rikor-text-muted);
  margin-top: 6px;
}

.knowledge-table-picker__tools {
  margin-top: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.knowledge-table-picker__tools button {
  height: 28px;
  border: 1px solid var(--rikor-border-light);
  background: var(--rikor-bg-primary);
  border-radius: 6px;
  font-size: 11px;
  color: var(--rikor-text-secondary);
  cursor: pointer;
}

.knowledge-table-picker__tools button:hover {
  border-color: var(--rikor-primary);
  color: var(--rikor-primary-dark);
}

.knowledge-table-context-menu {
  position: absolute;
  z-index: 2400;
  width: 248px;
  max-width: calc(100% - 16px);
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-secondary);
  box-shadow: var(--shadow-lg);
  padding: 6px;
}

.knowledge-table-context-menu button {
  width: 100%;
  height: 32px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--rikor-text-secondary);
  text-align: left;
  font-size: 13px;
  padding: 0 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.knowledge-table-context-menu button:hover {
  border-color: var(--rikor-border-light);
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-primary);
}

.knowledge-video {
  margin: 12px 0;
}

.knowledge-media {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 12px 0;
}

.knowledge-media img,
.knowledge-media iframe {
  display: block;
  max-width: 100%;
  border-radius: 8px;
}

.knowledge-media img {
  width: auto;
  height: auto !important;
}

.knowledge-media iframe {
  border: 1px solid var(--rikor-border);
  background: #000;
}

.knowledge-media__resize-handle {
  position: absolute;
  right: -6px;
  bottom: -6px;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background: var(--rikor-primary);
  border: 2px solid #fff;
  box-shadow: var(--shadow-sm);
  cursor: nwse-resize;
}

.modal-body .knowledge-media__resize-handle {
  opacity: 1;
}

.knowledge-table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
}

.knowledge-table th,
.knowledge-table td {
  border: 1px solid var(--rikor-border);
  padding: 8px 10px;
  vertical-align: top;
}

.knowledge-table th {
  background: var(--rikor-bg-tertiary);
  font-weight: 700;
}

.knowledge-callout {
  border-radius: 10px;
  padding: 12px 14px;
  margin: 12px 0;
  border: 1px solid transparent;
}

.knowledge-callout strong {
  display: block;
  margin-bottom: 6px;
}

.knowledge-callout p {
  margin: 0;
}

.knowledge-callout--notice {
  background: #ecfeff;
  border-color: #67e8f9;
  color: #155e75;
}

.knowledge-callout--warning {
  background: #fff7ed;
  border-color: #fdba74;
  color: #9a3412;
}

.knowledge-callout--tip {
  background: #ecfdf5;
  border-color: #6ee7b7;
  color: #065f46;
}

.knowledge-columns {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.knowledge-columns--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.knowledge-columns--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.knowledge-columns__item {
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  padding: 10px 12px;
  background: var(--rikor-bg-secondary);
}

.knowledge-columns__item h4 {
  margin: 0 0 6px;
  color: var(--rikor-text-primary);
  font-size: 14px;
}

.knowledge-columns__item p {
  margin: 0;
}

.knowledge-multicolumn {
  column-gap: 26px;
  margin: 12px 0;
  padding: 12px;
  border: 1px dashed color-mix(in srgb, var(--rikor-primary) 32%, #94a3b8 68%);
  border-radius: 10px;
  background: color-mix(in srgb, var(--rikor-primary) 5%, #ffffff 95%);
}

.knowledge-multicolumn--2 {
  column-count: 2;
}

.knowledge-multicolumn--3 {
  column-count: 3;
}

.knowledge-multicolumn p,
.knowledge-multicolumn ul,
.knowledge-multicolumn ol,
.knowledge-multicolumn blockquote,
.knowledge-multicolumn h2,
.knowledge-multicolumn h3 {
  break-inside: avoid;
}

@media (max-width: 900px) {
  .knowledge-columns--2,
  .knowledge-columns--3 {
    grid-template-columns: 1fr;
  }

  .knowledge-multicolumn--2,
  .knowledge-multicolumn--3 {
    column-count: 1;
  }
}

.emoji-picker {
  position: fixed;
  z-index: 2000;
  width: 240px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 10px;
  box-shadow: var(--shadow-lg);
  padding: 8px;
}

.emoji-picker__header {
  font-size: 12px;
  font-weight: 600;
  color: var(--rikor-text-muted);
  margin-bottom: 6px;
}

.emoji-picker__grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 4px;
}

.emoji-picker__item {
  border: 1px solid transparent;
  background: transparent;
  border-radius: 6px;
  height: 28px;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.emoji-picker__item:hover {
  background: var(--rikor-bg-tertiary);
  border-color: var(--rikor-border);
}

.reply-submit-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.reply-delivery-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--rikor-text-primary);
  user-select: none;
  cursor: pointer;
}

.reply-delivery-toggle input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: #0a7f8a;
}

.reply-submit-split {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  border-radius: 6px;
  overflow: visible;
  z-index: 40;
  box-shadow: var(--shadow-sm);
}

.reply-submit-main,
.reply-submit-toggle {
  border: none;
  background: #0a7f8a;
  color: #fff;
  height: 34px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.reply-submit-main {
  padding: 0 16px;
}

.reply-submit-toggle {
  width: 32px;
  border-left: 1px solid rgba(255, 255, 255, 0.35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.reply-submit-main:hover,
.reply-submit-toggle:hover {
  background: #086f78;
}

.reply-submit-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 6px);
  min-width: 280px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  padding: 6px;
  z-index: 25;
}

.reply-submit-menu__item {
  width: 100%;
  border: none;
  background: transparent;
  color: var(--rikor-text-primary);
  text-align: left;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}

.reply-submit-menu__item:hover {
  background: var(--rikor-bg-tertiary);
}

.reply-submit-menu__submenu-wrap {
  position: relative;
}

.reply-quick-menu {
  position: absolute;
  right: calc(100% + 8px);
  bottom: 0;
  width: min(380px, 60vw);
  max-height: 260px;
  overflow-y: auto;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  box-shadow: var(--shadow-lg);
  padding: 6px;
  z-index: 30;
}

.reply-quick-menu__item {
  width: 100%;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--rikor-text-primary);
  text-align: left;
  padding: 8px 10px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.35;
}

.reply-quick-menu__item:hover {
  background: var(--rikor-bg-tertiary);
}

.ticket-inline-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
}

.ticket-inline-control--open {
  min-width: 170px;
}

.ticket-inline-control__trigger {
  border: none;
  cursor: pointer;
}

.ticket-inline-control__trigger.ticket-header-chip {
  height: 28px;
  min-height: 28px;
}

.ticket-inline-control__select {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 170px;
  height: 100%;
  padding: 6px 8px;
  font-size: 12px;
  z-index: 30;
  box-shadow: var(--shadow-lg);
  border-radius: 999px;
}

.modal-container--resizable {
  min-width: 640px;
  min-height: 420px;
}

.modal-container--fullscreen {
  border-radius: 10px;
  max-width: none;
  max-height: none;
}

.modal-container--fullscreen .modal-resize-handle {
  display: none;
}

.modal-resize-handle {
  position: absolute;
  z-index: 1010;
}

.modal-resize-handle--n,
.modal-resize-handle--s {
  left: 10px;
  right: 10px;
  height: 8px;
}

.modal-resize-handle--n {
  top: -4px;
  cursor: ns-resize;
}

.modal-resize-handle--s {
  bottom: -4px;
  cursor: ns-resize;
}

.modal-resize-handle--e,
.modal-resize-handle--w {
  top: 10px;
  bottom: 10px;
  width: 8px;
}

.modal-resize-handle--e {
  right: -4px;
  cursor: ew-resize;
}

.modal-resize-handle--w {
  left: -4px;
  cursor: ew-resize;
}

.modal-resize-handle--ne,
.modal-resize-handle--nw,
.modal-resize-handle--se,
.modal-resize-handle--sw {
  width: 12px;
  height: 12px;
}

.modal-resize-handle--ne {
  top: -6px;
  right: -6px;
  cursor: nesw-resize;
}

.modal-resize-handle--nw {
  top: -6px;
  left: -6px;
  cursor: nwse-resize;
}

.modal-resize-handle--se {
  right: -6px;
  bottom: -6px;
  cursor: nwse-resize;
}

.modal-resize-handle--sw {
  left: -6px;
  bottom: -6px;
  cursor: nesw-resize;
}

.ticket-view-comments .quick-replies-panel {
  position: relative;
  top: auto;
  right: auto;
  transform: none;
  width: 100%;
  max-height: 260px;
  border-radius: 10px;
  box-shadow: var(--shadow-md);
  z-index: 1;
}

.ticket-view-comments .quick-replies-list {
  max-height: 185px;
}

.ticket-view-comments .quick-reply {
  width: 100%;
  border: 0;
  text-align: left;
  font-family: inherit;
}

.ticket-request-card {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--rikor-bg-secondary);
  padding-top: 2px;
}

.ticket-tags-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 8px;
  overflow-x: auto;
  white-space: nowrap;
}

.ticket-tags-empty {
  font-size: 12px;
  color: var(--rikor-text-muted);
}

.ticket-tag-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--rikor-border);
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-secondary);
  font-size: 12px;
  flex-shrink: 0;
}

.ticket-tag-badge__remove {
  border: 0;
  background: transparent;
  color: var(--rikor-text-muted);
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0;
}

.ticket-tag-badge__remove:hover {
  color: var(--rikor-error);
}

.ticket-request-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}

.ticket-tag-trigger {
  width: 30px;
  height: 30px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-tertiary);
  color: var(--rikor-text-secondary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ticket-tag-trigger:hover {
  color: var(--rikor-text-primary);
  background: var(--rikor-bg-secondary);
}

.ticket-tag-picker {
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid var(--rikor-border);
  border-radius: 8px;
  background: var(--rikor-bg-tertiary);
}

.ticket-tag-picker__input-wrap {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.ticket-tag-picker__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ticket-tag-option {
  border: 1px solid var(--rikor-border);
  border-radius: 999px;
  padding: 4px 10px;
  background: var(--rikor-bg-secondary);
  color: var(--rikor-text-secondary);
  font-size: 12px;
  cursor: pointer;
}

.ticket-tag-option.is-selected {
  background: rgba(13, 148, 136, 0.18);
  border-color: rgba(13, 148, 136, 0.45);
  color: var(--rikor-text-primary);
}

@media (max-width: 1100px) {
  .modal-container--request-form {
    width: min(1000px, 98vw);
    height: min(920px, 95vh);
    max-width: 98vw;
  }

  .request-form-grid--top,
  .request-form-grid--equipment,
  .request-form-grid--three,
  .request-form-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ticket-modal-body {
    overflow-y: auto;
  }

  .ticket-view-layout {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .modal-container--ticket .ticket-view-layout {
    min-height: auto;
  }

  .ticket-view-main,
  .ticket-view-comments {
    overflow: visible;
    height: auto;
    padding-right: 0;
  }

  .ticket-replies {
    max-height: none;
    overflow: visible;
  }

  .ticket-reply-form {
    position: static;
    margin-top: 0;
    border-top: 0;
    padding-top: 0;
  }

  .ticket-view-comments {
    border-left: 0;
    border-top: 1px solid var(--rikor-border-light);
    padding-left: 0;
    padding-top: 14px;
  }

  .ticket-request-card {
    position: static;
  }
}

@media (max-width: 760px) {
  .modal-container--request-form {
    width: 98vw;
    height: 96vh;
    max-width: 98vw;
    max-height: 96vh;
  }

  .request-modal-body {
    padding: 12px 14px 16px;
  }

  .request-form-grid--top,
  .request-form-grid--equipment,
  .request-form-grid--three,
  .request-form-grid--two {
    grid-template-columns: 1fr;
  }

  .modal-container--knowledge-editor {
    width: 98vw;
    height: 96vh;
    max-width: 98vw;
    max-height: 96vh;
  }

  .knowledge-editor-body {
    padding: 12px 14px 10px;
  }

  .knowledge-editor-footer {
    padding: 10px 14px 12px;
  }
}

.modal-footer {
  padding: 12px 24px 24px;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
  flex-shrink: 0;
  border-top: 1px solid var(--rikor-border-light);
  background: var(--rikor-bg-secondary);
}

/* Уведомления */
.notifications {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1100;
  max-width: 420px;
}

.notification {
  background: var(--rikor-bg-secondary);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: var(--shadow-lg);
  border-left: 4px solid var(--rikor-primary);
  animation: slideInRight 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid var(--rikor-border);
}

.notification--success { border-left-color: var(--rikor-success); }
.notification--warning { border-left-color: var(--rikor-warning); }
.notification--error { border-left-color: var(--rikor-error); }

.notification__icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: white;
  flex-shrink: 0;
  margin-top: 2px;
}

.notification__content {
  flex: 1;
}

.notification__title {
  font-weight: 600;
  color: var(--rikor-text-primary);
  margin-bottom: 4px;
  font-size: 14px;
}

.notification__message {
  color: var(--rikor-text-secondary);
  font-size: 13px;
  line-height: 1.4;
}

/* FAB */
.fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rikor-primary), var(--rikor-primary-light));
  border: none;
  color: white;
  font-size: 20px;
  cursor: pointer;
  box-shadow: var(--shadow-lg);
  transition: all var(--transition-normal);
  z-index: 900;
}

.fab:hover {
  transform: scale(1.15) rotate(45deg);
  box-shadow: var(--shadow-xl);
}

.fab-menu {
  position: fixed;
  bottom: 90px;
  right: 24px;
  z-index: 950;
}

.fab-menu__item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--rikor-bg-secondary);
  border: 1px solid var(--rikor-border);
  padding: 14px 18px;
  border-radius: 12px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all var(--transition-normal);
  box-shadow: var(--shadow-md);
  color: var(--rikor-text-primary);
  white-space: nowrap;
  animation: slideInRight 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
}

.fab-menu__item:hover {
  background: var(--rikor-primary);
  color: white;
  transform: translateX(-6px) scale(1.05);
  box-shadow: var(--shadow-xl);
}

/* Утилиты */
.hidden { display: none !important; }
.text-center { text-align: center; }
.mt-4 { margin-top: 16px; }
.mb-4 { margin-bottom: 16px; }
.mr-2 { margin-right: 8px; }
.ml-2 { margin-left: 8px; }

/* Анимации */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { 
    transform: translate(-50%, -45%) scale(0.9); 
    opacity: 0; 
  }
  to { 
    transform: translate(-50%, -50%) scale(1); 
    opacity: 1; 
  }
}

@keyframes slideInRight {
  from { 
    transform: translateX(100%) scale(0.9); 
    opacity: 0; 
  }
  to { 
    transform: translateX(0) scale(1); 
    opacity: 1; 
  }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.8; }
}

/* Адаптивность */
@media (max-width: 768px) {
  .sidebar {
    position: fixed;
    left: -280px;
    z-index: 200;
    height: 100vh;
    transition: left var(--transition-normal);
  }

  .sidebar.active {
    left: 0;
  }

  .main-content {
    margin-left: 0;
  }

  .content {
    padding: 16px;
  }

  .tickets__header {
    flex-direction: column;
    align-items: stretch;
  }

  .tickets-topbar {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .tickets-topbar__title {
    font-size: 18px;
    justify-self: start;
    text-align: left;
  }

  .tickets-topbar__right {
    justify-self: start;
    flex-wrap: wrap;
  }

  .knowledge-filters-row {
    grid-template-columns: 1fr;
  }

  .knowledge-hub__header {
    position: static;
  }

  .knowledge-hub__header-row {
    grid-template-columns: 1fr;
  }

  .knowledge-hub__view-switch {
    justify-self: start;
  }

  .knowledge-hub__workspace {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .knowledge-hub__sidebar {
    max-height: 320px;
  }

  .knowledge-content__header {
    flex-direction: column;
  }

  .knowledge-content__quick-grid {
    grid-template-columns: 1fr;
  }

  .knowledge-result-item {
    grid-template-columns: 1fr;
  }

  .knowledge-result-item__actions {
    justify-content: flex-end;
  }

  .knowledge-editor-grid-compact--meta {
    grid-template-columns: 1fr;
  }

  .knowledge-filters-row__actions {
    justify-content: flex-start;
  }

  .tickets-controls-row {
    flex-direction: column;
    align-items: stretch;
  }

  .tickets-header-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .tickets-filters-dropdown-wrap {
    position: static;
  }

  .tickets-filters-dropdown {
    right: auto;
    left: 0;
    width: min(640px, calc(100vw - 32px));
  }

  .tickets-filters-dropdown__grid {
    grid-template-columns: 1fr;
  }

  .tickets-filters-dropdown__date-row {
    grid-template-columns: 1fr;
  }

  .ticket-filters-grid {
    grid-template-columns: 1fr 1fr;
  }

  .table-container--tickets {
    flex: 1;
    max-height: none;
  }

  .quick-replies-panel {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    top: auto;
    transform: none;
    width: auto;
  }

  .kanban-column-config-row {
    grid-template-columns: 1fr !important;
  }

  .kanban-column {
    width: 260px;
    flex-basis: 260px;
  }
}

@media (max-width: 480px) {
  .sidebar__user-switcher {
    margin: 4px 8px;
    padding: 12px 16px;
  }

  .user-switcher-select {
    font-size: 11px;
    padding: 6px 8px;
  }
}

@media (max-height: 860px) {
  .sidebar__brand {
    padding: 14px 14px;
  }

  .sidebar__logo {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  .sidebar__title {
    font-size: 16px;
  }

  .sidebar__subtitle {
    font-size: 11px;
  }

  .sidebar__link {
    padding: 10px 14px;
    margin: 0 8px 3px;
    font-size: 13px;
  }

  .sidebar__user-switcher {
    padding: 10px 12px;
    margin: 6px 8px;
  }

  .sidebar__profile {
    padding: 12px;
    margin: 6px 8px 8px;
  }

  .sidebar__avatar {
    width: 34px;
    height: 34px;
    font-size: 12px;
  }
}

.auth-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(16, 27, 48, 0.48);
  z-index: 1200;
}

.auth-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(560px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  overflow: auto;
  z-index: 1201;
  border-radius: 14px;
  border: 1px solid #d9e2f1;
  background: #fff;
  box-shadow: 0 18px 40px rgba(17, 37, 70, 0.28);
}

/* Final auth input contrast guard: keep text visible in any browser/theme combination. */
.auth-screen .auth-form input.auth-form__input,
.auth-screen .auth-form input.auth-form__input:focus,
.auth-screen .auth-form input.auth-form__input:active,
.auth-screen .auth-form input.auth-form__input:read-only {
  color: #24324a !important;
  -webkit-text-fill-color: #24324a !important;
  text-shadow: none !important;
  caret-color: #24324a !important;
  background-color: #f2f4f7 !important;
  opacity: 1 !important;
}

.auth-screen .auth-form input.auth-form__input::placeholder {
  color: #7b879b !important;
  -webkit-text-fill-color: #7b879b !important;
}

.auth-screen .auth-form input.auth-form__input:-webkit-autofill,
.auth-screen .auth-form input.auth-form__input:-webkit-autofill:hover,
.auth-screen .auth-form input.auth-form__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #24324a !important;
  caret-color: #24324a !important;
  box-shadow: 0 0 0 1000px #f2f4f7 inset !important;
}