/* ═══════════════════════════════════════════════════════════════
   AppliWeb / IPS — Design tokens (source de vérité)
   Chargé avant app.css et aw-ui.css ; aw-radzen-overrides.css après RadzenTheme.
   Règles : 60 % neutres · 30 % teal/bleu · 10 % sémantique
   ═══════════════════════════════════════════════════════════════ */

:root,
[data-bs-theme="light"] {
    /* ── Primaire (teal) — CTA principal, nav active ── */
    --aw-primary: #0d9488;
    --aw-primary-hover: #0f766e;
    --aw-primary-pressed: #115e59;
    --aw-primary-disabled: #99d9d3;
    --aw-primary-soft: #ccfbf1;
    --aw-on-primary: #ffffff;

    /* ── Secondaire (bleu) — actions secondaires, info ── */
    --aw-secondary: #2563eb;
    --aw-secondary-hover: #1d4ed8;
    --aw-secondary-pressed: #1e40af;
    --aw-secondary-soft: #dbeafe;
    --aw-on-secondary: #ffffff;

    /* ── Sémantique (palette vive — contraste AA) ── */
    --aw-success: #15803d;
    --aw-success-hover: #166534;
    --aw-success-pressed: #14532d;
    --aw-success-soft: #dcfce7;
    --aw-success-text: #15803d;
    --aw-on-success: #ffffff;

    --aw-info: #0e7490;
    --aw-info-hover: #155e75;
    --aw-info-pressed: #164e63;
    --aw-info-soft: #cffafe;
    --aw-info-text: #0e7490;
    --aw-on-info: #ffffff;

    --aw-error: #dc2626;
    --aw-error-hover: #b91c1c;
    --aw-error-pressed: #991b1b;
    --aw-error-soft: #fee2e2;
    --aw-error-text: #dc2626;
    --aw-on-error: #ffffff;

    --aw-warning: #f59e0b;
    --aw-warning-hover: #d97706;
    --aw-warning-pressed: #b45309;
    --aw-warning-soft: #fef3c7;
    --aw-warning-text: #1f2937;
    --aw-on-warning: #1f2937;

    /* ── Neutres ── */
    --aw-surface: #ffffff;
    --aw-surface-2: #f8fafc;
    --aw-surface-3: #f1f5f9;
    --aw-border: #e2e8f0;
    --aw-border-strong: #cbd5e1;
    --aw-ink: #0f172a;
    --aw-muted: #475569;
    --aw-text-disabled: #94a3b8;
    --aw-canvas: #f8fafc;

    /* ── Alias legacy (ERP / GRH existant) ── */
    --aw-brand: var(--aw-primary);
    --aw-brand-hover: var(--aw-primary-hover);
    --aw-brand-soft: var(--aw-primary-soft);
    --aw-accent: var(--aw-warning);
    --aw-accent-soft: var(--aw-warning-soft);
    --aw-danger: var(--aw-error);
    --aw-danger-soft: var(--aw-error-soft);
    --aw-line: var(--aw-border-strong);
    --app-primary: var(--aw-ink);
    --app-secondary: var(--aw-primary);

    /* ── Focus (accessibilité clavier) ── */
    --aw-focus-ring: 0 0 0 2px var(--aw-surface), 0 0 0 4px var(--aw-primary);

    /* ── Pont Radzen Software (composants RadzenButton, Badge, etc.) ── */
    --rz-primary: var(--aw-primary);
    --rz-primary-light: var(--aw-primary-soft);
    --rz-primary-dark: var(--aw-primary-pressed);
    --rz-primary-lighter: var(--aw-primary-soft);
    --rz-secondary: var(--aw-secondary);
    --rz-secondary-light: var(--aw-secondary-soft);
    --rz-secondary-dark: var(--aw-secondary-pressed);
    --rz-success: var(--aw-success);
    --rz-success-light: var(--aw-success-soft);
    --rz-danger: var(--aw-error);
    --rz-danger-light: var(--aw-error-soft);
    --rz-warning: var(--aw-warning);
    --rz-warning-light: var(--aw-warning-soft);
    --rz-info: var(--aw-info);
    --rz-info-light: var(--aw-info-soft);
    --rz-base-background-color: var(--aw-surface);
    --rz-base-100: var(--aw-surface-2);
    --rz-base-200: var(--aw-border);
    --rz-base-300: var(--aw-border-strong);
    --rz-text-color: var(--aw-ink);
    --rz-text-secondary-color: var(--aw-muted);
    --rz-on-primary: var(--aw-on-primary);

    /* ── GRH (hubs + tuiles → tokens sémantiques) ── */
    --grh-color-success: var(--aw-success);
    --grh-color-success-soft: var(--aw-success-soft);
    --grh-color-warning: var(--aw-warning);
    --grh-color-warning-soft: var(--aw-warning-soft);
    --grh-color-info: var(--aw-info);
    --grh-color-info-soft: var(--aw-info-soft);
    --grh-color-danger: var(--aw-error);
    --grh-color-danger-soft: var(--aw-error-soft);
    --grh-color-muted: var(--aw-muted);
    --grh-color-muted-soft: var(--aw-surface-3);
    --grh-hub-accent-temps: var(--aw-warning);
    --grh-hub-accent-temps-soft: var(--aw-warning-soft);
    --grh-hub-accent-pay: var(--aw-primary-hover);
    --grh-hub-accent-pay-soft: var(--aw-primary-soft);
    --grh-hub-accent-config: var(--aw-primary);
    --grh-hub-accent-config-soft: var(--aw-primary-soft);
}

/* Dark mode (Radzen software-dark — prêt si thème activé) */
[data-bs-theme="dark"],
.rz-dark {
    --aw-primary: #2dd4bf;
    --aw-primary-hover: #5eead4;
    --aw-primary-pressed: #14b8a6;
    --aw-primary-soft: rgba(45, 212, 191, 0.15);
    --aw-secondary: #60a5fa;
    --aw-secondary-hover: #93c5fd;
    --aw-success: #4ade80;
    --aw-info: #22d3ee;
    --aw-error: #f87171;
    --aw-warning: #fbbf24;
    --aw-surface: #0f172a;
    --aw-surface-2: #1e293b;
    --aw-surface-3: #334155;
    --aw-border: #334155;
    --aw-border-strong: #475569;
    --aw-ink: #f8fafc;
    --aw-muted: #94a3b8;
    --aw-canvas: #0f172a;
}
