/*
 * Saffman ERP — общие переменные бренда и утилитарные классы.
 *
 * Зачем существует этот файл:
 * Filament v5 публикует свои `--primary-XXX` CSS-переменные как oklch()-значения.
 * Использовать их через `rgb(var(--primary-600))` нельзя — `rgb(oklch(...))`
 * невалидно, браузер отбрасывает свойство и оставляет дефолтный фон. На кастомных
 * Filament-страницах Tailwind не сканируется, поэтому утилитарные классы
 * `bg-lime-600` тоже не работают.
 *
 * Решение: свои переменные `--saff-primary-*` (обычные hex) + готовые классы,
 * которые работают и в light, и в dark теме. Файл регистрируется через
 * FilamentAsset (см. AppServiceProvider) и попадает в <head> на всех админ-страницах.
 */

:root {
    --saff-primary-50:  #f7fee7;
    --saff-primary-100: #ecfccb;
    --saff-primary-200: #d9f99d;
    --saff-primary-300: #bef264;
    --saff-primary-500: #84cc16;
    --saff-primary-600: #65a30d;
    --saff-primary-700: #4d7c0f;
    --saff-primary-900: #365314;

    /* RGB-тройки для использования с alpha через rgba(var(--saff-primary-XXX-rgb), 0.3) */
    --saff-primary-500-rgb: 132, 204, 22;
    --saff-primary-900-rgb: 54, 83, 20;
}

/* ─────────────────────────────────────────────────────────────
 * Утилитарные классы для повторно встречающихся брендовых элементов
 * на кастомных blade-страницах (отчёты, канбан-фильтры и т.д.).
 * ───────────────────────────────────────────────────────────── */

/* Все .saff-* классы продублированы (.saff-x.saff-x) для повышения специфичности
 * с (0,1,0) до (0,2,0). Это нужно потому, что страничные стили блейдов идут в
 * <style>-блоках в <body> — то есть позже подключения этого файла в <head>.
 * При равной специфичности побеждает «последний», и страничный `.mh-preset-btn`
 * перебивал бы `.saff-pill-active`. Дубль форсирует выигрыш для брендовых правил. */

/* Активная «таблетка» — пресет периода, активная вкладка фильтра. */
.saff-pill-active.saff-pill-active,
.saff-pill-active.saff-pill-active:hover {
    background: var(--saff-primary-600);
    border-color: var(--saff-primary-600);
    color: #fff;
}
.dark .saff-pill-active.saff-pill-active,
.dark .saff-pill-active.saff-pill-active:hover {
    background: var(--saff-primary-500);
    border-color: var(--saff-primary-500);
    color: #fff;
}

/* Фокусное состояние нативных <input>/<select> в брендовых тулбарах. */
.saff-focus-ring.saff-focus-ring:focus {
    outline: none;
    border-color: var(--saff-primary-500);
    box-shadow: 0 0 0 3px rgba(var(--saff-primary-500-rgb), 0.18);
}

/* Текстовая ссылка в брендовом цвете. */
.saff-link.saff-link {
    color: var(--saff-primary-700);
    text-decoration: none;
}
.saff-link.saff-link:hover { text-decoration: underline; }

/* @mention-бейдж в комментариях задач (рендерится из TaskComment::getRenderedBodyAttribute). */
.saff-mention-badge {
    display: inline;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.8em;
    font-weight: 600;
    background: var(--saff-primary-100);
    color: var(--saff-primary-700);
}
