/**
 * Единый дизайн-язык онбординга.
 * Современный вид: мягкие скругления, плавные появления, акцентный градиент.
 * Используется во всех компонентах онбординга и переиспользуется в будущем.
 */

:root {
  /* Синий акцент онбординга — намеренно отличается от зелёного бренда приложения,
     чтобы подсказки визуально выделялись. */
  --ob-brand: #2563eb;
  --ob-brand-dark: #1d4ed8;
  --ob-radius: 20px;
  --ob-radius-lg: 24px;
}

/* ---------- Анимации появления ---------- */
@keyframes ob-pop {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes ob-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.ob-pop {
  animation: ob-pop 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}

.ob-fade {
  animation: ob-fade 0.2s ease-out;
}

/* ---------- Оверлей «матовое стекло»: приложение видно сзади, но размыто ---------- */
.ob-overlay {
  background: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  animation: ob-fade 0.2s ease-out;
}

/* ---------- Карточка ---------- */
.ob-card {
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.06);
  border-radius: var(--ob-radius);
  box-shadow:
    0 1px 2px rgba(17, 24, 39, 0.04),
    0 12px 32px -8px rgba(17, 24, 39, 0.18),
    0 4px 12px -4px rgba(17, 24, 39, 0.1);
}

/* ---------- Бейдж-«пилюля» (например, «Шаг 2 / 7») ---------- */
.ob-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--ob-brand);
  background: color-mix(in srgb, var(--ob-brand) 12%, transparent);
}

/* ---------- Иконка-чип с градиентом ---------- */
.ob-icon-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--ob-brand), var(--ob-brand-dark));
  box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--ob-brand) 55%, transparent);
}

/* ---------- Кнопки ---------- */
.ob-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  font-weight: 600;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--ob-brand), var(--ob-brand-dark));
  box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--ob-brand) 50%, transparent);
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    filter 0.15s ease;
}
.ob-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px -4px color-mix(in srgb, var(--ob-brand) 55%, transparent);
  filter: brightness(1.03);
}
.ob-btn-primary:active {
  transform: translateY(0);
}

.ob-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #6b7280;
  font-weight: 500;
  border-radius: 12px;
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}
.ob-btn-ghost:hover {
  background: #f3f4f6;
  color: #111827;
}

.ob-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #6b7280;
  border: 1px solid rgba(17, 24, 39, 0.08);
  background: #fff;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}
.ob-btn-icon:hover:not(:disabled) {
  background: #f9fafb;
  color: #111827;
}
.ob-btn-icon:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* ---------- Сегментированный прогресс ---------- */
.ob-progress-seg {
  height: 5px;
  flex: 1;
  border-radius: 999px;
  background: #eef0f3;
  overflow: hidden;
  transition: background-color 0.3s ease;
}
.ob-progress-seg--active {
  background: linear-gradient(90deg, var(--ob-brand), var(--ob-brand-dark));
}
/* ============================================================================
   Command Palette (cmdk) — стили
   ============================================================================ */

/* Корневой Dialog от cmdk — фиксирован поверх всего */
.cmdk-root {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: max(15vh, 80px);
  pointer-events: none;
}

.cmdk-root * {
  box-sizing: border-box;
}

.cmdk-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: cmdk-backdrop-in 180ms ease-out;
  pointer-events: auto;
}

.cmdk-panel {
  position: relative;
  width: min(640px, calc(100vw - 32px));
  max-height: min(560px, calc(100vh - 30vh));
  background: #ffffff;
  border-radius: 14px;
  box-shadow:
    0 24px 48px -12px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: cmdk-panel-in 200ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
}

@keyframes cmdk-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes cmdk-panel-in {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(-8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* Шапка с инпутом */
.cmdk-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid #f3f4f6;
}

.cmdk-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 15px;
  line-height: 22px;
  color: #111827;
  font-family: inherit;
}

.cmdk-input::-moz-placeholder {
  color: #9ca3af;
}

.cmdk-input::placeholder {
  color: #9ca3af;
}

.cmdk-kbd {
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  color: #6b7280;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 2px 6px;
  line-height: 14px;
}

/* Тело — список */
.cmdk-list {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 6px 8px 8px;
  scroll-padding: 8px;
  overscroll-behavior: contain;
}

.cmdk-list::-webkit-scrollbar {
  width: 8px;
}
.cmdk-list::-webkit-scrollbar-thumb {
  background: #e5e7eb;
  border-radius: 4px;
}

.cmdk-empty {
  padding: 32px 16px;
  text-align: center;
}

.cmdk-group {
  margin-bottom: 4px;
}

.cmdk-group [cmdk-group-heading] {
  font-size: 11px;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 8px 10px 4px;
}

/* Элемент списка */
.cmdk-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  line-height: 20px;
  color: #111827;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color 120ms ease;
}

.cmdk-item > svg {
  flex-shrink: 0;
}

.cmdk-item-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 1px;
}

.cmdk-item-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.cmdk-item-subtitle {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6b7280;
  font-size: 12px;
  line-height: 16px;
}

.cmdk-item-arrow {
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 120ms ease;
}

.cmdk-item[data-selected='true'] {
  background-color: var(--app-brand-soft, #edf9f1);
  color: #111827;
}

.cmdk-item[data-selected='true'] .cmdk-item-arrow {
  opacity: 1;
}

.cmdk-item:hover {
  background-color: #f9fafb;
}

.cmdk-item[data-selected='true']:hover {
  background-color: var(--app-brand-soft, #edf9f1);
}

/* Футер с подсказками */
.cmdk-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 14px;
  border-top: 1px solid #f3f4f6;
  background: #fafafa;
  font-size: 11px;
  color: #6b7280;
}

.cmdk-kbd-sm {
  font-family: inherit;
  font-size: 10px;
  font-weight: 500;
  color: #6b7280;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 3px;
  padding: 1px 4px;
  margin-right: 4px;
  line-height: 12px;
  display: inline-block;
}

/* Dark mode */
body.dark-mode .cmdk-panel {
  background: #1e293b;
  box-shadow:
    0 24px 48px -12px rgba(0, 0, 0, 0.6),
    0 0 0 1px rgba(255, 255, 255, 0.08);
}
body.dark-mode .cmdk-input-wrap {
  border-bottom-color: #334155;
}
body.dark-mode .cmdk-input {
  color: #f1f5f9;
}
body.dark-mode .cmdk-input::-moz-placeholder {
  color: #64748b;
}
body.dark-mode .cmdk-input::placeholder {
  color: #64748b;
}
body.dark-mode .cmdk-item {
  color: #e2e8f0;
}
body.dark-mode .cmdk-item-subtitle {
  color: #94a3b8;
}
body.dark-mode .cmdk-item[data-selected='true'] {
  background-color: rgba(34, 197, 94, 0.16);
}
body.dark-mode .cmdk-item:hover {
  background-color: rgba(255, 255, 255, 0.04);
}
body.dark-mode .cmdk-footer {
  background: #0f172a;
  border-top-color: #334155;
  color: #94a3b8;
}
body.dark-mode .cmdk-kbd,
body.dark-mode .cmdk-kbd-sm {
  background: #334155;
  color: #cbd5e1;
  border-color: #475569;
}

@media (max-width: 640px) {
  .cmdk-root {
    padding: max(12px, env(safe-area-inset-top)) 12px 12px;
    align-items: flex-start;
  }

  .cmdk-panel {
    width: 100%;
    max-height: calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    border-radius: 12px;
  }

  .cmdk-footer {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cmdk-backdrop,
  .cmdk-panel {
    animation: none;
  }

  .cmdk-item,
  .cmdk-item-arrow {
    transition: none;
  }
}
/* ============================================================================
   IVI PROPERTY DESIGN SYSTEM
   Единая дизайн-система для всего приложения
   ============================================================================ */

/* Inter font loaded via <link> in index.html — not via @import to avoid render-blocking */

/* ============================================================================
   CSS CUSTOM PROPERTIES (DESIGN TOKENS)
   Изменяя значения здесь, вы меняете стили во всём приложении
   ============================================================================ */

:root {
  /* ===== ЦВЕТОВАЯ ПАЛИТРА ===== */
  
  /* Primary - основной цвет действий */
  --color-primary-50: #F0FDF4;
  --color-primary-100: #DCFCE7;
  --color-primary-200: #BBF7D0;
  --color-primary-300: #86EFAC;
  --color-primary-400: #4ADE80;
  --color-primary-500: #15803D;
  --color-primary-600: #15803D;
  --color-primary-700: #166534;
  --color-primary-800: #14532D;
  --color-primary-900: #052E16;
  --color-primary: #15803D;
  
  /* Secondary - вторичный цвет */
  --color-secondary-50: #F8FAFC;
  --color-secondary-100: #F1F5F9;
  --color-secondary-200: #E2E8F0;
  --color-secondary-300: #CBD5E1;
  --color-secondary-400: #94A3B8;
  --color-secondary-500: #64748B;
  --color-secondary-600: #475569;
  --color-secondary-700: #334155;
  --color-secondary-800: #1E293B;
  --color-secondary-900: #0F172A;
  --color-secondary: #64748B;
  
  /* Success - успех */
  --color-success-50: #ECFDF5;
  --color-success-100: #D1FAE5;
  --color-success-200: #A7F3D0;
  --color-success-300: #6EE7B7;
  --color-success-400: #34D399;
  --color-success-500: #10B981;
  --color-success-600: #059669;
  --color-success-700: #047857;
  --color-success-800: #065F46;
  --color-success-900: #064E3B;
  --color-success: #10B981;
  
  /* Warning - предупреждение */
  --color-warning-50: #FFFBEB;
  --color-warning-100: #FEF3C7;
  --color-warning-200: #FDE68A;
  --color-warning-300: #FCD34D;
  --color-warning-400: #FBBF24;
  --color-warning-500: #F59E0B;
  --color-warning-600: #D97706;
  --color-warning-700: #B45309;
  --color-warning-800: #92400E;
  --color-warning-900: #78350F;
  --color-warning: #F59E0B;
  
  /* Error/Danger - ошибка */
  --color-error-50: #FEF2F2;
  --color-error-100: #FEE2E2;
  --color-error-200: #FECACA;
  --color-error-300: #FCA5A5;
  --color-error-400: #F87171;
  --color-error-500: #EF4444;
  --color-error-600: #DC2626;
  --color-error-700: #B91C1C;
  --color-error-800: #991B1B;
  --color-error-900: #7F1D1D;
  --color-error: #EF4444;
  
  /* Info - информация */
  --color-info-50: #EFF6FF;
  --color-info-100: #DBEAFE;
  --color-info-200: #BFDBFE;
  --color-info-300: #93C5FD;
  --color-info-400: #60A5FA;
  --color-info-500: #3B82F6;
  --color-info-600: #2563EB;
  --color-info-700: #1D4ED8;
  --color-info-800: #1E40AF;
  --color-info-900: #1E3A8A;
  --color-info: #3B82F6;
  
  /* Neutral - нейтральные (серые) */
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #6B7280; /* WCAG AA: raised from #9CA3AF (2.54:1) to 4.83:1 */
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;
  
  /* Семантические цвета */
  --color-background: #F9FAFB;
  --color-surface: #FFFFFF;
  --color-surface-secondary: #F3F4F6;
  --color-border: #E5E7EB;
  --color-border-light: #F3F4F6;
  --color-text-primary: #111827;
  --color-text-secondary: #6B7280;
  --color-text-tertiary: #6B7280; /* WCAG AA min 4.83:1 on white */
  --color-text-inverse: #FFFFFF;
  --color-link: #0F172A;
  --color-link-hover: #374151;
  
  /* ===== ТИПОГРАФИКА ===== */
  
  --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-mono: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace;
  
  /* Размеры шрифтов */
  --font-size-xs: 0.75rem;      /* 12px */
  --font-size-sm: 0.875rem;     /* 14px */
  --font-size-base: 1rem;       /* 16px */
  --font-size-lg: 1.125rem;     /* 18px */
  --font-size-xl: 1.25rem;      /* 20px */
  --font-size-2xl: 1.5rem;      /* 24px */
  --font-size-3xl: 1.875rem;    /* 30px */
  --font-size-4xl: 2.25rem;     /* 36px */
  
  /* Межстрочные интервалы */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* Толщина шрифта */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* ===== ОТСТУПЫ ===== */
  
  --spacing-0: 0;
  --spacing-1: 0.25rem;   /* 4px */
  --spacing-2: 0.5rem;    /* 8px */
  --spacing-3: 0.75rem;   /* 12px */
  --spacing-4: 1rem;      /* 16px */
  --spacing-5: 1.25rem;   /* 20px */
  --spacing-6: 1.5rem;    /* 24px */
  --spacing-8: 2rem;      /* 32px */
  --spacing-10: 2.5rem;   /* 40px */
  --spacing-12: 3rem;     /* 48px */
  --spacing-16: 4rem;     /* 64px */
  
  /* ===== СКРУГЛЕНИЯ ===== */
  
  --radius-none: 0;
  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.375rem;  /* 6px */
  --radius-lg: 0.5rem;    /* 8px */
  --radius-xl: 0.75rem;   /* 12px */
  --radius-2xl: 1rem;     /* 16px */
  --radius-3xl: 1.5rem;   /* 24px */
  --radius-full: 9999px;
  
  /* Material Design Shape */
  --md-sys-shape-corner-medium: 12px;
  
  /* ===== ТЕНИ ===== */
  
  --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  
  /* ===== ПЕРЕХОДЫ ===== */
  
  --transition-fast: 150ms ease;
  --transition-normal: 200ms ease;
  --transition-slow: 300ms ease;
  
  /* ===== Z-INDEX ===== */
  
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --z-toast: 1080;
}

/* ============================================================================
   BASE STYLES
   ============================================================================ */

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: SF Mono, Fira Code, Fira Mono, Menlo, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #6B7280; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #6B7280; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

* {
    border-color: var(--color-border);
  }

html {
    font-family: var(--font-family-base);
    font-size: 16px;
    line-height: var(--line-height-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

body {
    background-color: var(--color-background);
    color: var(--color-text-primary);
  }

/* Заголовки */

h1, .h1 {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
  }

h2, .h2 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
  }

h3, .h3 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
  }

h4, .h4 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
  }

h5, .h5 {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
  }

h6, .h6 {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
  }

/* Текст */

p {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    color: var(--color-text-primary);
  }

small, .text-small {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-normal);
  }

/* Ссылки */

a {
    color: var(--color-link);
    text-decoration: none;
    transition: color var(--transition-fast);
  }

a:hover {
    color: var(--color-link-hover);
  }

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

/* ===== КНОПКИ ===== */

.\!btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--spacing-2) !important;
    padding: var(--spacing-2) var(--spacing-4) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: var(--font-weight-medium) !important;
    line-height: var(--line-height-tight) !important;
    border-radius: var(--radius-lg) !important;
    transition: all var(--transition-fast) !important;
    cursor: pointer !important;
    outline: none !important;
    border: 1px solid transparent !important;
    min-height: 40px !important;
  }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-2);
    padding: var(--spacing-2) var(--spacing-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-tight);
    border-radius: var(--radius-lg);
    transition: all var(--transition-fast);
    cursor: pointer;
    outline: none;
    border: 1px solid transparent;
    min-height: 40px;
  }

.\!btn:focus-visible {
    outline: 2px solid var(--color-primary) !important;
    outline-offset: 2px !important;
  }

.btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

.\!btn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
  }

.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }

/* Primary Button */

.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
    border-color: var(--color-primary);
  }

.btn-primary:hover:not(:disabled) {
    background-color: var(--color-primary-700);
    border-color: var(--color-primary-700);
  }

.btn-primary:active:not(:disabled) {
    background-color: var(--color-primary-800);
  }

/* Secondary Button */

.btn-secondary {
    background-color: var(--color-surface);
    color: var(--color-text-primary);
    border-color: var(--color-border);
  }

.btn-secondary:hover:not(:disabled) {
    background-color: var(--color-gray-50);
    border-color: var(--color-gray-300);
  }

.btn-secondary:active:not(:disabled) {
    background-color: var(--color-gray-100);
  }

/* Ghost Button */

.btn-ghost {
    background-color: transparent;
    color: var(--color-text-secondary);
    border-color: transparent;
  }

.btn-ghost:hover:not(:disabled) {
    background-color: var(--color-gray-100);
    color: var(--color-text-primary);
  }

/* Danger Button — отдельная опасная семантика, не primary */

/* Success Button */

/* Link Button */

/* Button Sizes */

.btn-sm {
    padding: var(--spacing-1) var(--spacing-3);
    font-size: var(--font-size-xs);
    min-height: 32px;
  }

/* Icon Button */

.btn-icon.btn-sm {
    padding: var(--spacing-1);
    min-width: 32px;
    min-height: 32px;
  }

/* ===== ПОЛЯ ВВОДА ===== */

.\!input {
    width: 100% !important;
    padding: var(--spacing-2) var(--spacing-3) !important;
    font-size: var(--font-size-sm) !important;
    line-height: var(--line-height-normal) !important;
    color: var(--color-text-primary) !important;
    background-color: var(--color-surface) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-lg) !important;
    transition: all var(--transition-fast) !important;
    min-height: 40px !important;
  }

.input {
    width: 100%;
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    color: var(--color-text-primary);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    transition: all var(--transition-fast);
    min-height: 40px;
  }

.\!input::-moz-placeholder {
    color: var(--color-text-tertiary) !important;
  }

.\!input::placeholder {
    color: var(--color-text-tertiary) !important;
  }

.input::-moz-placeholder {
    color: var(--color-text-tertiary);
  }

.input::placeholder {
    color: var(--color-text-tertiary);
  }

.\!input:hover:not(:disabled):not(:focus) {
    border-color: var(--color-gray-400) !important;
  }

.input:hover:not(:disabled):not(:focus) {
    border-color: var(--color-gray-400);
  }

.\!input:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px var(--color-primary-100) !important;
  }

.input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-100);
  }

.\!input:disabled {
    background-color: var(--color-gray-100) !important;
    color: var(--color-text-tertiary) !important;
    cursor: not-allowed !important;
  }

.input:disabled {
    background-color: var(--color-gray-100);
    color: var(--color-text-tertiary);
    cursor: not-allowed;
  }

.\!input.error {
    border-color: var(--color-error) !important;
  }

.input.error,
  .input-error {
    border-color: var(--color-error);
  }

.input.\!error {
    border-color: var(--color-error) !important;
  }

.\!input.error:focus {
    border-color: var(--color-error) !important;
    box-shadow: 0 0 0 3px var(--color-error-100) !important;
  }

.input.error:focus,
  .input-error:focus {
    border-color: var(--color-error);
    box-shadow: 0 0 0 3px var(--color-error-100);
  }

.input.\!error:focus {
    border-color: var(--color-error) !important;
    box-shadow: 0 0 0 3px var(--color-error-100) !important;
  }

/* Input Sizes */

/* Textarea */

textarea.\!input {
    min-height: 80px !important;
    resize: vertical !important;
  }

textarea.input {
    min-height: 80px;
    resize: vertical;
  }

/* Select */

select.\!input {
    -webkit-appearance: none !important;
       -moz-appearance: none !important;
            appearance: none !important;
    font-size: 14px !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;
    background-position: right var(--spacing-2) center !important;
    background-repeat: no-repeat !important;
    background-size: 1.5em 1.5em !important;
    padding-right: var(--spacing-10) !important;
  }

select.input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    font-size: 14px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right var(--spacing-2) center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: var(--spacing-10);
  }

select,
  select option,
  select optgroup {
    font-size: 14px !important;
    line-height: 20px !important;
  }

/* ===== ЛЕЙБЛЫ ===== */

.label {
    display: block;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    margin-bottom: var(--spacing-1);
  }

/* ===== КАРТОЧКИ ===== */

.card {
    background-color: #ffffff;
    border: 1px solid #E8E8E8;
    border-radius: var(--md-sys-shape-corner-medium);
    padding: var(--spacing-6);
    box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
  }

.card-elevated {
    background-color: var(--color-surface);
    border-radius: var(--md-sys-shape-corner-medium);
    padding: var(--spacing-6);
    box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
    border: 1px solid #E8E8E8;
  }

/* ===== ТАБЛИЦЫ ===== */

.table-container {
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
  }

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

.table th {
    padding: var(--spacing-3) var(--spacing-4);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    text-align: left;
    background-color: var(--color-gray-50);
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

.table td {
    padding: var(--spacing-3) var(--spacing-4);
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
    border-top: 1px solid var(--color-border);
  }

/* Числа с фиксированной шириной цифр для правых колонок и денежных значений */

td.text-right,
  th.text-right,
  .tabular-nums {
    font-variant-numeric: tabular-nums;
  }

/* Денежные суммы в карточках и вне таблиц — класс .money */

.money {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
  }

.table tbody tr {
    transition: background-color var(--transition-fast);
  }

.table tbody tr:hover {
    background-color: var(--color-gray-50);
  }

/* ===== БЕЙДЖИ ===== */

.badge {
    display: inline-flex;
    align-items: center;
    padding: var(--spacing-1) var(--spacing-2);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border-radius: var(--radius-full);
    line-height: 1;
  }

.badge-secondary,
  .badge-gray {
    background-color: var(--color-gray-100);
    color: var(--color-gray-700);
  }

.badge-success {
    background-color: var(--color-success-100);
    color: var(--color-success-700);
  }

.badge-danger,
  .badge-error {
    background-color: var(--color-error-100);
    color: var(--color-error-700);
  }

/* ===== МОДАЛЬНЫЕ ОКНА ===== */

.modal {
    background-color: var(--color-surface);
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-2xl);
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    z-index: var(--z-modal);
  }

/* ===== ВКЛАДКИ ===== */

.tabs {
    border-bottom: 1px solid var(--color-border);
  }

.tab {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-2);
    padding: var(--spacing-3) var(--spacing-4);
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all var(--transition-fast);
    cursor: pointer;
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
  }

.tab:hover {
    color: var(--color-text-primary);
  }

.tab.active,
  .tab-active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
  }

nav.overflow-x-auto > button[class*="border-b-2"],
  nav.flex > button[class*="border-b-2"] {
    font-size: 14px;
  }

/* ===== АЛЕРТЫ ===== */

.alert {
    padding: var(--spacing-4);
    border-radius: var(--radius-lg);
    display: flex;
    gap: var(--spacing-3);
  }

/* ===== СТАТИСТИЧЕСКИЕ КАРТОЧКИ ===== */

/* ===== DROPDOWN ===== */

.dropdown {
    position: relative;
    display: inline-block;
  }

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: var(--z-dropdown);
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    max-width: min(90vw, 640px);
    padding: var(--spacing-1);
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    margin-top: var(--spacing-1);
    font-size: 14px;
  }

.dropdown-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-sm);
    line-height: 20px;
    color: var(--color-text-primary);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background-color var(--transition-fast);
    white-space: nowrap;
  }

.dropdown-item:hover {
    background-color: var(--color-gray-100);
  }

/* ===== ПУСТЫЕ СОСТОЯНИЯ ===== */

/* ===== АВАТАР ===== */

.avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    background-color: var(--color-primary);
    color: var(--color-text-inverse);
    font-weight: var(--font-weight-medium);
  }

/* ===== ЗАГРУЗКА ===== */

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

.skeleton {
    background: linear-gradient(90deg, var(--color-gray-200) 25%, var(--color-gray-100) 50%, var(--color-gray-200) 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: var(--radius-md);
  }

@keyframes skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }

/* ===== БОКОВАЯ НАВИГАЦИЯ ===== */

.sidebar {
    width: 260px;
    background-color: var(--color-surface);
    border-right: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    height: 100vh;
  }

.sidebar-item.active {
    background-color: var(--color-primary-100);
    color: var(--color-primary);
  }

/* ===== ХЛЕБНЫЕ КРОШКИ ===== */

.breadcrumb-item.active {
    color: var(--color-text-primary);
  }

/* ===== ПЕРЕКЛЮЧАТЕЛИ ===== */

.toggle {
    position: relative;
    width: 44px;
    height: 24px;
    background-color: var(--color-gray-300);
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: background-color var(--transition-fast);
  }

.toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background-color: white;
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-fast);
  }

.toggle.active {
    background-color: var(--color-primary);
  }

.toggle.active::after {
    transform: translateX(20px);
  }

/* ===== ЧЕКБОКСЫ И РАДИО ===== */

.checkbox,
  .radio {
    width: 18px;
    height: 18px;
    border: 2px solid var(--color-gray-400);
    background-color: var(--color-surface);
    cursor: pointer;
    transition: all var(--transition-fast);
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }

.checkbox {
    border-radius: var(--radius-sm);
  }

.radio {
    border-radius: var(--radius-full);
  }

.checkbox:checked,
  .radio:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
  }

.checkbox:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }

.radio:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='4'/%3e%3c/svg%3e");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }

.checkbox:focus,
  .radio:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--color-primary-100);
  }

/* ===== ПРОГРЕСС БАР ===== */

.progress {
    width: 100%;
    height: 8px;
    background-color: var(--color-gray-200);
    border-radius: var(--radius-full);
    overflow: hidden;
  }

.progress-bar {
    height: 100%;
    background-color: var(--color-primary);
    border-radius: var(--radius-full);
    transition: width var(--transition-slow);
  }

/* ===== TOOLTIP ===== */

.tooltip {
    position: relative;
  }

.tooltip:hover .tooltip-content {
    opacity: 1;
    visibility: visible;
  }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.\!visible {
  visibility: visible !important;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-3 {
  inset: 0.75rem;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-bottom-12 {
  bottom: -3rem;
}

.-bottom-24 {
  bottom: -6rem;
}

.-left-\[29px\] {
  left: -29px;
}

.-right-0\.5 {
  right: -0.125rem;
}

.-right-1 {
  right: -0.25rem;
}

.-right-1\.5 {
  right: -0.375rem;
}

.-right-2 {
  right: -0.5rem;
}

.-right-20 {
  right: -5rem;
}

.-right-24 {
  right: -6rem;
}

.-top-0\.5 {
  top: -0.125rem;
}

.-top-1 {
  top: -0.25rem;
}

.-top-1\.5 {
  top: -0.375rem;
}

.-top-2 {
  top: -0.5rem;
}

.-top-2\.5 {
  top: -0.625rem;
}

.-top-24 {
  top: -6rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-1 {
  bottom: 0.25rem;
}

.bottom-1\/2 {
  bottom: 50%;
}

.bottom-16 {
  bottom: 4rem;
}

.bottom-2 {
  bottom: 0.5rem;
}

.bottom-20 {
  bottom: 5rem;
}

.bottom-24 {
  bottom: 6rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-9 {
  bottom: 2.25rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-0\.5 {
  left: 0.125rem;
}

.left-1 {
  left: 0.25rem;
}

.left-1\/2 {
  left: 50%;
}

.left-2 {
  left: 0.5rem;
}

.left-2\.5 {
  left: 0.625rem;
}

.left-3 {
  left: 0.75rem;
}

.left-3\.5 {
  left: 0.875rem;
}

.left-4 {
  left: 1rem;
}

.left-8 {
  left: 2rem;
}

.left-full {
  left: 100%;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-1\.5 {
  right: 0.375rem;
}

.right-16 {
  right: 4rem;
}

.right-2 {
  right: 0.5rem;
}

.right-3 {
  right: 0.75rem;
}

.right-3\.5 {
  right: 0.875rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.top-0 {
  top: 0px;
}

.top-0\.5 {
  top: 0.125rem;
}

.top-1 {
  top: 0.25rem;
}

.top-1\.5 {
  top: 0.375rem;
}

.top-1\/2 {
  top: 50%;
}

.top-2 {
  top: 0.5rem;
}

.top-2\.5 {
  top: 0.625rem;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-6 {
  top: 1.5rem;
}

.top-8 {
  top: 2rem;
}

.top-\[2px\] {
  top: 2px;
}

.top-\[calc\(100\%\+8px\)\] {
  top: calc(100% + 8px);
}

.top-full {
  top: 100%;
}

.isolate {
  isolation: isolate;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-30 {
  z-index: 30;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.z-\[10000\] {
  z-index: 10000;
}

.z-\[1000\] {
  z-index: 1000;
}

.z-\[10050\] {
  z-index: 10050;
}

.z-\[100\] {
  z-index: 100;
}

.z-\[110\] {
  z-index: 110;
}

.z-\[1200\] {
  z-index: 1200;
}

.z-\[120\] {
  z-index: 120;
}

.z-\[130\] {
  z-index: 130;
}

.z-\[199\] {
  z-index: 199;
}

.z-\[200\] {
  z-index: 200;
}

.z-\[60\] {
  z-index: 60;
}

.z-\[70\] {
  z-index: 70;
}

.z-\[80\] {
  z-index: 80;
}

.z-\[90\] {
  z-index: 90;
}

.z-\[9998\] {
  z-index: 9998;
}

.z-\[9999\] {
  z-index: 9999;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-first {
  order: -9999;
}

.col-span-2 {
  grid-column: span 2 / span 2;
}

.col-span-full {
  grid-column: 1 / -1;
}

.m-4 {
  margin: 1rem;
}

.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}

.-my-1 {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.-mb-px {
  margin-bottom: -1px;
}

.-ml-1 {
  margin-left: -0.25rem;
}

.-mr-1 {
  margin-right: -0.25rem;
}

.-mt-0\.5 {
  margin-top: -0.125rem;
}

.-mt-1 {
  margin-top: -0.25rem;
}

.-mt-4 {
  margin-top: -1rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-0\.5 {
  margin-bottom: 0.125rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-2\.5 {
  margin-bottom: 0.625rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-7 {
  margin-bottom: 1.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-0 {
  margin-left: 0px;
}

.ml-0\.5 {
  margin-left: 0.125rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-1\.5 {
  margin-left: 0.375rem;
}

.ml-10 {
  margin-left: 2.5rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-5 {
  margin-left: 1.25rem;
}

.ml-6 {
  margin-left: 1.5rem;
}

.ml-7 {
  margin-left: 1.75rem;
}

.ml-9 {
  margin-left: 2.25rem;
}

.ml-\[-1\.25rem\] {
  margin-left: -1.25rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-0\.5 {
  margin-right: 0.125rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-1\.5 {
  margin-right: 0.375rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-auto {
  margin-right: auto;
}

.mt-0 {
  margin-top: 0px;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-auto {
  margin-top: auto;
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.table-cell {
  display: table-cell;
}

.grid {
  display: grid;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

.aspect-square {
  aspect-ratio: 1 / 1;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.\!h-\[34px\] {
  height: 34px !important;
}

.\!h-auto {
  height: auto !important;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-2\.5 {
  height: 0.625rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-44 {
  height: 11rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-52 {
  height: 13rem;
}

.h-6 {
  height: 1.5rem;
}

.h-60 {
  height: 15rem;
}

.h-64 {
  height: 16rem;
}

.h-7 {
  height: 1.75rem;
}

.h-72 {
  height: 18rem;
}

.h-8 {
  height: 2rem;
}

.h-80 {
  height: 20rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[12px\] {
  height: 12px;
}

.h-\[17px\] {
  height: 17px;
}

.h-\[18px\] {
  height: 18px;
}

.h-\[220px\] {
  height: 220px;
}

.h-\[22px\] {
  height: 22px;
}

.h-\[30px\] {
  height: 30px;
}

.h-\[36px\] {
  height: 36px;
}

.h-\[38px\] {
  height: 38px;
}

.h-\[42px\] {
  height: 42px;
}

.h-\[600px\] {
  height: 600px;
}

.h-\[640px\] {
  height: 640px;
}

.h-\[700px\] {
  height: 700px;
}

.h-\[72px\] {
  height: 72px;
}

.h-\[95vh\] {
  height: 95vh;
}

.h-\[calc\(100vh-220px\)\] {
  height: calc(100vh - 220px);
}

.h-\[min\(720px\2c calc\(100vh-24px\)\)\] {
  height: min(720px, calc(100vh - 24px));
}

.h-auto {
  height: auto;
}

.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.max-h-24 {
  max-height: 6rem;
}

.max-h-36 {
  max-height: 9rem;
}

.max-h-40 {
  max-height: 10rem;
}

.max-h-44 {
  max-height: 11rem;
}

.max-h-48 {
  max-height: 12rem;
}

.max-h-56 {
  max-height: 14rem;
}

.max-h-60 {
  max-height: 15rem;
}

.max-h-64 {
  max-height: 16rem;
}

.max-h-72 {
  max-height: 18rem;
}

.max-h-80 {
  max-height: 20rem;
}

.max-h-\[200px\] {
  max-height: 200px;
}

.max-h-\[250px\] {
  max-height: 250px;
}

.max-h-\[320px\] {
  max-height: 320px;
}

.max-h-\[360px\] {
  max-height: 360px;
}

.max-h-\[420px\] {
  max-height: 420px;
}

.max-h-\[560px\] {
  max-height: 560px;
}

.max-h-\[600px\] {
  max-height: 600px;
}

.max-h-\[60vh\] {
  max-height: 60vh;
}

.max-h-\[65vh\] {
  max-height: 65vh;
}

.max-h-\[70vh\] {
  max-height: 70vh;
}

.max-h-\[78vh\] {
  max-height: 78vh;
}

.max-h-\[80vh\] {
  max-height: 80vh;
}

.max-h-\[85vh\] {
  max-height: 85vh;
}

.max-h-\[90vh\] {
  max-height: 90vh;
}

.max-h-\[92vh\] {
  max-height: 92vh;
}

.max-h-\[calc\(100vh-16px\)\] {
  max-height: calc(100vh - 16px);
}

.max-h-\[calc\(100vh-32px\)\] {
  max-height: calc(100vh - 32px);
}

.max-h-full {
  max-height: 100%;
}

.\!min-h-0 {
  min-height: 0px !important;
}

.\!min-h-\[34px\] {
  min-height: 34px !important;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-10 {
  min-height: 2.5rem;
}

.min-h-12 {
  min-height: 3rem;
}

.min-h-24 {
  min-height: 6rem;
}

.min-h-36 {
  min-height: 9rem;
}

.min-h-5 {
  min-height: 1.25rem;
}

.min-h-52 {
  min-height: 13rem;
}

.min-h-6 {
  min-height: 1.5rem;
}

.min-h-7 {
  min-height: 1.75rem;
}

.min-h-72 {
  min-height: 18rem;
}

.min-h-8 {
  min-height: 2rem;
}

.min-h-80 {
  min-height: 20rem;
}

.min-h-9 {
  min-height: 2.25rem;
}

.min-h-\[120px\] {
  min-height: 120px;
}

.min-h-\[148px\] {
  min-height: 148px;
}

.min-h-\[178px\] {
  min-height: 178px;
}

.min-h-\[2\.5rem\] {
  min-height: 2.5rem;
}

.min-h-\[200px\] {
  min-height: 200px;
}

.min-h-\[280px\] {
  min-height: 280px;
}

.min-h-\[300px\] {
  min-height: 300px;
}

.min-h-\[360px\] {
  min-height: 360px;
}

.min-h-\[36px\] {
  min-height: 36px;
}

.min-h-\[390px\] {
  min-height: 390px;
}

.min-h-\[400px\] {
  min-height: 400px;
}

.min-h-\[420px\] {
  min-height: 420px;
}

.min-h-\[42px\] {
  min-height: 42px;
}

.min-h-\[44px\] {
  min-height: 44px;
}

.min-h-\[48px\] {
  min-height: 48px;
}

.min-h-\[520px\] {
  min-height: 520px;
}

.min-h-\[560px\] {
  min-height: 560px;
}

.min-h-\[58px\] {
  min-height: 58px;
}

.min-h-\[600px\] {
  min-height: 600px;
}

.min-h-\[60px\] {
  min-height: 60px;
}

.min-h-\[620px\] {
  min-height: 620px;
}

.min-h-\[72px\] {
  min-height: 72px;
}

.min-h-\[80px\] {
  min-height: 80px;
}

.min-h-\[90px\] {
  min-height: 90px;
}

.min-h-\[calc\(100vh-4rem\)\] {
  min-height: calc(100vh - 4rem);
}

.min-h-full {
  min-height: 100%;
}

.min-h-screen {
  min-height: 100vh;
}

.\!w-10 {
  width: 2.5rem !important;
}

.w-1 {
  width: 0.25rem;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-1\/2 {
  width: 50%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-1\/5 {
  width: 20%;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

.w-2\.5 {
  width: 0.625rem;
}

.w-2\/3 {
  width: 66.666667%;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3 {
  width: 0.75rem;
}

.w-3\.5 {
  width: 0.875rem;
}

.w-3\/4 {
  width: 75%;
}

.w-32 {
  width: 8rem;
}

.w-36 {
  width: 9rem;
}

.w-4 {
  width: 1rem;
}

.w-40 {
  width: 10rem;
}

.w-44 {
  width: 11rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-52 {
  width: 13rem;
}

.w-56 {
  width: 14rem;
}

.w-6 {
  width: 1.5rem;
}

.w-60 {
  width: 15rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-72 {
  width: 18rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[100px\] {
  width: 100px;
}

.w-\[120px\] {
  width: 120px;
}

.w-\[124px\] {
  width: 124px;
}

.w-\[126px\] {
  width: 126px;
}

.w-\[12px\] {
  width: 12px;
}

.w-\[132px\] {
  width: 132px;
}

.w-\[140px\] {
  width: 140px;
}

.w-\[148px\] {
  width: 148px;
}

.w-\[150px\] {
  width: 150px;
}

.w-\[154px\] {
  width: 154px;
}

.w-\[160px\] {
  width: 160px;
}

.w-\[168px\] {
  width: 168px;
}

.w-\[170px\] {
  width: 170px;
}

.w-\[17px\] {
  width: 17px;
}

.w-\[180px\] {
  width: 180px;
}

.w-\[18px\] {
  width: 18px;
}

.w-\[190px\] {
  width: 190px;
}

.w-\[210px\] {
  width: 210px;
}

.w-\[230px\] {
  width: 230px;
}

.w-\[240px\] {
  width: 240px;
}

.w-\[260px\] {
  width: 260px;
}

.w-\[270px\] {
  width: 270px;
}

.w-\[280px\] {
  width: 280px;
}

.w-\[300px\] {
  width: 300px;
}

.w-\[30px\] {
  width: 30px;
}

.w-\[328px\] {
  width: 328px;
}

.w-\[32px\] {
  width: 32px;
}

.w-\[360px\] {
  width: 360px;
}

.w-\[400px\] {
  width: 400px;
}

.w-\[420px\] {
  width: 420px;
}

.w-\[480px\] {
  width: 480px;
}

.w-\[50\%\] {
  width: 50%;
}

.w-\[82px\] {
  width: 82px;
}

.w-\[84px\] {
  width: 84px;
}

.w-\[86px\] {
  width: 86px;
}

.w-\[88px\] {
  width: 88px;
}

.w-\[90px\] {
  width: 90px;
}

.w-\[92px\] {
  width: 92px;
}

.w-\[95vw\] {
  width: 95vw;
}

.w-\[min\(68vw\2c 32rem\)\] {
  width: min(68vw, 32rem);
}

.w-\[min\(720px\2c calc\(100vw-32px\)\)\] {
  width: min(720px, calc(100vw - 32px));
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-max {
  width: -moz-max-content;
  width: max-content;
}

.w-px {
  width: 1px;
}

.w-screen {
  width: 100vw;
}

.\!min-w-0 {
  min-width: 0px !important;
}

.\!min-w-10 {
  min-width: 2.5rem !important;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-20 {
  min-width: 5rem;
}

.min-w-4 {
  min-width: 1rem;
}

.min-w-5 {
  min-width: 1.25rem;
}

.min-w-6 {
  min-width: 1.5rem;
}

.min-w-8 {
  min-width: 2rem;
}

.min-w-\[100px\] {
  min-width: 100px;
}

.min-w-\[1040px\] {
  min-width: 1040px;
}

.min-w-\[110px\] {
  min-width: 110px;
}

.min-w-\[1120px\] {
  min-width: 1120px;
}

.min-w-\[118px\] {
  min-width: 118px;
}

.min-w-\[120px\] {
  min-width: 120px;
}

.min-w-\[130px\] {
  min-width: 130px;
}

.min-w-\[1320px\] {
  min-width: 1320px;
}

.min-w-\[132px\] {
  min-width: 132px;
}

.min-w-\[140px\] {
  min-width: 140px;
}

.min-w-\[142px\] {
  min-width: 142px;
}

.min-w-\[145px\] {
  min-width: 145px;
}

.min-w-\[1500px\] {
  min-width: 1500px;
}

.min-w-\[150px\] {
  min-width: 150px;
}

.min-w-\[160px\] {
  min-width: 160px;
}

.min-w-\[170px\] {
  min-width: 170px;
}

.min-w-\[180px\] {
  min-width: 180px;
}

.min-w-\[185px\] {
  min-width: 185px;
}

.min-w-\[18px\] {
  min-width: 18px;
}

.min-w-\[190px\] {
  min-width: 190px;
}

.min-w-\[1rem\] {
  min-width: 1rem;
}

.min-w-\[200px\] {
  min-width: 200px;
}

.min-w-\[220px\] {
  min-width: 220px;
}

.min-w-\[240px\] {
  min-width: 240px;
}

.min-w-\[250px\] {
  min-width: 250px;
}

.min-w-\[260px\] {
  min-width: 260px;
}

.min-w-\[26px\] {
  min-width: 26px;
}

.min-w-\[280px\] {
  min-width: 280px;
}

.min-w-\[300px\] {
  min-width: 300px;
}

.min-w-\[320px\] {
  min-width: 320px;
}

.min-w-\[360px\] {
  min-width: 360px;
}

.min-w-\[420px\] {
  min-width: 420px;
}

.min-w-\[44px\] {
  min-width: 44px;
}

.min-w-\[60px\] {
  min-width: 60px;
}

.min-w-\[680px\] {
  min-width: 680px;
}

.min-w-\[70px\] {
  min-width: 70px;
}

.min-w-\[720px\] {
  min-width: 720px;
}

.min-w-\[72px\] {
  min-width: 72px;
}

.min-w-\[74px\] {
  min-width: 74px;
}

.min-w-\[760px\] {
  min-width: 760px;
}

.min-w-\[780px\] {
  min-width: 780px;
}

.min-w-\[820px\] {
  min-width: 820px;
}

.min-w-\[920px\] {
  min-width: 920px;
}

.min-w-\[940px\] {
  min-width: 940px;
}

.min-w-\[980px\] {
  min-width: 980px;
}

.min-w-fit {
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.min-w-full {
  min-width: 100%;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-\[1360px\] {
  max-width: 1360px;
}

.max-w-\[140px\] {
  max-width: 140px;
}

.max-w-\[150px\] {
  max-width: 150px;
}

.max-w-\[1600px\] {
  max-width: 1600px;
}

.max-w-\[160px\] {
  max-width: 160px;
}

.max-w-\[170px\] {
  max-width: 170px;
}

.max-w-\[1720px\] {
  max-width: 1720px;
}

.max-w-\[1800px\] {
  max-width: 1800px;
}

.max-w-\[180px\] {
  max-width: 180px;
}

.max-w-\[190px\] {
  max-width: 190px;
}

.max-w-\[200px\] {
  max-width: 200px;
}

.max-w-\[220px\] {
  max-width: 220px;
}

.max-w-\[240px\] {
  max-width: 240px;
}

.max-w-\[250px\] {
  max-width: 250px;
}

.max-w-\[260px\] {
  max-width: 260px;
}

.max-w-\[280px\] {
  max-width: 280px;
}

.max-w-\[300px\] {
  max-width: 300px;
}

.max-w-\[320px\] {
  max-width: 320px;
}

.max-w-\[360px\] {
  max-width: 360px;
}

.max-w-\[380px\] {
  max-width: 380px;
}

.max-w-\[400px\] {
  max-width: 400px;
}

.max-w-\[420px\] {
  max-width: 420px;
}

.max-w-\[440px\] {
  max-width: 440px;
}

.max-w-\[520px\] {
  max-width: 520px;
}

.max-w-\[560px\] {
  max-width: 560px;
}

.max-w-\[60\%\] {
  max-width: 60%;
}

.max-w-\[620px\] {
  max-width: 620px;
}

.max-w-\[760px\] {
  max-width: 760px;
}

.max-w-\[78\%\] {
  max-width: 78%;
}

.max-w-\[85\%\] {
  max-width: 85%;
}

.max-w-\[88\%\] {
  max-width: 88%;
}

.max-w-\[88px\] {
  max-width: 88px;
}

.max-w-\[88vw\] {
  max-width: 88vw;
}

.max-w-\[90px\] {
  max-width: 90px;
}

.max-w-\[90vw\] {
  max-width: 90vw;
}

.max-w-\[92vw\] {
  max-width: 92vw;
}

.max-w-\[96\%\] {
  max-width: 96%;
}

.max-w-\[calc\(100vw-24px\)\] {
  max-width: calc(100vw - 24px);
}

.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}

.max-w-\[min\(32rem\2c calc\(100vw-3rem\)\)\] {
  max-width: min(32rem, calc(100vw - 3rem));
}

.max-w-\[min\(90vw\2c 640px\)\] {
  max-width: min(90vw, 640px);
}

.max-w-full {
  max-width: 100%;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-none {
  max-width: none;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-\[1_1_130px\] {
  flex: 1 1 130px;
}

.flex-\[1_1_150px\] {
  flex: 1 1 150px;
}

.flex-\[1_1_220px\] {
  flex: 1 1 220px;
}

.flex-\[1_1_78px\] {
  flex: 1 1 78px;
}

.flex-\[1_1_82px\] {
  flex: 1 1 82px;
}

.flex-\[2\] {
  flex: 2;
}

.flex-\[2_1_180px\] {
  flex: 2 1 180px;
}

.flex-\[3\] {
  flex: 3;
}

.flex-none {
  flex: none;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink-0 {
  flex-shrink: 0;
}

.table-fixed {
  table-layout: fixed;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-1\/2 {
  --tw-translate-x: 50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-4 {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-6 {
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-\[18px\] {
  --tw-translate-x: 18px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-1\/2 {
  --tw-translate-y: 50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes bounce {

  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

.animate-bounce {
  animation: bounce 1s infinite;
}

@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse {

  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.cursor-default {
  cursor: default;
}

.cursor-grab {
  cursor: grab;
}

.cursor-grabbing {
  cursor: grabbing;
}

.cursor-help {
  cursor: help;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-text {
  cursor: text;
}

.cursor-zoom-in {
  cursor: zoom-in;
}

.touch-none {
  touch-action: none;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}

.resize-none {
  resize: none;
}

.resize-y {
  resize: vertical;
}

.resize {
  resize: both;
}

.scroll-mt-24 {
  scroll-margin-top: 6rem;
}

.list-inside {
  list-style-position: inside;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

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

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

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

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

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

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

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

.grid-cols-\[1\.65fr_1fr_1fr_1fr\] {
  grid-template-columns: 1.65fr 1fr 1fr 1fr;
}

.grid-cols-\[150px_1fr_1fr_1fr_100px\] {
  grid-template-columns: 150px 1fr 1fr 1fr 100px;
}

.grid-cols-\[1fr_120px\] {
  grid-template-columns: 1fr 120px;
}

.grid-cols-\[1fr_140px\] {
  grid-template-columns: 1fr 140px;
}

.grid-cols-\[1fr_auto\] {
  grid-template-columns: 1fr auto;
}

.grid-cols-\[1fr_auto_1fr\] {
  grid-template-columns: 1fr auto 1fr;
}

.grid-cols-\[260px_minmax\(460px\2c 1fr\)_104px\] {
  grid-template-columns: 260px minmax(460px,1fr) 104px;
}

.grid-cols-\[32px_minmax\(0\2c 1fr\)\] {
  grid-template-columns: 32px minmax(0,1fr);
}

.grid-cols-\[minmax\(88px\2c 0\.7fr\)_minmax\(0\2c 1\.3fr\)\] {
  grid-template-columns: minmax(88px,0.7fr) minmax(0,1.3fr);
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.content-start {
  align-content: flex-start;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

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

.gap-0 {
  gap: 0px;
}

.gap-0\.5 {
  gap: 0.125rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-px {
  gap: 1px;
}

.gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}

.gap-x-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-0\.5 {
  row-gap: 0.125rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.space-x-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.75rem * var(--tw-space-x-reverse));
  margin-left: calc(1.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-emerald-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-divide-opacity, 1));
}

.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}

.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));
}

.divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.self-center {
  align-self: center;
}

.self-stretch {
  align-self: stretch;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.overscroll-contain {
  overscroll-behavior: contain;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-ellipsis {
  text-overflow: ellipsis;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre-line {
  white-space: pre-line;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.text-balance {
  text-wrap: balance;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-\[14px\] {
  border-radius: 14px;
}

.rounded-\[18px\] {
  border-radius: 18px;
}

.rounded-\[22px\] {
  border-radius: 22px;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-none {
  border-radius: 0px;
}

.rounded-sm {
  border-radius: 0.125rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-b-2xl {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}

.rounded-b-lg {
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-b-xl {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.rounded-l-\[10px\] {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.rounded-l-lg {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-r-\[10px\] {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.rounded-t {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.rounded-bl-md {
  border-bottom-left-radius: 0.375rem;
}

.rounded-bl-sm {
  border-bottom-left-radius: 0.125rem;
}

.rounded-br-md {
  border-bottom-right-radius: 0.375rem;
}

.rounded-br-sm {
  border-bottom-right-radius: 0.125rem;
}

.rounded-tl-md {
  border-top-left-radius: 0.375rem;
}

.rounded-tr-md {
  border-top-right-radius: 0.375rem;
}

.\!border-0 {
  border-width: 0px !important;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-b-\[3px\] {
  border-bottom-width: 3px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-0 {
  border-left-width: 0px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-l-4 {
  border-left-width: 4px;
}

.border-l-\[3px\] {
  border-left-width: 3px;
}

.border-r {
  border-right-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-2 {
  border-top-width: 2px;
}

.border-dashed {
  border-style: dashed;
}

.border-dotted {
  border-style: dotted;
}

.\!border-gray-200 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)) !important;
}

.\!border-red-300 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1)) !important;
}

.border-\[\#0F9D58\] {
  --tw-border-opacity: 1;
  border-color: rgb(15 157 88 / var(--tw-border-opacity, 1));
}

.border-\[\#0f766e\]\/20 {
  border-color: rgb(15 118 110 / 0.2);
}

.border-\[\#15803d\] {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-\[\#E8E8E8\] {
  --tw-border-opacity: 1;
  border-color: rgb(232 232 232 / var(--tw-border-opacity, 1));
}

.border-\[\#bfe3ca\] {
  --tw-border-opacity: 1;
  border-color: rgb(191 227 202 / var(--tw-border-opacity, 1));
}

.border-\[\#d1d5db\] {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.border-\[\#d6b24f\] {
  --tw-border-opacity: 1;
  border-color: rgb(214 178 79 / var(--tw-border-opacity, 1));
}

.border-\[\#d6ebc8\] {
  --tw-border-opacity: 1;
  border-color: rgb(214 235 200 / var(--tw-border-opacity, 1));
}

.border-\[\#d7dbe2\] {
  --tw-border-opacity: 1;
  border-color: rgb(215 219 226 / var(--tw-border-opacity, 1));
}

.border-\[\#d7dde5\] {
  --tw-border-opacity: 1;
  border-color: rgb(215 221 229 / var(--tw-border-opacity, 1));
}

.border-\[\#dbe7ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(219 231 255 / var(--tw-border-opacity, 1));
}

.border-\[\#f0c3bc\] {
  --tw-border-opacity: 1;
  border-color: rgb(240 195 188 / var(--tw-border-opacity, 1));
}

.border-\[\#f1b3a5\] {
  --tw-border-opacity: 1;
  border-color: rgb(241 179 165 / var(--tw-border-opacity, 1));
}

.border-\[\#f1d7cf\] {
  --tw-border-opacity: 1;
  border-color: rgb(241 215 207 / var(--tw-border-opacity, 1));
}

.border-\[\#f2cf63\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 207 99 / var(--tw-border-opacity, 1));
}

.border-\[\#f2d4ac\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 212 172 / var(--tw-border-opacity, 1));
}

.border-\[\#f3d1cc\] {
  --tw-border-opacity: 1;
  border-color: rgb(243 209 204 / var(--tw-border-opacity, 1));
}

.border-\[\#f3d2cb\] {
  --tw-border-opacity: 1;
  border-color: rgb(243 210 203 / var(--tw-border-opacity, 1));
}

.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}

.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}

.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}

.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}

.border-amber-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}

.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.border-blue-600\/30 {
  border-color: rgb(37 99 235 / 0.3);
}

.border-brand {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-brand\/15 {
  border-color: rgb(21 128 61 / 0.15);
}

.border-brand\/20 {
  border-color: rgb(21 128 61 / 0.2);
}

.border-brand\/40 {
  border-color: rgb(21 128 61 / 0.4);
}

.border-emerald-100 {
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}

.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}

.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}

.border-emerald-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.border-emerald-600 {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}

.border-emerald-900\/10 {
  border-color: rgb(6 78 59 / 0.1);
}

.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}

.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.border-gray-800 {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.border-green-100 {
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}

.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-orange-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}

.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}

.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}

.border-orange-500 {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}

.border-primary-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-primary-600 {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}

.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.border-red-600 {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.border-rose-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));
}

.border-rose-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}

.border-rose-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}

.border-rose-600 {
  --tw-border-opacity: 1;
  border-color: rgb(225 29 72 / var(--tw-border-opacity, 1));
}

.border-sky-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / var(--tw-border-opacity, 1));
}

.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}

.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

.border-slate-200\/80 {
  border-color: rgb(226 232 240 / 0.8);
}

.border-slate-200\/90 {
  border-color: rgb(226 232 240 / 0.9);
}

.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.border-slate-500 {
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-violet-100 {
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
}

.border-violet-200 {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}

.border-violet-500 {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}

.border-white\/60 {
  border-color: rgb(255 255 255 / 0.6);
}

.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}

.border-yellow-400 {
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}

.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}

.border-l-brand {
  --tw-border-opacity: 1;
  border-left-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-l-brand\/50 {
  border-left-color: rgb(21 128 61 / 0.5);
}

.border-t-blue-600 {
  --tw-border-opacity: 1;
  border-top-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.border-t-brand {
  --tw-border-opacity: 1;
  border-top-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-t-transparent {
  border-top-color: transparent;
}

.border-t-white {
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.\!bg-white {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}

.bg-\[\#0F9D58\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 157 88 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0F9D58\]\/10 {
  background-color: rgb(15 157 88 / 0.1);
}

.bg-\[\#0f766e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}

.bg-\[\#111827\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-\[\#15803d\] {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-\[\#17191f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(23 25 31 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1b1c1f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(27 28 31 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1b1d22\] {
  --tw-bg-opacity: 1;
  background-color: rgb(27 29 34 / var(--tw-bg-opacity, 1));
}

.bg-\[\#202228\] {
  --tw-bg-opacity: 1;
  background-color: rgb(32 34 40 / var(--tw-bg-opacity, 1));
}

.bg-\[\#d1d5db\] {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-\[\#dcfce7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-\[\#e53e3e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 62 62 / var(--tw-bg-opacity, 1));
}

.bg-\[\#e8f7ee\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 247 238 / var(--tw-bg-opacity, 1));
}

.bg-\[\#ea580c\] {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.bg-\[\#edf8f1\] {
  --tw-bg-opacity: 1;
  background-color: rgb(237 248 241 / var(--tw-bg-opacity, 1));
}

.bg-\[\#eef2f7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 247 / var(--tw-bg-opacity, 1));
}

.bg-\[\#eef5fb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 245 251 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f3f4f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f3faed\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 250 237 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f4efff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 239 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f5f8ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 248 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f6f7f9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 247 249 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f8fafc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fbfbfb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 251 251 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fcfaf8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 250 248 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fcfcfc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 252 252 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff0ec\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 240 236 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff1ef\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 239 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff4e8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 244 232 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff5f2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 242 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff7d6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 214 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff7ed\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.bg-\[rgba\(245\2c 203\2c 92\2c 0\.88\)\] {
  background-color: rgba(245,203,92,0.88);
}

.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.bg-amber-200\/90 {
  background-color: rgb(253 230 138 / 0.9);
}

.bg-amber-300\/55 {
  background-color: rgb(252 211 77 / 0.55);
}

.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.bg-amber-400\/10 {
  background-color: rgb(251 191 36 / 0.1);
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-50\/40 {
  background-color: rgb(255 251 235 / 0.4);
}

.bg-amber-50\/60 {
  background-color: rgb(255 251 235 / 0.6);
}

.bg-amber-50\/70 {
  background-color: rgb(255 251 235 / 0.7);
}

.bg-amber-50\/80 {
  background-color: rgb(255 251 235 / 0.8);
}

.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}

.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/45 {
  background-color: rgb(0 0 0 / 0.45);
}

.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}

.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}

.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}

.bg-black\/65 {
  background-color: rgb(0 0 0 / 0.65);
}

.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-300\/50 {
  background-color: rgb(147 197 253 / 0.5);
}

.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.bg-blue-50\/40 {
  background-color: rgb(239 246 255 / 0.4);
}

.bg-blue-50\/60 {
  background-color: rgb(239 246 255 / 0.6);
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.bg-brand {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-brand-delete {
  --tw-bg-opacity: 1;
  background-color: rgb(153 25 25 / var(--tw-bg-opacity, 1));
}

.bg-brand-light {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-brand\/10 {
  background-color: rgb(21 128 61 / 0.1);
}

.bg-brand\/20 {
  background-color: rgb(21 128 61 / 0.2);
}

.bg-brand\/25 {
  background-color: rgb(21 128 61 / 0.25);
}

.bg-brand\/5 {
  background-color: rgb(21 128 61 / 0.05);
}

.bg-brand\/60 {
  background-color: rgb(21 128 61 / 0.6);
}

.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}

.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.bg-emerald-400\/45 {
  background-color: rgb(52 211 153 / 0.45);
}

.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.bg-emerald-50\/60 {
  background-color: rgb(236 253 245 / 0.6);
}

.bg-emerald-50\/70 {
  background-color: rgb(236 253 245 / 0.7);
}

.bg-emerald-50\/95 {
  background-color: rgb(236 253 245 / 0.95);
}

.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.bg-emerald-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 44 34 / var(--tw-bg-opacity, 1));
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-50\/40 {
  background-color: rgb(249 250 251 / 0.4);
}

.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}

.bg-gray-50\/60 {
  background-color: rgb(249 250 251 / 0.6);
}

.bg-gray-50\/70 {
  background-color: rgb(249 250 251 / 0.7);
}

.bg-gray-50\/80 {
  background-color: rgb(249 250 251 / 0.8);
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-gray-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}

.bg-gray-950\/35 {
  background-color: rgb(3 7 18 / 0.35);
}

.bg-gray-950\/45 {
  background-color: rgb(3 7 18 / 0.45);
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-green-400\/50 {
  background-color: rgb(74 222 128 / 0.5);
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-green-50\/40 {
  background-color: rgb(240 253 244 / 0.4);
}

.bg-green-50\/50 {
  background-color: rgb(240 253 244 / 0.5);
}

.bg-green-50\/60 {
  background-color: rgb(240 253 244 / 0.6);
}

.bg-green-50\/70 {
  background-color: rgb(240 253 244 / 0.7);
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-green-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}

.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.bg-orange-100\/50 {
  background-color: rgb(255 237 213 / 0.5);
}

.bg-orange-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}

.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}

.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}

.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}

.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(216 180 254 / var(--tw-bg-opacity, 1));
}

.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}

.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}

.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.bg-red-100\/70 {
  background-color: rgb(254 226 226 / 0.7);
}

.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-red-400\/50 {
  background-color: rgb(248 113 113 / 0.5);
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-red-50\/30 {
  background-color: rgb(254 242 242 / 0.3);
}

.bg-red-50\/40 {
  background-color: rgb(254 242 242 / 0.4);
}

.bg-red-50\/50 {
  background-color: rgb(254 242 242 / 0.5);
}

.bg-red-50\/60 {
  background-color: rgb(254 242 242 / 0.6);
}

.bg-red-50\/70 {
  background-color: rgb(254 242 242 / 0.7);
}

.bg-red-50\/80 {
  background-color: rgb(254 242 242 / 0.8);
}

.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.bg-rose-300\/45 {
  background-color: rgb(253 164 175 / 0.45);
}

.bg-rose-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}

.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}

.bg-rose-50\/50 {
  background-color: rgb(255 241 242 / 0.5);
}

.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}

.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}

.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}

.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}

.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}

.bg-sky-50\/60 {
  background-color: rgb(240 249 255 / 0.6);
}

.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.bg-slate-300\/50 {
  background-color: rgb(203 213 225 / 0.5);
}

.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.bg-slate-50\/50 {
  background-color: rgb(248 250 252 / 0.5);
}

.bg-slate-50\/55 {
  background-color: rgb(248 250 252 / 0.55);
}

.bg-slate-50\/60 {
  background-color: rgb(248 250 252 / 0.6);
}

.bg-slate-50\/70 {
  background-color: rgb(248 250 252 / 0.7);
}

.bg-slate-50\/75 {
  background-color: rgb(248 250 252 / 0.75);
}

.bg-slate-50\/80 {
  background-color: rgb(248 250 252 / 0.8);
}

.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

.bg-slate-950\/45 {
  background-color: rgb(2 6 23 / 0.45);
}

.bg-slate-950\/55 {
  background-color: rgb(2 6 23 / 0.55);
}

.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color: transparent;
}

.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.bg-violet-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(196 181 253 / var(--tw-bg-opacity, 1));
}

.bg-violet-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}

.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.bg-violet-50\/60 {
  background-color: rgb(245 243 255 / 0.6);
}

.bg-violet-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}

.bg-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}

.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}

.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}

.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}

.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}

.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}

.bg-white\/75 {
  background-color: rgb(255 255 255 / 0.75);
}

.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}

.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.bg-yellow-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}

.bg-yellow-400\/50 {
  background-color: rgb(250 204 21 / 0.5);
}

.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.bg-yellow-50\/50 {
  background-color: rgb(254 252 232 / 0.5);
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}

.bg-\[linear-gradient\(145deg\2c \#f7faf8_0\%\2c \#ffffff_55\%\2c \#f4f7f5_100\%\)\] {
  background-image: linear-gradient(145deg,#f7faf8 0%,#ffffff 55%,#f4f7f5 100%);
}

.bg-\[radial-gradient\(circle_at_30\%_20\%\2c \#fff_0\2c \#eef2f7_42\%\2c \#dbe3ef_100\%\)\] {
  background-image: radial-gradient(circle at 30% 20%,#fff 0,#eef2f7 42%,#dbe3ef 100%);
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-\[\#fff7f5\] {
  --tw-gradient-from: #fff7f5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-red-50\/70 {
  --tw-gradient-to: rgb(254 242 242 / 0.7) var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}

.fill-current {
  fill: currentColor;
}

.stroke-\[2\.5\] {
  stroke-width: 2.5;
}

.stroke-\[3\] {
  stroke-width: 3;
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.object-center {
  -o-object-position: center;
     object-position: center;
}

.\!p-0 {
  padding: 0px !important;
}

.\!p-4 {
  padding: 1rem !important;
}

.\!p-5 {
  padding: 1.25rem !important;
}

.p-0 {
  padding: 0px;
}

.p-0\.5 {
  padding: 0.125rem;
}

.p-1 {
  padding: 0.25rem;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-10 {
  padding: 2.5rem;
}

.p-12 {
  padding: 3rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-3\.5 {
  padding: 0.875rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.\!px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.\!py-1\.5 {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-1\.5 {
  padding-bottom: 0.375rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-48 {
  padding-bottom: 12rem;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-\[18px\] {
  padding-bottom: 18px;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-11 {
  padding-left: 2.75rem;
}

.pl-12 {
  padding-left: 3rem;
}

.pl-14 {
  padding-left: 3.5rem;
}

.pl-2\.5 {
  padding-left: 0.625rem;
}

.pl-20 {
  padding-left: 5rem;
}

.pl-28 {
  padding-left: 7rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pl-7 {
  padding-left: 1.75rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pl-\[76px\] {
  padding-left: 76px;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-1\.5 {
  padding-right: 0.375rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-12 {
  padding-right: 3rem;
}

.pr-16 {
  padding-right: 4rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pr-9 {
  padding-right: 2.25rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-0\.5 {
  padding-top: 0.125rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-1\.5 {
  padding-top: 0.375rem;
}

.pt-14 {
  padding-top: 3.5rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-2\.5 {
  padding-top: 0.625rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-\[1px\] {
  padding-top: 1px;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.\!align-baseline {
  vertical-align: baseline !important;
}

.align-baseline {
  vertical-align: baseline;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

.font-display {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}

.font-mono {
  font-family: SF Mono, Fira Code, Fira Mono, Menlo, monospace;
}

.font-sans {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[11px\] {
  font-size: 11px;
}

.text-\[12px\] {
  font-size: 12px;
}

.text-\[13px\] {
  font-size: 13px;
}

.text-\[14px\] {
  font-size: 14px;
}

.text-\[15px\] {
  font-size: 15px;
}

.text-\[16px\] {
  font-size: 16px;
}

.text-\[17px\] {
  font-size: 17px;
}

.text-\[18px\] {
  font-size: 18px;
}

.text-\[22px\] {
  font-size: 22px;
}

.text-\[25px\] {
  font-size: 25px;
}

.text-\[28px\] {
  font-size: 28px;
}

.text-\[9px\] {
  font-size: 9px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.\!leading-\[18px\] {
  line-height: 18px !important;
}

.leading-4 {
  line-height: 1rem;
}

.leading-5 {
  line-height: 1.25rem;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-7 {
  line-height: 1.75rem;
}

.leading-none {
  line-height: 1;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}

.tracking-\[-0\.035em\] {
  letter-spacing: -0.035em;
}

.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}

.tracking-\[0\.11em\] {
  letter-spacing: 0.11em;
}

.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}

.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}

.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}

.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}

.tracking-\[0\.35em\] {
  letter-spacing: 0.35em;
}

.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.\!text-emerald-300 {
  --tw-text-opacity: 1 !important;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1)) !important;
}

.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.\!text-white\/45 {
  color: rgb(255 255 255 / 0.45) !important;
}

.\!text-white\/50 {
  color: rgb(255 255 255 / 0.5) !important;
}

.\!text-white\/55 {
  color: rgb(255 255 255 / 0.55) !important;
}

.\!text-white\/70 {
  color: rgb(255 255 255 / 0.7) !important;
}

.text-\[\#078A4B\] {
  --tw-text-opacity: 1;
  color: rgb(7 138 75 / var(--tw-text-opacity, 1));
}

.text-\[\#0F9D58\] {
  --tw-text-opacity: 1;
  color: rgb(15 157 88 / var(--tw-text-opacity, 1));
}

.text-\[\#111827\] {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-\[\#14532d\] {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}

.text-\[\#15803d\] {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-\[\#1B1C1F\] {
  --tw-text-opacity: 1;
  color: rgb(27 28 31 / var(--tw-text-opacity, 1));
}

.text-\[\#1b1c1f\] {
  --tw-text-opacity: 1;
  color: rgb(27 28 31 / var(--tw-text-opacity, 1));
}

.text-\[\#2563EB\] {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.text-\[\#27272a\] {
  --tw-text-opacity: 1;
  color: rgb(39 39 42 / var(--tw-text-opacity, 1));
}

.text-\[\#275d8a\] {
  --tw-text-opacity: 1;
  color: rgb(39 93 138 / var(--tw-text-opacity, 1));
}

.text-\[\#374151\] {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-\[\#3f6212\] {
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}

.text-\[\#4b5563\] {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-\[\#52525b\] {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}

.text-\[\#5b6472\] {
  --tw-text-opacity: 1;
  color: rgb(91 100 114 / var(--tw-text-opacity, 1));
}

.text-\[\#64748B\] {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.text-\[\#6b7280\] {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-\[\#6c84b6\] {
  --tw-text-opacity: 1;
  color: rgb(108 132 182 / var(--tw-text-opacity, 1));
}

.text-\[\#6d3fc4\] {
  --tw-text-opacity: 1;
  color: rgb(109 63 196 / var(--tw-text-opacity, 1));
}

.text-\[\#9a6700\] {
  --tw-text-opacity: 1;
  color: rgb(154 103 0 / var(--tw-text-opacity, 1));
}

.text-\[\#9ca3af\] {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-\[\#DC2626\] {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-\[\#a81f00\] {
  --tw-text-opacity: 1;
  color: rgb(168 31 0 / var(--tw-text-opacity, 1));
}

.text-\[\#b86a5b\] {
  --tw-text-opacity: 1;
  color: rgb(184 106 91 / var(--tw-text-opacity, 1));
}

.text-\[\#b93822\] {
  --tw-text-opacity: 1;
  color: rgb(185 56 34 / var(--tw-text-opacity, 1));
}

.text-\[\#ba1a1a\] {
  --tw-text-opacity: 1;
  color: rgb(186 26 26 / var(--tw-text-opacity, 1));
}

.text-\[\#c2410c\] {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-\[\#c3392c\] {
  --tw-text-opacity: 1;
  color: rgb(195 57 44 / var(--tw-text-opacity, 1));
}

.text-\[\#c66a12\] {
  --tw-text-opacity: 1;
  color: rgb(198 106 18 / var(--tw-text-opacity, 1));
}

.text-\[\#d33322\] {
  --tw-text-opacity: 1;
  color: rgb(211 51 34 / var(--tw-text-opacity, 1));
}

.text-\[\#ea580c\] {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.text-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.text-brand {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-brand-delete {
  --tw-text-opacity: 1;
  color: rgb(153 25 25 / var(--tw-text-opacity, 1));
}

.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}

.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}

.text-cyan-800 {
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.text-emerald-100 {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}

.text-emerald-900\/70 {
  color: rgb(6 78 59 / 0.7);
}

.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-50 {
  --tw-text-opacity: 1;
  color: rgb(249 250 251 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-gray-950 {
  --tw-text-opacity: 1;
  color: rgb(3 7 18 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}

.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}

.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.text-orange-900 {
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity, 1));
}

.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}

.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}

.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.text-red-900 {
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}

.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}

.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}

.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}

.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}

.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}

.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}

.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.text-slate-950 {
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}

.text-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}

.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}

.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}

.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}

.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}

.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/35 {
  color: rgb(255 255 255 / 0.35);
}

.text-white\/45 {
  color: rgb(255 255 255 / 0.45);
}

.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}

.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}

.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.line-through {
  text-decoration-line: line-through;
}

.no-underline {
  text-decoration-line: none;
}

.decoration-brand\/30 {
  text-decoration-color: rgb(21 128 61 / 0.3);
}

.decoration-gray-300 {
  text-decoration-color: #d1d5db;
}

.decoration-dotted {
  text-decoration-style: dotted;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.underline-offset-4 {
  text-underline-offset: 4px;
}

.placeholder-\[\#9ca3af\]::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-\[\#9ca3af\]::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}

.accent-brand {
  accent-color: #15803D;
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_10px_20px_rgba\(211\2c 51\2c 34\2c 0\.18\)\] {
  --tw-shadow: 0 10px 20px rgba(211,51,34,0.18);
  --tw-shadow-colored: 0 10px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 10px 30px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_28px_rgba\(17\2c 24\2c 39\2c 0\.14\)\] {
  --tw-shadow: 0 12px 28px rgba(17,24,39,0.14);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_32px_rgba\(15\2c 118\2c 110\2c 0\.16\)\] {
  --tw-shadow: 0 12px 32px rgba(15,118,110,0.16);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_35px_rgba\(20\2c 83\2c 45\2c 0\.06\)\] {
  --tw-shadow: 0 12px 35px rgba(20,83,45,0.06);
  --tw-shadow-colored: 0 12px 35px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_18px_42px_rgba\(15\2c 23\2c 42\2c 0\.18\)\] {
  --tw-shadow: 0 18px 42px rgba(15,23,42,0.18);
  --tw-shadow-colored: 0 18px 42px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_18px_44px_rgba\(15\2c 23\2c 42\2c 0\.2\)\] {
  --tw-shadow: 0 18px 44px rgba(15,23,42,0.2);
  --tw-shadow-colored: 0 18px 44px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_0_0_\#d1d5db\] {
  --tw-shadow: 0 1px 0 0 #d1d5db;
  --tw-shadow-colored: 0 1px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_2px_rgba\(15\2c 23\2c 42\2c 0\.03\)\] {
  --tw-shadow: 0 1px 2px rgba(15,23,42,0.03);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_2px_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0 1px 2px rgba(15,23,42,0.04);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_20px_60px_rgba\(17\2c 24\2c 39\2c 0\.28\)\] {
  --tw-shadow: 0 20px 60px rgba(17,24,39,0.28);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_24px_70px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 24px 70px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 24px 70px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_2px_16px_rgba\(0\2c 0\2c 0\2c 0\.10\)\2c 0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 2px 16px rgba(0,0,0,0.10),0 0 0 1px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 2px 16px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_6px_18px_rgba\(185\2c 56\2c 34\2c 0\.08\)\] {
  --tw-shadow: 0 6px 18px rgba(185,56,34,0.08);
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_24px_rgba\(15\2c 23\2c 42\2c 0\.14\)\] {
  --tw-shadow: 0 8px 24px rgba(15,23,42,0.14);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_28px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 8px 28px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 8px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_10px_24px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0px 10px 24px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0px 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_5px_13px_0px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0px 5px 13px 0px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0px 5px 13px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_5px_13px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0px 5px 13px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0px 5px 13px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_8px_18px_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0px 8px 18px rgba(15,23,42,0.04);
  --tw-shadow-colored: 0px 8px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[1px_0_0_\#f3f4f6\] {
  --tw-shadow: 1px 0 0 #f3f4f6;
  --tw-shadow-colored: 1px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.outline {
  outline-style: solid;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-inset {
  --tw-ring-inset: inset;
}

.ring-\[\#f3d1cc\] {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 209 204 / var(--tw-ring-opacity, 1));
}

.ring-amber-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1));
}

.ring-amber-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity, 1));
}

.ring-amber-300\/70 {
  --tw-ring-color: rgb(252 211 77 / 0.7);
}

.ring-blue-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}

.ring-brand {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.ring-brand\/10 {
  --tw-ring-color: rgb(21 128 61 / 0.1);
}

.ring-brand\/15 {
  --tw-ring-color: rgb(21 128 61 / 0.15);
}

.ring-brand\/20 {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.ring-brand\/30 {
  --tw-ring-color: rgb(21 128 61 / 0.3);
}

.ring-emerald-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));
}

.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}

.ring-gray-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1));
}

.ring-gray-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
}

.ring-primary-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity, 1));
}

.ring-red-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1));
}

.ring-red-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}

.ring-red-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}

.ring-rose-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity, 1));
}

.ring-slate-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity, 1));
}

.ring-slate-200\/70 {
  --tw-ring-color: rgb(226 232 240 / 0.7);
}

.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.ring-white\/15 {
  --tw-ring-color: rgb(255 255 255 / 0.15);
}

.ring-white\/80 {
  --tw-ring-color: rgb(255 255 255 / 0.8);
}

.ring-yellow-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 224 71 / var(--tw-ring-opacity, 1));
}

.ring-yellow-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1));
}

.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[padding\] {
  transition-property: padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c height\2c max-height\2c border-radius\] {
  transition-property: width,height,max-height,border-radius;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c transform\] {
  transition-property: width,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-150 {
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* Текстовые цвета */

/* Фоновые цвета */

/* Анимации */

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

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

/* Моноширинный текст */

.font-mono {
    font-family: var(--font-family-mono) !important;
  }

/* Скрытие скроллбара */

.\[text-decoration\:none\] {
  text-decoration: none;
}

/* ============================================================================
   COMPONENT STYLES
   ============================================================================ */

/* ============================================================================
   STICKY TABLE HEADER (вне @layer для гарантированной специфичности)
   ============================================================================ */

thead.sticky-head,
thead.sticky-head th {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
}

thead.sticky-head th {
  box-shadow: 0 1px 0 0 #e5e7eb;
}

/* ============================================================================
   UTILITY CLASSES
   ============================================================================ */

/* ============================================================================
   SCROLLBAR
   ============================================================================ */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-gray-100);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
  background: var(--color-gray-300);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-gray-400);
}

/* ============================================================================
   PRINT
   ============================================================================ */

@media print {
  .btn,
  .sidebar,
  .no-print {
    display: none !important;
  }
  
  .card {
    box-shadow: none;
    border: 1px solid var(--color-border);
  }
  
  body {
    background: white;
  }
}

/* Force brand color for native radio/checkbox */

input[type="radio"], input[type="checkbox"] {
  accent-color: var(--color-primary);
}

input[type="radio"]:checked {
  accent-color: var(--color-primary);
  background-color: var(--color-primary);
}

input[type="radio"] {
  accent-color: var(--color-primary);
}

/* ============================================================================
   TABLE TYPOGRAPHY
   Заголовки таблиц — sentence case вместо КАПСЛОКА.
   Tailwind .uppercase переопределяется здесь намеренно: все <th> в <thead>
   должны быть строчными для лучшей читаемости (F-2 audit fix).
   ============================================================================ */

thead th {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ============================================================================
   THEME UTILITIES
   Классы, использующие CSS переменные для динамической темы
   ============================================================================ */

.bg-primary { background-color: var(--color-primary) !important; }

.bg-primary-hover:hover { background-color: var(--color-primary-700) !important; }

.bg-primary-50 { background-color: var(--color-primary-50) !important; }

.bg-primary-100 { background-color: var(--color-primary-100) !important; }

.text-primary { color: var(--color-primary) !important; }

.border-primary { border-color: var(--color-primary) !important; }

.ring-primary { --tw-ring-color: var(--color-primary) !important; }

/* Dark mode base overrides */

/* ============================================================================
   DARK MODE
   ============================================================================ */

[data-theme="dark"] {
  color-scheme: dark;
}

/* Base backgrounds */

body.dark-mode {
  background-color: #0F172A !important;
  color: #E2E8F0 !important;
  --md-sys-color-background: #0F172A;
  --md-sys-color-on-background: #E2E8F0;
  --md-sys-color-surface: #1E293B;
  --md-sys-color-on-surface: #E2E8F0;
}

body.dark-mode .bg-white,
body.dark-mode .bg-\[\#ffffff\] {
  background-color: #1E293B !important;
}

body.dark-mode .bg-gray-50,
body.dark-mode .bg-gray-100,
body.dark-mode .bg-\[\#f3f4f6\],
body.dark-mode .bg-\[\#F3F4F6\],
body.dark-mode .bg-\[\#F9FAFB\] {
  background-color: #334155 !important;
}

body.dark-mode .bg-gray-200 {
  background-color: #475569 !important;
}

/* Borders */

body.dark-mode .border-gray-200,
body.dark-mode .border-gray-100,
body.dark-mode .border-gray-300 {
  border-color: #475569 !important;
}

body.dark-mode .divide-gray-100 > * + *,
body.dark-mode .divide-gray-200 > * + * {
  border-color: #475569 !important;
}

/* Text colors */

body.dark-mode .text-gray-900,
body.dark-mode .text-\[\#111827\],
body.dark-mode .text-\[\#14181F\],
body.dark-mode .text-\[\#27272a\] {
  color: #F1F5F9 !important;
}

body.dark-mode .text-gray-700,
body.dark-mode .text-gray-600 {
  color: #CBD5E1 !important;
}

body.dark-mode .text-gray-500,
body.dark-mode .text-gray-400,
body.dark-mode .text-\[\#52525b\] {
  color: #94A3B8 !important;
}

body.dark-mode .placeholder-\[\#9ca3af\]::-moz-placeholder {
  color: #64748B !important;
}

body.dark-mode .text-\[\#9ca3af\],
body.dark-mode .placeholder-\[\#9ca3af\]::placeholder {
  color: #64748B !important;
}

/* Inputs */

body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
  background-color: #1E293B !important;
  color: #F1F5F9 !important;
  border-color: #475569 !important;
}

body.dark-mode .input {
  background-color: #1E293B !important;
  color: #F1F5F9 !important;
  border-color: #475569 !important;
}

/* Tables */

body.dark-mode table thead th {
  background-color: #334155 !important;
  color: #CBD5E1 !important;
}

body.dark-mode table tbody td {
  color: #E2E8F0 !important;
}

/* Hover states */

body.dark-mode .hover\:bg-gray-50:hover,
body.dark-mode .hover\:bg-gray-100:hover {
  background-color: #334155 !important;
}

body.dark-mode .hover\:bg-gray-50\/80:hover {
  background-color: rgba(51, 65, 85, 0.8) !important;
}

/* Shadows */

body.dark-mode .shadow-xl,
body.dark-mode .shadow-lg,
body.dark-mode .shadow-md {
  box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
}

body.dark-mode [style*="boxShadow"],
body.dark-mode [style*="box-shadow"] {
  box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
}

/* Colored backgrounds (muted for dark) */

body.dark-mode .bg-red-50,
body.dark-mode .bg-red-50\/50 {
  background-color: rgba(127, 29, 29, 0.2) !important;
}

body.dark-mode .bg-green-50 {
  background-color: rgba(6, 78, 59, 0.2) !important;
}

body.dark-mode .bg-orange-50 {
  background-color: rgba(120, 53, 15, 0.2) !important;
}

body.dark-mode .bg-blue-50 {
  background-color: rgba(30, 58, 138, 0.2) !important;
}

body.dark-mode .bg-yellow-50 {
  background-color: rgba(120, 53, 15, 0.15) !important;
}

/* Sidebar */

body.dark-mode .sidebar-bg {
  background-color: #1E293B !important;
  border-right-color: #334155 !important;
}

body.dark-mode .sidebar-active {
  background-color: rgba(34, 197, 94, 0.16) !important;
  color: #86EFAC !important;
}

body.dark-mode .sidebar-inactive {
  color: #CBD5E1 !important;
}

body.dark-mode .sidebar-inactive:hover {
  background-color: #334155 !important;
}

body.dark-mode .sidebar-user-bg:hover {
  background-color: #334155 !important;
}

body.dark-mode .sidebar-border-t,
body.dark-mode .sidebar-border-b,
body.dark-mode .sidebar-border-bottom {
  border-color: #334155 !important;
}

/* Logo text → light in dark mode */

body.dark-mode .logo-text {
  fill: #E2E8F0 !important;
}

/* Modals */

body.dark-mode .bg-black\/50 {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

/* Cards with inline styles */

body.dark-mode .rounded-xl[style],
body.dark-mode .rounded-2xl[style] {
  background-color: #1E293B !important;
}

/* Dropdowns */

body.dark-mode .bg-white.rounded-lg.shadow-lg {
  background-color: #1E293B !important;
  border-color: #475569 !important;
}

/* Status badges */

body.dark-mode .bg-green-100 { background-color: rgba(6, 78, 59, 0.3) !important; }

body.dark-mode .bg-red-100 { background-color: rgba(127, 29, 29, 0.3) !important; }

body.dark-mode .bg-yellow-100 { background-color: rgba(120, 53, 15, 0.3) !important; }

body.dark-mode .bg-blue-100 { background-color: rgba(30, 58, 138, 0.3) !important; }

body.dark-mode .bg-gray-100 { background-color: #334155 !important; }

body.dark-mode .bg-purple-100 { background-color: rgba(88, 28, 135, 0.3) !important; }

/* Scrollbar */

body.dark-mode ::-webkit-scrollbar-track {
  background: #1E293B;
}

body.dark-mode ::-webkit-scrollbar-thumb {
  background: #475569;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #64748B;
}

@media (min-width: 640px) {
  td.sm\:text-right,
  th.sm\:text-right {
    font-variant-numeric: tabular-nums;
  }

  
  nav.sm\:flex > button[class*="border-b-2"] {
    font-size: 14px;
  }
}

@media (min-width: 768px) {
  
  .md\:table {
    width: 100%;
    border-collapse: collapse;
  }
  
  .md\:table th {
    padding: var(--spacing-3) var(--spacing-4);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    text-align: left;
    background-color: var(--color-gray-50);
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  
  .md\:table td {
    padding: var(--spacing-3) var(--spacing-4);
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
    border-top: 1px solid var(--color-border);
  }

  .md\:table tbody tr {
    transition: background-color var(--transition-fast);
  }
  
  .md\:table tbody tr:hover {
    background-color: var(--color-gray-50);
  }
}

@media (min-width: 1024px) {

  
  nav.lg\:flex > button[class*="border-b-2"] {
    font-size: 14px;
  }
}

.placeholder\:text-sm::-moz-placeholder {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.placeholder\:text-sm::placeholder {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.placeholder\:text-\[\#808080\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(128 128 128 / var(--tw-text-opacity, 1));
}

.placeholder\:text-\[\#808080\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(128 128 128 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.first\:rounded-t-lg:first-child {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.first\:border-l-0:first-child {
  border-left-width: 0px;
}

.first\:border-t-0:first-child {
  border-top-width: 0px;
}

.last\:flex-none:last-child {
  flex: none;
}

.last\:rounded-b-lg:last-child {
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.last\:rounded-r-lg:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.last\:border-0:last-child {
  border-width: 0px;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.focus-within\:border-brand:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.focus-within\:border-red-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus-within\:opacity-100:focus-within {
  opacity: 1;
}

.focus-within\:ring-1:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-2:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-brand\/20:focus-within {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.focus-within\:ring-brand\/40:focus-within {
  --tw-ring-color: rgb(21 128 61 / 0.4);
}

.focus-within\:ring-red-100:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1));
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-blue-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.hover\:border-brand:hover {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-hover:hover {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.hover\:border-brand\/30:hover {
  border-color: rgb(21 128 61 / 0.3);
}

.hover\:border-brand\/40:hover {
  border-color: rgb(21 128 61 / 0.4);
}

.hover\:border-brand\/50:hover {
  border-color: rgb(21 128 61 / 0.5);
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.hover\:border-green-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.hover\:border-primary-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.hover\:border-red-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.hover\:border-red-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.hover\:border-rose-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}

.hover\:border-rose-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}

.hover\:border-violet-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}

.hover\:border-violet-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}

.hover\:bg-\[\#0F9D58\]\/5:hover {
  background-color: rgb(15 157 88 / 0.05);
}

.hover\:bg-\[\#166534\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#EEF2F6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#b82d1e\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(184 45 30 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#c53030\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(197 48 48 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#d9f0e3\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 240 227 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#f3f4f6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#f5f7fa\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 247 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#ffefb3\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 239 179 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#fffaf5\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 250 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-dark:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-delete:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(153 25 25 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand\/5:hover {
  background-color: rgb(21 128 61 / 0.05);
}

.hover\:bg-brand\/80:hover {
  background-color: rgb(21 128 61 / 0.8);
}

.hover\:bg-brand\/90:hover {
  background-color: rgb(21 128 61 / 0.9);
}

.hover\:bg-emerald-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100\/80:hover {
  background-color: rgb(243 244 246 / 0.8);
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50\/50:hover {
  background-color: rgb(249 250 251 / 0.5);
}

.hover\:bg-gray-50\/60:hover {
  background-color: rgb(249 250 251 / 0.6);
}

.hover\:bg-gray-50\/80:hover {
  background-color: rgb(249 250 251 / 0.8);
}

.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-50\/30:hover {
  background-color: rgb(254 242 242 / 0.3);
}

.hover\:bg-red-50\/40:hover {
  background-color: rgb(254 242 242 / 0.4);
}

.hover\:bg-red-50\/50:hover {
  background-color: rgb(254 242 242 / 0.5);
}

.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.hover\:bg-rose-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-rose-50\/50:hover {
  background-color: rgb(255 241 242 / 0.5);
}

.hover\:bg-rose-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-50\/40:hover {
  background-color: rgb(245 243 255 / 0.4);
}

.hover\:bg-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/60:hover {
  background-color: rgb(255 255 255 / 0.6);
}

.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}

.hover\:bg-yellow-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.hover\:text-\[\#111827\]:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#1D4ED8\]:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#2563EB\]:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#9a3412\]:hover {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#b93822\]:hover {
  --tw-text-opacity: 1;
  color: rgb(185 56 34 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#c3392c\]:hover {
  --tw-text-opacity: 1;
  color: rgb(195 57 44 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-800:hover {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-900:hover {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-900:hover {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.hover\:text-brand:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-delete:hover {
  --tw-text-opacity: 1;
  color: rgb(153 25 25 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-hover:hover {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.hover\:text-brand\/80:hover {
  color: rgb(21 128 61 / 0.8);
}

.hover\:text-emerald-700:hover {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-950:hover {
  --tw-text-opacity: 1;
  color: rgb(2 44 34 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-950:hover {
  --tw-text-opacity: 1;
  color: rgb(3 7 18 / var(--tw-text-opacity, 1));
}

.hover\:text-green-500:hover {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.hover\:text-green-700:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-600:hover {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-700:hover {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-red-700:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-800:hover {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.hover\:text-rose-700:hover {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.hover\:text-violet-950:hover {
  --tw-text-opacity: 1;
  color: rgb(46 16 101 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:no-underline:hover {
  text-decoration-line: none;
}

.hover\:decoration-brand:hover {
  text-decoration-color: #15803D;
}

.hover\:decoration-gray-500:hover {
  text-decoration-color: #6b7280;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-70:hover {
  opacity: 0.7;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow-\[0_10px_24px_rgba\(15\2c 23\2c 42\2c 0\.08\)\]:hover {
  --tw-shadow: 0 10px 24px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_12px_28px_rgba\(15\2c 23\2c 42\2c 0\.10\)\]:hover {
  --tw-shadow: 0 12px 28px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_14px_30px_rgba\(15\2c 23\2c 42\2c 0\.10\)\]:hover {
  --tw-shadow: 0 14px 30px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 14px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:\[text-decoration\:underline\]:hover {
  text-decoration: underline;
}

.focus\:\!border-0:focus {
  border-width: 0px !important;
}

.focus\:\!border-red-500:focus {
  --tw-border-opacity: 1 !important;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;
}

.focus\:border-\[\#16a34a\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.focus\:border-brand:focus {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.focus\:border-emerald-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}

.focus\:border-green-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.focus\:border-green-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.focus\:border-red-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.focus\:border-red-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-inset:focus {
  --tw-ring-inset: inset;
}

.focus\:\!ring-red-500\/20:focus {
  --tw-ring-color: rgb(239 68 68 / 0.2) !important;
}

.focus\:ring-\[\#15803d\]\/25:focus {
  --tw-ring-color: rgb(21 128 61 / 0.25);
}

.focus\:ring-\[\#16a34a\]\/20:focus {
  --tw-ring-color: rgb(22 163 74 / 0.2);
}

.focus\:ring-brand:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.focus\:ring-brand\/15:focus {
  --tw-ring-color: rgb(21 128 61 / 0.15);
}

.focus\:ring-brand\/20:focus {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.focus\:ring-brand\/30:focus {
  --tw-ring-color: rgb(21 128 61 / 0.3);
}

.focus\:ring-brand\/40:focus {
  --tw-ring-color: rgb(21 128 61 / 0.4);
}

.focus\:ring-emerald-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-600:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-500\/20:focus {
  --tw-ring-color: rgb(239 68 68 / 0.2);
}

.focus\:ring-red-500\/25:focus {
  --tw-ring-color: rgb(239 68 68 / 0.25);
}

.focus\:ring-rose-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity, 1));
}

.focus\:ring-violet-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity, 1));
}

.focus\:ring-white\/50:focus {
  --tw-ring-color: rgb(255 255 255 / 0.5);
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:border-brand:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.focus-visible\:bg-white:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:outline:focus-visible {
  outline-style: solid;
}

.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}

.focus-visible\:outline-brand\/50:focus-visible {
  outline-color: rgb(21 128 61 / 0.5);
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}

.focus-visible\:ring-\[\#2563EB\]\/40:focus-visible {
  --tw-ring-color: rgb(37 99 235 / 0.4);
}

.focus-visible\:ring-brand:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-brand\/20:focus-visible {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.focus-visible\:ring-brand\/30:focus-visible {
  --tw-ring-color: rgb(21 128 61 / 0.3);
}

.focus-visible\:ring-brand\/40:focus-visible {
  --tw-ring-color: rgb(21 128 61 / 0.4);
}

.focus-visible\:ring-red-200:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-red-300\/50:focus-visible {
  --tw-ring-color: rgb(252 165 165 / 0.5);
}

.focus-visible\:ring-violet-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.active\:cursor-grabbing:active {
  cursor: grabbing;
}

.active\:bg-gray-100:active {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:cursor-wait:disabled {
  cursor: wait;
}

.disabled\:bg-gray-100:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-200:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-50:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-slate-200:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.disabled\:text-gray-300:disabled {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.disabled\:text-gray-400:disabled {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.disabled\:text-gray-500:disabled {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.disabled\:text-slate-500:disabled {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-45:disabled {
  opacity: 0.45;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.disabled\:opacity-75:disabled {
  opacity: 0.75;
}

.disabled\:hover\:bg-transparent:hover:disabled {
  background-color: transparent;
}

.disabled\:hover\:text-current:hover:disabled {
  color: currentColor;
}

.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:visible {
  visibility: visible;
}

.group:hover .group-hover\:block {
  display: block;
}

.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.02\] {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.04\] {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:border-brand\/30 {
  border-color: rgb(21 128 61 / 0.3);
}

.group:hover .group-hover\:bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-brand {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

@media (min-width: 640px) {

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:inline-flex {
    display: inline-flex;
  }

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:contents {
    display: contents;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:max-w-3xl {
    max-width: 48rem;
  }

  .sm\:max-w-\[170px\] {
    max-width: 170px;
  }

  .sm\:max-w-\[340px\] {
    max-width: 340px;
  }

  .sm\:max-w-\[76\%\] {
    max-width: 76%;
  }

  .sm\:max-w-xs {
    max-width: 20rem;
  }

  .sm\:flex-none {
    flex: none;
  }

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

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

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[170px_minmax\(0\2c 1fr\)_140px\] {
    grid-template-columns: 170px minmax(0,1fr) 140px;
  }

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 180px\)\] {
    grid-template-columns: minmax(0,1fr) minmax(0,180px);
  }

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(180px\2c 1fr\)\] {
    grid-template-columns: minmax(0,1fr) minmax(180px,1fr);
  }

  .sm\:grid-cols-\[minmax\(0\2c 220px\)_auto_auto\] {
    grid-template-columns: minmax(0,220px) auto auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-wrap {
    flex-wrap: wrap;
  }

  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:divide-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  .sm\:self-auto {
    align-self: auto;
  }

  .sm\:p-10 {
    padding: 2.5rem;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:text-right {
    text-align: right;
  }

  .sm\:text-\[32px\] {
    font-size: 32px;
  }
}

@media (min-width: 768px) {

  .md\:bottom-6 {
    bottom: 1.5rem;
  }

  .md\:right-6 {
    right: 1.5rem;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:block {
    display: block;
  }

  .md\:inline-flex {
    display: inline-flex;
  }

  .md\:table {
    display: table;
  }

  .md\:contents {
    display: contents;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-56 {
    width: 14rem;
  }

  .md\:flex-none {
    flex: none;
  }

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

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

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-cols-\[minmax\(260px\2c 1fr\)_130px\] {
    grid-template-columns: minmax(260px,1fr) 130px;
  }

  .md\:flex-row {
    flex-direction: row;
  }
}

@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-4 {
    top: 1rem;
  }

  .lg\:top-6 {
    top: 1.5rem;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-16 {
    height: 4rem;
  }

  .lg\:h-\[calc\(100vh-11rem\)\] {
    height: calc(100vh - 11rem);
  }

  .lg\:min-h-\[520px\] {
    min-height: 520px;
  }

  .lg\:w-\[248px\] {
    width: 248px;
  }

  .lg\:w-\[76px\] {
    width: 76px;
  }

  .lg\:min-w-\[100px\] {
    min-width: 100px;
  }

  .lg\:min-w-\[130px\] {
    min-width: 130px;
  }

  .lg\:min-w-\[170px\] {
    min-width: 170px;
  }

  .lg\:min-w-\[420px\] {
    min-width: 420px;
  }

  .lg\:max-w-none {
    max-width: none;
  }

  .lg\:translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

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

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

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .lg\:grid-cols-\[170px_170px_minmax\(180px\2c 1fr\)_auto\] {
    grid-template-columns: 170px 170px minmax(180px,1fr) auto;
  }

  .lg\:grid-cols-\[180px_260px_1fr_auto\] {
    grid-template-columns: 180px 260px 1fr auto;
  }

  .lg\:grid-cols-\[180px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 180px minmax(0,1fr);
  }

  .lg\:grid-cols-\[1fr_1\.08fr\] {
    grid-template-columns: 1fr 1.08fr;
  }

  .lg\:grid-cols-\[1fr_1\.3fr\] {
    grid-template-columns: 1fr 1.3fr;
  }

  .lg\:grid-cols-\[240px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 240px minmax(0,1fr);
  }

  .lg\:grid-cols-\[280px_1fr_240px\] {
    grid-template-columns: 280px 1fr 240px;
  }

  .lg\:grid-cols-\[320px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 320px minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_220px\] {
    grid-template-columns: minmax(0,1fr) 220px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_340px\] {
    grid-template-columns: minmax(0,1fr) 340px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(320px\2c 360px\)\] {
    grid-template-columns: minmax(0,1fr) minmax(320px,360px);
  }

  .lg\:grid-cols-\[minmax\(0\2c 420px\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,420px) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(240px\2c 1fr\)_180px_210px_210px_180px\] {
    grid-template-columns: minmax(240px,1fr) 180px 210px 210px 180px;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:flex-col {
    flex-direction: column;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-3 {
    gap: 0.75rem;
  }

  .lg\:border-b-0 {
    border-bottom-width: 0px;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

  .lg\:p-5 {
    padding: 1.25rem;
  }

  .lg\:pl-\[248px\] {
    padding-left: 248px;
  }

  .lg\:pl-\[76px\] {
    padding-left: 76px;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px) {

  .xl\:sticky {
    position: sticky;
  }

  .xl\:top-6 {
    top: 1.5rem;
  }

  .xl\:max-h-\[calc\(100vh-220px\)\] {
    max-height: calc(100vh - 220px);
  }

  .xl\:min-w-\[145px\] {
    min-width: 145px;
  }

  .xl\:min-w-\[190px\] {
    min-width: 190px;
  }

  .xl\:max-w-5xl {
    max-width: 64rem;
  }

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

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

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .xl\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[280px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 280px minmax(0,1fr);
  }

  .xl\:grid-cols-\[minmax\(0\2c 1\.7fr\)_420px\] {
    grid-template-columns: minmax(0,1.7fr) 420px;
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_330px\] {
    grid-template-columns: minmax(0,1fr) 330px;
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_380px\] {
    grid-template-columns: minmax(0,1fr) 380px;
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_500px\] {
    grid-template-columns: minmax(0,1fr) 500px;
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:items-end {
    align-items: flex-end;
  }

  .xl\:items-center {
    align-items: center;
  }

  .xl\:justify-between {
    justify-content: space-between;
  }

  .xl\:overflow-y-auto {
    overflow-y: auto;
  }
}

@media (min-width: 1536px) {

  .\32xl\:sticky {
    position: sticky;
  }

  .\32xl\:top-4 {
    top: 1rem;
  }

  .\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_320px\] {
    grid-template-columns: minmax(0,1fr) 320px;
  }
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb {
  border-radius: 9999px;
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-200::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-300::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.hover\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-400::-webkit-scrollbar-thumb:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar-track\]\:bg-gray-100::-webkit-scrollbar-track {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar\]\:w-1::-webkit-scrollbar {
  width: 0.25rem;
}

.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar {
  width: 0.375rem;
}

.\[\&\:\:-webkit-scrollbar\]\:w-2::-webkit-scrollbar {
  width: 0.5rem;
}

.\[\&\>div\>div\]\:h-10>div>div {
  height: 2.5rem;
}

.\[\&\>td\]\:border-b>td {
  border-bottom-width: 1px;
}

.\[\&\>td\]\:border-gray-200>td {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.last\:\[\&\>td\]\:border-b-0>td:last-child {
  border-bottom-width: 0px;
}

.\[\&_button\]\:h-full button {
  height: 100%;
}

.\[\&_button\]\:py-0 button {
  padding-top: 0px;
  padding-bottom: 0px;
}

.\[\&_h4\]\:text-\[13px\] h4 {
  font-size: 13px;
}

.\[\&_input\]\:h-full input {
  height: 100%;
}

.\[\&_input\]\:py-0 input {
  padding-top: 0px;
  padding-bottom: 0px;
}

.\[\&_strong\]\:font-semibold strong {
  font-weight: 600;
}

.\[\&_strong\]\:text-gray-900 strong {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.\[\&_strong\]\:text-slate-900 strong {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
/* Inter font loaded via <link> in index.html — not via @import to avoid render-blocking */

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: SF Mono, Fira Code, Fira Mono, Menlo, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #6B7280; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #6B7280; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
    /* Material 3 Color Tokens */
    --md-sys-color-primary: #15803D;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #DCFCE7;
    --md-sys-color-on-primary-container: #052E16;
    
    --md-sys-color-secondary: #5B5D72;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #DFE1F9;
    --md-sys-color-on-secondary-container: #181A2C;
    
    --md-sys-color-tertiary: #77536D;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #FFD7F0;
    --md-sys-color-on-tertiary-container: #2E1128;
    
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    
    --md-sys-color-surface: #ffffff;
    --md-sys-color-on-surface: #1C1B1F;
    --md-sys-color-surface-variant: #E4E1EC;
    --md-sys-color-on-surface-variant: #46464F;
    
    --md-sys-color-outline: #777680;
    --md-sys-color-outline-variant: #C7C5D0;
    
    --md-sys-color-background: #fcfcfc;
    --md-sys-color-on-background: #1C1B1F;
    
    /* State Layer Opacities */
    --md-sys-state-hover-opacity: 0.08;
    --md-sys-state-focus-opacity: 0.12;
    --md-sys-state-pressed-opacity: 0.12;
    
    /* Shape Tokens */
    --md-sys-shape-corner-none: 0px;
    --md-sys-shape-corner-extra-small: 4px;
    --md-sys-shape-corner-small: 8px;
    --md-sys-shape-corner-medium: 10px;
    --md-sys-shape-corner-large: 16px;
    --md-sys-shape-corner-extra-large: 28px;
    --md-sys-shape-corner-full: 9999px;
  }

html {
  scroll-behavior: smooth;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    background-color: var(--md-sys-color-background);
    color: var(--md-sys-color-on-background);
}

input::-moz-placeholder, textarea::-moz-placeholder {
    color: #9ca3af;
    font-size: 13px;
    line-height: 18px;
    opacity: 1;
    /* Плейсхолдер обрезается с «…» если не помещается */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }

input::placeholder,
  textarea::placeholder {
    color: #9ca3af;
    font-size: 13px;
    line-height: 18px;
    opacity: 1;
    /* Плейсхолдер обрезается с «…» если не помещается */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]),
  textarea,
  select {
    font-size: 14px;
    line-height: 20px;
  }

select option,
  select optgroup {
    font-size: 14px;
    line-height: 20px;
  }

button[aria-haspopup="listbox"],
  [role="listbox"],
  [role="option"],
  [data-radix-select-viewport],
  [data-radix-select-viewport] *,
  select.text-sm,
  select.text-sm option,
  select.text-sm optgroup,
  .text-sm select,
  .text-sm option,
  .text-sm optgroup,
  [class*="dropdown"] .text-sm,
  [class*="Dropdown"] .text-sm {
    font-size: 14px !important;
    line-height: 20px !important;
  }

[class*="absolute"][class*="top-full"][class*="bg-white"][class*="border"][class*="shadow-lg"] > button,
  [class*="absolute"][class*="bottom-full"][class*="bg-white"][class*="border"][class*="shadow-lg"] > button,
  [class*="absolute"][class*="top-full"][class*="bg-white"][class*="border"][class*="shadow-lg"] [role="option"],
  [class*="absolute"][class*="bottom-full"][class*="bg-white"][class*="border"][class*="shadow-lg"] [role="option"] {
    font-size: 14px !important;
    line-height: 20px !important;
    white-space: nowrap;
  }

button.text-white svg,
  a.text-white svg,
  button.text-white svg *,
  a.text-white svg *,
  button[class*="bg-brand"] svg,
  a[class*="bg-brand"] svg,
  button[class*="bg-brand"] svg *,
  a[class*="bg-brand"] svg *,
  button[class*="bg-[#d33322]"] svg,
  a[class*="bg-[#d33322]"] svg,
  button[class*="bg-[#d33322]"] svg *,
  a[class*="bg-[#d33322]"] svg * {
    color: currentColor !important;
    stroke: currentColor !important;
  }

button.\!text-white svg,
  a.\!text-white svg,
  button.\!text-white svg *,
  a.\!text-white svg * {
    color: currentColor !important;
    stroke: currentColor !important;
  }

.tabs .tab,
  .tabs-list .tab,
  button.tab,
  nav.overflow-x-auto > button[class*="border-b-2"],
  nav.flex > button[class*="border-b-2"],
  div[class*="border-b"] > nav button[class*="border-b-2"],
  div[class*="border-b"] > div button[class*="border-b-2"],
  button[class*="border-b-2"][class*="text-sm"],
  a[class*="border-b-2"][class*="text-sm"] {
    font-size: 14px !important;
    line-height: 20px !important;
  }

/* Typography defaults */

h1 { 
    font-size: 32px;
    line-height: 40px;
    font-weight: 400;
    color: var(--md-sys-color-on-surface); 
  }

h2 { 
    font-size: 28px;
    line-height: 36px;
    font-weight: 400;
    color: var(--md-sys-color-on-surface); 
  }

h3 { 
    font-size: 24px;
    line-height: 32px;
    font-weight: 400;
    color: var(--md-sys-color-on-surface); 
  }

h4 { 
    font-size: 22px;
    line-height: 28px;
    font-weight: 400;
    color: var(--md-sys-color-on-surface); 
  }

h5 { 
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    letter-spacing: 0.15px;
    color: var(--md-sys-color-on-surface); 
  }

h6 { 
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    letter-spacing: 0.1px;
    color: var(--md-sys-color-on-surface); 
  }

p { 
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.25px;
  }

.text-sm {
    font-size: 13px !important;
    line-height: 18px !important;
  }

/* Opt-in утилита для сокращения длинного однострочного текста */

.ellipsis-nowrap {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }

/* Default border color */

* {
    border-color: var(--md-sys-color-outline-variant);
  }

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

/* ===== BUTTONS ===== */

.\!btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  overflow: hidden;
  font-weight: 500;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

body.dark-mode .bg-white.\!btn {
  background-color: #1E293B;
}


.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,.\!btn.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
}

.app-compact-filters > .\!btn,
.invoices-compact-filters > .\!btn {
  overflow: visible;
}

.app-compact-filters > .\!btn > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > .\!btn > [class*='absolute'][class*='top-full'] {
  z-index: 100;
  max-width: min(360px, calc(100vw - 24px));
}

.app-compact-filters > .\!btn > button,
.app-compact-filters > span > .\!btn > button,
.invoices-compact-filters > .\!btn > button,
.invoices-compact-filters > span > .\!btn > button,
.contracts-filter-group > .\!btn > button,
.turnover-filter-group > .\!btn > button,
.buildings-filter-group > .\!btn > button,
.counterparties-filter-group > .\!btn > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
}


.buildings-actions > .\!btn > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


.buildings-actions > .\!btn > button svg {
  width: 14px;
  height: 14px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .\!btn > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .\!btn > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .\!btn > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .\!btn > button svg {
  width: 14px;
  height: 14px;
}

.app-compact-filters > .\!btn > button {
  min-width: 0;
  max-width: 180px;
}

.invoices-compact-filters > .\!btn {
  flex-shrink: 0;
}

.invoices-compact-filters > .\!btn > button {
  max-width: 168px;
}

.app-compact-filters > .\!btn > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoices-compact-filters > .\!btn > button {
  overflow: hidden;
}

.invoices-compact-filters > .\!btn > button > span,
.invoices-compact-filters > .\!btn > button > div {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-compact-filters > .\!btn > button svg,
.app-compact-filters > span > .\!btn > button svg,
.invoices-compact-filters > .\!btn > button svg,
.invoices-compact-filters > span > .\!btn > button svg,
.contracts-filter-group > .\!btn > button svg,
.turnover-filter-group > .\!btn > button svg,
.buildings-filter-group > .\!btn > button svg,
.counterparties-filter-group > .\!btn > button svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.app-pagination > div:first-child > .\!btn > button {
  min-width: 54px;
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 18px;
}

.\!btn:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\!btn:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}

.\!btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  overflow: hidden;
  font-weight: 500;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

body.dark-mode .bg-white.btn {
  background-color: #1E293B;
}


.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,.btn.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
}

.app-compact-filters > .btn,
.invoices-compact-filters > .btn {
  overflow: visible;
}

.app-compact-filters > .btn > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > .btn > [class*='absolute'][class*='top-full'] {
  z-index: 100;
  max-width: min(360px, calc(100vw - 24px));
}

.app-compact-filters > .btn > button,
.app-compact-filters > span > .btn > button,
.invoices-compact-filters > .btn > button,
.invoices-compact-filters > span > .btn > button,
.contracts-filter-group > .btn > button,
.turnover-filter-group > .btn > button,
.buildings-filter-group > .btn > button,
.counterparties-filter-group > .btn > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
}


.buildings-actions > .btn > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


.buildings-actions > .btn > button svg {
  width: 14px;
  height: 14px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn > button svg {
  width: 14px;
  height: 14px;
}

.app-compact-filters > .btn > button {
  min-width: 0;
  max-width: 180px;
}

.invoices-compact-filters > .btn {
  flex-shrink: 0;
}

.invoices-compact-filters > .btn > button {
  max-width: 168px;
}

.app-compact-filters > .btn > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoices-compact-filters > .btn > button {
  overflow: hidden;
}

.invoices-compact-filters > .btn > button > span,
.invoices-compact-filters > .btn > button > div {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-compact-filters > .btn > button svg,
.app-compact-filters > span > .btn > button svg,
.invoices-compact-filters > .btn > button svg,
.invoices-compact-filters > span > .btn > button svg,
.contracts-filter-group > .btn > button svg,
.turnover-filter-group > .btn > button svg,
.buildings-filter-group > .btn > button svg,
.counterparties-filter-group > .btn > button svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.app-pagination > div:first-child > .btn > button {
  min-width: 54px;
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 18px;
}

.btn:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.btn:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.\!btn {
    font-size: 14px !important;
    line-height: 20px !important;
    letter-spacing: 0.1px !important;
    min-height: 40px !important;
  }

.btn {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    min-height: 40px;
  }

/* Filled Button (Primary) */

button.btn-primary svg,
  a.btn-primary svg,
  button.btn-primary svg *,
  a.btn-primary svg *,button
  .btn-filled svg,
  a
  .btn-filled svg,
  button
  .btn-filled svg *,
  a
  .btn-filled svg * {
    color: currentColor;
    stroke: currentColor;
  }

.btn-primary,
  .btn-filled {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  overflow: hidden;
  font-weight: 500;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

body.dark-mode .bg-white.btn-primary,body.dark-mode .bg-white
  .btn-filled {
  background-color: #1E293B;
}


.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,.btn-primary.bg-white.rounded-xl),
.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,
  .btn-filled.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
}

.app-compact-filters > .btn-primary,
.invoices-compact-filters > .btn-primary,.app-compact-filters > 
  .btn-filled,
.invoices-compact-filters > 
  .btn-filled {
  overflow: visible;
}

.app-compact-filters > .btn-primary > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > .btn-primary > [class*='absolute'][class*='top-full'],.app-compact-filters > 
  .btn-filled > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > 
  .btn-filled > [class*='absolute'][class*='top-full'] {
  z-index: 100;
  max-width: min(360px, calc(100vw - 24px));
}

.app-compact-filters > .btn-primary > button,
.app-compact-filters > span > .btn-primary > button,
.invoices-compact-filters > .btn-primary > button,
.invoices-compact-filters > span > .btn-primary > button,
.contracts-filter-group > .btn-primary > button,
.turnover-filter-group > .btn-primary > button,
.buildings-filter-group > .btn-primary > button,
.counterparties-filter-group > .btn-primary > button,.app-compact-filters > 
  .btn-filled > button,
.app-compact-filters > span > 
  .btn-filled > button,
.invoices-compact-filters > 
  .btn-filled > button,
.invoices-compact-filters > span > 
  .btn-filled > button,
.contracts-filter-group > 
  .btn-filled > button,
.turnover-filter-group > 
  .btn-filled > button,
.buildings-filter-group > 
  .btn-filled > button,
.counterparties-filter-group > 
  .btn-filled > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
}


.buildings-actions > .btn-primary > button,
.buildings-actions > 
  .btn-filled > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


.buildings-actions > .btn-primary > button svg,
.buildings-actions > 
  .btn-filled > button svg {
  width: 14px;
  height: 14px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn-primary > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn-primary > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > 
  .btn-filled > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > 
  .btn-filled > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn-primary > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn-primary > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > 
  .btn-filled > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > 
  .btn-filled > button svg {
  width: 14px;
  height: 14px;
}

.app-compact-filters > .btn-primary > button,.app-compact-filters > 
  .btn-filled > button {
  min-width: 0;
  max-width: 180px;
}

.invoices-compact-filters > .btn-primary,.invoices-compact-filters > 
  .btn-filled {
  flex-shrink: 0;
}

.invoices-compact-filters > .btn-primary > button,.invoices-compact-filters > 
  .btn-filled > button {
  max-width: 168px;
}

.app-compact-filters > .btn-primary > button > span,.app-compact-filters > 
  .btn-filled > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoices-compact-filters > .btn-primary > button,.invoices-compact-filters > 
  .btn-filled > button {
  overflow: hidden;
}

.invoices-compact-filters > .btn-primary > button > span,
.invoices-compact-filters > .btn-primary > button > div,.invoices-compact-filters > 
  .btn-filled > button > span,
.invoices-compact-filters > 
  .btn-filled > button > div {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-compact-filters > .btn-primary > button svg,
.app-compact-filters > span > .btn-primary > button svg,
.invoices-compact-filters > .btn-primary > button svg,
.invoices-compact-filters > span > .btn-primary > button svg,
.contracts-filter-group > .btn-primary > button svg,
.turnover-filter-group > .btn-primary > button svg,
.buildings-filter-group > .btn-primary > button svg,
.counterparties-filter-group > .btn-primary > button svg,.app-compact-filters > 
  .btn-filled > button svg,
.app-compact-filters > span > 
  .btn-filled > button svg,
.invoices-compact-filters > 
  .btn-filled > button svg,
.invoices-compact-filters > span > 
  .btn-filled > button svg,
.contracts-filter-group > 
  .btn-filled > button svg,
.turnover-filter-group > 
  .btn-filled > button svg,
.buildings-filter-group > 
  .btn-filled > button svg,
.counterparties-filter-group > 
  .btn-filled > button svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.app-pagination > div:first-child > .btn-primary > button,.app-pagination > div:first-child > 
  .btn-filled > button {
  min-width: 54px;
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 18px;
}

.btn-primary:focus,
  .btn-filled:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.btn-primary:focus-visible,
  .btn-filled:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}

.btn-primary:disabled,
  .btn-filled:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-primary,
  .btn-filled {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    min-height: 40px;
    border-radius: 9999px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }

@media (hover: none) {
  .btn-primary:active,
  .btn-filled:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

@media print {
  .btn-primary,
  .btn-filled {
    display: none;
  }
}

.btn-primary,
  .btn-filled {
    background-color: var(--app-brand-bg, #15803d);
  }

.btn-primary:hover:not(:disabled),
  .btn-filled:hover:not(:disabled) {
    background-color: var(--app-brand-hover, #166534);
    box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30);
    filter: none;
  }

.btn-primary:focus-visible,
  .btn-filled:focus-visible {
    outline-color: var(--app-brand, var(--md-sys-color-primary));
  }

.btn-primary:active:not(:disabled),
  .btn-filled:active:not(:disabled) {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* Tonal Button (Secondary) */

/* Outlined Button */

.btn-secondary,
  .btn-outlined {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  overflow: hidden;
  font-weight: 500;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

body.dark-mode .bg-white.btn-secondary,body.dark-mode .bg-white
  .btn-outlined {
  background-color: #1E293B;
}


.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,.btn-secondary.bg-white.rounded-xl),
.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,
  .btn-outlined.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
}

.app-compact-filters > .btn-secondary,
.invoices-compact-filters > .btn-secondary,.app-compact-filters > 
  .btn-outlined,
.invoices-compact-filters > 
  .btn-outlined {
  overflow: visible;
}

.app-compact-filters > .btn-secondary > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > .btn-secondary > [class*='absolute'][class*='top-full'],.app-compact-filters > 
  .btn-outlined > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > 
  .btn-outlined > [class*='absolute'][class*='top-full'] {
  z-index: 100;
  max-width: min(360px, calc(100vw - 24px));
}

.app-compact-filters > .btn-secondary > button,
.app-compact-filters > span > .btn-secondary > button,
.invoices-compact-filters > .btn-secondary > button,
.invoices-compact-filters > span > .btn-secondary > button,
.contracts-filter-group > .btn-secondary > button,
.turnover-filter-group > .btn-secondary > button,
.buildings-filter-group > .btn-secondary > button,
.counterparties-filter-group > .btn-secondary > button,.app-compact-filters > 
  .btn-outlined > button,
.app-compact-filters > span > 
  .btn-outlined > button,
.invoices-compact-filters > 
  .btn-outlined > button,
.invoices-compact-filters > span > 
  .btn-outlined > button,
.contracts-filter-group > 
  .btn-outlined > button,
.turnover-filter-group > 
  .btn-outlined > button,
.buildings-filter-group > 
  .btn-outlined > button,
.counterparties-filter-group > 
  .btn-outlined > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
}


.buildings-actions > .btn-secondary > button,
.buildings-actions > 
  .btn-outlined > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


.buildings-actions > .btn-secondary > button svg,
.buildings-actions > 
  .btn-outlined > button svg {
  width: 14px;
  height: 14px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn-secondary > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn-secondary > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > 
  .btn-outlined > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > 
  .btn-outlined > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn-secondary > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn-secondary > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > 
  .btn-outlined > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > 
  .btn-outlined > button svg {
  width: 14px;
  height: 14px;
}

.app-compact-filters > .btn-secondary > button,.app-compact-filters > 
  .btn-outlined > button {
  min-width: 0;
  max-width: 180px;
}

.invoices-compact-filters > .btn-secondary,.invoices-compact-filters > 
  .btn-outlined {
  flex-shrink: 0;
}

.invoices-compact-filters > .btn-secondary > button,.invoices-compact-filters > 
  .btn-outlined > button {
  max-width: 168px;
}

.app-compact-filters > .btn-secondary > button > span,.app-compact-filters > 
  .btn-outlined > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoices-compact-filters > .btn-secondary > button,.invoices-compact-filters > 
  .btn-outlined > button {
  overflow: hidden;
}

.invoices-compact-filters > .btn-secondary > button > span,
.invoices-compact-filters > .btn-secondary > button > div,.invoices-compact-filters > 
  .btn-outlined > button > span,
.invoices-compact-filters > 
  .btn-outlined > button > div {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-compact-filters > .btn-secondary > button svg,
.app-compact-filters > span > .btn-secondary > button svg,
.invoices-compact-filters > .btn-secondary > button svg,
.invoices-compact-filters > span > .btn-secondary > button svg,
.contracts-filter-group > .btn-secondary > button svg,
.turnover-filter-group > .btn-secondary > button svg,
.buildings-filter-group > .btn-secondary > button svg,
.counterparties-filter-group > .btn-secondary > button svg,.app-compact-filters > 
  .btn-outlined > button svg,
.app-compact-filters > span > 
  .btn-outlined > button svg,
.invoices-compact-filters > 
  .btn-outlined > button svg,
.invoices-compact-filters > span > 
  .btn-outlined > button svg,
.contracts-filter-group > 
  .btn-outlined > button svg,
.turnover-filter-group > 
  .btn-outlined > button svg,
.buildings-filter-group > 
  .btn-outlined > button svg,
.counterparties-filter-group > 
  .btn-outlined > button svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.app-pagination > div:first-child > .btn-secondary > button,.app-pagination > div:first-child > 
  .btn-outlined > button {
  min-width: 54px;
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 18px;
}

.btn-secondary:focus,
  .btn-outlined:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.btn-secondary:focus-visible,
  .btn-outlined:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}

.btn-secondary:disabled,
  .btn-outlined:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-secondary,
  .btn-outlined {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    min-height: 40px;
    border-radius: 9999px;
    border-width: 1px;
    background-color: transparent;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

@media (hover: none) {
  .btn-secondary:active,
  .btn-outlined:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

@media print {
  .btn-secondary,
  .btn-outlined {
    display: none;
  }
}

.bg-white.rounded-xl.btn-secondary,.bg-white.rounded-xl
  .btn-outlined {
  border-radius: var(--md-sys-shape-corner-medium);
  border-color: #E8E8E8;
  box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
}


body.dark-mode .bg-white.btn-secondary,
body.dark-mode .bg-white
  .btn-outlined {
  background-color: #1E293B;
  color: #E2E8F0;
}

body.dark-mode .bg-white.rounded-xl.btn-secondary,body.dark-mode .bg-white.rounded-xl
  .btn-outlined {
  background-color: #1E293B;
  border-color: #475569;
}


body.dark-mode .bg-white.btn-secondary,
body.dark-mode .bg-white
  .btn-outlined {
  background-color: var(--app-surface);
  color: var(--app-text);
}


body.dark-mode .bg-white.rounded-xl.btn-secondary,
body.dark-mode .bg-white.rounded-xl
  .btn-outlined {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface);
  border-color: var(--app-border);
  box-shadow: var(--app-shadow-card);
}

.rounded-xl.btn-secondary.cursor-pointer,.rounded-xl
  .btn-outlined.cursor-pointer {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.btn-secondary.cursor-pointer:hover,.rounded-xl
  .btn-outlined.cursor-pointer:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}


.app-workspace-scroll :where(.bg-white.rounded-2xl.btn-secondary, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border),
.app-workspace-scroll :where(.bg-white.rounded-2xl
  .btn-outlined, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow-card);
}


.app-workspace-scroll :where(.bg-white.rounded-xl.btn-secondary, .rounded-xl.border-gray-200.cursor-pointer):hover,
.app-workspace-scroll :where(.bg-white.rounded-xl
  .btn-outlined, .rounded-xl.border-gray-200.cursor-pointer):hover {
  box-shadow: var(--ui-shadow-hover);
  transform: translateY(-1px);
}

.btn-secondary,
  .btn-outlined {
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-primary);
  }

.btn-secondary:hover:not(:disabled),
  .btn-outlined:hover:not(:disabled) {
    background-color: rgba(32, 53, 172, 0.08);
  }

/* Text Button */

.btn-ghost,
  .btn-text {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  overflow: hidden;
  font-weight: 500;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

body.dark-mode .bg-white.btn-ghost,body.dark-mode .bg-white
  .btn-text {
  background-color: #1E293B;
}


.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,.btn-ghost.bg-white.rounded-xl),
.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl,
  .btn-text.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
}

.app-compact-filters > .btn-ghost,
.invoices-compact-filters > .btn-ghost,.app-compact-filters > 
  .btn-text,
.invoices-compact-filters > 
  .btn-text {
  overflow: visible;
}

.app-compact-filters > .btn-ghost > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > .btn-ghost > [class*='absolute'][class*='top-full'],.app-compact-filters > 
  .btn-text > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > 
  .btn-text > [class*='absolute'][class*='top-full'] {
  z-index: 100;
  max-width: min(360px, calc(100vw - 24px));
}

.app-compact-filters > .btn-ghost > button,
.app-compact-filters > span > .btn-ghost > button,
.invoices-compact-filters > .btn-ghost > button,
.invoices-compact-filters > span > .btn-ghost > button,
.contracts-filter-group > .btn-ghost > button,
.turnover-filter-group > .btn-ghost > button,
.buildings-filter-group > .btn-ghost > button,
.counterparties-filter-group > .btn-ghost > button,.app-compact-filters > 
  .btn-text > button,
.app-compact-filters > span > 
  .btn-text > button,
.invoices-compact-filters > 
  .btn-text > button,
.invoices-compact-filters > span > 
  .btn-text > button,
.contracts-filter-group > 
  .btn-text > button,
.turnover-filter-group > 
  .btn-text > button,
.buildings-filter-group > 
  .btn-text > button,
.counterparties-filter-group > 
  .btn-text > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
}


.buildings-actions > .btn-ghost > button,
.buildings-actions > 
  .btn-text > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


.buildings-actions > .btn-ghost > button svg,
.buildings-actions > 
  .btn-text > button svg {
  width: 14px;
  height: 14px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn-ghost > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn-ghost > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > 
  .btn-text > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > 
  .btn-text > button {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}


:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .btn-ghost > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .btn-ghost > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > 
  .btn-text > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > 
  .btn-text > button svg {
  width: 14px;
  height: 14px;
}

.app-compact-filters > .btn-ghost > button,.app-compact-filters > 
  .btn-text > button {
  min-width: 0;
  max-width: 180px;
}

.invoices-compact-filters > .btn-ghost,.invoices-compact-filters > 
  .btn-text {
  flex-shrink: 0;
}

.invoices-compact-filters > .btn-ghost > button,.invoices-compact-filters > 
  .btn-text > button {
  max-width: 168px;
}

.app-compact-filters > .btn-ghost > button > span,.app-compact-filters > 
  .btn-text > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoices-compact-filters > .btn-ghost > button,.invoices-compact-filters > 
  .btn-text > button {
  overflow: hidden;
}

.invoices-compact-filters > .btn-ghost > button > span,
.invoices-compact-filters > .btn-ghost > button > div,.invoices-compact-filters > 
  .btn-text > button > span,
.invoices-compact-filters > 
  .btn-text > button > div {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-compact-filters > .btn-ghost > button svg,
.app-compact-filters > span > .btn-ghost > button svg,
.invoices-compact-filters > .btn-ghost > button svg,
.invoices-compact-filters > span > .btn-ghost > button svg,
.contracts-filter-group > .btn-ghost > button svg,
.turnover-filter-group > .btn-ghost > button svg,
.buildings-filter-group > .btn-ghost > button svg,
.counterparties-filter-group > .btn-ghost > button svg,.app-compact-filters > 
  .btn-text > button svg,
.app-compact-filters > span > 
  .btn-text > button svg,
.invoices-compact-filters > 
  .btn-text > button svg,
.invoices-compact-filters > span > 
  .btn-text > button svg,
.contracts-filter-group > 
  .btn-text > button svg,
.turnover-filter-group > 
  .btn-text > button svg,
.buildings-filter-group > 
  .btn-text > button svg,
.counterparties-filter-group > 
  .btn-text > button svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.app-pagination > div:first-child > .btn-ghost > button,.app-pagination > div:first-child > 
  .btn-text > button {
  min-width: 54px;
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 12px;
  line-height: 18px;
}

.btn-ghost:focus,
  .btn-text:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.btn-ghost:focus-visible,
  .btn-text:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}

.btn-ghost:disabled,
  .btn-text:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-ghost,
  .btn-text {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    min-height: 40px;
    border-radius: 9999px;
    background-color: transparent;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

@media (hover: none) {
  .btn-ghost:active,
  .btn-text:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
}

@media print {
  .btn-ghost,
  .btn-text {
    display: none;
  }
}

.btn-ghost,
  .btn-text {
    color: var(--md-sys-color-primary);
  }

.btn-ghost:hover:not(:disabled),
  .btn-text:hover:not(:disabled) {
    background-color: rgba(32, 53, 172, 0.08);
  }

/* Danger Button */

/* Icon Button */

/* FAB (Floating Action Button) */

/* Extended FAB */

/* Button sizes */


  select.btn-sm,
  select.btn-sm option,
  select.btn-sm optgroup,.btn-sm select,.btn-sm option,.btn-sm optgroup,
  [class*="dropdown"] .btn-sm,
  [class*="Dropdown"] .btn-sm {
    font-size: 14px;
    line-height: 20px;
  }

.btn-sm {
    font-size: 13px;
    line-height: 18px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }


.app-pagination > div:first-child.btn-sm {
  font-size: 12px;
  line-height: 18px;
}

.btn-sm {
    min-height: 32px;
  }

/* ===== TEXT FIELDS ===== */

.\!input {
  width: 100%;
  border-width: 1px;
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.bg-white.rounded-xl.\!input {
  border-radius: var(--md-sys-shape-corner-medium);
  border-color: #E8E8E8;
  box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
}


body.dark-mode .bg-white.\!input {
  background-color: #1E293B;
  color: #E2E8F0;
}

body.dark-mode .bg-white.rounded-xl.\!input {
  background-color: #1E293B;
  border-color: #475569;
}


body.dark-mode .bg-white.\!input {
  background-color: var(--app-surface);
  color: var(--app-text);
}


body.dark-mode .bg-white.rounded-xl.\!input {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface);
  border-color: var(--app-border);
  box-shadow: var(--app-shadow-card);
}

.rounded-xl.\!input.cursor-pointer {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.\!input.cursor-pointer:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}


.app-workspace-scroll :where(.bg-white.rounded-2xl.\!input, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow-card);
}


.app-workspace-scroll :where(.bg-white.rounded-xl.\!input, .rounded-xl.border-gray-200.cursor-pointer):hover {
  box-shadow: var(--ui-shadow-hover);
  transform: translateY(-1px);
}

.input,
  .input-outlined {
  width: 100%;
  border-width: 1px;
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.bg-white.rounded-xl.input,.bg-white.rounded-xl
  .input-outlined {
  border-radius: var(--md-sys-shape-corner-medium);
  border-color: #E8E8E8;
  box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
}


body.dark-mode .bg-white.input,
body.dark-mode .bg-white
  .input-outlined {
  background-color: #1E293B;
  color: #E2E8F0;
}

body.dark-mode .bg-white.rounded-xl.input,body.dark-mode .bg-white.rounded-xl
  .input-outlined {
  background-color: #1E293B;
  border-color: #475569;
}


body.dark-mode .bg-white.input,
body.dark-mode .bg-white
  .input-outlined {
  background-color: var(--app-surface);
  color: var(--app-text);
}


body.dark-mode .bg-white.rounded-xl.input,
body.dark-mode .bg-white.rounded-xl
  .input-outlined {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface);
  border-color: var(--app-border);
  box-shadow: var(--app-shadow-card);
}

.rounded-xl.input.cursor-pointer,.rounded-xl
  .input-outlined.cursor-pointer {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.input.cursor-pointer:hover,.rounded-xl
  .input-outlined.cursor-pointer:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}


.app-workspace-scroll :where(.bg-white.rounded-2xl.input, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border),
.app-workspace-scroll :where(.bg-white.rounded-2xl
  .input-outlined, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow-card);
}


.app-workspace-scroll :where(.bg-white.rounded-xl.input, .rounded-xl.border-gray-200.cursor-pointer):hover,
.app-workspace-scroll :where(.bg-white.rounded-xl
  .input-outlined, .rounded-xl.border-gray-200.cursor-pointer):hover {
  box-shadow: var(--ui-shadow-hover);
  transform: translateY(-1px);
}

.\!input {
    border-radius: var(--md-sys-shape-corner-small) !important;
    border-color: var(--md-sys-color-outline) !important;
    color: var(--md-sys-color-on-surface) !important;
    font-size: 14px !important;
    line-height: 20px !important;
    min-height: 56px !important;
  }

.input,
  .input-outlined {
    border-radius: var(--md-sys-shape-corner-small);
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-on-surface);
    font-size: 14px;
    line-height: 20px;
    min-height: 56px;
  }

.\!input::-moz-placeholder {
    color: var(--md-sys-color-on-surface-variant) !important;
  }

.\!input::placeholder {
    color: var(--md-sys-color-on-surface-variant) !important;
  }

.input::-moz-placeholder, .input-outlined::-moz-placeholder {
    color: var(--md-sys-color-on-surface-variant);
  }

.input::placeholder,
  .input-outlined::placeholder {
    color: var(--md-sys-color-on-surface-variant);
  }

.\!input:hover:not(:focus):not(:disabled) {
    border-color: var(--md-sys-color-on-surface) !important;
  }

.input:hover:not(:focus):not(:disabled),
  .input-outlined:hover:not(:focus):not(:disabled) {
    border-color: var(--md-sys-color-on-surface);
  }

.\!input:focus {
    border-color: var(--md-sys-color-primary) !important;
    border-width: 2px !important;
    outline: none !important;
  }

.input:focus,
  .input-outlined:focus {
    border-color: var(--md-sys-color-primary);
    border-width: 2px;
    outline: none;
  }

.\!input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.input:disabled,
  .input-outlined:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.\!input:disabled {
    background-color: rgba(28, 27, 31, 0.04) !important;
  }

.input:disabled,
  .input-outlined:disabled {
    background-color: rgba(28, 27, 31, 0.04);
  }

/* Filled Text Field */

/* Error state */

.input-error,
  .input.error,
  input.error,
  textarea.error,
  select.error {
    border-color: var(--md-sys-color-error) !important;
  }


  .\!input.error {
    border-color: var(--md-sys-color-error) !important;
  }


  .input.\!error,
  input.\!error,
  textarea.\!error,
  select.\!error {
    border-color: var(--md-sys-color-error) !important;
  }

.input-error:focus,
  .input.error:focus {
    border-color: var(--md-sys-color-error) !important;
  }


  .\!input.error:focus {
    border-color: var(--md-sys-color-error) !important;
  }


  .input.\!error:focus {
    border-color: var(--md-sys-color-error) !important;
  }

/* Единый стиль для обычного выбора (focus) полей ввода */

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="hidden"]):not(.no-global-focus-border):focus,
  textarea:focus,
  select:focus {
    border-color: var(--app-brand-bg, #15803d) !important;
    border-width: 1px !important;
    box-shadow: none !important;
    outline: none !important;
  }

/* Единый стиль ошибок для всех полей ввода:
     красная рамка средней толщины без blur/тени на hover/focus */

input.input-error,
  textarea.input-error,
  select.input-error,
  input.error,
  textarea.error,
  select.error,
  input.invalid,
  textarea.invalid,
  select.invalid,
  input[aria-invalid="true"],
  textarea[aria-invalid="true"],
  select[aria-invalid="true"],
  input[class*="border-red-"],
  textarea[class*="border-red-"],
  select[class*="border-red-"] {
    border-color: var(--status-danger-text, #dc2626) !important;
    border-width: 1px !important;
    box-shadow: none !important;
    outline: none !important;
  }


  input.\!error,
  textarea.\!error,
  select.\!error {
    border-color: var(--status-danger-text, #dc2626) !important;
    border-width: 1px !important;
    box-shadow: none !important;
    outline: none !important;
  }

input.input-error:hover,
  textarea.input-error:hover,
  select.input-error:hover,
  input.error:hover,
  textarea.error:hover,
  select.error:hover,
  input.invalid:hover,
  textarea.invalid:hover,
  select.invalid:hover,
  input[aria-invalid="true"]:hover,
  textarea[aria-invalid="true"]:hover,
  select[aria-invalid="true"]:hover,
  input[class*="border-red-"]:hover,
  textarea[class*="border-red-"]:hover,
  select[class*="border-red-"]:hover,
  input.input-error:focus,
  textarea.input-error:focus,
  select.input-error:focus,
  input.error:focus,
  textarea.error:focus,
  select.error:focus,
  input.invalid:focus,
  textarea.invalid:focus,
  select.invalid:focus,
  input[aria-invalid="true"]:focus,
  textarea[aria-invalid="true"]:focus,
  select[aria-invalid="true"]:focus,
  input[class*="border-red-"]:focus,
  textarea[class*="border-red-"]:focus,
  select[class*="border-red-"]:focus {
    border-color: var(--status-danger-text, #dc2626) !important;
    border-width: 1px !important;
    box-shadow: none !important;
    outline: none !important;
  }


  input.\!error:hover,
  textarea.\!error:hover,
  select.\!error:hover,
  input.\!error:focus,
  textarea.\!error:focus,
  select.\!error:focus {
    border-color: var(--status-danger-text, #dc2626) !important;
    border-width: 1px !important;
    box-shadow: none !important;
    outline: none !important;
  }

/* ===== LABELS ===== */

.label {
  margin-bottom: 0.25rem;
  display: block;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.4px;
    font-weight: 500;
    color: var(--md-sys-color-on-surface-variant);
}

/* ===== CARDS ===== */

.card,
  .card-elevated {
  padding: 1.5rem;
    box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
    border: 1px solid #E8E8E8;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface);
}

.card-elevated:hover {
    box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
  }

.card-hover {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.card-hover:hover {
    box-shadow: 0px 2px 6px 2px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30);
  }

/* ===== CHIPS ===== */

.chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    font-weight: 500;
    min-height: 32px;
}

/* ===== BADGES ===== */

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.5px;
    font-weight: 500;
}

.badge-success {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.5px;
    font-weight: 500;
    background-color: #A6F5A6;
    color: #002107;
}

.badge-danger,
  .badge-error {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.5px;
    font-weight: 500;
    background-color: var(--md-sys-color-error-container);
    color: var(--md-sys-color-on-error-container);
}

.badge-gray {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.5px;
    font-weight: 500;
    background-color: var(--md-sys-color-surface-variant);
    color: var(--md-sys-color-on-surface-variant);
}

/* ===== TABLES ===== */


  nav.table-container > button[class*="border-b-2"] {
    font-size: 14px;
    line-height: 20px;
  }

.table-container {
  overflow-x: auto;
  border-width: 1px;
}

.bg-white.rounded-xl.table-container {
  border-radius: var(--md-sys-shape-corner-medium);
  border-color: #E8E8E8;
  box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
}


body.dark-mode .bg-white.table-container {
  background-color: #1E293B;
  color: #E2E8F0;
}

body.dark-mode .bg-white.rounded-xl.table-container {
  background-color: #1E293B;
  border-color: #475569;
}


body.dark-mode .bg-white.table-container {
  background-color: var(--app-surface);
  color: var(--app-text);
}


body.dark-mode .bg-white.rounded-xl.table-container {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface);
  border-color: var(--app-border);
  box-shadow: var(--app-shadow-card);
}

.rounded-xl.table-container.cursor-pointer {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.table-container.cursor-pointer:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}


.app-workspace-scroll :where(.bg-white.rounded-2xl.table-container, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow-card);
}


.app-workspace-scroll :where(.bg-white.rounded-xl.table-container, .rounded-xl.border-gray-200.cursor-pointer):hover {
  box-shadow: var(--ui-shadow-hover);
  transform: translateY(-1px);
}


.app-workspace-scroll :where(.table-container.bg-white.rounded-xl, .overflow-hidden.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
}

.table-container {
    border-radius: var(--md-sys-shape-corner-medium);
    border-color: var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface);
  }

.table {
  min-width: 100%;
}

.table th {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.5px;
    font-weight: 500;
    color: var(--md-sys-color-on-surface-variant);
    background-color: #f9fafb;
}

.table td {
  white-space: nowrap;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
    font-size: 12px;
    line-height: 18px;
    color: var(--md-sys-color-on-surface);
    border-top: 1px solid var(--md-sys-color-outline-variant);
}

.table tbody tr {
    transition: background-color 150ms ease-out;
  }

.table tbody tr:hover {
    background-color: #f1f5f9; /* slate-50 — заметный hover */
  }

/* ===== ГЛОБАЛЬНЫЕ HOVER-СОСТОЯНИЯ ДЛЯ ТАБЛИЦ =====
     Применяется ко ВСЕМ таблицам, не только к .table */

table tbody tr {
    transition: background-color 150ms ease-out;
  }

table tbody tr.row-clickable,
  table tbody tr[onclick],
  table tbody tr.cursor-pointer {
    cursor: pointer;
  }

table tbody tr.row-clickable:hover,
  table tbody tr[onclick]:hover,
  table tbody tr.cursor-pointer:hover {
    background-color: #f1f5f9; /* slate-50 */
  }

/* ===== УНИВЕРСАЛЬНЫЙ CURSOR: POINTER =====
     Любой элемент, помеченный как кликабельный, мгновенно показывает курсор */

button:not(:disabled),
  a,
  [role="button"]:not([aria-disabled="true"]),
  [role="link"],
  [role="tab"],
  [role="menuitem"],
  [role="option"],
  summary,
  label[for],
  input[type="checkbox"]:not(:disabled),
  input[type="radio"]:not(:disabled),
  input[type="submit"]:not(:disabled),
  input[type="reset"]:not(:disabled),
  input[type="button"]:not(:disabled),
  select:not(:disabled) {
    cursor: pointer;
  }

/* Кнопки/ссылки в disabled-состоянии */

button:disabled,
  [role="button"][aria-disabled="true"],
  .disabled {
    cursor: not-allowed;
  }


  .\!disabled {
    cursor: not-allowed !important;
  }

/* ===== STICKY TABLE HEADER ===== */

thead.sticky-head th {
    position: sticky;
    top: 0;
    z-index: 20;
    box-shadow: 0 1px 0 0 #e5e7eb;
  }

/* ===== DIALOGS / MODALS ===== */

[role="dialog"],
  [role="alertdialog"],
  .modal,
  .dialog {
    border-radius: var(--md-sys-shape-corner-extra-large);
    background-color: var(--md-sys-color-surface);
    box-shadow: 0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px 0px rgba(0, 0, 0, 0.30);
  }

/* ===== NAVIGATION - Chakra UI Style ===== */

.sidebar-bg {
    background-color: #fcfaf8;
    border-right: 1px solid #E2E8F0;
  }

.sidebar-border-t {
    border-top: 1px solid #E2E8F0;
  }

.sidebar-active {
    color: var(--app-brand-active-text, #14532d);
    background-color: var(--app-brand-soft, #edf9f1);
    border-radius: 8px;
    font-weight: 500;
  }

.sidebar-inactive {
    color: #202020;
    font-weight: 400;
  }

.sidebar-inactive:hover {
    background-color: var(--app-brand-soft, #edf9f1);
    border-radius: 8px;
  }

.sidebar-user-bg {
    background-color: transparent;
  }

.sidebar-user-bg:hover {
    background-color: #f4f4f5;
  }

/* ===== STAT CARDS ===== */

/* ===== PAGE ELEMENTS ===== */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.\!visible {
  visibility: visible !important;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-3 {
  inset: 0.75rem;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-bottom-12 {
  bottom: -3rem;
}

.-bottom-24 {
  bottom: -6rem;
}

.-left-\[29px\] {
  left: -29px;
}

.-right-0\.5 {
  right: -0.125rem;
}

.-right-1 {
  right: -0.25rem;
}

.-right-1\.5 {
  right: -0.375rem;
}

.-right-2 {
  right: -0.5rem;
}

.-right-20 {
  right: -5rem;
}

.-right-24 {
  right: -6rem;
}

.-top-0\.5 {
  top: -0.125rem;
}

.-top-1 {
  top: -0.25rem;
}

.-top-1\.5 {
  top: -0.375rem;
}

.-top-2 {
  top: -0.5rem;
}

.-top-2\.5 {
  top: -0.625rem;
}

.-top-24 {
  top: -6rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-1 {
  bottom: 0.25rem;
}

.bottom-1\/2 {
  bottom: 50%;
}

.bottom-16 {
  bottom: 4rem;
}

.bottom-2 {
  bottom: 0.5rem;
}

.bottom-20 {
  bottom: 5rem;
}

.bottom-24 {
  bottom: 6rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-9 {
  bottom: 2.25rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-0\.5 {
  left: 0.125rem;
}

.left-1 {
  left: 0.25rem;
}

.left-1\/2 {
  left: 50%;
}

.left-2 {
  left: 0.5rem;
}

.left-2\.5 {
  left: 0.625rem;
}

.left-3 {
  left: 0.75rem;
}

.left-3\.5 {
  left: 0.875rem;
}

.left-4 {
  left: 1rem;
}

.left-8 {
  left: 2rem;
}

.left-full {
  left: 100%;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-1\.5 {
  right: 0.375rem;
}

.right-16 {
  right: 4rem;
}

.right-2 {
  right: 0.5rem;
}

.right-3 {
  right: 0.75rem;
}

.right-3\.5 {
  right: 0.875rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.top-0 {
  top: 0px;
}

.top-0\.5 {
  top: 0.125rem;
}

.top-1 {
  top: 0.25rem;
}

.top-1\.5 {
  top: 0.375rem;
}

.top-1\/2 {
  top: 50%;
}

.top-2 {
  top: 0.5rem;
}

.top-2\.5 {
  top: 0.625rem;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-6 {
  top: 1.5rem;
}

.top-8 {
  top: 2rem;
}

.top-\[2px\] {
  top: 2px;
}

.top-\[calc\(100\%\+8px\)\] {
  top: calc(100% + 8px);
}

.top-full {
  top: 100%;
}

.isolate {
  isolation: isolate;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-30 {
  z-index: 30;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.z-\[10000\] {
  z-index: 10000;
}

.z-\[1000\] {
  z-index: 1000;
}

.z-\[10050\] {
  z-index: 10050;
}

.z-\[100\] {
  z-index: 100;
}

.z-\[110\] {
  z-index: 110;
}

.z-\[1200\] {
  z-index: 1200;
}

.z-\[120\] {
  z-index: 120;
}

.z-\[130\] {
  z-index: 130;
}

.z-\[199\] {
  z-index: 199;
}

.z-\[200\] {
  z-index: 200;
}

.z-\[60\] {
  z-index: 60;
}

.z-\[70\] {
  z-index: 70;
}

.z-\[80\] {
  z-index: 80;
}

.z-\[90\] {
  z-index: 90;
}

.z-\[9998\] {
  z-index: 9998;
}

.z-\[9999\] {
  z-index: 9999;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-first {
  order: -9999;
}

.col-span-2 {
  grid-column: span 2 / span 2;
}

.col-span-full {
  grid-column: 1 / -1;
}

.m-4 {
  margin: 1rem;
}

.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}

.-my-1 {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-5 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.-mb-px {
  margin-bottom: -1px;
}

.-ml-1 {
  margin-left: -0.25rem;
}

.-mr-1 {
  margin-right: -0.25rem;
}

.-mt-0\.5 {
  margin-top: -0.125rem;
}

.-mt-1 {
  margin-top: -0.25rem;
}

.-mt-4 {
  margin-top: -1rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-0\.5 {
  margin-bottom: 0.125rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-2\.5 {
  margin-bottom: 0.625rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-7 {
  margin-bottom: 1.75rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-0 {
  margin-left: 0px;
}

.ml-0\.5 {
  margin-left: 0.125rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-1\.5 {
  margin-left: 0.375rem;
}

.ml-10 {
  margin-left: 2.5rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-5 {
  margin-left: 1.25rem;
}

.ml-6 {
  margin-left: 1.5rem;
}

.ml-7 {
  margin-left: 1.75rem;
}

.ml-9 {
  margin-left: 2.25rem;
}

.ml-\[-1\.25rem\] {
  margin-left: -1.25rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-0\.5 {
  margin-right: 0.125rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-1\.5 {
  margin-right: 0.375rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-auto {
  margin-right: auto;
}

.mt-0 {
  margin-top: 0px;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-auto {
  margin-top: auto;
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.table-cell {
  display: table-cell;
}

.grid {
  display: grid;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

.aspect-square {
  aspect-ratio: 1 / 1;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.\!h-\[34px\] {
  height: 34px !important;
}

.\!h-auto {
  height: auto !important;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-2\.5 {
  height: 0.625rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-44 {
  height: 11rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-52 {
  height: 13rem;
}

.h-6 {
  height: 1.5rem;
}

.h-60 {
  height: 15rem;
}

.h-64 {
  height: 16rem;
}

.h-7 {
  height: 1.75rem;
}

.h-72 {
  height: 18rem;
}

.h-8 {
  height: 2rem;
}

.h-80 {
  height: 20rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[12px\] {
  height: 12px;
}

.h-\[17px\] {
  height: 17px;
}

.h-\[18px\] {
  height: 18px;
}

.h-\[220px\] {
  height: 220px;
}

.h-\[22px\] {
  height: 22px;
}

.h-\[30px\] {
  height: 30px;
}

.h-\[36px\] {
  height: 36px;
}

.h-\[38px\] {
  height: 38px;
}

.h-\[42px\] {
  height: 42px;
}

.h-\[600px\] {
  height: 600px;
}

.h-\[640px\] {
  height: 640px;
}

.h-\[700px\] {
  height: 700px;
}

.h-\[72px\] {
  height: 72px;
}

.h-\[95vh\] {
  height: 95vh;
}

.h-\[calc\(100vh-220px\)\] {
  height: calc(100vh - 220px);
}

.h-\[min\(720px\2c calc\(100vh-24px\)\)\] {
  height: min(720px, calc(100vh - 24px));
}

.h-auto {
  height: auto;
}

.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.max-h-24 {
  max-height: 6rem;
}

.max-h-36 {
  max-height: 9rem;
}

.max-h-40 {
  max-height: 10rem;
}

.max-h-44 {
  max-height: 11rem;
}

.max-h-48 {
  max-height: 12rem;
}

.max-h-56 {
  max-height: 14rem;
}

.max-h-60 {
  max-height: 15rem;
}

.max-h-64 {
  max-height: 16rem;
}

.max-h-72 {
  max-height: 18rem;
}

.max-h-80 {
  max-height: 20rem;
}

.max-h-\[200px\] {
  max-height: 200px;
}

.max-h-\[250px\] {
  max-height: 250px;
}

.max-h-\[320px\] {
  max-height: 320px;
}

.max-h-\[360px\] {
  max-height: 360px;
}

.max-h-\[420px\] {
  max-height: 420px;
}

.max-h-\[560px\] {
  max-height: 560px;
}

.max-h-\[600px\] {
  max-height: 600px;
}

.max-h-\[60vh\] {
  max-height: 60vh;
}

.max-h-\[65vh\] {
  max-height: 65vh;
}

.max-h-\[70vh\] {
  max-height: 70vh;
}

.max-h-\[78vh\] {
  max-height: 78vh;
}

.max-h-\[80vh\] {
  max-height: 80vh;
}

.max-h-\[85vh\] {
  max-height: 85vh;
}

.max-h-\[90vh\] {
  max-height: 90vh;
}

.max-h-\[92vh\] {
  max-height: 92vh;
}

.max-h-\[calc\(100vh-16px\)\] {
  max-height: calc(100vh - 16px);
}

.max-h-\[calc\(100vh-32px\)\] {
  max-height: calc(100vh - 32px);
}

.max-h-full {
  max-height: 100%;
}

.\!min-h-0 {
  min-height: 0px !important;
}

.\!min-h-\[34px\] {
  min-height: 34px !important;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-10 {
  min-height: 2.5rem;
}

.min-h-12 {
  min-height: 3rem;
}

.min-h-24 {
  min-height: 6rem;
}

.min-h-36 {
  min-height: 9rem;
}

.min-h-5 {
  min-height: 1.25rem;
}

.min-h-52 {
  min-height: 13rem;
}

.min-h-6 {
  min-height: 1.5rem;
}

.min-h-7 {
  min-height: 1.75rem;
}

.min-h-72 {
  min-height: 18rem;
}

.min-h-8 {
  min-height: 2rem;
}

.min-h-80 {
  min-height: 20rem;
}

.min-h-9 {
  min-height: 2.25rem;
}

.min-h-\[120px\] {
  min-height: 120px;
}

.min-h-\[148px\] {
  min-height: 148px;
}

.min-h-\[178px\] {
  min-height: 178px;
}

.min-h-\[2\.5rem\] {
  min-height: 2.5rem;
}

.min-h-\[200px\] {
  min-height: 200px;
}

.min-h-\[280px\] {
  min-height: 280px;
}

.min-h-\[300px\] {
  min-height: 300px;
}

.min-h-\[360px\] {
  min-height: 360px;
}

.min-h-\[36px\] {
  min-height: 36px;
}

.min-h-\[390px\] {
  min-height: 390px;
}

.min-h-\[400px\] {
  min-height: 400px;
}

.min-h-\[420px\] {
  min-height: 420px;
}

.min-h-\[42px\] {
  min-height: 42px;
}

.min-h-\[44px\] {
  min-height: 44px;
}

.min-h-\[48px\] {
  min-height: 48px;
}

.min-h-\[520px\] {
  min-height: 520px;
}

.min-h-\[560px\] {
  min-height: 560px;
}

.min-h-\[58px\] {
  min-height: 58px;
}

.min-h-\[600px\] {
  min-height: 600px;
}

.min-h-\[60px\] {
  min-height: 60px;
}

.min-h-\[620px\] {
  min-height: 620px;
}

.min-h-\[72px\] {
  min-height: 72px;
}

.min-h-\[80px\] {
  min-height: 80px;
}

.min-h-\[90px\] {
  min-height: 90px;
}

.min-h-\[calc\(100vh-4rem\)\] {
  min-height: calc(100vh - 4rem);
}

.min-h-full {
  min-height: 100%;
}

.min-h-screen {
  min-height: 100vh;
}

.\!w-10 {
  width: 2.5rem !important;
}

.w-1 {
  width: 0.25rem;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-1\/2 {
  width: 50%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-1\/5 {
  width: 20%;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

.w-2\.5 {
  width: 0.625rem;
}

.w-2\/3 {
  width: 66.666667%;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3 {
  width: 0.75rem;
}

.w-3\.5 {
  width: 0.875rem;
}

.w-3\/4 {
  width: 75%;
}

.w-32 {
  width: 8rem;
}

.w-36 {
  width: 9rem;
}

.w-4 {
  width: 1rem;
}

.w-40 {
  width: 10rem;
}

.w-44 {
  width: 11rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-52 {
  width: 13rem;
}

.w-56 {
  width: 14rem;
}

.w-6 {
  width: 1.5rem;
}

.w-60 {
  width: 15rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-72 {
  width: 18rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[100px\] {
  width: 100px;
}

.w-\[120px\] {
  width: 120px;
}

.w-\[124px\] {
  width: 124px;
}

.w-\[126px\] {
  width: 126px;
}

.w-\[12px\] {
  width: 12px;
}

.w-\[132px\] {
  width: 132px;
}

.w-\[140px\] {
  width: 140px;
}

.w-\[148px\] {
  width: 148px;
}

.w-\[150px\] {
  width: 150px;
}

.w-\[154px\] {
  width: 154px;
}

.w-\[160px\] {
  width: 160px;
}

.w-\[168px\] {
  width: 168px;
}

.w-\[170px\] {
  width: 170px;
}

.w-\[17px\] {
  width: 17px;
}

.w-\[180px\] {
  width: 180px;
}

.w-\[18px\] {
  width: 18px;
}

.w-\[190px\] {
  width: 190px;
}

.w-\[210px\] {
  width: 210px;
}

.w-\[230px\] {
  width: 230px;
}

.w-\[240px\] {
  width: 240px;
}

.w-\[260px\] {
  width: 260px;
}

.w-\[270px\] {
  width: 270px;
}

.w-\[280px\] {
  width: 280px;
}

.w-\[300px\] {
  width: 300px;
}

.w-\[30px\] {
  width: 30px;
}

.w-\[328px\] {
  width: 328px;
}

.w-\[32px\] {
  width: 32px;
}

.w-\[360px\] {
  width: 360px;
}

.w-\[400px\] {
  width: 400px;
}

.w-\[420px\] {
  width: 420px;
}

.w-\[480px\] {
  width: 480px;
}

.w-\[50\%\] {
  width: 50%;
}

.w-\[82px\] {
  width: 82px;
}

.w-\[84px\] {
  width: 84px;
}

.w-\[86px\] {
  width: 86px;
}

.w-\[88px\] {
  width: 88px;
}

.w-\[90px\] {
  width: 90px;
}

.w-\[92px\] {
  width: 92px;
}

.w-\[95vw\] {
  width: 95vw;
}

.w-\[min\(68vw\2c 32rem\)\] {
  width: min(68vw, 32rem);
}

.w-\[min\(720px\2c calc\(100vw-32px\)\)\] {
  width: min(720px, calc(100vw - 32px));
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-max {
  width: -moz-max-content;
  width: max-content;
}

.w-px {
  width: 1px;
}

.w-screen {
  width: 100vw;
}

.\!min-w-0 {
  min-width: 0px !important;
}

.\!min-w-10 {
  min-width: 2.5rem !important;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-20 {
  min-width: 5rem;
}

.min-w-4 {
  min-width: 1rem;
}

.min-w-5 {
  min-width: 1.25rem;
}

.min-w-6 {
  min-width: 1.5rem;
}

.min-w-8 {
  min-width: 2rem;
}

.min-w-\[100px\] {
  min-width: 100px;
}

.min-w-\[1040px\] {
  min-width: 1040px;
}

.min-w-\[110px\] {
  min-width: 110px;
}

.min-w-\[1120px\] {
  min-width: 1120px;
}

.min-w-\[118px\] {
  min-width: 118px;
}

.min-w-\[120px\] {
  min-width: 120px;
}

.min-w-\[130px\] {
  min-width: 130px;
}

.min-w-\[1320px\] {
  min-width: 1320px;
}

.min-w-\[132px\] {
  min-width: 132px;
}

.min-w-\[140px\] {
  min-width: 140px;
}

.min-w-\[142px\] {
  min-width: 142px;
}

.min-w-\[145px\] {
  min-width: 145px;
}

.min-w-\[1500px\] {
  min-width: 1500px;
}

.min-w-\[150px\] {
  min-width: 150px;
}

.min-w-\[160px\] {
  min-width: 160px;
}

.min-w-\[170px\] {
  min-width: 170px;
}

.min-w-\[180px\] {
  min-width: 180px;
}

.min-w-\[185px\] {
  min-width: 185px;
}

.min-w-\[18px\] {
  min-width: 18px;
}

.min-w-\[190px\] {
  min-width: 190px;
}

.min-w-\[1rem\] {
  min-width: 1rem;
}

.min-w-\[200px\] {
  min-width: 200px;
}

.min-w-\[220px\] {
  min-width: 220px;
}

.min-w-\[240px\] {
  min-width: 240px;
}

.min-w-\[250px\] {
  min-width: 250px;
}

.min-w-\[260px\] {
  min-width: 260px;
}

.min-w-\[26px\] {
  min-width: 26px;
}

.min-w-\[280px\] {
  min-width: 280px;
}

.min-w-\[300px\] {
  min-width: 300px;
}

.min-w-\[320px\] {
  min-width: 320px;
}

.min-w-\[360px\] {
  min-width: 360px;
}

.min-w-\[420px\] {
  min-width: 420px;
}

.min-w-\[44px\] {
  min-width: 44px;
}

.min-w-\[60px\] {
  min-width: 60px;
}

.min-w-\[680px\] {
  min-width: 680px;
}

.min-w-\[70px\] {
  min-width: 70px;
}

.min-w-\[720px\] {
  min-width: 720px;
}

.min-w-\[72px\] {
  min-width: 72px;
}

.min-w-\[74px\] {
  min-width: 74px;
}

.min-w-\[760px\] {
  min-width: 760px;
}

.min-w-\[780px\] {
  min-width: 780px;
}

.min-w-\[820px\] {
  min-width: 820px;
}

.min-w-\[920px\] {
  min-width: 920px;
}

.min-w-\[940px\] {
  min-width: 940px;
}

.min-w-\[980px\] {
  min-width: 980px;
}

.min-w-fit {
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.min-w-full {
  min-width: 100%;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-\[1360px\] {
  max-width: 1360px;
}

.max-w-\[140px\] {
  max-width: 140px;
}

.max-w-\[150px\] {
  max-width: 150px;
}

.max-w-\[1600px\] {
  max-width: 1600px;
}

.max-w-\[160px\] {
  max-width: 160px;
}

.max-w-\[170px\] {
  max-width: 170px;
}

.max-w-\[1720px\] {
  max-width: 1720px;
}

.max-w-\[1800px\] {
  max-width: 1800px;
}

.max-w-\[180px\] {
  max-width: 180px;
}

.max-w-\[190px\] {
  max-width: 190px;
}

.max-w-\[200px\] {
  max-width: 200px;
}

.max-w-\[220px\] {
  max-width: 220px;
}

.max-w-\[240px\] {
  max-width: 240px;
}

.max-w-\[250px\] {
  max-width: 250px;
}

.max-w-\[260px\] {
  max-width: 260px;
}

.max-w-\[280px\] {
  max-width: 280px;
}

.max-w-\[300px\] {
  max-width: 300px;
}

.max-w-\[320px\] {
  max-width: 320px;
}

.max-w-\[360px\] {
  max-width: 360px;
}

.max-w-\[380px\] {
  max-width: 380px;
}

.max-w-\[400px\] {
  max-width: 400px;
}

.max-w-\[420px\] {
  max-width: 420px;
}

.max-w-\[440px\] {
  max-width: 440px;
}

.max-w-\[520px\] {
  max-width: 520px;
}

.max-w-\[560px\] {
  max-width: 560px;
}

.max-w-\[60\%\] {
  max-width: 60%;
}

.max-w-\[620px\] {
  max-width: 620px;
}

.max-w-\[760px\] {
  max-width: 760px;
}

.max-w-\[78\%\] {
  max-width: 78%;
}

.max-w-\[85\%\] {
  max-width: 85%;
}

.max-w-\[88\%\] {
  max-width: 88%;
}

.max-w-\[88px\] {
  max-width: 88px;
}

.max-w-\[88vw\] {
  max-width: 88vw;
}

.max-w-\[90px\] {
  max-width: 90px;
}

.max-w-\[90vw\] {
  max-width: 90vw;
}

.max-w-\[92vw\] {
  max-width: 92vw;
}

.max-w-\[96\%\] {
  max-width: 96%;
}

.max-w-\[calc\(100vw-24px\)\] {
  max-width: calc(100vw - 24px);
}

.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}

.max-w-\[min\(32rem\2c calc\(100vw-3rem\)\)\] {
  max-width: min(32rem, calc(100vw - 3rem));
}

.max-w-\[min\(90vw\2c 640px\)\] {
  max-width: min(90vw, 640px);
}

.max-w-full {
  max-width: 100%;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-none {
  max-width: none;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-\[1_1_130px\] {
  flex: 1 1 130px;
}

.flex-\[1_1_150px\] {
  flex: 1 1 150px;
}

.flex-\[1_1_220px\] {
  flex: 1 1 220px;
}

.flex-\[1_1_78px\] {
  flex: 1 1 78px;
}

.flex-\[1_1_82px\] {
  flex: 1 1 82px;
}

.flex-\[2\] {
  flex: 2;
}

.flex-\[2_1_180px\] {
  flex: 2 1 180px;
}

.flex-\[3\] {
  flex: 3;
}

.flex-none {
  flex: none;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink-0 {
  flex-shrink: 0;
}

.table-fixed {
  table-layout: fixed;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-1\/2 {
  --tw-translate-x: 50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-4 {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-6 {
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-\[18px\] {
  --tw-translate-x: 18px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-1\/2 {
  --tw-translate-y: 50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes bounce {

  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

.animate-bounce {
  animation: bounce 1s infinite;
}

@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse {

  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.cursor-default {
  cursor: default;
}

.cursor-grab {
  cursor: grab;
}

.cursor-grabbing {
  cursor: grabbing;
}

.cursor-help {
  cursor: help;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-text {
  cursor: text;
}

.cursor-zoom-in {
  cursor: zoom-in;
}

.touch-none {
  touch-action: none;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}

.resize-none {
  resize: none;
}

.resize-y {
  resize: vertical;
}

.resize {
  resize: both;
}

.scroll-mt-24 {
  scroll-margin-top: 6rem;
}

.list-inside {
  list-style-position: inside;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

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

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

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

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

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

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

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

.grid-cols-\[1\.65fr_1fr_1fr_1fr\] {
  grid-template-columns: 1.65fr 1fr 1fr 1fr;
}

.grid-cols-\[150px_1fr_1fr_1fr_100px\] {
  grid-template-columns: 150px 1fr 1fr 1fr 100px;
}

.grid-cols-\[1fr_120px\] {
  grid-template-columns: 1fr 120px;
}

.grid-cols-\[1fr_140px\] {
  grid-template-columns: 1fr 140px;
}

.grid-cols-\[1fr_auto\] {
  grid-template-columns: 1fr auto;
}

.grid-cols-\[1fr_auto_1fr\] {
  grid-template-columns: 1fr auto 1fr;
}

.grid-cols-\[260px_minmax\(460px\2c 1fr\)_104px\] {
  grid-template-columns: 260px minmax(460px,1fr) 104px;
}

.grid-cols-\[32px_minmax\(0\2c 1fr\)\] {
  grid-template-columns: 32px minmax(0,1fr);
}

.grid-cols-\[minmax\(88px\2c 0\.7fr\)_minmax\(0\2c 1\.3fr\)\] {
  grid-template-columns: minmax(88px,0.7fr) minmax(0,1.3fr);
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.content-start {
  align-content: flex-start;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

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

.gap-0 {
  gap: 0px;
}

.gap-0\.5 {
  gap: 0.125rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-px {
  gap: 1px;
}

.gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}

.gap-x-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-0\.5 {
  row-gap: 0.125rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.space-x-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.75rem * var(--tw-space-x-reverse));
  margin-left: calc(1.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-emerald-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-divide-opacity, 1));
}

.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}

.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));
}

.divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.self-center {
  align-self: center;
}

.self-stretch {
  align-self: stretch;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.overscroll-contain {
  overscroll-behavior: contain;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-ellipsis {
  text-overflow: ellipsis;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre-line {
  white-space: pre-line;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.text-balance {
  text-wrap: balance;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-\[14px\] {
  border-radius: 14px;
}

.rounded-\[18px\] {
  border-radius: 18px;
}

.rounded-\[22px\] {
  border-radius: 22px;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-none {
  border-radius: 0px;
}

.rounded-sm {
  border-radius: 0.125rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-b-2xl {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}

.rounded-b-lg {
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-b-xl {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.rounded-l-\[10px\] {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.rounded-l-lg {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-r-\[10px\] {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.rounded-t {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}

.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.rounded-bl-md {
  border-bottom-left-radius: 0.375rem;
}

.rounded-bl-sm {
  border-bottom-left-radius: 0.125rem;
}

.rounded-br-md {
  border-bottom-right-radius: 0.375rem;
}

.rounded-br-sm {
  border-bottom-right-radius: 0.125rem;
}

.rounded-tl-md {
  border-top-left-radius: 0.375rem;
}

.rounded-tr-md {
  border-top-right-radius: 0.375rem;
}

.\!border-0 {
  border-width: 0px !important;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-b-\[3px\] {
  border-bottom-width: 3px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-0 {
  border-left-width: 0px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-l-4 {
  border-left-width: 4px;
}

.border-l-\[3px\] {
  border-left-width: 3px;
}

.border-r {
  border-right-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-2 {
  border-top-width: 2px;
}

.border-dashed {
  border-style: dashed;
}

.border-dotted {
  border-style: dotted;
}

.\!border-gray-200 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1)) !important;
}

.\!border-red-300 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1)) !important;
}

.border-\[\#0F9D58\] {
  --tw-border-opacity: 1;
  border-color: rgb(15 157 88 / var(--tw-border-opacity, 1));
}

.border-\[\#0f766e\]\/20 {
  border-color: rgb(15 118 110 / 0.2);
}

.border-\[\#15803d\] {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-\[\#E8E8E8\] {
  --tw-border-opacity: 1;
  border-color: rgb(232 232 232 / var(--tw-border-opacity, 1));
}

.border-\[\#bfe3ca\] {
  --tw-border-opacity: 1;
  border-color: rgb(191 227 202 / var(--tw-border-opacity, 1));
}

.border-\[\#d1d5db\] {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.border-\[\#d6b24f\] {
  --tw-border-opacity: 1;
  border-color: rgb(214 178 79 / var(--tw-border-opacity, 1));
}

.border-\[\#d6ebc8\] {
  --tw-border-opacity: 1;
  border-color: rgb(214 235 200 / var(--tw-border-opacity, 1));
}

.border-\[\#d7dbe2\] {
  --tw-border-opacity: 1;
  border-color: rgb(215 219 226 / var(--tw-border-opacity, 1));
}

.border-\[\#d7dde5\] {
  --tw-border-opacity: 1;
  border-color: rgb(215 221 229 / var(--tw-border-opacity, 1));
}

.border-\[\#dbe7ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(219 231 255 / var(--tw-border-opacity, 1));
}

.border-\[\#f0c3bc\] {
  --tw-border-opacity: 1;
  border-color: rgb(240 195 188 / var(--tw-border-opacity, 1));
}

.border-\[\#f1b3a5\] {
  --tw-border-opacity: 1;
  border-color: rgb(241 179 165 / var(--tw-border-opacity, 1));
}

.border-\[\#f1d7cf\] {
  --tw-border-opacity: 1;
  border-color: rgb(241 215 207 / var(--tw-border-opacity, 1));
}

.border-\[\#f2cf63\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 207 99 / var(--tw-border-opacity, 1));
}

.border-\[\#f2d4ac\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 212 172 / var(--tw-border-opacity, 1));
}

.border-\[\#f3d1cc\] {
  --tw-border-opacity: 1;
  border-color: rgb(243 209 204 / var(--tw-border-opacity, 1));
}

.border-\[\#f3d2cb\] {
  --tw-border-opacity: 1;
  border-color: rgb(243 210 203 / var(--tw-border-opacity, 1));
}

.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}

.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}

.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}

.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}

.border-amber-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}

.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.border-blue-600\/30 {
  border-color: rgb(37 99 235 / 0.3);
}

.border-brand {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-brand\/15 {
  border-color: rgb(21 128 61 / 0.15);
}

.border-brand\/20 {
  border-color: rgb(21 128 61 / 0.2);
}

.border-brand\/40 {
  border-color: rgb(21 128 61 / 0.4);
}

.border-emerald-100 {
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}

.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}

.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}

.border-emerald-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.border-emerald-600 {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}

.border-emerald-900\/10 {
  border-color: rgb(6 78 59 / 0.1);
}

.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}

.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.border-gray-800 {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.border-green-100 {
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}

.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-orange-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}

.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}

.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}

.border-orange-500 {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}

.border-primary-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-primary-600 {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}

.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.border-red-600 {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.border-rose-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));
}

.border-rose-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}

.border-rose-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}

.border-rose-600 {
  --tw-border-opacity: 1;
  border-color: rgb(225 29 72 / var(--tw-border-opacity, 1));
}

.border-sky-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / var(--tw-border-opacity, 1));
}

.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}

.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

.border-slate-200\/80 {
  border-color: rgb(226 232 240 / 0.8);
}

.border-slate-200\/90 {
  border-color: rgb(226 232 240 / 0.9);
}

.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.border-slate-500 {
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-violet-100 {
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
}

.border-violet-200 {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}

.border-violet-500 {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}

.border-white\/60 {
  border-color: rgb(255 255 255 / 0.6);
}

.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}

.border-yellow-400 {
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}

.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}

.border-l-brand {
  --tw-border-opacity: 1;
  border-left-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-l-brand\/50 {
  border-left-color: rgb(21 128 61 / 0.5);
}

.border-t-blue-600 {
  --tw-border-opacity: 1;
  border-top-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.border-t-brand {
  --tw-border-opacity: 1;
  border-top-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-t-transparent {
  border-top-color: transparent;
}

.border-t-white {
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.\!bg-white {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}

.bg-\[\#0F9D58\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 157 88 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0F9D58\]\/10 {
  background-color: rgb(15 157 88 / 0.1);
}

.bg-\[\#0f766e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}

.bg-\[\#111827\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-\[\#15803d\] {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-\[\#17191f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(23 25 31 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1b1c1f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(27 28 31 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1b1d22\] {
  --tw-bg-opacity: 1;
  background-color: rgb(27 29 34 / var(--tw-bg-opacity, 1));
}

.bg-\[\#202228\] {
  --tw-bg-opacity: 1;
  background-color: rgb(32 34 40 / var(--tw-bg-opacity, 1));
}

.bg-\[\#d1d5db\] {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-\[\#dcfce7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-\[\#e53e3e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 62 62 / var(--tw-bg-opacity, 1));
}

.bg-\[\#e8f7ee\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 247 238 / var(--tw-bg-opacity, 1));
}

.bg-\[\#ea580c\] {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.bg-\[\#edf8f1\] {
  --tw-bg-opacity: 1;
  background-color: rgb(237 248 241 / var(--tw-bg-opacity, 1));
}

.bg-\[\#eef2f7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 247 / var(--tw-bg-opacity, 1));
}

.bg-\[\#eef5fb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 245 251 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f3f4f6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f3faed\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 250 237 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f4efff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 239 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f5f8ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 248 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f6f7f9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 247 249 / var(--tw-bg-opacity, 1));
}

.bg-\[\#f8fafc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fbfbfb\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 251 251 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fcfaf8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 250 248 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fcfcfc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 252 252 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff0ec\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 240 236 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff1ef\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 239 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff4e8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 244 232 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff5f2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 245 242 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff7d6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 214 / var(--tw-bg-opacity, 1));
}

.bg-\[\#fff7ed\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.bg-\[rgba\(245\2c 203\2c 92\2c 0\.88\)\] {
  background-color: rgba(245,203,92,0.88);
}

.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.bg-amber-200\/90 {
  background-color: rgb(253 230 138 / 0.9);
}

.bg-amber-300\/55 {
  background-color: rgb(252 211 77 / 0.55);
}

.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.bg-amber-400\/10 {
  background-color: rgb(251 191 36 / 0.1);
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-50\/40 {
  background-color: rgb(255 251 235 / 0.4);
}

.bg-amber-50\/60 {
  background-color: rgb(255 251 235 / 0.6);
}

.bg-amber-50\/70 {
  background-color: rgb(255 251 235 / 0.7);
}

.bg-amber-50\/80 {
  background-color: rgb(255 251 235 / 0.8);
}

.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}

.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/45 {
  background-color: rgb(0 0 0 / 0.45);
}

.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}

.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}

.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}

.bg-black\/65 {
  background-color: rgb(0 0 0 / 0.65);
}

.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-300\/50 {
  background-color: rgb(147 197 253 / 0.5);
}

.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.bg-blue-50\/40 {
  background-color: rgb(239 246 255 / 0.4);
}

.bg-blue-50\/60 {
  background-color: rgb(239 246 255 / 0.6);
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.bg-brand {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-brand-delete {
  --tw-bg-opacity: 1;
  background-color: rgb(153 25 25 / var(--tw-bg-opacity, 1));
}

.bg-brand-light {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-brand\/10 {
  background-color: rgb(21 128 61 / 0.1);
}

.bg-brand\/20 {
  background-color: rgb(21 128 61 / 0.2);
}

.bg-brand\/25 {
  background-color: rgb(21 128 61 / 0.25);
}

.bg-brand\/5 {
  background-color: rgb(21 128 61 / 0.05);
}

.bg-brand\/60 {
  background-color: rgb(21 128 61 / 0.6);
}

.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}

.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.bg-emerald-400\/45 {
  background-color: rgb(52 211 153 / 0.45);
}

.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.bg-emerald-50\/60 {
  background-color: rgb(236 253 245 / 0.6);
}

.bg-emerald-50\/70 {
  background-color: rgb(236 253 245 / 0.7);
}

.bg-emerald-50\/95 {
  background-color: rgb(236 253 245 / 0.95);
}

.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.bg-emerald-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 44 34 / var(--tw-bg-opacity, 1));
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-50\/40 {
  background-color: rgb(249 250 251 / 0.4);
}

.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}

.bg-gray-50\/60 {
  background-color: rgb(249 250 251 / 0.6);
}

.bg-gray-50\/70 {
  background-color: rgb(249 250 251 / 0.7);
}

.bg-gray-50\/80 {
  background-color: rgb(249 250 251 / 0.8);
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-gray-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}

.bg-gray-950\/35 {
  background-color: rgb(3 7 18 / 0.35);
}

.bg-gray-950\/45 {
  background-color: rgb(3 7 18 / 0.45);
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-green-400\/50 {
  background-color: rgb(74 222 128 / 0.5);
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-green-50\/40 {
  background-color: rgb(240 253 244 / 0.4);
}

.bg-green-50\/50 {
  background-color: rgb(240 253 244 / 0.5);
}

.bg-green-50\/60 {
  background-color: rgb(240 253 244 / 0.6);
}

.bg-green-50\/70 {
  background-color: rgb(240 253 244 / 0.7);
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-green-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}

.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.bg-orange-100\/50 {
  background-color: rgb(255 237 213 / 0.5);
}

.bg-orange-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}

.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}

.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}

.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}

.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(216 180 254 / var(--tw-bg-opacity, 1));
}

.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}

.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}

.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.bg-red-100\/70 {
  background-color: rgb(254 226 226 / 0.7);
}

.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-red-400\/50 {
  background-color: rgb(248 113 113 / 0.5);
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-red-50\/30 {
  background-color: rgb(254 242 242 / 0.3);
}

.bg-red-50\/40 {
  background-color: rgb(254 242 242 / 0.4);
}

.bg-red-50\/50 {
  background-color: rgb(254 242 242 / 0.5);
}

.bg-red-50\/60 {
  background-color: rgb(254 242 242 / 0.6);
}

.bg-red-50\/70 {
  background-color: rgb(254 242 242 / 0.7);
}

.bg-red-50\/80 {
  background-color: rgb(254 242 242 / 0.8);
}

.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.bg-rose-300\/45 {
  background-color: rgb(253 164 175 / 0.45);
}

.bg-rose-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}

.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}

.bg-rose-50\/50 {
  background-color: rgb(255 241 242 / 0.5);
}

.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}

.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}

.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}

.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}

.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}

.bg-sky-50\/60 {
  background-color: rgb(240 249 255 / 0.6);
}

.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.bg-slate-300\/50 {
  background-color: rgb(203 213 225 / 0.5);
}

.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.bg-slate-50\/50 {
  background-color: rgb(248 250 252 / 0.5);
}

.bg-slate-50\/55 {
  background-color: rgb(248 250 252 / 0.55);
}

.bg-slate-50\/60 {
  background-color: rgb(248 250 252 / 0.6);
}

.bg-slate-50\/70 {
  background-color: rgb(248 250 252 / 0.7);
}

.bg-slate-50\/75 {
  background-color: rgb(248 250 252 / 0.75);
}

.bg-slate-50\/80 {
  background-color: rgb(248 250 252 / 0.8);
}

.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

.bg-slate-950\/45 {
  background-color: rgb(2 6 23 / 0.45);
}

.bg-slate-950\/55 {
  background-color: rgb(2 6 23 / 0.55);
}

.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color: transparent;
}

.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.bg-violet-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(196 181 253 / var(--tw-bg-opacity, 1));
}

.bg-violet-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}

.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.bg-violet-50\/60 {
  background-color: rgb(245 243 255 / 0.6);
}

.bg-violet-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}

.bg-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}

.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}

.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}

.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}

.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}

.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}

.bg-white\/75 {
  background-color: rgb(255 255 255 / 0.75);
}

.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}

.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.bg-yellow-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}

.bg-yellow-400\/50 {
  background-color: rgb(250 204 21 / 0.5);
}

.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.bg-yellow-50\/50 {
  background-color: rgb(254 252 232 / 0.5);
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}

.bg-\[linear-gradient\(145deg\2c \#f7faf8_0\%\2c \#ffffff_55\%\2c \#f4f7f5_100\%\)\] {
  background-image: linear-gradient(145deg,#f7faf8 0%,#ffffff 55%,#f4f7f5 100%);
}

.bg-\[radial-gradient\(circle_at_30\%_20\%\2c \#fff_0\2c \#eef2f7_42\%\2c \#dbe3ef_100\%\)\] {
  background-image: radial-gradient(circle at 30% 20%,#fff 0,#eef2f7 42%,#dbe3ef 100%);
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-\[\#fff7f5\] {
  --tw-gradient-from: #fff7f5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-red-50\/70 {
  --tw-gradient-to: rgb(254 242 242 / 0.7) var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}

.fill-current {
  fill: currentColor;
}

.stroke-\[2\.5\] {
  stroke-width: 2.5;
}

.stroke-\[3\] {
  stroke-width: 3;
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.object-center {
  -o-object-position: center;
     object-position: center;
}

.\!p-0 {
  padding: 0px !important;
}

.\!p-4 {
  padding: 1rem !important;
}

.\!p-5 {
  padding: 1.25rem !important;
}

.p-0 {
  padding: 0px;
}

.p-0\.5 {
  padding: 0.125rem;
}

.p-1 {
  padding: 0.25rem;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-10 {
  padding: 2.5rem;
}

.p-12 {
  padding: 3rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-3\.5 {
  padding: 0.875rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.\!px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.\!py-1\.5 {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-1\.5 {
  padding-bottom: 0.375rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-48 {
  padding-bottom: 12rem;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-\[18px\] {
  padding-bottom: 18px;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-11 {
  padding-left: 2.75rem;
}

.pl-12 {
  padding-left: 3rem;
}

.pl-14 {
  padding-left: 3.5rem;
}

.pl-2\.5 {
  padding-left: 0.625rem;
}

.pl-20 {
  padding-left: 5rem;
}

.pl-28 {
  padding-left: 7rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pl-7 {
  padding-left: 1.75rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pl-\[76px\] {
  padding-left: 76px;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-1\.5 {
  padding-right: 0.375rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-12 {
  padding-right: 3rem;
}

.pr-16 {
  padding-right: 4rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pr-9 {
  padding-right: 2.25rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-0\.5 {
  padding-top: 0.125rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-1\.5 {
  padding-top: 0.375rem;
}

.pt-14 {
  padding-top: 3.5rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-2\.5 {
  padding-top: 0.625rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-\[1px\] {
  padding-top: 1px;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.\!align-baseline {
  vertical-align: baseline !important;
}

.align-baseline {
  vertical-align: baseline;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

.font-display {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}

.font-mono {
  font-family: SF Mono, Fira Code, Fira Mono, Menlo, monospace;
}

.font-sans {
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[11px\] {
  font-size: 11px;
}

.text-\[12px\] {
  font-size: 12px;
}

.text-\[13px\] {
  font-size: 13px;
}

.text-\[14px\] {
  font-size: 14px;
}

.text-\[15px\] {
  font-size: 15px;
}

.text-\[16px\] {
  font-size: 16px;
}

.text-\[17px\] {
  font-size: 17px;
}

.text-\[18px\] {
  font-size: 18px;
}

.text-\[22px\] {
  font-size: 22px;
}

.text-\[25px\] {
  font-size: 25px;
}

.text-\[28px\] {
  font-size: 28px;
}

.text-\[9px\] {
  font-size: 9px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.\!leading-\[18px\] {
  line-height: 18px !important;
}

.leading-4 {
  line-height: 1rem;
}

.leading-5 {
  line-height: 1.25rem;
}

.leading-6 {
  line-height: 1.5rem;
}

.leading-7 {
  line-height: 1.75rem;
}

.leading-none {
  line-height: 1;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}

.tracking-\[-0\.035em\] {
  letter-spacing: -0.035em;
}

.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}

.tracking-\[0\.11em\] {
  letter-spacing: 0.11em;
}

.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}

.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}

.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}

.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}

.tracking-\[0\.35em\] {
  letter-spacing: 0.35em;
}

.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.\!text-emerald-300 {
  --tw-text-opacity: 1 !important;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1)) !important;
}

.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.\!text-white\/45 {
  color: rgb(255 255 255 / 0.45) !important;
}

.\!text-white\/50 {
  color: rgb(255 255 255 / 0.5) !important;
}

.\!text-white\/55 {
  color: rgb(255 255 255 / 0.55) !important;
}

.\!text-white\/70 {
  color: rgb(255 255 255 / 0.7) !important;
}

.text-\[\#078A4B\] {
  --tw-text-opacity: 1;
  color: rgb(7 138 75 / var(--tw-text-opacity, 1));
}

.text-\[\#0F9D58\] {
  --tw-text-opacity: 1;
  color: rgb(15 157 88 / var(--tw-text-opacity, 1));
}

.text-\[\#111827\] {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-\[\#14532d\] {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}

.text-\[\#15803d\] {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-\[\#1B1C1F\] {
  --tw-text-opacity: 1;
  color: rgb(27 28 31 / var(--tw-text-opacity, 1));
}

.text-\[\#1b1c1f\] {
  --tw-text-opacity: 1;
  color: rgb(27 28 31 / var(--tw-text-opacity, 1));
}

.text-\[\#2563EB\] {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.text-\[\#27272a\] {
  --tw-text-opacity: 1;
  color: rgb(39 39 42 / var(--tw-text-opacity, 1));
}

.text-\[\#275d8a\] {
  --tw-text-opacity: 1;
  color: rgb(39 93 138 / var(--tw-text-opacity, 1));
}

.text-\[\#374151\] {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-\[\#3f6212\] {
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}

.text-\[\#4b5563\] {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-\[\#52525b\] {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity, 1));
}

.text-\[\#5b6472\] {
  --tw-text-opacity: 1;
  color: rgb(91 100 114 / var(--tw-text-opacity, 1));
}

.text-\[\#64748B\] {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.text-\[\#6b7280\] {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-\[\#6c84b6\] {
  --tw-text-opacity: 1;
  color: rgb(108 132 182 / var(--tw-text-opacity, 1));
}

.text-\[\#6d3fc4\] {
  --tw-text-opacity: 1;
  color: rgb(109 63 196 / var(--tw-text-opacity, 1));
}

.text-\[\#9a6700\] {
  --tw-text-opacity: 1;
  color: rgb(154 103 0 / var(--tw-text-opacity, 1));
}

.text-\[\#9ca3af\] {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-\[\#DC2626\] {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-\[\#a81f00\] {
  --tw-text-opacity: 1;
  color: rgb(168 31 0 / var(--tw-text-opacity, 1));
}

.text-\[\#b86a5b\] {
  --tw-text-opacity: 1;
  color: rgb(184 106 91 / var(--tw-text-opacity, 1));
}

.text-\[\#b93822\] {
  --tw-text-opacity: 1;
  color: rgb(185 56 34 / var(--tw-text-opacity, 1));
}

.text-\[\#ba1a1a\] {
  --tw-text-opacity: 1;
  color: rgb(186 26 26 / var(--tw-text-opacity, 1));
}

.text-\[\#c2410c\] {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-\[\#c3392c\] {
  --tw-text-opacity: 1;
  color: rgb(195 57 44 / var(--tw-text-opacity, 1));
}

.text-\[\#c66a12\] {
  --tw-text-opacity: 1;
  color: rgb(198 106 18 / var(--tw-text-opacity, 1));
}

.text-\[\#d33322\] {
  --tw-text-opacity: 1;
  color: rgb(211 51 34 / var(--tw-text-opacity, 1));
}

.text-\[\#ea580c\] {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.text-blue-900 {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.text-brand {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-brand-delete {
  --tw-text-opacity: 1;
  color: rgb(153 25 25 / var(--tw-text-opacity, 1));
}

.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}

.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}

.text-cyan-800 {
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.text-emerald-100 {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}

.text-emerald-900\/70 {
  color: rgb(6 78 59 / 0.7);
}

.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-50 {
  --tw-text-opacity: 1;
  color: rgb(249 250 251 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-gray-950 {
  --tw-text-opacity: 1;
  color: rgb(3 7 18 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}

.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}

.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.text-orange-900 {
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity, 1));
}

.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}

.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}

.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.text-red-900 {
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}

.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}

.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}

.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}

.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}

.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}

.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}

.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.text-slate-950 {
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}

.text-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}

.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}

.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}

.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}

.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}

.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/35 {
  color: rgb(255 255 255 / 0.35);
}

.text-white\/45 {
  color: rgb(255 255 255 / 0.45);
}

.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}

.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}

.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.line-through {
  text-decoration-line: line-through;
}

.no-underline {
  text-decoration-line: none;
}

.decoration-brand\/30 {
  text-decoration-color: rgb(21 128 61 / 0.3);
}

.decoration-gray-300 {
  text-decoration-color: #d1d5db;
}

.decoration-dotted {
  text-decoration-style: dotted;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.underline-offset-4 {
  text-underline-offset: 4px;
}

.placeholder-\[\#9ca3af\]::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-\[\#9ca3af\]::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}

.placeholder-slate-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}

.accent-brand {
  accent-color: #15803D;
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_10px_20px_rgba\(211\2c 51\2c 34\2c 0\.18\)\] {
  --tw-shadow: 0 10px 20px rgba(211,51,34,0.18);
  --tw-shadow-colored: 0 10px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0 10px 30px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_28px_rgba\(17\2c 24\2c 39\2c 0\.14\)\] {
  --tw-shadow: 0 12px 28px rgba(17,24,39,0.14);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_32px_rgba\(15\2c 118\2c 110\2c 0\.16\)\] {
  --tw-shadow: 0 12px 32px rgba(15,118,110,0.16);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_35px_rgba\(20\2c 83\2c 45\2c 0\.06\)\] {
  --tw-shadow: 0 12px 35px rgba(20,83,45,0.06);
  --tw-shadow-colored: 0 12px 35px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_18px_42px_rgba\(15\2c 23\2c 42\2c 0\.18\)\] {
  --tw-shadow: 0 18px 42px rgba(15,23,42,0.18);
  --tw-shadow-colored: 0 18px 42px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_18px_44px_rgba\(15\2c 23\2c 42\2c 0\.2\)\] {
  --tw-shadow: 0 18px 44px rgba(15,23,42,0.2);
  --tw-shadow-colored: 0 18px 44px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_0_0_\#d1d5db\] {
  --tw-shadow: 0 1px 0 0 #d1d5db;
  --tw-shadow-colored: 0 1px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_2px_rgba\(15\2c 23\2c 42\2c 0\.03\)\] {
  --tw-shadow: 0 1px 2px rgba(15,23,42,0.03);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_1px_2px_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0 1px 2px rgba(15,23,42,0.04);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_20px_60px_rgba\(17\2c 24\2c 39\2c 0\.28\)\] {
  --tw-shadow: 0 20px 60px rgba(17,24,39,0.28);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_24px_70px_rgba\(15\2c 23\2c 42\2c 0\.12\)\] {
  --tw-shadow: 0 24px 70px rgba(15,23,42,0.12);
  --tw-shadow-colored: 0 24px 70px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_2px_16px_rgba\(0\2c 0\2c 0\2c 0\.10\)\2c 0_0_0_1px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 2px 16px rgba(0,0,0,0.10),0 0 0 1px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 2px 16px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_6px_18px_rgba\(185\2c 56\2c 34\2c 0\.08\)\] {
  --tw-shadow: 0 6px 18px rgba(185,56,34,0.08);
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_24px_rgba\(15\2c 23\2c 42\2c 0\.14\)\] {
  --tw-shadow: 0 8px 24px rgba(15,23,42,0.14);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_28px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 8px 28px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 8px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_10px_24px_rgba\(15\2c 23\2c 42\2c 0\.08\)\] {
  --tw-shadow: 0px 10px 24px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0px 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_5px_13px_0px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0px 5px 13px 0px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0px 5px 13px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_5px_13px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
  --tw-shadow: 0px 5px 13px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0px 5px 13px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0px_8px_18px_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0px 8px 18px rgba(15,23,42,0.04);
  --tw-shadow-colored: 0px 8px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[1px_0_0_\#f3f4f6\] {
  --tw-shadow: 1px 0 0 #f3f4f6;
  --tw-shadow-colored: 1px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.outline {
  outline-style: solid;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-inset {
  --tw-ring-inset: inset;
}

.ring-\[\#f3d1cc\] {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 209 204 / var(--tw-ring-opacity, 1));
}

.ring-amber-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1));
}

.ring-amber-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity, 1));
}

.ring-amber-300\/70 {
  --tw-ring-color: rgb(252 211 77 / 0.7);
}

.ring-blue-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}

.ring-brand {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.ring-brand\/10 {
  --tw-ring-color: rgb(21 128 61 / 0.1);
}

.ring-brand\/15 {
  --tw-ring-color: rgb(21 128 61 / 0.15);
}

.ring-brand\/20 {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.ring-brand\/30 {
  --tw-ring-color: rgb(21 128 61 / 0.3);
}

.ring-emerald-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));
}

.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}

.ring-gray-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1));
}

.ring-gray-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
}

.ring-primary-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity, 1));
}

.ring-red-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1));
}

.ring-red-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}

.ring-red-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}

.ring-rose-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 228 230 / var(--tw-ring-opacity, 1));
}

.ring-slate-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity, 1));
}

.ring-slate-200\/70 {
  --tw-ring-color: rgb(226 232 240 / 0.7);
}

.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.ring-white\/15 {
  --tw-ring-color: rgb(255 255 255 / 0.15);
}

.ring-white\/80 {
  --tw-ring-color: rgb(255 255 255 / 0.8);
}

.ring-yellow-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 224 71 / var(--tw-ring-opacity, 1));
}

.ring-yellow-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1));
}

.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[padding\] {
  transition-property: padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c height\2c max-height\2c border-radius\] {
  transition-property: width,height,max-height,border-radius;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c transform\] {
  transition-property: width,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\] {
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-150 {
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.animate-in {
    animation: fadeIn 0.2s ease-out;
  }

.\[text-decoration\:none\] {
  text-decoration: none;
}

@font-face {
  font-family: 'Digit Tech 7';
  src: url('/fonts/DigitTech7-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.meter-serial-number {
  font-family: 'Digit Tech 7', monospace;
  font-weight: 400;
  letter-spacing: 0.04em;
}

/* ==================== TABLE CHECKBOX ==================== */

/* Нативный input[type=checkbox] со стилем под дизайн-систему.
   appearance:none скрывает браузерный вид, остаётся нативная семантика. */

.table-checkbox {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  min-width: 17px;
  border-radius: 3px;
  border: 1.5px solid #d1d5db;
  background: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 120ms, border-color 120ms;
  vertical-align: middle;
}

.table-checkbox:checked {
  background: var(--app-brand-bg, #15803d);
  border-color: var(--app-brand-bg, #15803d);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
}

.table-checkbox:focus-visible {
  outline: 2px solid var(--app-brand, #166534);
  outline-offset: 2px;
}

.table-checkbox:hover:not(:checked) {
  border-color: #9ca3af;
}

/* ====================================================== */

/* ==================== GLOBAL UNDERLINE FIX ==================== */

/* Сплошное подчёркивание без пропусков под буквами */

a, button, span, div, p {
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.dashboard-main-scroll-host {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.dashboard-main-scroll-host::-webkit-scrollbar {
  display: none;
}

.app-main-scroll-host {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.app-main-scroll-host::-webkit-scrollbar {
  display: none;
}

.app-count-badge {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.app-compact-count {
  display: inline-flex;
  min-width: 20px;
  height: 18px;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #f8fafc;
  color: #64748b;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
}

body.dark-mode .app-compact-count {
  border-color: var(--app-border) !important;
  background: var(--app-surface-muted) !important;
  color: var(--app-text-soft) !important;
}

.app-vat-hint {
  display: inline-flex;
  align-items: center;
  color: var(--app-text-muted, #94a3b8) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

/* Поля назначения и периода строки счёта должны оставаться компактными,
   несмотря на глобальный размер шрифта для input. */

.invoice-line-description-input {
  font-size: 11px !important;
  line-height: 16px !important;
}

.invoice-line-period-picker input {
  font-size: 11px !important;
  line-height: 16px !important;
}

.help-page .help-modal-screenshot {
  width: min(680px, 100%) !important;
  max-width: min(680px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.help-page .help-learning-section {
  border-color: #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.help-page .help-learning-section .ob-icon-chip {
  color: var(--app-brand, #15803d);
  border: 1px solid rgba(21, 128, 61, 0.16);
  background: var(--app-brand-light, #ecfdf3);
  box-shadow: none;
}

.help-page .help-learning-section .ob-btn-ghost {
  border: 1px solid #e2e8f0;
  background: #fff;
}

body.dark-mode .help-page .help-learning-section .ob-btn-ghost {
  border-color: var(--app-border);
  background: var(--app-surface-muted);
  color: var(--app-text-soft);
}

/* Единый blur для серого/чёрного оверлея модальных окон */

[class*="fixed"][class*="inset-0"][class*="bg-black/"] {
  backdrop-filter: blur(8px);
}

/* ==================== MATERIAL 3 BASE STYLES ==================== */

/* ==================== MATERIAL 3 COMPONENTS ==================== */

.sidebar-user-menu--collapsed {
  width: 240px !important;
  min-width: 240px !important;
}

/* ==================== UTILITIES ==================== */

/* ==================== SCROLLBAR ==================== */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--md-sys-color-surface-variant);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: var(--md-sys-color-outline);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--md-sys-color-on-surface-variant);
}

/* ==================== FILTER DROPDOWNS Z-INDEX ====================
   Дропдауны фильтров используют Tailwind `z-10`, а sticky-thead имеет
   `z-20` — из-за этого шапка таблицы накрывает выпадающее меню.
   Правило вне @layer, чтобы перебить tailwind utilities layer. */

div.absolute.top-full[class*="shadow-lg"],
div.absolute.bottom-full[class*="shadow-lg"] {
  z-index: 30 !important;
}

/* Drawer счёта открывается через portal, поэтому фон размывается на уровне layout. */

body.invoice-detail-drawer-open .app-shell {
  filter: blur(4px);
  transition: filter 160ms ease-out;
}

/* ==================== DENSITY: COMPACT ====================
   Активируется через <html data-density="compact"> (см. useDensity).
   Сжимает вертикальные отступы таблиц/списков, не трогая остальной UI.
   Модалки и формы (.modal, [role="dialog"], form) не задеваются. */

/* th: только уменьшаем вертикальные отступы, шрифт не трогаем
   (иначе заголовки таблиц не вмещаются) */

html[data-density="compact"] table th {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

/* td: уменьшаем отступы и используем единый компактный шрифт */

html[data-density="compact"] table td {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

/* Sticky footer (итоги) — тоже компактный */

html[data-density="compact"] table tfoot th,
html[data-density="compact"] table tfoot td {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Иконки внутри ячеек уменьшаем чуть-чуть, чтобы строка не «прыгала» */

html[data-density="compact"] table td .lucide,
html[data-density="compact"] table td svg {
  width: 14px;
  height: 14px;
}

/* Не сжимаем содержимое модальных окон даже в компакт-режиме */

html[data-density="compact"] [role="dialog"] table th,
html[data-density="compact"] [role="dialog"] table td,
html[data-density="compact"] .modal table th,
html[data-density="compact"] .modal table td {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

html[data-density="compact"] [role="dialog"] table td,
html[data-density="compact"] .modal table td {
  font-size: 12px !important;
  line-height: 18px !important;
}

/* ==================== MODAL UI NORMALIZATION ==================== */

[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-y-auto,
[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-auto {
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-y-auto::-webkit-scrollbar,
[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-auto::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-y-auto::-webkit-scrollbar-track,
[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-auto::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 9999px;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-y-auto::-webkit-scrollbar-thumb,
[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-auto::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 9999px;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-y-auto::-webkit-scrollbar-thumb:hover,
[class*="fixed"][class*="inset-0"][class*="bg-black/"] .overflow-auto::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] button[aria-label="Закрыть"] {
  padding: 8px;
  border-radius: 8px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] button[aria-label="Закрыть"]:hover {
  background: #f3f4f6;
}

[class*="fixed"][class*="inset-0"][class*="bg-black/"] button[aria-label="Закрыть"] svg,
[class*="fixed"][class*="inset-0"][class*="bg-black/"] button[aria-label="Закрыть"] svg * {
  color: #6b7280 !important;
  stroke: #6b7280 !important;
}

/* ==================== MOBILE STYLES ==================== */

@media (hover: none) {
  .btn:active {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  
  .card-hover:active {
    box-shadow: 0px 2px 6px 2px rgba(0, 0, 0, 0.15), 0px 1px 2px 0px rgba(0, 0, 0, 0.30);
  }
  
  table tbody tr.table tbody tr {
    cursor: pointer;
  }
  
  table tbody tr.table tbody tr:hover {
    background-color: #f1f5f9; /* slate-50 */
  }
  
  .table tbody tr {
    cursor: pointer;
  }


body.dark-mode table tbody tr.table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.045);
}

.rounded-xl.border.table tbody tr,
.rounded-xl.border-gray-200.table tbody tr {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.border.table tbody tr:hover,
.rounded-xl.border-gray-200.table tbody tr:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}


.app-workspace-scroll :where(.bg-white.rounded-xl.border, .rounded-xl.border-gray-200.table tbody tr):hover {
  box-shadow: var(--ui-shadow-hover);
  transform: translateY(-1px);
}
  
  .table td {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .bottom-nav {
    padding-bottom: calc(0.5rem + env(safe-area-inset-bottom));
  }
}

@media print {
  .sidebar,
  .header,
  .btn,
  .hide-print {
    display: none;
  }
  
  .main-content {
    margin-left: 0px;
  }
  
  .card {
    border-width: 1px;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

.bg-white.rounded-xl.card {
  border-radius: var(--md-sys-shape-corner-medium);
  border-color: #E8E8E8;
  box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08);
}


body.dark-mode .bg-white.card {
  background-color: #1E293B;
  color: #E2E8F0;
}

body.dark-mode .bg-white.rounded-xl.card {
  background-color: #1E293B;
  border-color: #475569;
}


body.dark-mode .bg-white.card {
  background-color: var(--app-surface);
  color: var(--app-text);
}


body.dark-mode .bg-white.rounded-xl.card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface);
  border-color: var(--app-border);
  box-shadow: var(--app-shadow-card);
}

.rounded-xl.card.cursor-pointer {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.card.cursor-pointer:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}


.app-workspace-scroll :where(.bg-white.rounded-2xl.card, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border) {
  border-color: var(--ui-border-subtle);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow-card);
}


.app-workspace-scroll :where(.bg-white.rounded-xl.card, .rounded-xl.border-gray-200.cursor-pointer):hover {
  box-shadow: var(--ui-shadow-hover);
  transform: translateY(-1px);
}
}

/* ==================== ERROR STATES ==================== */

.text-red-500,
.text-red-600,
.text-error,
.error-message {
  color: var(--md-sys-color-error) !important;
}

.border-red-300,
.border-red-500,
.border-error {
  border-color: var(--md-sys-color-error) !important;
}

.bg-red-50,
.bg-red-100,
.bg-error-container {
  background-color: #FFF5F4 !important;
}

label .text-red-500,
.label .text-red-500 {
  color: var(--md-sys-color-error) !important;
}

/* ==================== RICH TEXT NOTES ==================== */

.note-rt { line-height: 1.55; }

.note-rt p            { margin-bottom: 0.45em; }

.note-rt p:last-child { margin-bottom: 0; }

.note-rt strong,
.note-rt b            { font-weight: 600; }

.note-rt em,
.note-rt i            { font-style: italic; }

.note-rt del, .note-rt s, .note-rt strike {
  text-decoration: line-through;
  color: #9ca3af;
}

.note-rt code {
  font-family: 'JetBrains Mono', 'Consolas', 'Courier New', monospace;
  font-size: 0.83em;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  padding: 0.1em 0.38em;
  color: #c0392b;
}

.note-rt pre {
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0.7em 1em;
  margin: 0.4em 0;
  overflow-x: auto;
}

.note-rt pre code {
  background: none;
  border: none;
  padding: 0;
  font-size: 0.8em;
  color: inherit;
}

.note-rt ul {
  list-style-type: disc;
  padding-left: 1.3em;
  margin: 0.25em 0;
}

.note-rt ol {
  list-style-type: decimal;
  padding-left: 1.3em;
  margin: 0.25em 0;
}

.note-rt li             { margin-bottom: 0.15em; }

.note-rt li:last-child  { margin-bottom: 0; }

.note-rt blockquote {
  border-left: 3px solid var(--app-brand-bg, #15803d);
  padding: 0.15em 0.75em;
  margin: 0.4em 0;
  color: #6b7280;
  font-style: italic;
  background: var(--app-brand-soft, #edf9f1);
  border-radius: 0 4px 4px 0;
}

.note-rt h1 { font-size: 1.1em;  font-weight: 600; margin-bottom: 0.2em; }

.note-rt h2 { font-size: 1.05em; font-weight: 600; margin-bottom: 0.2em; }

.note-rt h3 { font-size: 1em;    font-weight: 600; margin-bottom: 0.15em; }

.note-rt a               { color: var(--app-brand, #166534); text-decoration: underline; text-underline-offset: 2px; }

.note-rt a:hover         { color: var(--app-brand-hover, #14532d); }

/* @mention highlight */

.note-mention {
  color: var(--app-brand, #166534);
  font-weight: 500;
  background: var(--app-brand-soft, #edf9f1);
  padding: 0 3px;
  border-radius: 4px;
  white-space: nowrap;
}

/* Dark-mode overrides */

body.dark-mode .note-rt code,
html[data-theme='dark'] .note-rt code {
  background: #1e293b;
  border-color: #334155;
  color: #fb7185;
}

body.dark-mode .note-rt pre,
html[data-theme='dark'] .note-rt pre {
  background: #1e293b;
  border-color: #334155;
}

body.dark-mode .note-rt blockquote,
html[data-theme='dark'] .note-rt blockquote {
  background: var(--app-brand-soft);
  color: #94a3b8;
}

body.dark-mode .note-mention,
html[data-theme='dark'] .note-mention {
  background: var(--app-brand-soft);
  color: var(--app-brand);
}

/* ==================== ANIMATIONS ==================== */

/* Вспышка статусной плашки при смене статуса */

@keyframes badge-flash {
  0%   { opacity: 1; transform: scale(1); }
  25%  { opacity: 0.5; transform: scale(0.92); }
  60%  { opacity: 1; transform: scale(1.08); }
  100% { opacity: 1; transform: scale(1); }
}

.badge-flash {
  animation: badge-flash 320ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Pulse-эффект для новых платежей / поступлений */

@keyframes incoming-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(21, 128, 61, 0.45); }
  60%  { box-shadow: 0 0 0 8px rgba(21, 128, 61, 0); }
  100% { box-shadow: 0 0 0 0 rgba(21, 128, 61, 0); }
}

.pulse-incoming {
  animation: incoming-pulse 700ms ease-out forwards;
}

/* Count-up: лёгкий highlight числа при обновлении */

@keyframes number-highlight {
  0%   { color: inherit; }
  30%  { color: #15803d; }
  100% { color: inherit; }
}

.number-highlight {
  animation: number-highlight 800ms ease-out forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

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

/* Появление модалок: backdrop делает fade, контент — fade+scale */

@keyframes modalBackdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modalContentIn {
  from { opacity: 0; transform: scale(0.96) translateY(4px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

/* Применяется ко ВСЕМ модальным backdrop'ам (fixed inset-0 bg-black/...) */

[class*="fixed"][class*="inset-0"][class*="bg-black/"] {
  animation: modalBackdropIn 180ms ease-out;
}

/* Контент модалки внутри backdrop — белый блок с rounded углами */

[class*="fixed"][class*="inset-0"][class*="bg-black/"] > div[class*="bg-white"],
[class*="fixed"][class*="inset-0"][class*="bg-black/"] > div[class*="rounded"],
[class*="fixed"][class*="inset-0"][class*="bg-black/"] [role="dialog"],
[class*="fixed"][class*="inset-0"][class*="bg-black/"] .modal-content {
  animation: modalContentIn 200ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Плавный переход активного пункта сайдбара */

.sidebar-active,
.sidebar-inactive,
a[class*="sidebar-"],
button[class*="sidebar-"] {
  transition: background-color 180ms ease-out, color 180ms ease-out;
}

/* Респектируем reduce-motion: пользователи с этой настройкой не получают анимаций */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Override Tailwind bg-white */

.bg-white {
  background-color: #ffffff !important;
}

/* ==================== DATE PICKER CHAKRA UI STYLE ==================== */

input[type="date"] {
  position: relative;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.6;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* Chakra UI style date picker */

::-webkit-datetime-edit {
  padding: 0;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit-text {
  color: #9ca3af;
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  color: #111827;
}

::-webkit-datetime-edit-day-field:focus,
::-webkit-datetime-edit-month-field:focus,
::-webkit-datetime-edit-year-field:focus {
  background-color: #dbeafe;
  color: var(--app-brand, #166534);
  border-radius: 2px;
  outline: none;
}

/* ===== GLOBAL CARD BLOCK OVERRIDES =====
   Унифицирует стили всех блоков на сайте:
   border-radius, border, box-shadow — как на Главной странице
   ========================================= */

/* Все блоки с rounded-xl + border — основные карточки */

.bg-white.rounded-xl.border {
  border-radius: var(--md-sys-shape-corner-medium) !important;
  border-color: #E8E8E8 !important;
  box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.08), 0px 5px 13px 0px rgba(0, 0, 0, 0.08) !important;
}

/* ===== GLOBAL BUTTON COLOR OVERRIDES ===== */

/* Кнопки "Добавить" — все legacy bg-blue-* → primary green */

.bg-blue-600 {
  background-color: var(--app-brand-bg, #15803d) !important;
}

.bg-blue-600:hover,
.hover\:bg-blue-700:hover {
  background-color: var(--app-brand-hover, #166534) !important;
}

/* Кнопки "Отмена" — серый фон */

.btn-cancel {
  background-color: #0000000a;
  color: #444444;
}

.btn-cancel:hover {
  background-color: #00000012;
}

/* Override blue accents */

.bg-blue-500 {
  background-color: var(--app-brand-bg, #15803d) !important;
}

.bg-blue-700 {
  background-color: var(--app-brand-hover, #166534) !important;
}

.border-blue-600 {
  border-color: var(--app-brand-bg, #15803d) !important;
}

/* ============================================================================
   MICRO-ANIMATIONS (P2)
   ============================================================================ */

@keyframes cardEnter {
  from { opacity: 0.5; transform: translateY(5px); }
  to   { opacity: 1;   transform: translateY(0); }
}

@keyframes fadeInFast {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes modalSlideUp {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}

/* Карточки плавно появляются при монтировании */

.card,
.card-elevated {
  animation: cardEnter 160ms ease-out both;
}

/* Модальные диалоги — slide-up */

.fixed.inset-0 > div > .bg-white.rounded-xl,
.fixed.inset-0 > div > .bg-white.rounded-2xl,
.fixed.inset-0 > .flex > .bg-white.rounded-xl,
.fixed.inset-0 > .flex > .bg-white.rounded-2xl {
  animation: modalSlideUp 200ms ease-out both;
}

/* Skeleton → контент: плавный переход через opacity */

.animate-pulse {
  transition: opacity 150ms ease;
}

/* Строки таблицы — плавный hover */

table tbody tr {
  transition: background-color 100ms ease;
}

/* ============================================================================
   DARK MODE (outside @layer to ensure highest priority)
   ============================================================================ */

body.dark-mode {
  --md-sys-color-background: #0F172A;
  --md-sys-color-on-background: #E2E8F0;
  --md-sys-color-surface: #1E293B;
  --md-sys-color-on-surface: #E2E8F0;
  background-color: #0F172A !important;
  color: #E2E8F0 !important;
}

body.dark-mode .bg-white,
body.dark-mode .bg-\[\#ffffff\] {
  background-color: #1E293B !important;
}

body.dark-mode .bg-gray-50,
body.dark-mode .bg-gray-100,
body.dark-mode .bg-\[\#f3f4f6\] {
  background-color: #334155 !important;
}

body.dark-mode .bg-gray-200 {
  background-color: #475569 !important;
}

body.dark-mode .border-gray-200,
body.dark-mode .border-gray-100,
body.dark-mode .border-gray-300 {
  border-color: #475569 !important;
}

body.dark-mode .divide-gray-100 > * + *,
body.dark-mode .divide-gray-200 > * + * {
  border-color: #475569 !important;
}

body.dark-mode .text-gray-900,
body.dark-mode .text-\[\#111827\],
body.dark-mode .text-\[\#14181F\],
body.dark-mode .text-\[\#27272a\] {
  color: #F1F5F9 !important;
}

body.dark-mode .text-gray-700,
body.dark-mode .text-gray-600 {
  color: #CBD5E1 !important;
}

body.dark-mode .text-gray-500,
body.dark-mode .text-gray-400,
body.dark-mode .text-\[\#52525b\] {
  color: #94A3B8 !important;
}

body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select {
  background-color: #1E293B !important;
  color: #F1F5F9 !important;
  border-color: #475569 !important;
}

body.dark-mode .input {
  background-color: #1E293B !important;
  color: #F1F5F9 !important;
  border-color: #475569 !important;
}

body.dark-mode table thead th {
  background-color: #334155 !important;
  color: #CBD5E1 !important;
}

body.dark-mode .hover\:bg-gray-50:hover,
body.dark-mode .hover\:bg-gray-100:hover {
  background-color: #334155 !important;
}

body.dark-mode .shadow-xl,
body.dark-mode .shadow-lg,
body.dark-mode .shadow-md {
  box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
}

body.dark-mode .bg-red-50,
body.dark-mode .bg-red-50\/50 {
  background-color: rgba(127, 29, 29, 0.2) !important;
}

body.dark-mode .bg-green-50 {
  background-color: rgba(6, 78, 59, 0.2) !important;
}

body.dark-mode .bg-orange-50 {
  background-color: rgba(120, 53, 15, 0.2) !important;
}

body.dark-mode .sidebar-bg {
  background-color: #1E293B !important;
  border-right-color: #334155 !important;
}

body.dark-mode .sidebar-active {
  background-color: rgba(34, 197, 94, 0.16) !important;
  color: #86EFAC !important;
}

body.dark-mode .sidebar-inactive {
  color: #CBD5E1 !important;
}

body.dark-mode .sidebar-inactive:hover {
  background-color: #334155 !important;
}

body.dark-mode .sidebar-user-bg:hover {
  background-color: #334155 !important;
}

body.dark-mode .sidebar-border-t,
body.dark-mode .sidebar-border-bottom {
  border-color: #334155 !important;
}

body.dark-mode .logo-text {
  fill: #E2E8F0 !important;
}

body.dark-mode .bg-green-100 { background-color: rgba(6, 78, 59, 0.3) !important; }

body.dark-mode .bg-red-100 { background-color: rgba(127, 29, 29, 0.3) !important; }

body.dark-mode .bg-yellow-100 { background-color: rgba(120, 53, 15, 0.3) !important; }

body.dark-mode .bg-blue-100 { background-color: rgba(30, 58, 138, 0.3) !important; }

body.dark-mode .bg-gray-100 { background-color: #334155 !important; }

body.dark-mode ::-webkit-scrollbar-track { background: #1E293B; }

body.dark-mode ::-webkit-scrollbar-thumb { background: #475569; }

body.dark-mode ::-webkit-scrollbar-thumb:hover { background: #64748B; }

/* Inline background-color overrides (React → DOM: camelCase → kebab-case) */

body.dark-mode [style*="background-color: rgb(255, 255, 255)"],
body.dark-mode [style*="background-color:#ffffff"],
body.dark-mode [style*="background-color: #ffffff"],
body.dark-mode [style*="background-color: white"] {
  background-color: #1E293B !important;
}

body.dark-mode [style*="background-color: rgb(243, 244, 246)"],
body.dark-mode [style*="background-color:#f3f4f6"],
body.dark-mode [style*="background-color: #f3f4f6"] {
  background-color: #334155 !important;
}

body.dark-mode [style*="background-color: rgb(249, 250, 251)"],
body.dark-mode [style*="background-color:#f9fafb"],
body.dark-mode [style*="background-color: #f9fafb"] {
  background-color: #1E293B !important;
}

/* Inline box-shadow (React compiles boxShadow → box-shadow in DOM attribute) */

body.dark-mode [style*="box-shadow"] {
  box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
}

/* White rounded cards/containers */

body.dark-mode .rounded-xl.bg-white,
body.dark-mode .rounded-2xl.bg-white,
body.dark-mode .rounded-lg.bg-white {
  background-color: #1E293B !important;
}

/* Table rows */

body.dark-mode table tbody tr {
  background-color: #1E293B !important;
}

body.dark-mode table tbody tr:hover {
  background-color: #334155 !important;
}

body.dark-mode table tbody td {
  color: #E2E8F0 !important;
  border-color: #475569 !important;
}

/* ── Gap-filling: previously uncovered classes ───────────────────────────── */

/* text-gray-800 was missing */

body.dark-mode .text-gray-800,
body.dark-mode .text-\[\#1f2937\],
body.dark-mode .text-\[\#374151\] {
  color: #E2E8F0 !important;
}

/* border-gray-50 was missing */

body.dark-mode .border-gray-50 {
  border-color: #334155 !important;
}

/* bg-white opacity variants (backdrop panels, overlays) */

body.dark-mode .bg-white\/95,
body.dark-mode .bg-white\/90,
body.dark-mode .bg-white\/80 {
  background-color: rgba(30, 41, 59, 0.95) !important;
}

/* hover:bg-gray-200 */

body.dark-mode .hover\:bg-gray-200:hover {
  background-color: #475569 !important;
}

/* focus:bg-gray-100 */

body.dark-mode .focus\:bg-gray-100:focus {
  background-color: #334155 !important;
}

/* ring / outline states */

body.dark-mode .ring-gray-200,
body.dark-mode .ring-gray-300 {
  --tw-ring-color: #475569 !important;
}

/* Portal-rendered fixed popups (DatePicker, MonthPicker, InlineEdit dropdown)
   Already caught by .bg-white since they render inside body.dark-mode,
   but some use rounded-lg without shadow-lg — explicit catch: */

body.dark-mode .fixed.bg-white {
  background-color: #1E293B !important;
  border-color: #475569 !important;
}

/* Recharts charts — SVG grid lines and labels */

body.dark-mode .recharts-cartesian-grid-horizontal line,
body.dark-mode .recharts-cartesian-grid-vertical line {
  stroke: #334155 !important;
}

body.dark-mode .recharts-text tspan,
body.dark-mode .recharts-cartesian-axis-tick-value {
  fill: #94A3B8 !important;
}

body.dark-mode .recharts-default-tooltip {
  background-color: #1E293B !important;
  border-color: #475569 !important;
  color: #E2E8F0 !important;
}

body.dark-mode .recharts-legend-item-text {
  color: #94A3B8 !important;
}

/* Inline color texts (common hardcoded grays) */

body.dark-mode [style*="color: rgb(17, 24, 39)"],
body.dark-mode [style*="color:#111827"],
body.dark-mode [style*="color: #111827"] {
  color: #F1F5F9 !important;
}

body.dark-mode [style*="color: rgb(55, 65, 81)"],
body.dark-mode [style*="color:#374151"],
body.dark-mode [style*="color: #374151"] {
  color: #CBD5E1 !important;
}

body.dark-mode [style*="color: rgb(107, 114, 128)"],
body.dark-mode [style*="color:#6b7280"],
body.dark-mode [style*="color: #6b7280"] {
  color: #94A3B8 !important;
}

/* Placeholder text */

body.dark-mode input::-moz-placeholder, body.dark-mode textarea::-moz-placeholder {
  color: #64748B !important;
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
  color: #64748B !important;
}

/* Disabled form elements */

body.dark-mode input:disabled,
body.dark-mode select:disabled,
body.dark-mode textarea:disabled {
  background-color: #334155 !important;
  color: #64748B !important;
  border-color: #334155 !important;
}

/* Empty-state icons and illustrations */

body.dark-mode .text-gray-200 {
  color: #334155 !important;
}

body.dark-mode .bg-gray-200 {
  background-color: #334155 !important;
}

/* Danger zone section borders */

body.dark-mode .border-red-200 {
  border-color: rgba(239, 68, 68, 0.3) !important;
}

body.dark-mode .bg-red-50\/40 {
  background-color: rgba(127, 29, 29, 0.15) !important;
}

/* Floor plan blocks, stat cards */

body.dark-mode .bg-\[\#fcfaf8\] {
  background-color: #1E293B !important;
}

/* Dropdowns and popover menus */

body.dark-mode select,
body.dark-mode .rounded-lg.shadow-lg,
body.dark-mode .rounded-xl.shadow-lg {
  background-color: #1E293B !important;
  border-color: #475569 !important;
}

/* Buttons with white bg */

body.dark-mode button.bg-white,
body.dark-mode .bg-white.border {
  background-color: #1E293B !important;
  color: #E2E8F0 !important;
}

body.dark-mode button.bg-white:hover {
  background-color: #334155 !important;
}

/* Badges and pills */

body.dark-mode .bg-purple-100 { background-color: rgba(88, 28, 135, 0.3) !important; }

body.dark-mode .bg-blue-50 { background-color: rgba(30, 58, 138, 0.2) !important; }

body.dark-mode .bg-yellow-50 { background-color: rgba(120, 53, 15, 0.15) !important; }

/* Hover on buttons */

body.dark-mode .hover\:bg-gray-50\/80:hover {
  background-color: rgba(51, 65, 85, 0.8) !important;
}

body.dark-mode .hover\:bg-red-50:hover {
  background-color: rgba(127, 29, 29, 0.2) !important;
}

body.dark-mode .hover\:bg-orange-50:hover {
  background-color: rgba(120, 53, 15, 0.2) !important;
}

/* Modal overlays */

body.dark-mode .fixed.inset-0.bg-black\/50 {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

body.dark-mode .bg-black\/50 {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

/* Specific inline bg overrides */

body.dark-mode [style*="rgb(252, 250, 248)"] {
  background-color: #1E293B !important;
}

body.dark-mode [style*="#fcfaf8"] {
  background-color: #1E293B !important;
}

/* Toast notifications stay as-is */

/* Tabs underline */

body.dark-mode .border-transparent {
  border-color: transparent !important;
}

/* Checkboxes */

body.dark-mode .border-gray-300.bg-white {
  background-color: #1E293B !important;
}

/* Progress bars bg */

body.dark-mode .bg-gray-300 {
  background-color: #475569 !important;
}

/* Section/group headers */

body.dark-mode .border-b.border-gray-200 {
  border-color: #475569 !important;
}

body.dark-mode .border-t.border-gray-200 {
  border-color: #475569 !important;
}

/* stat counter cards on tasks page */

body.dark-mode .bg-white.rounded-xl.border {
  background-color: #1E293B !important;
  border-color: #475569 !important;
}

/* Floor plan white block */

body.dark-mode .bg-white.rounded-xl,
body.dark-mode .bg-white.rounded-lg,
body.dark-mode .bg-white.rounded-2xl {
  background-color: #1E293B !important;
}

/* Building cards - inline bg */

body.dark-mode .bg-white.overflow-hidden {
  background-color: #1E293B !important;
}

/* ==================== REFINED DARK THEME ====================
   Warm graphite SaaS theme: lower glare than pure slate, stronger hierarchy,
   and green action accents that stay readable in long evening sessions. */

:root {
  --app-bg: #fcfcfb;
  --app-shell-bg: #ffffff;
  --app-workspace-bg: #ffffff;
  --app-header-bg: rgba(255, 255, 255, 0.92);
  --app-sidebar-bg: #fcfaf8;
  --app-sidebar-border: #e7e2dd;
  --app-surface: #ffffff;
  --app-surface-raised: #ffffff;
  --app-surface-muted: #f6f4f1;
  --app-surface-soft: #fbf8f6;
  --app-border: #e7e2dd;
  --app-border-strong: #d8d1cb;
  --app-text: #171412;
  --app-text-soft: #4f4945;
  --app-text-muted: #7a716b;
  --app-text-faint: #a39a93;
  --app-brand: #166534;
  --app-brand-bg: #15803d;
  --app-brand-hover: #166534;
  --app-brand-soft: #edf9f1;
  --app-brand-border: #b7dec5;
  --app-brand-ring: rgba(21, 128, 61, 0.22);
  --app-brand-shadow: rgba(21, 128, 61, 0.22);
  --app-danger-action-bg: #991919;
  --app-danger-action-hover: #7f1d1d;
  --app-danger-action-text: #991919;
  --app-on-danger-action: #ffffff;
  --app-shadow-card: 0 5px 13px rgba(35, 24, 18, 0.08);
  --app-shadow-dropdown: 0 18px 46px rgba(35, 24, 18, 0.18), 0 4px 14px rgba(35, 24, 18, 0.08);
}

html[data-theme='dark'] {
  --app-bg: #0d0c0b;
  --app-shell-bg: #0d0c0b;
  --app-workspace-bg: #0d0c0b;
  --app-header-bg: rgba(17, 15, 14, 0.88);
  --app-sidebar-bg: linear-gradient(180deg, #151210 0%, #100f0e 62%, #0d0c0b 100%);
  --app-sidebar-border: #2e2723;
  --app-surface: #171514;
  --app-surface-raised: #1f1b19;
  --app-surface-muted: #25211f;
  --app-surface-soft: #211c1a;
  --app-border: #312a26;
  --app-border-strong: #473b35;
  --app-text: #f3eee8;
  --app-text-soft: #d4cbc3;
  --app-text-muted: #a99e96;
  --app-text-faint: #746962;
  --app-brand: #86efac;
  --app-brand-bg: #15803d;
  --app-brand-hover: #166534;
  --app-brand-soft: rgba(34, 197, 94, 0.16);
  --app-brand-border: rgba(134, 239, 172, 0.34);
  --app-brand-ring: rgba(74, 222, 128, 0.24);
  --app-brand-shadow: rgba(34, 197, 94, 0.28);
  --app-danger-action-bg: #c6483c;
  --app-danger-action-hover: #b64236;
  --app-danger-action-text: #ffb5aa;
  --app-on-danger-action: #ffffff;
  --app-shadow-card: 0 18px 42px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  --app-shadow-dropdown: 0 24px 70px rgba(0, 0, 0, 0.58), 0 4px 18px rgba(0, 0, 0, 0.38);
  --md-sys-color-background: var(--app-bg);
  --md-sys-color-on-background: var(--app-text);
  --md-sys-color-surface: var(--app-surface);
  --md-sys-color-on-surface: var(--app-text);
  --md-sys-color-surface-variant: var(--app-surface-muted);
  --md-sys-color-on-surface-variant: var(--app-text-muted);
  --md-sys-color-outline: var(--app-border-strong);
  --md-sys-color-outline-variant: var(--app-border);
  --md-sys-color-primary: var(--app-brand);
  --md-sys-color-primary-container: rgba(34, 197, 94, 0.16);
  --md-sys-color-on-primary-container: #bbf7d0;
}

html[data-theme='dark'],
html[data-theme='dark'] body,
body.dark-mode {
  background: var(--app-bg) !important;
  color: var(--app-text) !important;
}

body {
  --floating-actions-safe-area: 0rem;
  background: var(--app-bg);
  color: var(--app-text);
}

body[data-ai-enabled='true'] {
  --floating-actions-safe-area: 5.5rem;
}

.app-shell,
.app-workspace-scroll {
  background: var(--app-workspace-bg);
  color: var(--app-text);
}

.app-shell {
  --floating-actions-safe-area: 0rem;
}

.app-shell[data-ai-enabled='true'] {
  --floating-actions-safe-area: 5.5rem;
}

.app-page-canvas {
  padding-bottom: calc(1rem + var(--floating-actions-safe-area)) !important;
}

.invoice-detail-drawer-scroll {
  scroll-padding-bottom: 0;
}

@media (max-height: 820px) {
  body[data-ai-enabled='true'] .invoice-detail-drawer-scroll {
    scroll-padding-bottom: var(--floating-actions-safe-area, 0rem);
    padding-right: var(--floating-actions-safe-area, 0rem);
    padding-bottom: var(--floating-actions-safe-area, 0rem);
  }
}

@media (min-width: 1024px) {
  .app-page-canvas {
    padding-right: 1rem !important;
  }
}

.app-header {
  background: var(--app-header-bg) !important;
  border-color: var(--app-border) !important;
}

html[data-theme='dark'] .app-header {
  backdrop-filter: blur(18px) saturate(1.12);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.035), 0 10px 34px rgba(0, 0, 0, 0.22);
}

.app-footer {
  border-color: var(--app-border) !important;
}

.app-footer,
.app-footer span,
.app-footer a {
  color: var(--app-text-muted) !important;
}

.app-footer a:hover,
.app-footer button:hover {
  color: var(--app-brand) !important;
}

.app-footer .app-footer-feedback-bug {
  color: #d33322 !important;
}

.app-footer .app-footer-feedback-bug:hover {
  color: #a81f00 !important;
}

.app-footer .app-footer-feedback-idea {
  color: #168a50 !important;
}

.app-footer .app-footer-feedback-idea:hover {
  color: #0f6f41 !important;
}

.app-footer-primary {
  color: var(--app-text-muted);
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.app-footer-group {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.horizontal-scroll-area {
  position: relative;
  overflow: hidden;
}

.horizontal-scroll-area__controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 30px;
  padding: 0.25rem 0.75rem 0;
  border-bottom: 1px solid var(--ui-border-subtle);
  background: var(--app-surface, #fff);
}

.horizontal-scroll-area__label {
  flex: 0 0 auto;
  color: var(--app-text-muted, #64748b);
  font-size: 0.75rem;
  line-height: 16px;
}

.horizontal-scroll-area__top-scrollbar,
.horizontal-scroll-area__viewport {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--app-border-strong) transparent;
}

.horizontal-scroll-area__top-scrollbar {
  flex: 1 1 auto;
  min-width: 80px;
  height: 14px;
}

.horizontal-scroll-area__viewport {
  position: relative;
  scroll-padding-right: var(--floating-actions-safe-area, 5.5rem);
}

.horizontal-scroll-area::before,
.horizontal-scroll-area::after {
  content: '';
  position: absolute;
  z-index: 25;
  top: 30px;
  bottom: 0;
  width: 24px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 150ms ease-out;
}

.horizontal-scroll-area::before {
  left: 0;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.12), transparent);
}

.horizontal-scroll-area::after {
  right: 0;
  background: linear-gradient(270deg, rgba(15, 23, 42, 0.12), transparent);
}

.horizontal-scroll-area[data-can-scroll-backward='true']::before,
.horizontal-scroll-area[data-can-scroll-forward='true']::after {
  opacity: 1;
}

.theme-toggle {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--app-border);
  border-radius: 10px;
  padding: 7px 8px;
  color: var(--app-text-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.44)), var(--app-surface);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.theme-toggle:hover {
  color: var(--app-brand);
  border-color: var(--app-brand-border, color-mix(in srgb, var(--app-brand) 48%, var(--app-border)));
  transform: translateY(-1px);
}

.theme-toggle--collapsed {
  min-height: 40px;
  justify-content: center;
  padding: 8px;
}

.theme-toggle__icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--app-brand-soft);
  color: var(--app-brand);
  flex-shrink: 0;
}

.theme-toggle__text {
  min-width: 0;
  flex: 1;
  text-align: left;
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}

.theme-toggle__switch {
  width: 34px;
  height: 20px;
  border-radius: 999px;
  padding: 2px;
  background: #dfd6cf;
  transition: background 180ms ease;
  flex-shrink: 0;
}

.theme-toggle__knob {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(40, 24, 18, 0.24);
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-theme='dark'] .theme-toggle {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)), var(--app-surface-raised);
  border-color: var(--app-border);
  color: var(--app-text-soft);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

html[data-theme='dark'] .theme-toggle__switch {
  background: linear-gradient(135deg, var(--app-brand-bg, #15803d), #22c55e);
}

html[data-theme='dark'] .theme-toggle__knob {
  transform: translateX(14px);
  background: #fff4ef;
}

body.dark-mode .bg-white,
body.dark-mode .\!bg-white,
body.dark-mode .bg-\[\#ffffff\],
body.dark-mode .rounded-xl.bg-white,
body.dark-mode .rounded-2xl.bg-white,
body.dark-mode .rounded-lg.bg-white,
body.dark-mode button.bg-white,
body.dark-mode .bg-white.border {
  background-color: var(--app-surface) !important;
  color: var(--app-text) !important;
}

body.dark-mode .card,
body.dark-mode .card-elevated,
body.dark-mode .card-outlined,
body.dark-mode .bg-white.rounded-xl.border,
body.dark-mode .bg-white.rounded-xl,
body.dark-mode .bg-white.rounded-lg,
body.dark-mode .bg-white.rounded-2xl {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface) !important;
  border-color: var(--app-border) !important;
  box-shadow: var(--app-shadow-card) !important;
}

body.dark-mode .bg-gray-50,
body.dark-mode .bg-gray-100,
body.dark-mode .bg-\[\#f3f4f6\],
body.dark-mode .bg-\[\#F3F4F6\],
body.dark-mode .bg-\[\#F9FAFB\],
body.dark-mode .bg-\[\#fcfaf8\] {
  background-color: var(--app-surface-muted) !important;
}

body.dark-mode .bg-gray-200,
body.dark-mode .bg-gray-300 {
  background-color: #39312d !important;
}

body.dark-mode .border-gray-100,
body.dark-mode .border-gray-200,
body.dark-mode .border-gray-300,
body.dark-mode .border-\[\#d1d5db\],
body.dark-mode .border-\[\#E8E8E8\] {
  border-color: var(--app-border) !important;
}

body.dark-mode .divide-gray-100 > * + *,
body.dark-mode .divide-gray-200 > * + * {
  border-color: var(--app-border) !important;
}

body.dark-mode .text-gray-900,
body.dark-mode .text-\[\#111827\],
body.dark-mode .text-\[\#14181F\],
body.dark-mode .text-\[\#27272a\] {
  color: var(--app-text) !important;
}

body.dark-mode .text-gray-800,
body.dark-mode .text-gray-700,
body.dark-mode .text-gray-600 {
  color: var(--app-text-soft) !important;
}

body.dark-mode .text-gray-500,
body.dark-mode .text-gray-400,
body.dark-mode .text-\[\#52525b\],
body.dark-mode .text-\[\#9ca3af\] {
  color: var(--app-text-muted) !important;
}

body.dark-mode .text-brand,
body.dark-mode .hover\:text-brand:hover {
  color: var(--app-brand) !important;
}

body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select,
body.dark-mode .input {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.012)), var(--app-surface-raised) !important;
  color: var(--app-text) !important;
  border-color: var(--app-border-strong) !important;
}

body.dark-mode input::-moz-placeholder, body.dark-mode textarea::-moz-placeholder, body.dark-mode .placeholder-\[\#9ca3af\]::-moz-placeholder {
  color: var(--app-text-faint) !important;
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder,
body.dark-mode .placeholder-\[\#9ca3af\]::placeholder {
  color: var(--app-text-faint) !important;
}

body.dark-mode input:focus,
body.dark-mode textarea:focus,
body.dark-mode select:focus {
  border-color: var(--app-brand) !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 92, 0.14) !important;
}

body.dark-mode select option,
body.dark-mode select optgroup {
  background: var(--app-surface-raised);
  color: var(--app-text);
}

body.dark-mode table thead th,
body.dark-mode thead.sticky-head th {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.018)), var(--app-surface-muted) !important;
  color: var(--app-text-soft) !important;
  border-color: var(--app-border) !important;
  box-shadow: 0 1px 0 0 var(--app-border) !important;
}

body.dark-mode table tbody tr {
  background-color: transparent !important;
}

body.dark-mode table tbody tr:hover,
body.dark-mode .table tbody tr:hover,
body.dark-mode table tbody tr.row-clickable:hover,
body.dark-mode table tbody tr.cursor-pointer:hover {
  background-color: rgba(255, 255, 255, 0.045) !important;
}

body.dark-mode table tbody td,
body.dark-mode .table td {
  color: var(--app-text-soft) !important;
  border-color: var(--app-border) !important;
}

body.dark-mode .hover\:bg-gray-50:hover,
body.dark-mode .hover\:bg-gray-100:hover,
body.dark-mode button.bg-white:hover {
  background-color: var(--app-surface-muted) !important;
}

body.dark-mode .hover\:bg-red-50:hover,
body.dark-mode .bg-red-50,
body.dark-mode .bg-red-50\/30,
body.dark-mode .bg-red-50\/40,
body.dark-mode .bg-red-50\/50,
body.dark-mode .bg-red-50\/60,
body.dark-mode .bg-red-50\/70,
body.dark-mode .bg-red-50\/80,
body.dark-mode .bg-red-100\/70,
body.dark-mode .bg-red-100 {
  background-color: var(--status-danger-bg, rgba(255, 107, 92, 0.12)) !important;
}

body.dark-mode .bg-green-50,
body.dark-mode .bg-green-100 {
  background-color: rgba(16, 185, 129, 0.14) !important;
}

body.dark-mode .bg-yellow-50,
body.dark-mode .bg-yellow-100,
body.dark-mode .bg-orange-50 {
  background-color: rgba(245, 158, 11, 0.16) !important;
}

body.dark-mode .bg-blue-50,
body.dark-mode .bg-blue-100 {
  background-color: rgba(84, 132, 255, 0.13) !important;
}

body.dark-mode .bg-purple-100 {
  background-color: rgba(168, 122, 255, 0.13) !important;
}

body.dark-mode .rounded-lg.shadow-lg,
body.dark-mode .rounded-xl.shadow-lg,
body.dark-mode .dropdown-menu,
body.dark-mode [class*='absolute'][class*='bg-white'][class*='border'][class*='shadow'],
body.dark-mode [class*='fixed'][class*='bg-white'][class*='border'][class*='shadow'] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)), var(--app-surface-raised) !important;
  border-color: var(--app-border) !important;
  box-shadow: var(--app-shadow-dropdown) !important;
}

body.dark-mode .fixed.inset-0.bg-black\/50,
body.dark-mode .bg-black\/50,
body.dark-mode [class*='fixed'][class*='inset-0'][class*='bg-black\/'] {
  background-color: rgba(8, 7, 6, 0.74) !important;
}

body.dark-mode .sidebar-bg {
  background: var(--app-sidebar-bg) !important;
  border-right-color: var(--app-sidebar-border) !important;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.025), 12px 0 38px rgba(0, 0, 0, 0.18);
}

body.dark-mode .sidebar-active {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.20), rgba(21, 128, 61, 0.12)) !important;
  color: var(--app-brand) !important;
  box-shadow: inset 0 0 0 1px rgba(134, 239, 172, 0.14);
}

body.dark-mode .sidebar-inactive {
  color: var(--app-text-soft) !important;
}

body.dark-mode .sidebar-inactive:hover,
body.dark-mode .sidebar-user-bg:hover {
  background-color: rgba(255, 255, 255, 0.055) !important;
  color: var(--app-text) !important;
}

body.dark-mode .sidebar-border-t,
body.dark-mode .sidebar-border-b,
body.dark-mode .sidebar-border-bottom {
  border-color: var(--app-sidebar-border) !important;
}

body.dark-mode [style*='background: rgb(255, 255, 255)'],
body.dark-mode [style*='background-color: rgb(255, 255, 255)'],
body.dark-mode [style*='background: #fff'],
body.dark-mode [style*='background-color: #ffffff'],
body.dark-mode [style*='background-color:#ffffff'] {
  background: var(--app-surface) !important;
  background-color: var(--app-surface) !important;
}

body.dark-mode [style*='background: rgb(252, 250, 248)'],
body.dark-mode [style*='background-color: rgb(252, 250, 248)'],
body.dark-mode [style*='#fcfaf8'] {
  background: var(--app-bg) !important;
  background-color: var(--app-bg) !important;
}

body.dark-mode [style*='background-color: rgb(243, 244, 246)'],
body.dark-mode [style*='background-color: #f3f4f6'],
body.dark-mode [style*='background-color:#f3f4f6'] {
  background-color: var(--app-surface-muted) !important;
}

body.dark-mode [style*='color: rgb(32, 32, 32)'],
body.dark-mode [style*='color: #202020'],
body.dark-mode [style*='color:#202020'] {
  color: var(--app-text) !important;
}

body.dark-mode [style*='color: rgb(102, 102, 102)'],
body.dark-mode [style*='color: #666666'],
body.dark-mode [style*='color:#666666'],
body.dark-mode [style*='color: rgb(128, 128, 128)'],
body.dark-mode [style*='color: #808080'],
body.dark-mode [style*='color:#808080'] {
  color: var(--app-text-muted) !important;
}

body.dark-mode ::-webkit-scrollbar-track {
  background: #141210;
}

body.dark-mode ::-webkit-scrollbar-thumb {
  background: #403732;
  border: 2px solid #141210;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #5b4c45;
}

body.dark-mode .table-checkbox {
  background-color: var(--app-surface-raised);
  border-color: var(--app-border-strong);
}

body.dark-mode .table-checkbox:checked {
  background-color: var(--app-brand-bg, #15803d);
  border-color: var(--app-brand-bg, #15803d);
}

/* Compact lower-left theme toggle and dark readable debt states */

:root {
  --counterparty-row-bg: #ffffff;
  --counterparty-row-debt-bg: #fef2f2;
  --counterparty-row-selected-bg: var(--app-brand-soft);
  --building-debt-color: #dc2626;
  --building-positive-color: #15803d;
}

.theme-toggle-compact {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid var(--app-border);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.44)), var(--app-surface);
  color: var(--app-text-muted);
  box-shadow: 0 4px 12px rgba(35, 24, 18, 0.08);
  transition: transform 160ms ease, color 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.theme-toggle-compact:hover {
  color: var(--app-brand);
  border-color: color-mix(in srgb, var(--app-brand) 45%, var(--app-border));
  transform: translateY(-1px);
}

html[data-theme='dark'] {
  --counterparty-row-bg: rgba(22, 19, 17, 0.96);
  --counterparty-row-debt-bg: rgba(211, 51, 34, 0.10);
  --counterparty-row-selected-bg: rgba(34, 197, 94, 0.14);
  --building-debt-color: #ff7a6d;
  --building-positive-color: #4ade80;
}

html[data-theme='dark'] .theme-toggle-compact {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)), var(--app-surface-raised);
  border-color: var(--app-border);
  color: var(--app-text-soft);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045), 0 10px 22px rgba(0, 0, 0, 0.22);
}

html[data-theme='dark'] .theme-toggle-compact:hover {
  color: var(--app-brand);
  border-color: rgba(255, 107, 92, 0.36);
}

body.dark-mode tr[data-row-tone='selected'] {
  box-shadow: inset 3px 0 0 rgba(255, 107, 92, 0.78);
}

body.dark-mode tr[data-row-tone='selected'] td,
body.dark-mode tr[data-row-tone='debt'] td {
  color: var(--app-text-soft) !important;
}

body.dark-mode tr[data-row-tone='selected'] .text-gray-900,
body.dark-mode tr[data-row-tone='selected'] .text-gray-700,
body.dark-mode tr[data-row-tone='debt'] .text-gray-900,
body.dark-mode tr[data-row-tone='debt'] .text-gray-700 {
  color: var(--app-text) !important;
}

body.dark-mode tr[data-row-tone='selected'] .text-gray-500,
body.dark-mode tr[data-row-tone='selected'] .text-gray-600,
body.dark-mode tr[data-row-tone='debt'] .text-gray-500,
body.dark-mode tr[data-row-tone='debt'] .text-gray-600 {
  color: var(--app-text-muted) !important;
}

html[data-theme='dark'] .building-debt-tile {
  background: linear-gradient(180deg, rgba(255, 107, 92, 0.14), rgba(211, 51, 34, 0.08)) !important;
  border-color: rgba(255, 107, 92, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html[data-theme='dark'] .building-debt-label {
  color: var(--app-text-muted) !important;
}

body.dark-mode [style*='background-color: rgb(255, 245, 244)'],
body.dark-mode [style*='background-color: #FFF5F4'],
body.dark-mode [style*='background-color:#FFF5F4'] {
  background-color: rgba(255, 107, 92, 0.17) !important;
}

body.dark-mode [style*='background-color: rgb(254, 242, 242)'],
body.dark-mode [style*='background-color: #FEF2F2'],
body.dark-mode [style*='background-color:#FEF2F2'],
body.dark-mode [style*='background-color: #fef2f2'],
body.dark-mode [style*='background-color:#fef2f2'] {
  background-color: rgba(211, 51, 34, 0.10) !important;
}

/* Contracts table cost column alignment */

.contracts-cost-cell {
  text-align: right;
  vertical-align: middle;
}

.contracts-cost-stack {
  min-width: 168px;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-variant-numeric: tabular-nums;
}

.contracts-cost-amount {
  display: flex;
  justify-content: flex-end;
  line-height: 1.2;
}

.contracts-cost-inline-edit {
  position: relative;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  justify-content: flex-end;
  font-variant-numeric: tabular-nums;
}

.contracts-cost-inline-edit > svg {
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
}

.contracts-cost-meta,
.contracts-cost-footer {
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════════
   MICRO-INTERACTIONS  —  P2 premium feel
   Reference: Linear 250-300ms ease-out, Stripe smooth state
   ══════════════════════════════════════════════════════════════ */

/* ── 1. Button press feedback ──────────────────────────────── */

button:not(:disabled),
[role="button"]:not([aria-disabled="true"]) {
  transition:
    background-color 140ms ease,
    color            140ms ease,
    border-color     140ms ease,
    box-shadow       140ms ease,
    opacity          140ms ease,
    transform         80ms ease;
}

/* Haptic press: scale down slightly on click.
   Исключаем tr: трансформ на строке-«кнопке» (<tr role="button">) сдвигает
   вложенные кнопки действий между mousedown и mouseup, из-за чего click
   регистрируется на <td>, а не на самой кнопке (иконки «не нажимаются»). */

button:not(:disabled):active,
[role="button"]:not([aria-disabled="true"]):not(tr):active {
  transform: scale(0.97) !important;
}

/* Primary brand CTA: lift + glow on hover */

button.btn-primary:not(:disabled):hover,
a.btn-primary:not(:disabled):hover,
button[class*="bg-brand"]:not(:disabled):hover,
button[class*="bg-\[#d33322\]"]:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px var(--app-brand-shadow, rgba(21, 128, 61, 0.22));
}

/* ── 2. Table rows — enhanced hover transitions ─────────────── */

table tbody tr {
  transition:
    background-color 140ms ease-out,
    box-shadow       140ms ease-out;
  will-change: background-color;
}

/* Clickable rows: left accent stripe only where explicitly requested. */

table tbody tr[data-clickable]:hover {
  box-shadow: inset 3px 0 0 var(--app-brand-bg, #15803d);
}

/* ── 3. Tab underline slide ─────────────────────────────────── */

/* Tab buttons: smooth color + underline change */

nav button[class*="border-b-2"],
nav a[class*="border-b-2"],
button[class*="border-b-2"][class*="text-sm"] {
  transition:
    color        180ms ease,
    border-color 180ms ease !important;
}

/* Tab content: fade-in on mount (works because React unmounts/remounts on tab switch) */

@keyframes tab-enter {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.space-y-6 > .bg-white,
.space-y-6 > .card-elevated,
.tab-panel {
  animation: tab-enter 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── 4. Accordion — CSS grid trick (no JS height calc) ─────── */

.accordion-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-body.is-open {
  grid-template-rows: 1fr;
}

.accordion-body > .accordion-inner {
  overflow: hidden;
  /* Tiny bottom padding so content doesn't clip on close */
}

.accordion-body.is-open > .accordion-inner {
  padding-bottom: 2px;
}

/* Chevron rotation for accordion toggle */

.accordion-chevron {
  transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

.accordion-chevron.is-open {
  transform: rotate(90deg);
}

/* ── 5. Card hover lift ──────────────────────────────────────── */

.card-elevated {
  transition:
    box-shadow 200ms ease,
    transform  200ms ease;
}

.card-elevated:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.09), 0 2px 8px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

/* ── 6. KPI stat tiles (Tasks, Dashboard) ───────────────────── */

/* Clickable KPI tiles: lift on hover */

.rounded-xl.border.cursor-pointer,
.rounded-xl.border-gray-200.cursor-pointer {
  transition:
    background-color 150ms ease,
    border-color     150ms ease,
    box-shadow       150ms ease,
    transform        150ms ease;
}

.rounded-xl.border.cursor-pointer:hover,
.rounded-xl.border-gray-200.cursor-pointer:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

/* ── 7. Sidebar nav links ────────────────────────────────────── */

.sidebar-inactive {
  transition:
    background-color 150ms ease,
    color            150ms ease,
    padding-left     150ms ease !important;
}

.sidebar-active {
  transition:
    background-color 150ms ease,
    color            150ms ease !important;
}

/* ══════════════════════════════════════════════════════════════
   CALM UI SYSTEM — shared spacing, status tones and accessibility
   ══════════════════════════════════════════════════════════════ */

:root {
  --ui-control-height: 40px;
  --ui-touch-target: 44px;
  --ui-radius-control: 8px;
  --ui-radius-card: 8px;
  --ui-border-subtle: #ebe7e1;
  --ui-border-strong: #d8d1cb;
  --ui-row-hover: #f7f4f0;
  --ui-focus-ring: var(--app-brand-ring, rgba(21, 128, 61, 0.22));
  --ui-shadow-card: 0 1px 2px rgba(30, 24, 20, 0.04), 0 8px 22px rgba(30, 24, 20, 0.06);
  --ui-shadow-hover: 0 2px 4px rgba(30, 24, 20, 0.05), 0 12px 28px rgba(30, 24, 20, 0.08);
  --ui-shadow-popover: 0 8px 26px rgba(30, 24, 20, 0.12), 0 1px 4px rgba(30, 24, 20, 0.06);
  --ui-shadow-subtle: 0 1px 2px rgba(30, 24, 20, 0.04);

  --status-neutral-bg: #f7f6f4;
  --status-neutral-text: #4b5563;
  --status-neutral-border: #e5e2dd;
  --status-danger-bg: #fff4f2;
  --status-danger-text: #9f2f25;
  --status-danger-border: #f3c6bd;
  --status-warning-bg: #fff7ed;
  --status-warning-text: #9a4b12;
  --status-warning-border: #f1d0a8;
  --status-attention-bg: #fff9db;
  --status-attention-text: #7a5a12;
  --status-attention-border: #eadb91;
  --status-success-bg: #f1f8f4;
  --status-success-text: #23653f;
  --status-success-border: #c6e3d2;
  --status-info-bg: #f1f6ff;
  --status-info-text: #2b5a96;
  --status-info-border: #cbdcf3;
  --status-accent-bg: #f7f2fb;
  --status-accent-text: #6a4c87;
  --status-accent-border: #ded0ec;
}

html[data-theme='dark'] {
  --ui-border-subtle: var(--app-border);
  --ui-border-strong: var(--app-border-strong);
  --ui-row-hover: rgba(255, 255, 255, 0.045);
  --ui-focus-ring: var(--app-brand-ring, rgba(74, 222, 128, 0.24));
  --ui-shadow-card: 0 14px 36px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  --ui-shadow-hover: 0 18px 42px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --ui-shadow-popover: 0 22px 58px rgba(0, 0, 0, 0.5), 0 2px 12px rgba(0, 0, 0, 0.28);
  --ui-shadow-subtle: 0 1px 0 rgba(255, 255, 255, 0.035);

  --status-neutral-bg: rgba(255, 255, 255, 0.06);
  --status-neutral-text: #cfc7bf;
  --status-neutral-border: rgba(255, 255, 255, 0.12);
  --status-danger-bg: rgba(255, 107, 92, 0.12);
  --status-danger-text: #ffb5aa;
  --status-danger-border: rgba(255, 107, 92, 0.28);
  --status-warning-bg: rgba(245, 158, 11, 0.13);
  --status-warning-text: #f6c978;
  --status-warning-border: rgba(245, 158, 11, 0.28);
  --status-attention-bg: rgba(234, 179, 8, 0.13);
  --status-attention-text: #ead47a;
  --status-attention-border: rgba(234, 179, 8, 0.28);
  --status-success-bg: rgba(34, 197, 94, 0.12);
  --status-success-text: #9edfb4;
  --status-success-border: rgba(34, 197, 94, 0.26);
  --status-info-bg: rgba(96, 165, 250, 0.12);
  --status-info-text: #b7d5ff;
  --status-info-border: rgba(96, 165, 250, 0.25);
  --status-accent-bg: rgba(168, 122, 255, 0.12);
  --status-accent-text: #d8c7ff;
  --status-accent-border: rgba(168, 122, 255, 0.25);
}

/* Кольцо фокуса только для интерактивных элементов без своего стиля.
   input/textarea/select исключены — они стилизуются через :focus (border-color).
   Иначе при focus-visible на date-инпутах возникает двойная красная обводка. */

:where(button, a, [role='button'], [role='tab'], [role='menuitem'], [role='option']):focus-visible {
  outline: 2px solid var(--app-brand, #166534) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px var(--ui-focus-ring) !important;
}

:where(button, [role='button']):not(:disabled):not([aria-disabled='true']) {
  min-height: var(--ui-control-height);
}

:where(button, a[role='button']):has(> svg:only-child) {
  min-width: var(--ui-control-height);
  min-height: var(--ui-control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1024px) {
  :where(button, a[role='button'], [role='button']:not(tr), [role='tab'], [role='menuitem'], [role='option']):not(:disabled):not([aria-disabled='true']) {
    min-height: var(--ui-touch-target);
  }

  :where(button, a[role='button']):has(> svg:only-child) {
    min-width: var(--ui-touch-target);
    min-height: var(--ui-touch-target);
  }
}

.card,
.card-elevated,
.card-outlined,
.card-filled,
.stat-card,
.building-card,
.app-workspace-scroll :where(.bg-white.rounded-2xl.border, .bg-white.rounded-xl.border, .rounded-2xl.border-gray-200, .rounded-xl.border-gray-200, .rounded-xl.border) {
  border-color: var(--ui-border-subtle) !important;
  border-radius: var(--ui-radius-card) !important;
  box-shadow: var(--ui-shadow-card) !important;
}

.card-elevated:hover,
.card-hover:hover,
.app-workspace-scroll :where(.bg-white.rounded-xl.border, .rounded-xl.border-gray-200.cursor-pointer):hover {
  box-shadow: var(--ui-shadow-hover) !important;
  transform: translateY(-1px);
}

.table-container,
.app-workspace-scroll :where(.overflow-x-auto.bg-white.rounded-xl, .overflow-hidden.bg-white.rounded-xl) {
  border-color: var(--ui-border-subtle) !important;
  border-radius: var(--ui-radius-card) !important;
}

.app-workspace-scroll :where(.shadow-md, .shadow-lg, .shadow-xl, .shadow-2xl),
.app-workspace-scroll :where(.hover\:shadow-md:hover, .hover\:shadow-lg:hover, .hover\:shadow-xl:hover) {
  box-shadow: var(--ui-shadow-card) !important;
}

.app-workspace-scroll :where([class*='shadow-lg'], [class*='shadow-xl'], [class*='shadow-2xl']) {
  box-shadow: var(--ui-shadow-card) !important;
}

:where(.dropdown-menu, [role='menu'], [role='listbox'], [data-radix-popper-content-wrapper] > *, [class*='absolute'][class*='top-full'][class*='bg-white'][class*='shadow'], [class*='absolute'][class*='bottom-full'][class*='bg-white'][class*='shadow']) {
  border-color: var(--ui-border-subtle) !important;
  border-radius: var(--ui-radius-card) !important;
  box-shadow: var(--ui-shadow-popover) !important;
}

.dashboard-objects-table th,
.table th {
  border-color: var(--ui-border-subtle) !important;
  background-color: #faf8f5 !important;
  color: var(--app-text-muted, #6b7280) !important;
  font-size: 12px !important;
  line-height: 16px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

.dashboard-objects-table td,
.table td {
  border-color: var(--ui-border-subtle) !important;
}

.dashboard-objects-card {
  container: dashboard-objects / inline-size;
}

.dashboard-objects-table-wrap {
  overflow-x: hidden;
}

.dashboard-objects-table {
  min-width: 0 !important;
}

.dashboard-objects-table th,
.dashboard-objects-table td {
  padding-left: 8px;
  padding-right: 8px;
}

.dashboard-objects-table th:first-child,
.dashboard-objects-table td:first-child {
  padding-left: 0;
}

.dashboard-objects-table th:last-child,
.dashboard-objects-table td:last-child {
  padding-right: 0;
}

.dashboard-objects-table th:last-child {
  white-space: nowrap;
}

.dashboard-objects-occupancy {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 96px;
  margin-inline: auto;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}

.dashboard-objects-occupancy-track {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 62px;
}

.dashboard-objects-occupancy-value {
  flex: 0 0 30px;
  white-space: nowrap;
}

@container dashboard-objects (max-width: 760px) {
  .dashboard-objects-table th,
  .dashboard-objects-table td {
    padding-left: 6px;
    padding-right: 6px;
  }

  .dashboard-objects-table th:first-child,
  .dashboard-objects-table td:first-child {
    padding-left: 0;
  }

  .dashboard-objects-table th:last-child,
  .dashboard-objects-table td:last-child {
    padding-right: 0;
  }

  .dashboard-objects-table col:nth-child(1) {
    width: 20% !important;
  }

  .dashboard-objects-table col:nth-child(2) {
    width: 19% !important;
  }

  .dashboard-objects-table col:nth-child(3),
  .dashboard-objects-table col:nth-child(4) {
    width: 7% !important;
  }

  .dashboard-objects-table col:nth-child(5) {
    width: 15% !important;
  }

  .dashboard-objects-table col:nth-child(6),
  .dashboard-objects-table col:nth-child(7) {
    width: 16% !important;
  }
}

.building-card {
  min-height: 390px;
}

.building-card-summary {
  min-height: 68px;
}

.building-card-title-row,
.building-card-address-row,
.building-card-manager-row {
  min-height: 18px;
  line-height: 18px;
}

.building-card-manager-row button {
  min-height: 0 !important;
}

.building-card-stats [class*='bg-gray-50'],
.building-card-stats .building-debt-tile,
.building-card-finance [class*='bg-gray-50'],
.building-card-finance .building-debt-tile {
  min-height: 52px;
  border-radius: var(--ui-radius-control);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.building-card-actions {
  min-height: 34px;
}

.dense-icon-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 0.5rem !important;
}

.dense-icon-actions button,
.dense-icon-actions a[role='button'] {
  min-width: 28px !important;
  min-height: 28px !important;
}

.dense-icon-actions button:has(> svg:only-child),
.dense-icon-actions a[role='button']:has(> svg:only-child) {
  width: 28px !important;
  height: 28px !important;
  padding: 6px !important;
}

.dashboard-mini-pager button {
  min-width: 22px !important;
  min-height: 22px !important;
}

.dashboard-mini-pager button:has(> svg:only-child) {
  width: 22px !important;
  height: 22px !important;
  padding: 2px !important;
}

.dashboard-finance-card {
  container-type: inline-size;
}

.dashboard-block-header {
  display: flex;
  min-height: 22px;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.dashboard-block-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.dashboard-finance-group-toggle {
  display: inline-flex;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin-left: -8px;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border-radius: 4px;
}

body.dark-mode .dashboard-block-title {
  color: var(--app-text) !important;
}

body.dark-mode .dashboard-finance-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), var(--app-surface) !important;
  border-color: var(--app-border) !important;
}

body.dark-mode .dashboard-finance-kpis,
body.dark-mode .dashboard-finance-list {
  background: var(--app-surface-raised) !important;
  border-color: var(--app-border) !important;
}

body.dark-mode .dashboard-finance-kpi,
body.dark-mode .dashboard-finance-kpi + .dashboard-finance-kpi,
body.dark-mode .dashboard-finance-kpi:nth-child(-n + 2),
body.dark-mode .dashboard-finance-kpi:first-child,
body.dark-mode .dashboard-finance-kpi:not(:last-child) {
  border-color: var(--app-border) !important;
}

body.dark-mode .dashboard-finance-card .text-\[\#078A4B\] {
  color: #4ade80 !important;
}

body.dark-mode .dashboard-finance-card .text-\[\#DC2626\] {
  color: #f87171 !important;
}

.dashboard-top-grid {
  display: flex;
  align-items: stretch;
  gap: 1rem;
}

.dashboard-top-grid .dashboard-finance-card {
  flex: 4 1 0;
  min-width: 0;
}

.dashboard-top-grid .dashboard-attention-card,
.dashboard-top-grid .dashboard-events-card {
  flex: 3 1 0;
  min-width: 0;
}

@media (max-width: 1023px) {
  .dashboard-top-grid {
    flex-direction: column;
  }

  .dashboard-top-grid .dashboard-finance-card,
  .dashboard-top-grid .dashboard-attention-card,
  .dashboard-top-grid .dashboard-events-card {
    flex: 1 1 auto;
  }
}

body.dark-mode .dashboard-quick-actions-popover {
  background: var(--app-surface-raised) !important;
  border-color: var(--app-border) !important;
}

body.dark-mode .dashboard-quick-actions-popover button {
  background: var(--app-surface-raised) !important;
  border-color: var(--app-border) !important;
}

.dashboard-finance-kpis {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.dashboard-finance-kpi {
  min-width: 0;
  padding: 0.75rem 1rem;
}

.dashboard-finance-kpi + .dashboard-finance-kpi {
  border-top: 1px solid #e2e8f0;
}

.dashboard-finance-kpi-label,
.dashboard-finance-kpi-value {
  white-space: nowrap;
}

.dashboard-finance-kpi-value {
  font-variant-numeric: tabular-nums;
  overflow: visible;
  text-overflow: clip;
}

@container (min-width: 380px) and (max-width: 499px) {
  .dashboard-finance-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-finance-kpi {
    padding-inline: 0.75rem;
    border-top: 0 !important;
  }

  .dashboard-finance-kpi:nth-child(-n + 2) {
    border-bottom: 1px solid #e2e8f0;
  }

  .dashboard-finance-kpi:first-child {
    border-right: 1px solid #e2e8f0;
  }

  .dashboard-finance-kpi:last-child {
    grid-column: 1 / -1;
  }
}

@container (min-width: 500px) {
  .dashboard-finance-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-finance-kpi {
    border-top: 0 !important;
  }

  .dashboard-finance-kpi:not(:last-child) {
    border-right: 1px solid #e2e8f0;
  }
}

.dashboard-finance-comparison {
  font-size: 11px;
  line-height: 14px;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.dashboard-finance-tab {
  min-height: 36px !important;
}

.dashboard-finance-table button {
  min-height: 16px !important;
}

.subscription-usage-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.counterparty-group-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.reports-tab-strip {
  gap: clamp(1rem, 2vw, 2rem);
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 32px), transparent 100%);
  mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 32px), transparent 100%);
}

.reports-tab-strip > button {
  scroll-snap-align: nearest;
}

.counterparty-portal-action {
  width: 92px !important;
  height: 28px !important;
  min-width: 92px !important;
  min-height: 28px !important;
}

.counterparty-portal-action button {
  min-height: 16px !important;
}

.dashboard-documents-card tbody td,
.dashboard-documents-card tbody td :where(a, button, span, div),
.dashboard-documents-card .dashboard-documents-mobile-list > div,
.dashboard-documents-card .dashboard-documents-mobile-list > div :where(a, button, span, div) {
  font-size: 12px !important;
  line-height: 18px;
}

.dashboard-objects-table tbody tr:hover,
.table tbody tr:hover,
table tbody tr.row-clickable:hover,
table tbody tr[data-clickable]:hover {
  background-color: var(--ui-row-hover) !important;
}

table tbody tr[data-clickable]:hover {
  box-shadow: inset 2px 0 0 var(--app-brand-bg, #15803d) !important;
}

.badge-success,
.bg-green-50,
.bg-green-100,
.bg-emerald-50,
.bg-emerald-100,
.hover\:bg-green-50:hover,
.hover\:bg-green-100:hover,
.hover\:bg-emerald-50:hover {
  background-color: var(--status-success-bg) !important;
}

.text-green-500,
.text-green-600,
.text-green-700,
.text-emerald-500,
.text-emerald-600,
.text-emerald-700 {
  color: var(--status-success-text) !important;
}

.border-green-200,
.border-green-300,
.border-emerald-200,
.border-emerald-300 {
  border-color: var(--status-success-border) !important;
}

.badge-danger,
.badge-error,
.bg-red-50,
.bg-red-50\/50,
.bg-red-50\/40,
.bg-red-100,
.hover\:bg-red-50:hover,
.hover\:bg-red-100:hover {
  background-color: var(--status-danger-bg) !important;
}

.text-red-400,
.text-red-500,
.text-red-600,
.text-red-700,
.text-red-800,
.text-error,
.error-message {
  color: var(--status-danger-text) !important;
}

.border-red-200,
.border-red-300,
.border-red-500,
.border-red-600,
.border-error {
  border-color: var(--status-danger-border) !important;
}

.badge-warning,
.bg-yellow-50,
.bg-yellow-100,
.bg-orange-50,
.bg-orange-100,
.hover\:bg-yellow-50:hover,
.hover\:bg-orange-50:hover {
  background-color: var(--status-warning-bg) !important;
}

.text-yellow-600,
.text-yellow-700,
.text-yellow-800,
.text-orange-500,
.text-orange-600,
.text-orange-700 {
  color: var(--status-warning-text) !important;
}

.border-yellow-200,
.border-orange-200,
.border-orange-300 {
  border-color: var(--status-warning-border) !important;
}

.badge-info,
.bg-blue-50,
.bg-blue-100,
.hover\:bg-blue-50:hover {
  background-color: var(--status-info-bg) !important;
}

.text-blue-500,
.text-blue-600,
.text-blue-700,
.text-sky-600,
.text-sky-700 {
  color: var(--status-info-text) !important;
}

.border-blue-200,
.border-blue-300,
.border-sky-200,
.border-sky-300 {
  border-color: var(--status-info-border) !important;
}

.bg-purple-50,
.bg-purple-100,
.hover\:bg-purple-50:hover {
  background-color: var(--status-accent-bg) !important;
}

.text-purple-600,
.text-purple-700 {
  color: var(--status-accent-text) !important;
}

.border-purple-200,
.border-purple-300 {
  border-color: var(--status-accent-border) !important;
}

.app-workspace-scroll :where([style*='color: #dc2626'], [style*='color:#dc2626'], [style*='color: #ef4444'], [style*='color:#ef4444'], [style*='color: #b91c1c'], [style*='color:#b91c1c'], [style*='color: rgb(220, 38, 38)'], [style*='color: rgb(239, 68, 68)'], [style*='color: rgb(185, 28, 28)']) {
  color: var(--status-danger-text) !important;
}

.app-workspace-scroll :where([style*='color: #15803d'], [style*='color:#15803d'], [style*='color: #16a34a'], [style*='color:#16a34a'], [style*='color: #10b981'], [style*='color:#10b981'], [style*='color: rgb(21, 128, 61)'], [style*='color: rgb(22, 163, 74)'], [style*='color: rgb(16, 185, 129)']) {
  color: var(--status-success-text) !important;
}

.app-workspace-scroll :where([style*='background-color: #fef2f2'], [style*='background-color:#fef2f2'], [style*='background-color: #fff5f4'], [style*='background-color:#fff5f4'], [style*='background-color: rgb(254, 242, 242)'], [style*='background-color: rgb(255, 245, 244)']) {
  background-color: var(--status-danger-bg) !important;
}

.app-workspace-scroll :where([style*='background-color: #f0fdf4'], [style*='background-color:#f0fdf4'], [style*='background-color: #ecfdf5'], [style*='background-color:#ecfdf5'], [style*='background-color: rgb(240, 253, 244)'], [style*='background-color: rgb(236, 253, 245)']) {
  background-color: var(--status-success-bg) !important;
}

.app-workspace-scroll :where([style*='border-color: #fecaca'], [style*='border-color:#fecaca'], [style*='border-color: #fca5a5'], [style*='border-color:#fca5a5']) {
  border-color: var(--status-danger-border) !important;
}

.app-workspace-scroll :where([style*='border-color: #bbf7d0'], [style*='border-color:#bbf7d0'], [style*='border-color: #86efac'], [style*='border-color:#86efac']) {
  border-color: var(--status-success-border) !important;
}

body.dark-mode table th,
body.dark-mode .table th {
  background-color: var(--app-surface-muted) !important;
}

/* Final theme bridge for legacy Tailwind utilities and inline colors.
   This keeps old screens readable while new code moves to design tokens. */

.bg-brand,
.bg-\[\#d33322\],
.bg-\[\#D33322\] {
  background-color: var(--app-brand-bg, #15803d) !important;
}

.hover\:bg-brand-hover:hover,
.hover\:bg-\[\#c3392c\]:hover,
.hover\:bg-\[\#C3392C\]:hover,
.hover\:bg-\[\#b93822\]:hover,
.hover\:bg-\[\#B93822\]:hover {
  background-color: var(--app-brand-hover, #166534) !important;
}

.text-brand,
.hover\:text-brand:hover,
.text-\[\#c3392c\],
.text-\[\#C3392C\],
.hover\:text-\[\#c3392c\]:hover,
.hover\:text-\[\#C3392C\]:hover {
  color: var(--app-brand) !important;
}

.text-brand.bg-red-50,
.text-brand.bg-red-100,
.text-\[\#c3392c\].bg-red-50,
.text-\[\#C3392C\].bg-red-50,
.bg-red-50.text-brand,
.bg-red-100.text-brand,
.bg-red-50.text-\[\#c3392c\],
.bg-red-50.text-\[\#C3392C\],
.border-brand.bg-red-50,
.border-brand.bg-red-100 {
  background-color: var(--app-brand-soft) !important;
}

.text-brand.hover\:bg-red-50:hover,
.hover\:text-brand.hover\:bg-red-50:hover,
.hover\:text-\[\#c3392c\].hover\:bg-red-50:hover,
.hover\:text-\[\#C3392C\].hover\:bg-red-50:hover,
.hover\:border-brand.hover\:bg-red-50:hover {
  background-color: var(--app-brand-soft) !important;
}

.hover\:text-brand.hover\:border-red-200:hover,
.hover\:border-red-200.hover\:bg-red-50:hover,
.hover\:border-red-200.hover\:bg-red-50\/50:hover {
  border-color: var(--app-brand-border, var(--app-brand)) !important;
}

.border-brand,
.hover\:border-brand:hover,
.border-\[\#d33322\],
.border-\[\#D33322\] {
  border-color: var(--app-brand-border, var(--app-brand)) !important;
}

.bg-brand-light,
.bg-brand\/10,
.bg-brand\/15,
.bg-brand\/20,
.bg-brand\/30,
.bg-brand\/40 {
  background-color: var(--app-brand-soft) !important;
}

.bg-brand\/50,
.bg-brand\/60,
.bg-brand\/80,
.hover\:bg-brand\/60:hover,
.hover\:bg-brand\/80:hover {
  background-color: color-mix(in srgb, var(--app-brand-bg, #15803d) 72%, transparent) !important;
}

.border-brand\/15,
.border-brand\/20,
.border-brand\/30,
.border-brand\/40,
.border-brand\/50,
.hover\:border-brand\/30:hover,
.hover\:border-brand\/40:hover,
.hover\:border-brand\/50:hover {
  border-color: var(--app-brand-border, color-mix(in srgb, var(--app-brand) 42%, var(--app-border))) !important;
}

.focus-visible\:outline-brand\/50:focus-visible {
  outline-color: color-mix(in srgb, var(--app-brand) 54%, transparent) !important;
}

.ring-brand\/10,
.ring-brand\/15,
.ring-brand\/20,
.ring-brand\/30,
.focus\:ring-brand\/20:focus,
.focus\:ring-brand\/30:focus,
.focus-visible\:ring-brand\/20:focus-visible,
.focus-visible\:ring-brand\/30:focus-visible {
  --tw-ring-color: var(--app-brand-ring, color-mix(in srgb, var(--app-brand) 28%, transparent)) !important;
}

.text-brand-delete,
.hover\:text-brand-delete:hover {
  color: var(--app-danger-action-text) !important;
}

.bg-brand-delete {
  background-color: var(--app-danger-action-bg) !important;
  color: var(--app-on-danger-action) !important;
}

.hover\:bg-red-900:hover,
.hover\:bg-brand-delete:hover {
  background-color: var(--app-danger-action-hover) !important;
}

.hover\:text-red-500:hover,
.hover\:text-red-600:hover,
.hover\:text-red-700:hover,
.hover\:text-red-800:hover {
  color: var(--status-danger-text) !important;
}

:where(
  [style*='background-color: #d33322'],
  [style*='background-color:#d33322'],
  [style*='background-color: #D33322'],
  [style*='background-color:#D33322'],
  [style*='background-color: rgb(211, 51, 34)'],
  [style*='background: #d33322'],
  [style*='background:#d33322'],
  [style*='background: #D33322'],
  [style*='background:#D33322']
) {
  background-color: var(--app-brand-bg, #15803d) !important;
}

:where(
  [style*='border-color: #d33322'],
  [style*='border-color:#d33322'],
  [style*='border-color: #D33322'],
  [style*='border-color:#D33322'],
  [style*='border-color: rgb(211, 51, 34)'],
  [style*='border: 1px solid #d33322'],
  [style*='border:1px solid #d33322'],
  [style*='border: 1px solid rgb(211, 51, 34)']
) {
  border-color: var(--app-brand-border, var(--app-brand)) !important;
}

:where(
  [style*='outline: 1.5px solid #d33322'],
  [style*='outline:1.5px solid #d33322'],
  [style*='outline: 1.5px solid #D33322'],
  [style*='outline:1.5px solid #D33322'],
  [style*='outline: 1.5px solid rgb(211, 51, 34)']
) {
  outline-color: var(--app-brand) !important;
}

:where(
  [style*='color: #dc2626'],
  [style*='color:#dc2626'],
  [style*='color: #DC2626'],
  [style*='color:#DC2626'],
  [style*='color: #ef4444'],
  [style*='color:#ef4444'],
  [style*='color: #b91c1c'],
  [style*='color:#b91c1c'],
  [style*='color: #991919'],
  [style*='color:#991919'],
  [style*='color: rgb(220, 38, 38)'],
  [style*='color: rgb(239, 68, 68)'],
  [style*='color: rgb(185, 28, 28)'],
  [style*='color: rgb(153, 25, 25)']
) {
  color: var(--status-danger-text) !important;
}

:where(
  [style*='background-color: #dc2626'],
  [style*='background-color:#dc2626'],
  [style*='background-color: #DC2626'],
  [style*='background-color:#DC2626'],
  [style*='background-color: #b91c1c'],
  [style*='background-color:#b91c1c'],
  [style*='background-color: #991919'],
  [style*='background-color:#991919'],
  [style*='background-color: rgb(220, 38, 38)'],
  [style*='background-color: rgb(185, 28, 28)'],
  [style*='background-color: rgb(153, 25, 25)']
) {
  background-color: var(--app-danger-action-bg) !important;
}

body.dark-mode :where(
  [fill='#dc2626'],
  [fill='#DC2626'],
  [fill='#ef4444'],
  [fill='#EF4444'],
  [fill='#b91c1c'],
  [fill='#B91C1C']
) {
  fill: var(--status-danger-text) !important;
}

body.dark-mode :where(
  [stroke='#dc2626'],
  [stroke='#DC2626'],
  [stroke='#ef4444'],
  [stroke='#EF4444'],
  [stroke='#b91c1c'],
  [stroke='#B91C1C']
) {
  stroke: var(--status-danger-text) !important;
}

/* ============================================================================
   COMPREHENSIVE THEME FIXES (загружается последним → выигрывает каскад)
   Закрывает пробелы тёмной темы: opacity-варианты фонов, палитра slate,
   произвольные светлые hex-фоны, чекбоксы, скроллбары в модалках,
   и текст в брендовых кнопках (в обеих темах).
   ============================================================================ */

/* ── 1. Брендовые кнопки: белый текст и иконки в ОБЕИХ темах ──────────────
   text-white/btn-primary иногда теряли цвет текста (тёмный текст на красном
   фоне → не видно). Принудительно белый, в т.ч. для вложенных lucide-иконок. */

button[class*='text-white'],
a[class*='text-white'],
.btn-primary,
.btn-filled {
  color: #fff !important;
}

button[class*='text-white'] svg,
a[class*='text-white'] svg,
.btn-primary svg,
.btn-filled svg,
button[class*='text-white'] svg *,
a[class*='text-white'] svg * {
  color: #fff !important;
  stroke: #fff !important;
}

/* ── 2. Opacity-варианты светлых фонов (bg-gray-50/40, bg-white/80 и т.п.) ──
   Tailwind генерирует имя класса буквально со слешем, ловим подстрокой. */

body.dark-mode [class*='bg-white/'],
body.dark-mode [class*='bg-gray-50/'],
body.dark-mode [class*='bg-gray-100/'],
body.dark-mode [class*='bg-gray-200/'],
body.dark-mode [class*='bg-slate-50/'],
body.dark-mode [class*='bg-slate-100/'] {
  background-color: var(--app-surface-muted) !important;
}

/* Hover-варианты opacity-фонов → лёгкая подсветка вместо светлого пятна */

body.dark-mode [class*='hover:bg-gray-50/']:hover,
body.dark-mode [class*='hover:bg-gray-100/']:hover,
body.dark-mode [class*='hover:bg-white/']:hover {
  background-color: rgba(255, 255, 255, 0.06) !important;
}

/* ── 3. Произвольные светлые hex-фоны (bg-[#fbfbfb] и т.п.) ─────────────── */

body.dark-mode .bg-\[\#fbfbfb\],
body.dark-mode .bg-\[\#fcfcfc\],
body.dark-mode .bg-\[\#fafafa\],
body.dark-mode .bg-\[\#fffaf5\],
body.dark-mode .bg-\[\#fbf8f6\],
body.dark-mode .bg-\[\#f9fafb\],
body.dark-mode .bg-\[\#F9FAFB\],
body.dark-mode .hover\:bg-\[\#fffaf5\]:hover {
  background-color: var(--app-surface-muted) !important;
}

/* ── 4. Палитра slate (страница «Помощь» и др.) — не имела маппинга ─────── */

body.dark-mode [class*='text-slate-9'],
body.dark-mode [class*='text-slate-8'],
body.dark-mode [class*='text-slate-7'] {
  color: var(--app-text) !important;
}

body.dark-mode [class*='text-slate-6'],
body.dark-mode [class*='text-slate-5'],
body.dark-mode [class*='text-slate-4'] {
  color: var(--app-text-muted) !important;
}

/* strong внутри карточек с arbitrary-вариантом [&_strong]:text-slate-900 */

body.dark-mode [class*='[&_strong]:text-slate'] strong {
  color: var(--app-text) !important;
}

body.dark-mode [class*='bg-slate-50'],
body.dark-mode [class*='bg-slate-100'] {
  background-color: var(--app-surface-muted) !important;
}

body.dark-mode [class*='border-slate-'] {
  border-color: var(--app-border) !important;
}

body.dark-mode .placeholder-slate-400::-moz-placeholder {
  color: var(--app-text-faint) !important;
}

body.dark-mode .placeholder-slate-400::placeholder {
  color: var(--app-text-faint) !important;
}

/* ── 5. Градиенты «из белого» (hero «Помощь») → плоский тёмный фон ──────── */

body.dark-mode [class*='bg-gradient-to'][class*='from-white'],
body.dark-mode [class*='bg-gradient-to'][class*='via-white'] {
  background-image: none !important;
  background-color: var(--app-surface) !important;
}

/* ── 6. Дополнительные цветные пастельные фоны (amber/violet/teal/...) ──── */

body.dark-mode .bg-amber-50,
body.dark-mode [class*='bg-amber-50/'],
body.dark-mode .bg-amber-100 {
  background-color: rgba(245, 158, 11, 0.14) !important;
}

body.dark-mode .bg-violet-50,
body.dark-mode .bg-indigo-50,
body.dark-mode .bg-purple-50,
body.dark-mode [class*='bg-violet-50/'],
body.dark-mode [class*='bg-indigo-50/'] {
  background-color: rgba(139, 92, 246, 0.14) !important;
}

body.dark-mode .bg-violet-100,
body.dark-mode .bg-indigo-100 {
  background-color: rgba(139, 92, 246, 0.18) !important;
}

body.dark-mode .bg-teal-50,
body.dark-mode .bg-emerald-50,
body.dark-mode .bg-sky-50,
body.dark-mode .bg-cyan-50 {
  background-color: rgba(20, 184, 166, 0.12) !important;
}

body.dark-mode .bg-rose-50,
body.dark-mode .bg-pink-50 {
  background-color: rgba(244, 63, 94, 0.12) !important;
}

/* Цветные hover-фоны тоже должны оставаться тёмными.
   Иначе светлый текст тёмной темы пропадает на пастельной Tailwind-подсветке. */

body.dark-mode [class*='hover:bg-brand-light']:hover {
  background-color: var(--app-brand-soft) !important;
}

body.dark-mode [class*='hover:bg-violet-50']:hover,
body.dark-mode [class*='hover:bg-violet-100']:hover,
body.dark-mode [class*='hover:bg-indigo-50']:hover,
body.dark-mode [class*='hover:bg-indigo-100']:hover,
body.dark-mode [class*='hover:bg-purple-50']:hover,
body.dark-mode [class*='hover:bg-purple-100']:hover {
  background-color: rgba(139, 92, 246, 0.18) !important;
}

body.dark-mode [class*='hover:bg-amber-50']:hover,
body.dark-mode [class*='hover:bg-amber-100']:hover {
  background-color: rgba(245, 158, 11, 0.16) !important;
}

body.dark-mode [class*='hover:bg-teal-50']:hover,
body.dark-mode [class*='hover:bg-teal-100']:hover,
body.dark-mode [class*='hover:bg-emerald-50']:hover,
body.dark-mode [class*='hover:bg-emerald-100']:hover,
body.dark-mode [class*='hover:bg-sky-50']:hover,
body.dark-mode [class*='hover:bg-sky-100']:hover,
body.dark-mode [class*='hover:bg-cyan-50']:hover,
body.dark-mode [class*='hover:bg-cyan-100']:hover {
  background-color: rgba(20, 184, 166, 0.16) !important;
}

body.dark-mode [class*='hover:bg-rose-50']:hover,
body.dark-mode [class*='hover:bg-rose-100']:hover,
body.dark-mode [class*='hover:bg-pink-50']:hover,
body.dark-mode [class*='hover:bg-pink-100']:hover {
  background-color: rgba(244, 63, 94, 0.16) !important;
}

/* ── 7. Inline-стили со светлыми фонами/тёмным текстом ──────────────────── */

body.dark-mode [style*='#eff6ff'],
body.dark-mode [style*='rgb(239, 246, 255)'] {
  background-color: rgba(84, 132, 255, 0.13) !important;
}

body.dark-mode [style*='background-color: #fbfbfb'],
body.dark-mode [style*='background-color:#fbfbfb'],
body.dark-mode [style*='background-color: #fcfcfc'],
body.dark-mode [style*='background-color:#fcfcfc'],
body.dark-mode [style*='background-color: #fafafa'],
body.dark-mode [style*='background-color:#fafafa'] {
  background-color: var(--app-surface-muted) !important;
}

/* Полупрозрачный чёрный фон (#0000000a) кнопок «Отмена» → светлая подложка */

body.dark-mode [style*='#0000000a'],
body.dark-mode [style*='rgba(0, 0, 0, 0.04)'],
body.dark-mode [style*='rgba(0,0,0,0.04)'] {
  background-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode [style*='color: #444'],
body.dark-mode [style*='color:#444'],
body.dark-mode [style*='color: #555'],
body.dark-mode [style*='color:#555'] {
  color: var(--app-text-soft) !important;
}

/* ── 8. Чекбоксы и радиокнопки — заметная рамка в тёмной теме ───────────── */

body.dark-mode .table-checkbox {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border-color: #6b5d56 !important;
}

body.dark-mode .table-checkbox:checked {
  background-color: var(--app-brand-bg, #15803d) !important;
  border-color: var(--app-brand-bg, #15803d) !important;
  /* Перебиваем градиент из общего правила body.dark-mode input — иначе галочка не видна */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 11px 11px !important;
}

body.dark-mode .table-checkbox:hover:not(:checked) {
  border-color: #8a7b72 !important;
}

body.dark-mode input[type='checkbox']:not(.table-checkbox),
body.dark-mode input[type='radio'] {
  accent-color: var(--app-brand-bg, #15803d) !important;
}

/* ── 9. Скроллбары в модалках (utility-классы [&::-webkit-scrollbar...]) ── */

body.dark-mode ::-webkit-scrollbar-thumb {
  background: #5b5048 !important;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #6f615a !important;
}

body.dark-mode [class*='scrollbar-thumb']::-webkit-scrollbar-thumb {
  background-color: #6b5d56 !important;
}

body.dark-mode [class*='scrollbar-track']::-webkit-scrollbar-track {
  background-color: var(--app-surface-raised) !important;
}

/* ── 10. Unified tabs and tab counters ─────────────────────────────────── */

:root {
  --app-tab-active-text: #14532d;
  --app-tab-inactive-text: #52525b;
  --app-tab-count-muted: #6b7280;
}

body.dark-mode {
  --app-tab-active-text: #86efac;
  --app-tab-inactive-text: var(--app-text-muted);
  --app-tab-count-muted: var(--app-text-faint);
}

nav :where(button, a)[class*='border-b-2'],
nav :where(button, a)[class*='border-b-[3px]'],
div[class*='border-b'] > button[class*='border-b-2'],
div[class*='border-b'] > button[class*='border-b-[3px]'],
div[class*='border-b'] > div > button[class*='border-b-2'],
div[class*='border-b'] > div > button[class*='border-b-[3px]'],
button[class*='border-b-2'][class*='text-sm'],
button[class*='border-b-[3px]'][class*='text-sm'] {
  border-bottom-width: 3px !important;
  font-weight: 500 !important;
}

nav :where(button, a)[class*='border-b-'][class*='border-brand'],
div[class*='border-b'] > button[class*='border-b-'][class*='border-brand'],
div[class*='border-b'] > div > button[class*='border-b-'][class*='border-brand'],
button[class*='border-b-'][class*='border-brand'][class*='text-sm'] {
  color: var(--app-tab-active-text) !important;
  font-weight: 600 !important;
}

/* bg-brand pill/toggle buttons: white text always.
   The selector above accidentally matches them because "border-brand" contains "border-b".
   Same specificity (0-3-1) but placed after → wins cascade. */

button[class*='bg-brand'][class*='text-white'][class*='border-brand'],
button[class*='bg-brand'][class*='text-white'][class*='rounded'] {
  color: #fff !important;
}

button[class*='bg-brand'][class*='text-white'][class*='border-brand'] svg,
button[class*='bg-brand'][class*='text-white'][class*='border-brand'] svg *,
button[class*='bg-brand'][class*='text-white'][class*='rounded'] svg,
button[class*='bg-brand'][class*='text-white'][class*='rounded'] svg * {
  color: #fff !important;
  stroke: #fff !important;
}

nav :where(button, a)[class*='border-b-'][class*='border-transparent'],
div[class*='border-b'] > button[class*='border-b-'][class*='border-transparent'],
div[class*='border-b'] > div > button[class*='border-b-'][class*='border-transparent'],
button[class*='border-b-'][class*='border-transparent'][class*='text-sm'] {
  color: var(--app-tab-inactive-text) !important;
}

.app-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  min-width: 18px;
  padding: 0 5px;
  border-radius: 9999px;
  margin-left: 4px;
  background-color: #dcfce7;
  color: #15803d !important;
  -webkit-text-fill-color: currentColor;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  vertical-align: baseline;
}

.app-tab-count[data-active='true'] {
  min-width: 22px;
  padding: 0 6px;
  border-radius: 9999px;
  background-color: var(--app-brand-bg, #15803d) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

body:not(.dark-mode) .sidebar-active {
  color: var(--app-tab-active-text) !important;
  background-color: var(--app-brand-soft, #edf9f1) !important;
  box-shadow: inset 0 0 0 1px var(--app-brand-border, #bbf7d0);
}

/* Compact filters */

.app-filter-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  -moz-column-gap: 12px;
       column-gap: 12px;
  row-gap: 6px;
  width: 100%;
}

.app-filter-toolbar__filters {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.app-filter-toolbar__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.app-filter-toolbar__actions,
.app-filter-toolbar__toggles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.app-filter-toolbar__toggles {
  min-height: 32px;
}

.app-filter-trigger-neutral {
  color: #374151;
}

.app-filter-toolbar__filters .text-gray-500 {
  color: #374151;
}

@media (max-width: 767px) {
  .app-filter-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-filter-toolbar__right {
    align-items: flex-start;
  }

  .app-filter-toolbar__actions,
  .app-filter-toolbar__toggles {
    justify-content: flex-start;
  }
}

.app-compact-filters,
.invoices-compact-filters,
.contracts-filter-group,
.turnover-filter-group,
.buildings-filter-group,
.counterparties-filter-group {
  -moz-column-gap: 6px;
       column-gap: 6px;
  row-gap: 6px;
  overflow: visible;
}

.app-compact-filters > .relative,
.invoices-compact-filters > .relative {
  overflow: visible;
}

.app-compact-filters > .relative > [class*='absolute'][class*='top-full'],
.invoices-compact-filters > .relative > [class*='absolute'][class*='top-full'] {
  z-index: 100 !important;
  max-width: min(360px, calc(100vw - 24px));
}

.invoices-compact-filters {
  min-width: 0;
}

.app-compact-filters > .relative > button,
.app-compact-filters > label,
.app-compact-filters > button,
.app-compact-filters > span > button,
.app-compact-filters > span > .relative > button,
.invoices-compact-filters > .relative > button,
.invoices-compact-filters > label,
.invoices-compact-filters > button,
.invoices-compact-filters > span > button,
.invoices-compact-filters > span > .relative > button,
.contracts-filter-group > button,
.contracts-filter-group > .relative > button,
.contracts-filter-group > label,
.turnover-filter-group > button,
.turnover-filter-group > .relative > button,
.turnover-filter-group > label,
.buildings-filter-group > button,
.buildings-filter-group > .relative > button,
.buildings-filter-group > label,
.counterparties-filter-group > button,
.counterparties-filter-group > .relative > button,
.counterparties-filter-group > label {
  height: 32px;
  min-height: 32px;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
}

/* Панель «Объекты»: действия и поиск имеют ту же компактную высоту,
   что и выпадающие фильтры. */

.buildings-actions > button,
.buildings-actions > span > button,
.buildings-actions > .relative > button,
.buildings-filter-group > .shrink-0 > span > button,
.buildings-filter-group > .shrink-0 > input {
  height: 32px;
  min-height: 32px;
}

.buildings-actions > button,
.buildings-actions > span > button,
.buildings-actions > .relative > button {
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}

.buildings-actions > button svg,
.buildings-actions > span > button svg,
.buildings-actions > .relative > button svg {
  width: 14px;
  height: 14px;
}

/* Отдельное правило для основной кнопки перекрывает touch-минимум из mobile.css. */

.buildings-actions > .buildings-primary-action {
  height: 32px !important;
  min-height: 32px !important;
  padding: 5px 9px !important;
  gap: 6px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

/* Общий компактный стандарт для действий рядом с поиском и фильтрами.
   Вложенные селекторы охватывают Tooltip, ExportMenu и ColumnToggle, но не меню. */

:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .relative > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .relative > button,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > span > button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 5px 9px !important;
  gap: 6px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .relative > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .relative > button svg,
:is(.app-filter-toolbar__actions, .buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > span > button svg {
  width: 14px;
  height: 14px;
}

.app-compact-filters > .relative > button {
  min-width: 0 !important;
  max-width: 180px;
}

:is(.app-compact-filters, .invoices-compact-filters) > .app-select > button {
  max-width: none !important;
}

.invoices-compact-filters > .relative {
  flex-shrink: 0;
}

.invoices-compact-filters > .relative > button {
  max-width: 168px;
}

.app-compact-filters > .relative > button > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoices-compact-filters > .relative > button,
.invoices-compact-filters > label {
  overflow: hidden;
}

.invoices-compact-filters > .relative > button > span,
.invoices-compact-filters > .relative > button > div,
.invoices-compact-filters > label > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-compact-filters > .relative > button svg,
.app-compact-filters > label svg,
.app-compact-filters > button svg,
.app-compact-filters > span > button svg,
.app-compact-filters > span > .relative > button svg,
.invoices-compact-filters > .relative > button svg,
.invoices-compact-filters > label svg,
.invoices-compact-filters > button svg,
.invoices-compact-filters > span > button svg,
.invoices-compact-filters > span > .relative > button svg,
.contracts-filter-group > button svg,
.contracts-filter-group > .relative > button svg,
.contracts-filter-group > label svg,
.turnover-filter-group > button svg,
.turnover-filter-group > .relative > button svg,
.turnover-filter-group > label svg,
.buildings-filter-group > button svg,
.buildings-filter-group > .relative > button svg,
.buildings-filter-group > label svg,
.counterparties-filter-group > button svg,
.counterparties-filter-group > .relative > button svg,
.counterparties-filter-group > label svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.app-compact-filters .absolute button,
.invoices-compact-filters .absolute button,
.contracts-filter-group .absolute button,
.turnover-filter-group .absolute button,
.buildings-filter-group .absolute button,
.counterparties-filter-group .absolute button {
  font-size: 12px;
  line-height: 18px;
}

/* Позитивные ИИ-рекомендации: читаемый контраст на зелёной карточке в тёмной теме. */

body.dark-mode .smart-feed-positive-card {
  background-color: #166534 !important;
  border-color: #22c55e !important;
}

body.dark-mode .smart-feed-positive-card .text-gray-900,
body.dark-mode .smart-feed-positive-card .text-gray-600,
body.dark-mode .smart-feed-positive-card .text-emerald-700 {
  color: #ffffff !important;
}

body.dark-mode .smart-feed-positive-card .text-emerald-500 {
  color: #bbf7d0 !important;
}

/* Компактные action-бейджи в карточках ИИ-рекомендаций. */

.smart-feed-action-badge {
  --smart-feed-action-bg: #f4f7f5;
  --smart-feed-action-border: rgba(73, 96, 82, 0.22);
  --smart-feed-action-text: #496052;
  --smart-feed-action-count: #617a6a;

  display: inline-flex;
  height: 22px;
  min-height: 22px;
  align-items: center;
  gap: 4px;
  padding: 1px 5px 1px 8px;
  border: 1px solid var(--smart-feed-action-border);
  border-radius: 7px;
  background: var(--smart-feed-action-bg);
  color: var(--smart-feed-action-text) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 1px 2px rgba(15, 23, 42, 0.06);
  font-size: 10px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    filter 160ms ease;
}

.smart-feed-action-badge:hover {
  transform: translateY(-1px);
  border-color: var(--smart-feed-action-count);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 3px 7px rgba(15, 23, 42, 0.09);
  filter: none;
}

.smart-feed-action-badge:active {
  transform: translateY(0);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.smart-feed-action-badge:focus-visible {
  outline: 2px solid var(--smart-feed-action-count);
  outline-offset: 2px;
}

.smart-feed-action-badge > svg {
  width: 11px;
  height: 11px;
  transition: transform 160ms ease;
}

.smart-feed-action-badge:hover > svg {
  transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
  .smart-feed-action-badge,
  .smart-feed-action-badge > svg {
    transition: none;
  }
}

.smart-feed-action-badge__count {
  display: inline-flex;
  min-width: 14px;
  height: 14px;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--smart-feed-action-count);
  color: #ffffff;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.14);
}

.smart-feed-action-badge--danger {
  --smart-feed-action-bg: #fff1f2;
  --smart-feed-action-border: rgba(225, 29, 72, 0.2);
  --smart-feed-action-text: #be123c;
  --smart-feed-action-count: #e11d48;
}

.smart-feed-action-badge--warning {
  --smart-feed-action-bg: #fffbeb;
  --smart-feed-action-border: rgba(217, 119, 6, 0.24);
  --smart-feed-action-text: #92400e;
  --smart-feed-action-count: #d97706;
}

.smart-feed-action-badge--info {
  --smart-feed-action-bg: #eff6ff;
  --smart-feed-action-border: rgba(37, 99, 235, 0.2);
  --smart-feed-action-text: #1d4ed8;
  --smart-feed-action-count: #2563eb;
}

.smart-feed-action-badge--success,
.smart-feed-action-badge--brand {
  --smart-feed-action-bg: #f4f7f5;
  --smart-feed-action-border: rgba(73, 96, 82, 0.22);
  --smart-feed-action-text: #496052;
  --smart-feed-action-count: #617a6a;
}

body.dark-mode .smart-feed-action-badge {
  --smart-feed-action-bg: rgba(15, 23, 42, 0.58);
  --smart-feed-action-border: rgba(167, 243, 208, 0.28);
  --smart-feed-action-text: #a7f3d0;
  --smart-feed-action-count: #10b981;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 2px 8px rgba(2, 6, 23, 0.2);
}

body.dark-mode .smart-feed-action-badge--danger {
  --smart-feed-action-border: rgba(253, 164, 175, 0.3);
  --smart-feed-action-text: #fecdd3;
  --smart-feed-action-count: #e11d48;
}

body.dark-mode .smart-feed-action-badge--warning {
  --smart-feed-action-border: rgba(253, 230, 138, 0.3);
  --smart-feed-action-text: #fde68a;
  --smart-feed-action-count: #d97706;
}

body.dark-mode .smart-feed-action-badge--info {
  --smart-feed-action-border: rgba(147, 197, 253, 0.3);
  --smart-feed-action-text: #bfdbfe;
  --smart-feed-action-count: #2563eb;
}

body.dark-mode .smart-feed-positive-card .smart-feed-action-badge--success {
  --smart-feed-action-bg: rgba(255, 255, 255, 0.12);
  --smart-feed-action-border: rgba(220, 252, 231, 0.34);
  --smart-feed-action-text: #ffffff;
  --smart-feed-action-count: #bbf7d0;
}

body.dark-mode
  .smart-feed-positive-card
  .smart-feed-action-badge--success
  .smart-feed-action-badge__count {
  color: #14532d;
}

/* ИИ-рекомендации: цельная редакционная карточка со строками вместо вложенных плашек. */

.smart-feed-card {
  --smart-feed-accent: #6d4aff;
  overflow: hidden;
  border: 1px solid #e6eaf0 !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08),
    0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

.smart-feed-header {
  min-height: 52px;
  padding: 12px 16px 10px;
}

.smart-feed-header > svg {
  filter: drop-shadow(0 3px 7px rgba(109, 74, 255, 0.22));
}

.smart-feed-settings-action {
  flex: 0 0 auto;
}

.smart-feed-list {
  padding: 0 16px;
}

.smart-feed-recommendation {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 6px;
  padding: 12px 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background-color 160ms ease;
}

.smart-feed-recommendation + .smart-feed-recommendation {
  border-top: 1px solid #e8ebf0 !important;
}

.smart-feed-recommendation:hover {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(109, 74, 255, 0.025),
    transparent
  ) !important;
}

.smart-feed-recommendation > div:first-child {
  display: contents;
}

.smart-feed-recommendation > div:first-child > svg {
  grid-column: 1;
  grid-row: 1 / span 2;
  box-sizing: border-box;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transition: transform 160ms ease;
}

.smart-feed-recommendation:hover > div:first-child > svg {
  transform: translateY(-1px);
}

.smart-feed-recommendation > div:first-child > div {
  grid-column: 2;
  min-width: 0;
}

.smart-feed-recommendation > :not(:first-child) {
  grid-column: 2;
  justify-self: start;
}

.smart-feed-recommendation p.text-xs.font-normal {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  letter-spacing: -0.01em;
}

.smart-feed-recommendation p.text-xs.leading-relaxed {
  margin-top: 2px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

.smart-feed-recommendation--danger > div:first-child > svg {
  color: #dc2626 !important;
}

.smart-feed-recommendation--warning > div:first-child > svg {
  color: #f97316 !important;
}

.smart-feed-recommendation--success > div:first-child > svg {
  color: #169447 !important;
}

.smart-feed-recommendation--info > div:first-child > svg {
  color: #f97316 !important;
}

.smart-feed-recommendation--neutral > div:first-child > svg {
  color: #169447 !important;
}

.smart-feed-card .smart-feed-action-badge {
  --smart-feed-action-count: #15803d;
  height: auto;
  min-height: 24px;
  gap: 6px;
  padding: 2px 0;
  border: 0 !important;
  border-radius: 7px;
  background: transparent !important;
  color: #15803d !important;
  box-shadow: none !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}

.smart-feed-card .smart-feed-action-badge:hover {
  transform: none;
  color: #166534 !important;
  text-decoration: underline;
}

.smart-feed-card .smart-feed-action-badge > svg {
  width: 15px;
  height: 15px;
}

.smart-feed-card .smart-feed-action-badge__count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: var(--smart-feed-action-count);
  color: #ffffff;
  font-size: 11px;
}

.smart-feed-card .smart-feed-view-label,
.smart-feed-card .smart-feed-view-label ~ svg {
  color: #15803d !important;
}

.smart-feed-card .smart-feed-view-label + .smart-feed-action-badge__count {
  background: #15803d;
}

.smart-feed-card .smart-feed-action-badge--open-section {
  color: #111827 !important;
  text-decoration: none;
}

.smart-feed-card .smart-feed-action-badge--open-section:hover {
  color: #111827 !important;
  text-decoration: underline;
}

.smart-feed-recommendation > .smart-feed-actions {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding-right: 8px;
  grid-column: 2;
  gap: 8px;
  flex-wrap: nowrap;
  justify-self: stretch;
}

.smart-feed-recommendation
  > div:not(:first-child)
  > .smart-feed-action-badge
  + .smart-feed-action-badge {
  margin-left: 2px;
  padding-left: 12px;
  border-left: 1px solid #e2e8f0 !important;
  border-radius: 0;
}

.smart-feed-footer {
  min-height: 48px;
  padding: 10px 16px 12px;
  border-top: 1px solid #e8ebf0;
}

.smart-feed-footer > button {
  font-size: 13px;
}

body.dark-mode .smart-feed-card {
  border-color: #263246 !important;
  background: #111827 !important;
  box-shadow: 0 18px 45px rgba(2, 6, 23, 0.34) !important;
}

body.dark-mode .smart-feed-header .text-gray-900,
body.dark-mode .smart-feed-recommendation .text-gray-900 {
  color: #f8fafc !important;
}

body.dark-mode .smart-feed-recommendation,
body.dark-mode .smart-feed-card .smart-feed-positive-card.smart-feed-recommendation {
  background: transparent !important;
}

body.dark-mode .smart-feed-recommendation + .smart-feed-recommendation,
body.dark-mode .smart-feed-footer {
  border-color: #273449 !important;
}

body.dark-mode .smart-feed-recommendation p.text-xs.leading-relaxed,
body.dark-mode .smart-feed-card .smart-feed-positive-card .text-gray-600 {
  color: #aeb9ca !important;
}

body.dark-mode .smart-feed-recommendation > div:first-child > svg {
  background: transparent;
}

body.dark-mode .smart-feed-card .smart-feed-action-badge,
body.dark-mode .smart-feed-card .smart-feed-positive-card .smart-feed-action-badge--success {
  --smart-feed-action-count: #16a34a;
  background: transparent !important;
  color: #4ade80 !important;
}

body.dark-mode .smart-feed-card .smart-feed-action-badge__count,
body.dark-mode
  .smart-feed-card
  .smart-feed-positive-card
  .smart-feed-action-badge--success
  .smart-feed-action-badge__count {
  background: #16a34a;
  color: #ffffff;
}

body.dark-mode .smart-feed-card .smart-feed-view-label,
body.dark-mode .smart-feed-card .smart-feed-view-label ~ svg {
  color: #4ade80 !important;
}

body.dark-mode .smart-feed-card .smart-feed-view-label + .smart-feed-action-badge__count {
  background: #16a34a;
}

body.dark-mode .smart-feed-card .smart-feed-action-badge--open-section,
body.dark-mode .smart-feed-card .smart-feed-action-badge--open-section:hover {
  color: #f8fafc !important;
}

@media (max-width: 420px) {
  .smart-feed-header,
  .smart-feed-footer {
    padding-right: 12px;
    padding-left: 12px;
  }

  .smart-feed-list {
    padding: 0 12px;
  }

  .smart-feed-recommendation {
    grid-template-columns: 20px minmax(0, 1fr);
    -moz-column-gap: 8px;
         column-gap: 8px;
    padding: 11px 0;
  }

  .smart-feed-recommendation > div:first-child > svg {
    width: 20px !important;
    height: 20px !important;
    padding: 0;
  }
}

/* Единый размер типографики таблиц: 13px и 14px приводим к 12px. */

table th,
table td,
body table :is(th, td)[class][class~='text-sm'],
body table :is(th, td) [class][class~='text-sm'],
body table :is(th, td)[class][class*='text-[13px]'],
body table :is(th, td) [class][class*='text-[13px]'],
body table :is(th, td)[class][class*='text-[14px]'],
body table :is(th, td) [class][class*='text-[14px]'],
table :is(th, td)[style*='13px'],
table :is(th, td) [style*='13px'],
table :is(th, td)[style*='14px'],
table :is(th, td) [style*='14px'] {
  font-size: 12px !important;
  line-height: 18px !important;
}

/* Компактная пагинация таблиц. */

.app-pagination {
  gap: 12px;
  padding-top: 12px !important;
  border-color: var(--ui-border-subtle, #e5e7eb) !important;
}

.app-pagination > div:first-child,
.app-pagination > div:first-child.text-sm {
  font-size: 12px !important;
  line-height: 18px !important;
}

.app-pagination > div:first-child > .relative > button {
  min-width: 54px !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

.app-pagination-controls {
  gap: 2px !important;
  padding: 3px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}

.app-pagination .app-pagination-controls > button {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #475569;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1 !important;
  transition:
    background-color 150ms ease,
    color 150ms ease,
    box-shadow 150ms ease,
    transform 150ms ease;
}

.app-pagination .app-pagination-controls > button:not(:disabled):not(.bg-brand):hover {
  background: #ffffff !important;
  color: #111827;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
}

.app-pagination .app-pagination-controls > button.bg-brand {
  background: #15803d !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(21, 128, 61, 0.28);
}

.app-pagination .app-pagination-controls > button:disabled {
  opacity: 0.34 !important;
  box-shadow: none;
}

.app-pagination .app-pagination-controls > button:focus-visible {
  outline: 2px solid #22c55e;
  outline-offset: 2px;
}

body.dark-mode .app-pagination-controls {
  border-color: var(--app-border) !important;
  background: var(--app-surface-muted) !important;
}

body.dark-mode .app-pagination .app-pagination-controls > button {
  color: var(--app-text-soft) !important;
}

body.dark-mode .app-pagination .app-pagination-controls > button:not(:disabled):not(.bg-brand):hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--app-text) !important;
}

body.dark-mode .app-pagination .app-pagination-controls > button.bg-brand {
  color: #ffffff !important;
}

/* Telegram-inspired support chat palette. Kept scoped so app cards and forms retain their theme. */

.support-chat-surface {
  background-color: #e7edf1;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.42) 0 1px, transparent 1px),
    radial-gradient(circle at 80% 70%, rgba(148, 163, 184, 0.12) 0 1px, transparent 1px);
  background-size: 28px 28px, 34px 34px;
}

.support-chat-bubble {
  color: #17212b;
}

.support-chat-bubble-incoming {
  border: 1px solid rgba(148, 163, 184, 0.28);
  background-color: #ffffff;
}

.support-chat-bubble-outgoing {
  background-color: #d9fdd3;
}

.support-chat-quote {
  border-color: #20a060;
  background-color: rgba(32, 160, 96, 0.09);
  color: #334155;
}

.support-chat-quote > p:first-child {
  color: #15803d;
}

.support-chat-attachment {
  background-color: rgba(255, 255, 255, 0.52);
  color: #334155;
}

.support-chat-attachment:hover {
  background-color: rgba(255, 255, 255, 0.82);
}

@media (hover: none) {
  .support-chat-reply-action {
    opacity: 1;
  }
}

body.dark-mode .support-chat-surface {
  background-color: #17212b !important;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px),
    radial-gradient(circle at 80% 70%, rgba(148, 163, 184, 0.06) 0 1px, transparent 1px) !important;
}

body.dark-mode .support-chat-bubble-incoming {
  border-color: #243442 !important;
  background-color: #202b36 !important;
  color: #f1f5f9 !important;
}

body.dark-mode .support-chat-bubble-outgoing {
  background-color: #2b5278 !important;
  color: #ffffff !important;
}

body.dark-mode .support-chat-quote {
  border-color: #4ade80 !important;
  background-color: rgba(74, 222, 128, 0.12) !important;
  color: #dbeafe !important;
}

body.dark-mode .support-chat-quote > p:first-child {
  color: #86efac !important;
}

body.dark-mode .support-chat-attachment {
  background-color: rgba(255, 255, 255, 0.09) !important;
  color: inherit !important;
}

body.dark-mode .support-chat-attachment:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
}

.placeholder\:text-sm
  select::-moz-placeholder, .placeholder\:text-sm
  select option::-moz-placeholder, .placeholder\:text-sm
  select optgroup::-moz-placeholder, .placeholder\:text-sm select::-moz-placeholder, .placeholder\:text-sm option::-moz-placeholder, .placeholder\:text-sm optgroup::-moz-placeholder, [class*="dropdown"] .placeholder\:text-sm::-moz-placeholder, [class*="Dropdown"] .placeholder\:text-sm::-moz-placeholder {
    font-size: 14px !important;
    line-height: 20px !important;
  }

.placeholder\:text-sm
  select::placeholder,.placeholder\:text-sm
  select option::placeholder,.placeholder\:text-sm
  select optgroup::placeholder,.placeholder\:text-sm select::placeholder,.placeholder\:text-sm option::placeholder,.placeholder\:text-sm optgroup::placeholder,
  [class*="dropdown"] .placeholder\:text-sm::placeholder,
  [class*="Dropdown"] .placeholder\:text-sm::placeholder {
    font-size: 14px !important;
    line-height: 20px !important;
  }

.placeholder\:text-sm::-moz-placeholder {
    font-size: 13px !important;
    line-height: 18px !important;
  }

.placeholder\:text-sm::placeholder {
    font-size: 13px !important;
    line-height: 18px !important;
  }

.hover\:text-white:hoverbutton svg,.hover\:text-white:hover
  a svg,.hover\:text-white:hover
  button svg *,.hover\:text-white:hover
  a svg * {
    color: currentColor !important;
    stroke: currentColor !important;
  }

.group:hover .group-hover\:text-whitebutton svg,.group:hover .group-hover\:text-white
  a svg,.group:hover .group-hover\:text-white
  button svg *,.group:hover .group-hover\:text-white
  a svg * {
    color: currentColor !important;
    stroke: currentColor !important;
  }

@media (min-width: 640px) {

  
  nav.sm\:flex > button[class*="border-b-2"] {
    font-size: 14px !important;
    line-height: 20px !important;
  }
}

@media (min-width: 1024px) {

  
  nav.lg\:flex > button[class*="border-b-2"] {
    font-size: 14px !important;
    line-height: 20px !important;
  }
}

@media (min-width: 768px) {
  
  .md\:table {
    min-width: 100%;
  }
  
  .md\:table th {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    text-align: left;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.5px;
    font-weight: 500;
    color: var(--md-sys-color-on-surface-variant);
    background-color: #f9fafb;
  }
  
  .md\:table td {
    white-space: nowrap;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 12px;
    line-height: 18px;
    color: var(--md-sys-color-on-surface);
    border-top: 1px solid var(--md-sys-color-outline-variant);
  }
  
  .md\:table tbody tr {
    transition: background-color 150ms ease-out;
  }

  .md\:table tbody tr:hover {
    background-color: #f1f5f9; /* slate-50 — заметный hover */
  }
}

.placeholder\:text-sm::-moz-placeholder {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.placeholder\:text-sm::placeholder {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.placeholder\:text-\[\#808080\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(128 128 128 / var(--tw-text-opacity, 1));
}

.placeholder\:text-\[\#808080\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(128 128 128 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.placeholder\:text-gray-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.first\:rounded-t-lg:first-child {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.first\:border-l-0:first-child {
  border-left-width: 0px;
}

.first\:border-t-0:first-child {
  border-top-width: 0px;
}

.last\:flex-none:last-child {
  flex: none;
}

.last\:rounded-b-lg:last-child {
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.last\:rounded-r-lg:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.last\:border-0:last-child {
  border-width: 0px;
}

.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}

.focus-within\:border-brand:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.focus-within\:border-red-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus-within\:opacity-100:focus-within {
  opacity: 1;
}

.focus-within\:ring-1:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-2:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-brand\/20:focus-within {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.focus-within\:ring-brand\/40:focus-within {
  --tw-ring-color: rgb(21 128 61 / 0.4);
}

.focus-within\:ring-red-100:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1));
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-blue-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.hover\:border-brand:hover {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-hover:hover {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.hover\:border-brand\/30:hover {
  border-color: rgb(21 128 61 / 0.3);
}

.hover\:border-brand\/40:hover {
  border-color: rgb(21 128 61 / 0.4);
}

.hover\:border-brand\/50:hover {
  border-color: rgb(21 128 61 / 0.5);
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.hover\:border-green-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.hover\:border-primary-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.hover\:border-red-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.hover\:border-red-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.hover\:border-rose-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}

.hover\:border-rose-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.hover\:border-slate-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}

.hover\:border-violet-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}

.hover\:border-violet-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}

.hover\:bg-\[\#0F9D58\]\/5:hover {
  background-color: rgb(15 157 88 / 0.05);
}

.hover\:bg-\[\#166534\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#EEF2F6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#b82d1e\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(184 45 30 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#c53030\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(197 48 48 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#d9f0e3\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 240 227 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#f3f4f6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#f5f7fa\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 247 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#ffefb3\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 239 179 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#fffaf5\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 250 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-dark:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-delete:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(153 25 25 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand\/5:hover {
  background-color: rgb(21 128 61 / 0.05);
}

.hover\:bg-brand\/80:hover {
  background-color: rgb(21 128 61 / 0.8);
}

.hover\:bg-brand\/90:hover {
  background-color: rgb(21 128 61 / 0.9);
}

.hover\:bg-emerald-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100\/80:hover {
  background-color: rgb(243 244 246 / 0.8);
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50\/50:hover {
  background-color: rgb(249 250 251 / 0.5);
}

.hover\:bg-gray-50\/60:hover {
  background-color: rgb(249 250 251 / 0.6);
}

.hover\:bg-gray-50\/80:hover {
  background-color: rgb(249 250 251 / 0.8);
}

.hover\:bg-gray-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-50\/30:hover {
  background-color: rgb(254 242 242 / 0.3);
}

.hover\:bg-red-50\/40:hover {
  background-color: rgb(254 242 242 / 0.4);
}

.hover\:bg-red-50\/50:hover {
  background-color: rgb(254 242 242 / 0.5);
}

.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.hover\:bg-rose-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-rose-50\/50:hover {
  background-color: rgb(255 241 242 / 0.5);
}

.hover\:bg-rose-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-violet-50\/40:hover {
  background-color: rgb(245 243 255 / 0.4);
}

.hover\:bg-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/60:hover {
  background-color: rgb(255 255 255 / 0.6);
}

.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}

.hover\:bg-yellow-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.hover\:text-\[\#111827\]:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#1D4ED8\]:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#2563EB\]:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#9a3412\]:hover {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#b93822\]:hover {
  --tw-text-opacity: 1;
  color: rgb(185 56 34 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#c3392c\]:hover {
  --tw-text-opacity: 1;
  color: rgb(195 57 44 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-800:hover {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-900:hover {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-900:hover {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.hover\:text-brand:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-delete:hover {
  --tw-text-opacity: 1;
  color: rgb(153 25 25 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-hover:hover {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.hover\:text-brand\/80:hover {
  color: rgb(21 128 61 / 0.8);
}

.hover\:text-emerald-700:hover {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-950:hover {
  --tw-text-opacity: 1;
  color: rgb(2 44 34 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-950:hover {
  --tw-text-opacity: 1;
  color: rgb(3 7 18 / var(--tw-text-opacity, 1));
}

.hover\:text-green-500:hover {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.hover\:text-green-700:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-600:hover {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-700:hover {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-red-700:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-800:hover {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.hover\:text-rose-700:hover {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.hover\:text-violet-950:hover {
  --tw-text-opacity: 1;
  color: rgb(46 16 101 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:no-underline:hover {
  text-decoration-line: none;
}

.hover\:decoration-brand:hover {
  text-decoration-color: #15803D;
}

.hover\:decoration-gray-500:hover {
  text-decoration-color: #6b7280;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-70:hover {
  opacity: 0.7;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow-\[0_10px_24px_rgba\(15\2c 23\2c 42\2c 0\.08\)\]:hover {
  --tw-shadow: 0 10px 24px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_12px_28px_rgba\(15\2c 23\2c 42\2c 0\.10\)\]:hover {
  --tw-shadow: 0 12px 28px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_14px_30px_rgba\(15\2c 23\2c 42\2c 0\.10\)\]:hover {
  --tw-shadow: 0 14px 30px rgba(15,23,42,0.10);
  --tw-shadow-colored: 0 14px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:\[text-decoration\:underline\]:hover {
  text-decoration: underline;
}

.focus\:\!border-0:focus {
  border-width: 0px !important;
}

.focus\:\!border-red-500:focus {
  --tw-border-opacity: 1 !important;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;
}

.focus\:border-\[\#16a34a\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.focus\:border-brand:focus {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.focus\:border-emerald-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}

.focus\:border-green-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.focus\:border-green-600:focus {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.focus\:border-red-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.focus\:border-red-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-inset:focus {
  --tw-ring-inset: inset;
}

.focus\:\!ring-red-500\/20:focus {
  --tw-ring-color: rgb(239 68 68 / 0.2) !important;
}

.focus\:ring-\[\#15803d\]\/25:focus {
  --tw-ring-color: rgb(21 128 61 / 0.25);
}

.focus\:ring-\[\#16a34a\]\/20:focus {
  --tw-ring-color: rgb(22 163 74 / 0.2);
}

.focus\:ring-brand:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.focus\:ring-brand\/15:focus {
  --tw-ring-color: rgb(21 128 61 / 0.15);
}

.focus\:ring-brand\/20:focus {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.focus\:ring-brand\/30:focus {
  --tw-ring-color: rgb(21 128 61 / 0.3);
}

.focus\:ring-brand\/40:focus {
  --tw-ring-color: rgb(21 128 61 / 0.4);
}

.focus\:ring-emerald-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-600:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 226 226 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-500\/20:focus {
  --tw-ring-color: rgb(239 68 68 / 0.2);
}

.focus\:ring-red-500\/25:focus {
  --tw-ring-color: rgb(239 68 68 / 0.25);
}

.focus\:ring-rose-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity, 1));
}

.focus\:ring-violet-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity, 1));
}

.focus\:ring-white\/50:focus {
  --tw-ring-color: rgb(255 255 255 / 0.5);
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:border-brand:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.focus-visible\:bg-white:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:outline:focus-visible {
  outline-style: solid;
}

.focus-visible\:outline-2:focus-visible {
  outline-width: 2px;
}

.focus-visible\:outline-brand\/50:focus-visible {
  outline-color: rgb(21 128 61 / 0.5);
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-inset:focus-visible {
  --tw-ring-inset: inset;
}

.focus-visible\:ring-\[\#2563EB\]\/40:focus-visible {
  --tw-ring-color: rgb(37 99 235 / 0.4);
}

.focus-visible\:ring-brand:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-brand\/20:focus-visible {
  --tw-ring-color: rgb(21 128 61 / 0.2);
}

.focus-visible\:ring-brand\/30:focus-visible {
  --tw-ring-color: rgb(21 128 61 / 0.3);
}

.focus-visible\:ring-brand\/40:focus-visible {
  --tw-ring-color: rgb(21 128 61 / 0.4);
}

.focus-visible\:ring-red-200:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-red-300\/50:focus-visible {
  --tw-ring-color: rgb(252 165 165 / 0.5);
}

.focus-visible\:ring-violet-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.active\:cursor-grabbing:active {
  cursor: grabbing;
}

.active\:bg-gray-100:active {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:cursor-wait:disabled {
  cursor: wait;
}

.disabled\:bg-gray-100:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-200:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-50:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-slate-200:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.disabled\:text-gray-300:disabled {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.disabled\:text-gray-400:disabled {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.disabled\:text-gray-500:disabled {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.disabled\:text-slate-500:disabled {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-45:disabled {
  opacity: 0.45;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.disabled\:opacity-75:disabled {
  opacity: 0.75;
}

.disabled\:hover\:bg-transparent:hover:disabled {
  background-color: transparent;
}

.disabled\:hover\:text-current:hover:disabled {
  color: currentColor;
}

.group:focus-within .group-focus-within\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:visible {
  visibility: visible;
}

.group:hover .group-hover\:block {
  display: block;
}

.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.02\] {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.04\] {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:border-brand\/30 {
  border-color: rgb(21 128 61 / 0.3);
}

.group:hover .group-hover\:bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-brand {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

@media (min-width: 640px) {

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:inline-flex {
    display: inline-flex;
  }

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:contents {
    display: contents;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:max-w-3xl {
    max-width: 48rem;
  }

  .sm\:max-w-\[170px\] {
    max-width: 170px;
  }

  .sm\:max-w-\[340px\] {
    max-width: 340px;
  }

  .sm\:max-w-\[76\%\] {
    max-width: 76%;
  }

  .sm\:max-w-xs {
    max-width: 20rem;
  }

  .sm\:flex-none {
    flex: none;
  }

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

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

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[170px_minmax\(0\2c 1fr\)_140px\] {
    grid-template-columns: 170px minmax(0,1fr) 140px;
  }

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 180px\)\] {
    grid-template-columns: minmax(0,1fr) minmax(0,180px);
  }

  .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(180px\2c 1fr\)\] {
    grid-template-columns: minmax(0,1fr) minmax(180px,1fr);
  }

  .sm\:grid-cols-\[minmax\(0\2c 220px\)_auto_auto\] {
    grid-template-columns: minmax(0,220px) auto auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-wrap {
    flex-wrap: wrap;
  }

  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:divide-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  .sm\:self-auto {
    align-self: auto;
  }

  .sm\:p-10 {
    padding: 2.5rem;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:text-right {
    text-align: right;
  }

  .sm\:text-\[32px\] {
    font-size: 32px;
  }
}

@media (min-width: 768px) {

  .md\:bottom-6 {
    bottom: 1.5rem;
  }

  .md\:right-6 {
    right: 1.5rem;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:block {
    display: block;
  }

  .md\:inline-flex {
    display: inline-flex;
  }

  .md\:table {
    display: table;
  }

  .md\:contents {
    display: contents;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-56 {
    width: 14rem;
  }

  .md\:flex-none {
    flex: none;
  }

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

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

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-cols-\[minmax\(260px\2c 1fr\)_130px\] {
    grid-template-columns: minmax(260px,1fr) 130px;
  }

  .md\:flex-row {
    flex-direction: row;
  }
}

@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-4 {
    top: 1rem;
  }

  .lg\:top-6 {
    top: 1.5rem;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-16 {
    height: 4rem;
  }

  .lg\:h-\[calc\(100vh-11rem\)\] {
    height: calc(100vh - 11rem);
  }

  .lg\:min-h-\[520px\] {
    min-height: 520px;
  }

  .lg\:w-\[248px\] {
    width: 248px;
  }

  .lg\:w-\[76px\] {
    width: 76px;
  }

  .lg\:min-w-\[100px\] {
    min-width: 100px;
  }

  .lg\:min-w-\[130px\] {
    min-width: 130px;
  }

  .lg\:min-w-\[170px\] {
    min-width: 170px;
  }

  .lg\:min-w-\[420px\] {
    min-width: 420px;
  }

  .lg\:max-w-none {
    max-width: none;
  }

  .lg\:translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

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

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

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .lg\:grid-cols-\[170px_170px_minmax\(180px\2c 1fr\)_auto\] {
    grid-template-columns: 170px 170px minmax(180px,1fr) auto;
  }

  .lg\:grid-cols-\[180px_260px_1fr_auto\] {
    grid-template-columns: 180px 260px 1fr auto;
  }

  .lg\:grid-cols-\[180px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 180px minmax(0,1fr);
  }

  .lg\:grid-cols-\[1fr_1\.08fr\] {
    grid-template-columns: 1fr 1.08fr;
  }

  .lg\:grid-cols-\[1fr_1\.3fr\] {
    grid-template-columns: 1fr 1.3fr;
  }

  .lg\:grid-cols-\[240px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 240px minmax(0,1fr);
  }

  .lg\:grid-cols-\[280px_1fr_240px\] {
    grid-template-columns: 280px 1fr 240px;
  }

  .lg\:grid-cols-\[320px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 320px minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_220px\] {
    grid-template-columns: minmax(0,1fr) 220px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_340px\] {
    grid-template-columns: minmax(0,1fr) 340px;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(320px\2c 360px\)\] {
    grid-template-columns: minmax(0,1fr) minmax(320px,360px);
  }

  .lg\:grid-cols-\[minmax\(0\2c 420px\)_minmax\(0\2c 1fr\)\] {
    grid-template-columns: minmax(0,420px) minmax(0,1fr);
  }

  .lg\:grid-cols-\[minmax\(240px\2c 1fr\)_180px_210px_210px_180px\] {
    grid-template-columns: minmax(240px,1fr) 180px 210px 210px 180px;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:flex-col {
    flex-direction: column;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-3 {
    gap: 0.75rem;
  }

  .lg\:border-b-0 {
    border-bottom-width: 0px;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

  .lg\:p-5 {
    padding: 1.25rem;
  }

  .lg\:pl-\[248px\] {
    padding-left: 248px;
  }

  .lg\:pl-\[76px\] {
    padding-left: 76px;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px) {

  .xl\:sticky {
    position: sticky;
  }

  .xl\:top-6 {
    top: 1.5rem;
  }

  .xl\:max-h-\[calc\(100vh-220px\)\] {
    max-height: calc(100vh - 220px);
  }

  .xl\:min-w-\[145px\] {
    min-width: 145px;
  }

  .xl\:min-w-\[190px\] {
    min-width: 190px;
  }

  .xl\:max-w-5xl {
    max-width: 64rem;
  }

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

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

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .xl\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[280px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 280px minmax(0,1fr);
  }

  .xl\:grid-cols-\[minmax\(0\2c 1\.7fr\)_420px\] {
    grid-template-columns: minmax(0,1.7fr) 420px;
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_330px\] {
    grid-template-columns: minmax(0,1fr) 330px;
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_380px\] {
    grid-template-columns: minmax(0,1fr) 380px;
  }

  .xl\:grid-cols-\[minmax\(0\2c 1fr\)_500px\] {
    grid-template-columns: minmax(0,1fr) 500px;
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:items-end {
    align-items: flex-end;
  }

  .xl\:items-center {
    align-items: center;
  }

  .xl\:justify-between {
    justify-content: space-between;
  }

  .xl\:overflow-y-auto {
    overflow-y: auto;
  }
}

@media (min-width: 1536px) {

  .\32xl\:sticky {
    position: sticky;
  }

  .\32xl\:top-4 {
    top: 1rem;
  }

  .\32xl\:grid-cols-\[minmax\(0\2c 1fr\)_320px\] {
    grid-template-columns: minmax(0,1fr) 320px;
  }
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb {
  border-radius: 9999px;
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-200::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-300::-webkit-scrollbar-thumb {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.hover\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-gray-400::-webkit-scrollbar-thumb:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar-track\]\:bg-gray-100::-webkit-scrollbar-track {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar\]\:w-1::-webkit-scrollbar {
  width: 0.25rem;
}

.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar {
  width: 0.375rem;
}

.\[\&\:\:-webkit-scrollbar\]\:w-2::-webkit-scrollbar {
  width: 0.5rem;
}

.\[\&\>div\>div\]\:h-10>div>div {
  height: 2.5rem;
}

.\[\&\>td\]\:border-b>td {
  border-bottom-width: 1px;
}

.\[\&\>td\]\:border-gray-200>td {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.last\:\[\&\>td\]\:border-b-0>td:last-child {
  border-bottom-width: 0px;
}

.\[\&_button\]\:h-full button {
  height: 100%;
}

.\[\&_button\]\:py-0 button {
  padding-top: 0px;
  padding-bottom: 0px;
}

.\[\&_h4\]\:text-\[13px\] h4 {
  font-size: 13px;
}

.\[\&_input\]\:h-full input {
  height: 100%;
}

.\[\&_input\]\:py-0 input {
  padding-top: 0px;
  padding-bottom: 0px;
}

.\[\&_strong\]\:font-semibold strong {
  font-weight: 600;
}

.\[\&_strong\]\:text-gray-900 strong {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.\[\&_strong\]\:text-slate-900 strong {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
/* Prevent iOS auto-zoom on focus */
@media (max-width: 1024px) {
  input, select, textarea { font-size: 16px !important; }
}

/* iOS safe area insets */
@supports (padding-top: env(safe-area-inset-top)) {
  body { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
}

@media print {
  .card, .card-elevated { padding: 16px !important; box-shadow: none !important; }
}

/* ═══════════════════════════════════════════
   MOBILE LAYOUT  (<= 768px)
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── Spacing & page padding ─────────────── */
  .space-y-6 > * + * { margin-top: 1rem; }
  .space-y-4 > * + * { margin-top: 0.75rem; }

  .text-sm {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  /* ── Page container: tighter horizontal padding ── */
  .app-main-scroll-host > * {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  .app-workspace-scroll > .animate-in {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* ── Tables: horizontal scroll so no overflow ─── */
  .table-scroll-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 0.75rem;
  }

  /* ── Cards / modals: full width ─────────── */
  .card-elevated {
    border-radius: 0.75rem !important;
  }

  /* ── Modal dialogs: near full-screen ────── */
  [role="dialog"] .modal-body,
  .fixed.inset-0 > .relative {
    width: 100% !important;
    max-width: calc(100vw - 1rem) !important;
    margin: 0.5rem !important;
  }

  /* ── Filters toolbar: wrap instead of overflow ── */
  .filters-toolbar {
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }

  .filters-toolbar > .relative,
  .filters-toolbar > button,
  .filters-toolbar > span {
    max-width: 100%;
  }

  .invoices-embedded-toolbar {
    align-items: stretch;
  }

  .invoices-embedded-toolbar > .relative:first-child {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .invoices-embedded-toolbar > .relative:not(:first-child),
  .invoices-embedded-toolbar > button,
  .invoices-embedded-toolbar > span {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: min(10rem, 100%);
  }

  .invoices-embedded-toolbar button {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }

  .buildings-toolbar {
    align-items: stretch;
  }

  .buildings-filter-group,
  .buildings-actions {
    width: 100%;
    min-width: 0;
  }

  .buildings-filter-group > .relative:first-child {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .buildings-filter-group > .relative,
  .buildings-filter-group > span,
  .buildings-actions > span {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: min(10rem, 100%);
  }

  .buildings-actions {
    flex-wrap: wrap;
  }

  .buildings-actions > span > button,
  .buildings-actions > button {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }

  .buildings-primary-action {
    flex: 1 1 100%;
  }

  .building-card-actions {
    gap: 0.25rem;
  }

  .building-card-actions a {
    min-height: 44px;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .mobile-pagination {
    align-items: stretch;
    flex-direction: column;
    gap: 0.75rem;
  }

  .mobile-pagination > div {
    flex-wrap: wrap;
  }

  /* ── KPI stat tiles: 2 per row ──────────── */
  .kpi-grid-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* ── Tab nav: scrollable horizontal ─────── */
  nav.flex.space-x-8,
  nav[aria-label="Tabs"] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 1px; /* prevent border clip */
  }
  nav.flex.space-x-8::-webkit-scrollbar,
  nav[aria-label="Tabs"]::-webkit-scrollbar { display: none; }

  /* ── Dropdown menus: max-width to screen ── */
  [data-inline-dropdown],
  .absolute.bg-white.border.rounded-lg.shadow-lg {
    max-width: calc(100vw - 16px) !important;
  }

  /* ── Button text: hide labels, keep icons on xs ── */
  .btn-label-hide { display: none; }

  /* ── Search bar: full width ─────────────── */
  .search-bar-full { width: 100% !important; max-width: 100% !important; }
}

/* Реестры больше не скрывают второстепенные столбцы на узких экранах:
   полная таблица доступна через горизонтальную прокрутку рабочего полотна. */
.col-mobile-hide { display: table-cell; }

/* ── Modal form grids: collapse to 1 column on small screens ── */
@media (max-width: 640px) {
  /* Любой grid-cols-2 или grid-cols-3 внутри модального оверлея → 1 col */
  .fixed.inset-0 .grid-cols-2,
  .fixed.inset-0 .grid-cols-3,
  .fixed.inset-0 .sm\:grid-cols-2,
  .fixed.inset-0 .sm\:grid-cols-3 {
    grid-template-columns: 1fr !important;
  }

  /* Flex rows inside modals → wrap */
  .fixed.inset-0 form .flex:not(.items-center):not(.justify-between) {
    flex-wrap: wrap;
  }

  /* Form footer buttons: full width stack */
  .fixed.inset-0 > .relative > .bg-white > div:last-child .flex.justify-end,
  .fixed.inset-0 > .relative > .bg-white > div:last-child .flex.gap-3 {
    flex-direction: column-reverse;
  }
  .fixed.inset-0 > .relative > .bg-white > div:last-child button {
    width: 100%;
    justify-content: center;
  }

  /* Modal max-height increase on mobile */
  .fixed.inset-0 .max-h-\[90vh\] {
    max-height: 100dvh !important;
    border-radius: 1rem 1rem 0 0 !important;
  }

  /* Modal positioned at bottom on mobile */
  .fixed.inset-0.flex.items-center.justify-center {
    align-items: flex-end !important;
    padding: 0 !important;
  }
  .fixed.inset-0.flex.items-center.justify-center > .relative {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* ═══════════════════════════════════════════
   SMALL MOBILE  (<= 480px)
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  /* Stack header left/right sections */
  .app-header { flex-wrap: wrap; height: auto !important; min-height: 3.5rem; padding-top: 0.5rem; padding-bottom: 0.5rem; }

  /* P1-1: On very narrow phones, filter chips become horizontally scrollable
     instead of wrapping into a tall "wall of filters" */
  .invoices-embedded-toolbar {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
    align-items: stretch;
  }
  .invoices-embedded-toolbar::-webkit-scrollbar { display: none; }

  /* Search stays full width as its own row */
  .invoices-embedded-toolbar > .relative:first-child {
    flex: 0 0 min(240px, 80vw) !important;
    min-width: 160px !important;
    max-width: none !important;
  }

  /* Filter chips: fixed compact width */
  .invoices-embedded-toolbar > .relative:not(:first-child),
  .invoices-embedded-toolbar > button,
  .invoices-embedded-toolbar > span {
    flex: 0 0 auto !important;
    min-width: 120px !important;
  }

  .invoices-embedded-toolbar button {
    width: 100% !important;
    min-height: 40px !important;
    white-space: nowrap;
  }

}

/* ═══════════════════════════════════════════
   ITEM 4 — TOUCH TARGETS  (>= 44px)
   Expands tap area WITHOUT changing visual size
   via pseudo-element overlay technique.
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  /* Icon-only buttons (p-1, p-1.5, p-2) get a larger invisible tap target */
  button.p-1,
  button[class~="p-1"],
  button[class~="p-1\.5"],
  button[class~="p-2"] {
    position: relative;
    min-width: 44px;
    min-height: 44px;
  }
  button.p-1::after,
  button[class~="p-1"]::after,
  button[class~="p-1\.5"]::after,
  button[class~="p-2"]::after {
    content: '';
    position: absolute;
    inset: -4px;
  }

  /* Ensure all interactive buttons have a reasonable click area */
  button:not(:disabled),
  [role="button"]:not([aria-disabled="true"]) {
    min-height: 44px;
  }

  /* Table action row buttons: larger tap zone */
  td button, td a {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Footer links: larger tap area + bottom padding */
  .app-footer a,
  .app-footer button {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding-top: 4px;
    padding-bottom: 4px;
  }

  /* Inline checkbox labels (cursor-pointer divs/labels in toolbars) */
  label[class*="cursor-pointer"],
  div[class*="cursor-pointer"][class*="flex"][class*="items-center"] {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
  }

  /* Table checkbox cells: ensure 44px tap area by expanding the cell */
  th:has(.table-checkbox),
  td:has(.table-checkbox) {
    min-width: 44px;
  }

  /* Standalone checkbox inputs not in table: expand label target */
  label:has(input[type="checkbox"]) {
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
  }
}

/* ═══════════════════════════════════════════
   ITEM 6 — ИИ FAB: avoid footer overlap
   ═══════════════════════════════════════════ */
.ai-assistant-panel {
  box-sizing: border-box;
  min-width: 0 !important;
}

.ai-assistant-panel--compact {
  top: auto !important;
  left: auto !important;
  right: 1.5rem !important;
  bottom: 6rem !important;
  width: min(440px, calc(100vw - 3rem)) !important;
  height: auto !important;
  max-width: none !important;
  max-height: min(600px, calc(100dvh - 7.5rem)) !important;
}

.ai-assistant-panel--expanded {
  top: 1rem !important;
  left: 1rem !important;
  right: auto !important;
  bottom: auto !important;
  width: calc(100vw - 2rem) !important;
  height: calc(100dvh - 2rem) !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
}

@media (max-width: 1024px) {
  /* Move the launcher and its menu together so the FAB cannot overlap menu items. */
  .ai-assistant-launcher {
    bottom: calc(6.25rem + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(1rem + env(safe-area-inset-right, 0px)) !important;
  }

  body[data-ai-enabled='true'] .invoice-detail-drawer-scroll {
    scroll-padding-bottom: calc(10.75rem + env(safe-area-inset-bottom, 0px));
    padding-right: 0;
    padding-bottom: calc(10.75rem + env(safe-area-inset-bottom, 0px));
  }

  .ai-assistant-launcher--panel-open {
    display: none !important;
  }

  .ai-assistant-panel:not(.ai-assistant-panel--expanded) {
    left: auto !important;
    right: 0.75rem !important;
    bottom: calc(10rem + env(safe-area-inset-bottom, 0px)) !important;
    width: min(440px, calc(100vw - 1.5rem)) !important;
    height: auto !important;
    max-height: min(600px, calc(100dvh - 12rem)) !important;
  }

  .ai-assistant-panel--expanded {
    top: calc(0.75rem + env(safe-area-inset-top, 0px)) !important;
    left: calc(0.75rem + env(safe-area-inset-left, 0px)) !important;
    right: auto !important;
    bottom: auto !important;
    width: calc(
      100vw - 1.5rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)
    ) !important;
    height: calc(
      100dvh - 1.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)
    ) !important;
    max-width: none !important;
    max-height: none !important;
  }

  /* Hide FAB when user scrolls down (JS adds .fab-hidden class) */
  .fab-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scale(0.85) !important;
  }
}

@media (max-width: 480px) {
  .ai-assistant-panel:not(.ai-assistant-panel--expanded) {
    left: 0.75rem !important;
    width: auto !important;
  }
}

/* ═══════════════════════════════════════════
   ITEM 7 — SCROLLABLE TAB BARS: fade indicator
   Shows a right-edge fade when tabs overflow.
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  /* Wrap nav in a relative container for the fade */
  nav[aria-label="Tabs"],
  div[class*="border-b"] > nav.flex,
  .border-b > nav.overflow-x-auto {
    position: relative;
  }

  /* Right fade — appears when nav is scrollable */
  nav[aria-label="Tabs"]::after,
  div[class*="border-b"] > nav.flex::after,
  .border-b > nav.overflow-x-auto::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 2px; /* above border */
    width: 48px;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.95));
    pointer-events: none;
    z-index: 1;
  }

  /* In dark mode */
  body.dark-mode nav[aria-label="Tabs"]::after,
  body.dark-mode div[class*="border-b"] > nav.flex::after,
  body.dark-mode .border-b > nav.overflow-x-auto::after {
    background: linear-gradient(to right, transparent, rgba(30,41,59,0.95));
  }
}

/* ═══════════════════════════════════════════
   ITEM 8 — FOOTER: padding + breathing room
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  .app-footer {
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Footer links: more spacing between items */
  .app-footer .flex.flex-wrap {
    gap: 0.75rem !important;
  }
}

/* ═══════════════════════════════════════════
   COMPACT WORKSPACE
   Полноформатные внутренние страницы на viewport < 1024px.
   Главная панель исключена в MainLayout и сохраняет мобильную сетку.
   ═══════════════════════════════════════════ */
.app-shell[data-layout-mode='compact'] .app-header {
  flex-wrap: nowrap !important;
  height: 3.5rem !important;
  min-height: 3.5rem;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.app-shell[data-layout-mode='compact'] .app-page-canvas {
  flex: 0 0 1120px;
  width: 1120px;
  min-width: 1120px;
}

.app-shell[data-layout-mode='compact'] .app-page-canvas > * {
  min-width: 0;
}

/* Restore desktop-oriented responsive utilities inside the fixed canvas.
   Modals are excluded and keep the dedicated mobile rules above. */
.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:flex-row, .md\:flex-row, .lg\:flex-row):not(.fixed, .fixed *) {
  flex-direction: row !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:items-center, .md\:items-center, .lg\:items-center):not(.fixed, .fixed *) {
  align-items: center !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:justify-between, .md\:justify-between, .lg\:justify-between):not(.fixed, .fixed *) {
  justify-content: space-between !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:w-auto, .md\:w-auto, .lg\:w-auto):not(.fixed, .fixed *) {
  width: auto !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:self-auto, .md\:self-auto, .lg\:self-auto):not(.fixed, .fixed *) {
  align-self: auto !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:grid-cols-2, .md\:grid-cols-2, .lg\:grid-cols-2):not(.fixed, .fixed *) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:grid-cols-3, .md\:grid-cols-3, .lg\:grid-cols-3):not(.fixed, .fixed *) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:grid-cols-4, .md\:grid-cols-4, .lg\:grid-cols-4, .kpi-grid-4):not(.fixed, .fixed *) {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:grid-cols-5, .md\:grid-cols-5, .lg\:grid-cols-5):not(.fixed, .fixed *) {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.sm\:grid-cols-6, .md\:grid-cols-6, .lg\:grid-cols-6):not(.fixed, .fixed *) {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(span.hidden.sm\:contents, span.hidden.md\:contents, span.hidden.lg\:contents):not(.fixed, .fixed *) {
  display: contents !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.filters-toolbar, .buildings-toolbar, .invoices-embedded-toolbar):not(.fixed, .fixed *),
.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.flex.flex-col.sm\:flex-row, .flex.flex-col.sm\:flex-row.sm\:flex-wrap):not(.fixed, .fixed *) {
  flex-wrap: nowrap !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.flex.flex-col.sm\:flex-row, .flex.flex-col.sm\:flex-row.sm\:flex-wrap)
  > .flex.flex-wrap,
.app-shell[data-layout-mode='compact'] .app-page-canvas .buildings-filter-group,
.app-shell[data-layout-mode='compact'] .app-page-canvas .buildings-actions {
  flex-wrap: nowrap !important;
  width: auto !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.filters-toolbar, .buildings-toolbar, .invoices-embedded-toolbar)
  > * {
  flex: 0 0 auto !important;
  max-width: none !important;
}

/* В бухгалтерии фильтров больше ширины фиксированного compact-canvas.
   Перенос сохраняет главное действие видимым без горизонтальной прокрутки. */
.app-shell[data-layout-mode='compact']
  .app-page-canvas
  .invoices-embedded-toolbar {
  flex-wrap: wrap !important;
}

.app-shell[data-layout-mode='compact']
  .app-page-canvas
  .buildings-filter-group
  > *,
.app-shell[data-layout-mode='compact']
  .app-page-canvas
  .buildings-actions
  > * {
  flex: 0 0 auto !important;
}

/* Object cards keep their desktop geometry. The workspace viewport clips the
   grid and provides the only horizontal scrollbar; cards themselves never
   shrink to the device width. */
.app-shell[data-layout-mode='compact'] .app-page-canvas .buildings-card-grid {
  grid-template-columns: repeat(3, 390px) !important;
  width: -moz-max-content;
  width: max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}

.app-shell[data-layout-mode='compact'] .app-page-canvas .building-card {
  width: 390px;
  min-width: 390px;
  max-width: 390px;
}

.app-shell[data-layout-mode='compact'] .app-page-canvas .building-card-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.app-shell[data-layout-mode='compact'] .app-page-canvas .mobile-pagination {
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

.app-shell[data-layout-mode='compact'] .app-page-canvas .mobile-pagination > div {
  flex-wrap: nowrap !important;
}

/* One scrollbar belongs to the workspace. Ordinary table wrappers must not
   create nested horizontal scrolling areas. */
.app-shell[data-layout-mode='compact']
  .app-page-canvas
  :where(.table-container, div.overflow-x-auto:has(> table)) {
  overflow-x: visible !important;
}

.app-shell[data-layout-mode='compact'] .app-footer > div,
.app-shell[data-layout-mode='compact'] .app-footer .flex.flex-wrap {
  flex-wrap: nowrap !important;
}

/* Hard fallback for narrow viewports.
   Do not depend on the JS layout-mode branch: every internal page keeps a
   desktop-sized canvas, while the workspace itself remains scrollable. */
@media (max-width: 1023px) {
  .app-shell[data-dashboard='false'] .app-page-canvas {
    box-sizing: border-box;
    flex: 0 0 1280px !important;
    width: 1280px !important;
    min-width: 1280px !important;
    max-width: none !important;
  }

  .app-shell[data-dashboard='false'] .app-page-canvas > * {
    min-width: 0;
  }

  .app-shell[data-dashboard='false'] .buildings-card-grid {
    grid-template-columns: repeat(3, 400px) !important;
    width: -moz-max-content !important;
    width: max-content !important;
    min-width: -moz-max-content !important;
    min-width: max-content !important;
  }

  .app-shell[data-dashboard='false'] .building-card {
    box-sizing: border-box;
    flex: none !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
  }

  .app-shell[data-dashboard='false'] .building-card-stats {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-toolbar,
  .app-shell[data-dashboard='false'] .counterparties-filter-group,
  .app-shell[data-dashboard='false'] .counterparties-actions {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    min-width: -moz-max-content;
    min-width: max-content;
  }

  .app-shell[data-dashboard='false'] .counterparties-filter-group {
    flex: 1 0 auto !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-register-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 1280px !important;
    max-width: none !important;
  }
}

/* Counterparty group cards remain available to row actions while each wide
   table keeps its own horizontal scroll area, matching Accounting tables. */
@media (max-width: 1279px) {
  .app-shell[data-dashboard='false'] .contracts-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: -moz-max-content !important;
    width: max-content !important;
    min-width: -moz-max-content !important;
    min-width: max-content !important;
  }

  .app-shell[data-dashboard='false'] .contracts-filter-group,
  .app-shell[data-dashboard='false'] .contracts-actions {
    align-items: center !important;
    align-self: auto !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: -moz-max-content !important;
    width: max-content !important;
    min-width: -moz-max-content !important;
    min-width: max-content !important;
  }

  .app-shell[data-dashboard='false'] .contracts-filter-group > *,
  .app-shell[data-dashboard='false'] .contracts-actions > * {
    flex: 0 0 auto !important;
    width: auto;
    max-width: none !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-toolbar {
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-filter-group,
  .app-shell[data-dashboard='false'] .counterparties-actions {
    align-items: center !important;
    align-self: auto !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    min-width: -moz-max-content;
    min-width: max-content;
  }

  .app-shell[data-dashboard='false'] .counterparties-filter-group {
    flex: 1 0 auto !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-filter-group > *,
  .app-shell[data-dashboard='false'] .counterparties-actions > * {
    flex: 0 0 auto !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-group-card {
    overflow: visible !important;
  }

  .app-shell[data-dashboard='false'] .counterparties-register-table {
    width: 100% !important;
    min-width: 1280px !important;
    max-width: none !important;
  }
}

/* Buildings use the available content width, not the viewport breakpoint.
   A card must never become narrower than its stable desktop geometry. */
.buildings-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)) !important;
}

.buildings-toolbar,
.buildings-toolbar-row,
.buildings-filter-group,
.buildings-actions {
  flex-wrap: nowrap !important;
}

.buildings-toolbar-row {
  width: -moz-max-content !important;
  width: max-content !important;
  min-width: 100%;
}

.buildings-filter-group,
.buildings-actions,
.buildings-filter-group > *,
.buildings-actions > * {
  flex: 0 0 auto !important;
}

@media (max-width: 1023px) {
  .app-shell[data-dashboard='false'] .buildings-card-grid {
    grid-template-columns: repeat(3, 400px) !important;
  }
}

/* Shared responsive filter toolbar: filters wrap only in the left column;
   actions stay top-right and filter toggles form the second right-side row. */
.app-shell .app-page-canvas .app-filter-toolbar,
.app-shell[data-dashboard='false'] .contracts-toolbar.app-filter-toolbar,
.app-shell[data-dashboard='false'] .counterparties-toolbar.app-filter-toolbar,
.app-shell[data-layout-mode='compact'] .app-page-canvas .app-filter-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.app-shell .app-page-canvas .app-filter-toolbar__filters,
.app-shell[data-dashboard='false'] .contracts-filter-group.app-filter-toolbar__filters,
.app-shell[data-dashboard='false'] .counterparties-filter-group.app-filter-toolbar__filters {
  display: flex !important;
  flex: initial !important;
  flex-wrap: wrap !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.app-shell .app-page-canvas .app-filter-toolbar__right {
  display: flex !important;
  min-width: 0 !important;
  width: auto !important;
  flex-direction: column !important;
  align-items: flex-end !important;
}

.app-shell .app-page-canvas .app-filter-toolbar__actions,
.app-shell .app-page-canvas .app-filter-toolbar__toggles {
  display: flex !important;
  flex: initial !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  width: auto !important;
  min-width: 0 !important;
}

.app-shell .app-page-canvas .app-filter-toolbar__actions button {
  width: auto !important;
}

@media (max-width: 767px) {
  .app-shell .app-page-canvas .app-filter-toolbar,
  .app-shell[data-dashboard='false'] .contracts-toolbar.app-filter-toolbar,
  .app-shell[data-dashboard='false'] .counterparties-toolbar.app-filter-toolbar,
  .app-shell[data-layout-mode='compact'] .app-page-canvas .app-filter-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .app-shell .app-page-canvas .app-filter-toolbar__right {
    align-items: flex-start !important;
  }

  .app-shell .app-page-canvas .app-filter-toolbar__actions,
  .app-shell .app-page-canvas .app-filter-toolbar__toggles {
    justify-content: flex-start !important;
  }
}
/* Финальный слой плотности для рабочих панелей.
   Подключается после mobile.css, поэтому единый размер не перебивается
   базовым минимумом кнопок и адаптивными правилами. */

.app-toolbar-control {
  height: 32px !important;
  min-height: 32px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

.app-toolbar-control svg {
  width: 14px;
  height: 14px;
}

.invoices-saved-views > button {
  height: 32px !important;
  min-height: 32px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group
) > button,
:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group
) > label,
:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group
) > .relative > button,
:is(.app-compact-filters, .invoices-compact-filters) > span > button,
:is(.app-compact-filters, .invoices-compact-filters) > span > .relative > button,
:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group
) > .shrink-0 > span > button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 5px 9px;
  gap: 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 18px;
}

:is(.app-compact-filters, .invoices-compact-filters) > input {
  height: 32px !important;
  min-height: 32px !important;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 12px;
  line-height: 18px;
}

/* Горизонтальные отступы задаёт сам компонент поиска: слева под иконку,
   справа под очистку. Здесь меняем только плотность по вертикали. */
:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group
) > .relative > input {
  height: 32px !important;
  min-height: 32px !important;
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 12px;
  line-height: 18px;
}

:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > button,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > button,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > .relative > button,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .relative > button,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > span > button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 5px 9px !important;
  gap: 6px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

.contracts-actions > span > .relative > span > button,
.invoices-embedded-toolbar > .relative > .flex > button {
  height: 32px !important;
  min-height: 32px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group,
  .buildings-actions,
  .contracts-actions,
  .counterparties-actions,
  .turnover-actions
) > button svg,
:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group,
  .buildings-actions,
  .contracts-actions,
  .counterparties-actions,
  .turnover-actions
) > .relative > button svg,
:is(.app-compact-filters, .invoices-compact-filters) > span > button svg,
:is(.app-compact-filters, .invoices-compact-filters) > span > .relative > button svg,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > button svg,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > .relative > button svg,
:is(.buildings-actions, .contracts-actions, .counterparties-actions, .turnover-actions) > span > span > button svg {
  width: 14px;
  height: 14px;
}

/* Кнопка очистки остаётся небольшой внутри раскрытого поля поиска. */
:is(
  .app-compact-filters,
  .invoices-compact-filters,
  .contracts-filter-group,
  .turnover-filter-group,
  .buildings-filter-group,
  .counterparties-filter-group
) > .relative:has(> input) > button {
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
}
