/* Премиальная пастельная тёмная тема OmniSDR AI (Enterprise SaaS Palette) */

:root {
    --bg-main: #0b0f19;
    --bg-card: #131b2e;
    --bg-card-hover: #1a243b;
    --border-color: rgba(30, 41, 59, 0.8);
    --border-accent: rgba(99, 102, 241, 0.3);
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: var(--bg-main);
    color: #f1f5f9;
}

/* Кастомный минималистичный скроллбар */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: rgba(11, 15, 25, 0.8);
}

::-webkit-scrollbar-thumb {
    background: rgba(51, 65, 85, 0.6);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(71, 85, 105, 0.9);
}

/* Запрет ручного изменения размера текстовых полей пользователем */
textarea {
    resize: none !important;
}

/* Placeholder заметно тусклее реального введённого текста (text-slate-100/#f1f5f9),
   чтобы подсказку нельзя было принять за уже заполненное поле */
input::placeholder,
textarea::placeholder {
    color: #64748b;
    opacity: 1;
}

/* Chrome/Edge/Safari красят автозаполненное поле в белый/жёлтый через
   собственный UA-стиль, который обычный background-color не перекрывает —
   единственный рабочий способ переопределить его это box-shadow inset,
   залитый тем же тёмным фоном (#020617 = bg-slate-950), что и у всех полей
   ввода в проекте, и огромный transition-delay, чтобы Chrome не успел
   мигнуть жёлтым до применения стиля. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0px 1000px #020617 inset !important;
    box-shadow: 0 0 0px 1000px #020617 inset !important;
    -webkit-text-fill-color: #f1f5f9 !important;
    caret-color: #f1f5f9;
    transition: background-color 600000s ease-in-out 0s;
}

/* Ширина колонок Канбана */
.kanban-col {
    min-width: 310px;
    max-width: 360px;
}

/* Анимация Toast-уведомлений */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.toast-enter {
    animation: slideInRight 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.toast-exit {
    animation: fadeOut 0.2s ease-out forwards;
}