
:root {
    --pg-navy          : #002055;
    --pg-navy-700      : #1f265a;
    --pg-navy-600      : #2e476f;
    --pg-orange        : #ff8b23;
    --pg-orange-600    : #d6751d;
    --pg-sky           : #4cbfff;
    --pg-sky-600       : #36a9f4;
    --pg-sky-700       : #2a92dd;
    --pg-secondary     : var(--pg-orange);
    --pg-violet        : #4e37b6;
    --pg-violet-400    : #7252d3;
    --pg-violet-100    : #ece9fb;
    --pg-sky-50        : #eaf7ff;
    --pg-sky-100       : #d6efff;
    --pg-orange-50     : #fff4eb;
    --pg-orange-100    : #ffe7d2;
    --pg-navy-50       : #eef2f8;
    --pg-white         : #ffffff;
    --pg-bg            : #f5f8fa;
    --pg-bg-subtle     : #f2f3f5;
    --pg-100           : #e9eef5;
    --pg-200           : #dce3ec;
    --pg-border        : #cbd6e2;
    --pg-border-soft   : #e0e4ea;
    --pg-300           : #adb8cc;
    --pg-slate-400     : #848a94;
    --pg-slate-500     : #6b7a99;
    --pg-slate-600     : #4d5e80;
    --pg-700           : #424242;
    --pg-800           : #242424;
    --pg-sidebar       : #1a2238;
    --pg-sidebar-700   : #202b40;
    --pg-sidebar-hover : #2a3450;
    --pg-success       : #19ad79;
    --pg-success-bright: #29cb3a;
    --pg-success-50    : #e7f8ef;
    --pg-warning       : #ff9f43;
    --pg-warning-bright: #f2c94c;
    --pg-warning-50    : #fff6e6;
    --pg-danger        : #f04438;
    --pg-danger-50     : #fdecea;
    --pg-pink          : #e62e7b;
    --pg-pink-50       : #fdeaf2;
    --pg-info          : #4cbfff;
    --pg-info-50       : #eaf7ff;

    /* Roles - surfaces & texte */
    --color-bg            : var(--pg-bg);
    --color-surface       : var(--pg-white);
    --color-surface-subtle: var(--pg-bg-subtle);
    --color-surface-sunken: var(--pg-navy-50);
    --text-strong         : var(--pg-navy);
    --text-body           : var(--pg-slate-600);
    --text-muted          : var(--pg-slate-500);
    --text-placeholder    : var(--pg-slate-400);
    --text-on-brand       : var(--pg-white);
    --text-link           : var(--pg-sky-700);

    /* Roles - bordures & actions */
    --border-default      : var(--pg-border);
    --border-soft         : var(--pg-border-soft);
    --border-focus        : var(--pg-sky);
    --action-primary      : var(--pg-sky);
    --action-primary-hover: var(--pg-sky-600);
    --action-primary-press: var(--pg-sky-700);
    --action-dark         : var(--pg-navy-700);
    --accent              : var(--pg-orange);

    /* Roles - statuts */
    --status-new      : var(--pg-info);
    --status-progress : var(--pg-warning-bright);
    --status-planned  : var(--pg-success-bright);
    --status-billing  : var(--pg-success);
    --status-tosettle : var(--pg-warning);
    --status-invoiced : var(--pg-navy-700);
    --status-cancelled: var(--pg-danger);

    --font-display     : 'Lexend Deca', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-ui          : 'Lexend Deca', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-num         : 'Lexend Deca', 'Roboto', system-ui, sans-serif;
    --fs-display       : 28px;
    --fs-h1            : 22px;
    --fs-h2            : 18px;
    --fs-h3            : 16px;
    --fs-body          : 14px;
    --fs-sm            : 13px;
    --fs-xs            : 12px;
    --fs-2xs           : 11px;
    --fw-regular       : 400;
    --fw-medium        : 500;
    --fw-semibold      : 600;
    --fw-bold          : 700;
    --lh-tight         : 1.15;
    --lh-snug          : 1.3;
    --lh-normal        : 1.5;
    --ls-tight         : -0.01em;
    --ls-normal        : 0;
    --ls-caps          : 0.04em;
    --text-display-font: var(--font-display);
    --text-heading-font: var(--font-display);
    --text-body-font   : var(--font-ui);

    --sp-05: 2px;
    --sp-1 : 4px;
    --sp-2 : 8px;
    --sp-3 : 12px;
    --sp-4 : 16px;
    --sp-5 : 20px;
    --sp-6 : 24px;
    --sp-8 : 32px;
    --sp-10: 40px;
    --sp-12: 48px;
    --sp-16: 64px;

    --r-xs  : 4px;
    --r-sm  : 6px;
    --r-md  : 8px;
    --r-lg  : 12px;
    --r-xl  : 16px;
    --r-2xl : 20px;
    --r-pill: 999px;
    --bw    : 1px;
    --bw-2  : 1.5px;

    --shadow-xs : 0 1px 2px rgba(38,51,77,0.06);
    --shadow-sm : 0 2px 10px rgba(38,51,77,0.04);
    --shadow-md : 0 4px 16px rgba(38,51,77,0.08);
    --shadow-lg : 0 12px 32px rgba(38,51,77,0.12);
    --shadow-pop: 0 8px 24px rgba(38,51,77,0.16);
    --focus-ring: 0 0 0 3px rgba(76,191,255,0.35);

    --rail-w    : 64px;
    --header-h  : 60px;
    --mobile-w  : 390px;
    --container : 1440px;
    --transition: 140ms cubic-bezier(0.4, 0, 0.2, 1);

    /* Chevron des listes deroulantes : un seul dessin pour les modales laterales et
       pour les champs des pages document, pose en image de fond (le controle natif est
       retire par appearance: none). */
    --pg-select-arrow: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M4 6l4 4 4-4%27 fill=%27none%27 stroke=%27%236b7a99%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");

    /* Loupe des champs de recherche sans icone dans le balisage (recherche des filtres
       de liste), meme gris que les invites. */
    --pg-search-icon: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23848a94%27 stroke-width=%271.6%27 stroke-linecap=%27round%27%3E%3Ccircle cx=%277%27 cy=%277%27 r=%274.75%27/%3E%3Cpath d=%27M10.5 10.5L14 14%27/%3E%3C/svg%3E");

    --doc-devis-accent   : var(--pg-navy);
    --doc-devis-bg       : #edeff2;
    --doc-devis-fg       : #253342;
    --doc-devis-border   : #c9d0d8;
    --doc-commande-accent: var(--pg-orange);
    --doc-commande-bg    : var(--pg-orange-50);
    --doc-commande-fg    : #a85c17;
    --doc-commande-border: #ffe0c4;
    --doc-facture-accent : #4e37b6;
    --doc-facture-bg     : #f1eefc;
    --doc-facture-fg     : #4e37b6;
    --doc-facture-border : #d9d1f7;
    --doc-service-accent : #2e8033;
    --doc-service-bg     : #edf7ee;
    --doc-service-fg     : #2e7d32;
    --doc-service-border : #c8e6c9;
    --doc-aside-w        : 372px;
    --doc-container      : 100%;
    --doc-accent-h       : 3px;
    --doc-title-max     : 640px;
    /* Chevauchement de la barre d onglets sur le bandeau (27 = 42 - les 15px de padding
       legacy du corps de page, desormais neutralises : meme rendu au repos). */
    --doc-tabs-offset   : 27px;
    --z-doc-header      : 40;
    --z-doc-tabs        : 41;
}

/* Anciennes variables de couleur du CMS : les couleurs personnalisees du
   parametrage ne sont plus appliquees (plus injectees par layouts/app). Nos
   feuilles utilisent --pg-sky / --pg-secondary ; ces alias ne servent plus
   qu aux feuilles du CMS (vendor/cms), qu on ne modifie pas. html:root pour
   passer devant plugins/theme.css, charge apres nous avec son rouge par defaut. */
html:root {
    --main-primary-color  : var(--pg-sky);
    --main-secondary-color: var(--pg-secondary);
    --main-third-color    : #444444;
    --main-fourth-color   : var(--pg-white);
}
