/*
 * Avalist Theme — Design tokens
 *
 * ЦЕ ЕКСПОРТНИЙ КОНТРАКТ ТЕМИ. Інші плагіни Avalist можуть залежати
 * від цього файлу (handle: avalist-tokens) для отримання --av-* змінних.
 * Не перейменовуй змінні без оновлення всіх споживачів.
 *
 * Джерело істини — _source/html/Avalist Brand Identity.html (v2.0).
 * Контраст на темному фоні #0b1a07 перевірений: 21:1 для білого, 12:1 для body, 6.1:1 для muted.
 *
 * Voice & tone (короткий конспект, повне — у Brand Identity.html):
 *   - Українська, Ви-форма, дієслово + об'єкт.
 *   - Без канцеляриту, мінімум жаргону.
 *   - Дати: 17.05.2026 або "17 травня". Email — малими літерами.
 */

:root {
    /* ============ Фони та поверхні ============ */
    --av-bg: #0b1a07;
    --av-card: #112208;
    --av-card-2: rgba(255, 255, 255, 0.04);
    --av-footer-bg: #080f05;
    --av-header-bg: rgba(22, 45, 11, 0.97);

    /* ============ Бренд — зелений ============ */
    --av-green: #73AE20;
    --av-green-hover: #5b8a18;
    --av-green-soft: rgba(115, 174, 32, 0.15);
    --av-green-dim: #3d6b1e;

    /* ============ Текст ============ */
    --av-text: #ffffff;
    --av-text-body: rgba(255, 255, 255, 0.65);
    --av-text-muted: rgba(255, 255, 255, 0.38);
    --av-text-disabled: rgba(255, 255, 255, 0.3);

    /* ============ Бордери ============ */
    --av-border: rgba(255, 255, 255, 0.08);
    --av-border-strong: rgba(255, 255, 255, 0.15);
    --av-border-green: rgba(115, 174, 32, 0.28);
    --av-border-green-strong: rgba(115, 174, 32, 0.45);

    /* ============ Шрифт ============ */
    --av-font: 'Exo 2', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    --av-fw-light: 300;
    --av-fw-regular: 400;
    --av-fw-medium: 500;
    --av-fw-semibold: 600;
    --av-fw-bold: 700;
    --av-fw-extrabold: 800;

    /* Розміри */
    --av-size-display: clamp(40px, 5vw, 68px);
    --av-size-h1: 32px;
    --av-size-h2: 24px;
    --av-size-h3: 18px;
    --av-size-h4: 13px;
    --av-size-body: 14px;
    --av-size-small: 12px;
    --av-size-caption: 11px;

    /* Line-heights */
    --av-lh-tight: 1.05;
    --av-lh-heading: 1.2;
    --av-lh-subheading: 1.3;
    --av-lh-normal: 1.4;
    --av-lh-relaxed: 1.65;
    --av-lh-loose: 1.7;

    /* Letter-spacing */
    --av-ls-tight: -0.03em;
    --av-ls-heading: -0.02em;
    --av-ls-subheading: -0.015em;
    --av-ls-default: 0;
    --av-ls-label: 0.07em;
    --av-ls-caption: 0.02em;
    --av-ls-eyebrow: 0.14em;

    /* ============ Spacing (4px grid) ============ */
    --av-space-xs: 4px;
    --av-space-sm: 8px;
    --av-space-md: 12px;
    --av-space-base: 16px;
    --av-space-lg: 24px;
    --av-space-xl: 32px;
    --av-space-2xl: 56px;
    --av-space-3xl: 64px;

    /* ============ Радіуси ============ */
    --av-radius-xs: 4px;
    --av-radius-sm: 6px;
    --av-radius-base: 8px;
    --av-radius-md: 10px;
    --av-radius-lg: 14px;
    --av-radius-xl: 16px;
    --av-radius-pill: 9999px;

    /* ============ Тіні / glows ============ */
    --av-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --av-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
    --av-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.4);
    --av-glow-green: 0 0 24px rgba(115, 174, 32, 0.25);
    --av-glow-green-strong: 0 0 40px rgba(115, 174, 32, 0.45);

    /* ============ Motion ============ */
    --av-duration-fast: 0.12s;
    --av-duration-normal: 0.18s;
    --av-duration-medium: 0.3s;
    --av-duration-slow: 0.6s;

    --av-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --av-ease-out: cubic-bezier(0, 0, 0.2, 1);
    --av-ease-in: cubic-bezier(0.4, 0, 1, 1);

    /* ============ Layout ============ */
    --av-container-max: 1400px;
    --av-sidebar-width: 224px;
    --av-header-height: 64px;
    --av-z-header: 100;
    --av-z-modal: 1000;
    --av-z-toast: 1100;

    /* ============ Статусні бейджі (документи / процеси) ============ */
    --av-status-draft-bg: rgba(107, 114, 128, 0.15);
    --av-status-draft-text: rgba(255, 255, 255, 0.5);
    --av-status-draft-border: rgba(107, 114, 128, 0.2);

    --av-status-pending-bg: rgba(245, 158, 11, 0.1);
    --av-status-pending-text: #fcd34d;
    --av-status-pending-border: rgba(245, 158, 11, 0.25);

    --av-status-signing-bg: rgba(59, 130, 246, 0.12);
    --av-status-signing-text: #93c5fd;
    --av-status-signing-border: rgba(59, 130, 246, 0.3);

    --av-status-approved-bg: rgba(34, 197, 94, 0.1);
    --av-status-approved-text: #86efac;
    --av-status-approved-border: rgba(34, 197, 94, 0.2);

    --av-status-signed-bg: rgba(16, 185, 129, 0.1);
    --av-status-signed-text: #6ee7b7;
    --av-status-signed-border: rgba(16, 185, 129, 0.2);

    --av-status-rejected-bg: rgba(239, 68, 68, 0.1);
    --av-status-rejected-text: #fca5a5;
    --av-status-rejected-border: rgba(239, 68, 68, 0.2);

    --av-status-archive-bg: rgba(107, 114, 128, 0.1);
    --av-status-archive-text: rgba(255, 255, 255, 0.3);
    --av-status-archive-border: rgba(107, 114, 128, 0.15);

    /* ============ Toasts ============ */
    --av-toast-success-bg: rgba(34, 197, 94, 0.08);
    --av-toast-success-border: rgba(34, 197, 94, 0.2);
    --av-toast-success-icon: #86efac;

    --av-toast-error-bg: rgba(239, 68, 68, 0.08);
    --av-toast-error-border: rgba(239, 68, 68, 0.2);
    --av-toast-error-icon: #fca5a5;

    --av-toast-warning-bg: rgba(245, 158, 11, 0.08);
    --av-toast-warning-border: rgba(245, 158, 11, 0.2);
    --av-toast-warning-icon: #fcd34d;

    --av-toast-info-bg: rgba(59, 130, 246, 0.08);
    --av-toast-info-border: rgba(59, 130, 246, 0.2);
    --av-toast-info-icon: #93c5fd;
}

/* Користувачам із prefers-reduced-motion вирубаємо моушн-токени, щоб глобально вимкнути transition/animation. */
@media (prefers-reduced-motion: reduce) {
    :root {
        --av-duration-fast: 0s;
        --av-duration-normal: 0s;
        --av-duration-medium: 0s;
        --av-duration-slow: 0s;
    }
}
