.bg-root,
    .bg-root * {
        box-sizing: border-box;
    }

.bg-root {
    --n-0:#fff;
    --n-50:#f8fafc;
    --n-100:#f1f5f9;
    --n-200:#e2e8f0;
    --n-300:#cbd5e1;
    --n-400:#94a3b8;
    --n-500:#64748b;
    --n-600:#475569;
    --n-700:#334155;
    --n-800:#1e293b;
    --n-900:#0f172a;

    --b-50:#eff6ff;
    --b-100:#dbeafe;
    --b-500:#3b82f6;
    --b-600:#2563eb;
    --b-700:#1d4ed8;

    --success-bg:#ecfdf5;
    --success-bd:#6ee7b7;
    --success-tx:#065f46;

    --error-bg:#fef2f2;
    --error-bd:#fca5a5;
    --error-tx:#991b1b;

    --warn-bg:#fff7ed;
    --warn-bd:#fed7aa;
    --warn-tx:#9a3412;

    --r-sm:10px;
    --r-md:14px;
    --r-lg:20px;
    --r-xl:28px;
    --r-2xl:36px;

    --shadow-sm:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.06);
    --shadow-md:0 4px 16px rgba(15,23,42,.10),0 2px 6px rgba(15,23,42,.06);
    --shadow-lg:0 12px 40px rgba(15,23,42,.14),0 4px 12px rgba(15,23,42,.08);
    --shadow-xl:0 24px 64px rgba(15,23,42,.18),0 8px 24px rgba(15,23,42,.10);

    width:100%;
    max-width:1280px;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:28px 20px 60px;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--n-800);
}

body.bddgend-ui-admin .entry-content > .bg-root,
body.bddgend-ui-dashboard .entry-content > .bg-root,
body.bddgend-ui-profile .entry-content > .bg-root {
    margin-left:auto !important;
    margin-right:auto !important;
}

    .bg-btn {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        border:0;
        border-radius:var(--r-md);
        padding:10px 18px;
        font-size:14px;
        font-weight:700;
        cursor:pointer;
        text-decoration:none !important;
        transition:all .18s ease;
        white-space:nowrap;
    }

    .bg-btn:hover {
        transform:translateY(-1px);
    }

    .bg-btn-primary {
        background:var(--b-600);
        color:#fff !important;
    }

    .bg-btn-secondary {
        background:#fff;
        color:var(--n-700) !important;
        border:1px solid var(--n-200);
        box-shadow:var(--shadow-sm);
    }

    .bg-btn-ghost {
        background:rgba(255,255,255,.14);
        border:1px solid rgba(255,255,255,.25);
        color:#fff !important;
        backdrop-filter:blur(8px);
    }

    .bg-btn-danger {
        background:var(--error-bg);
        color:var(--error-tx) !important;
        border:1px solid var(--error-bd);
    }

    .bg-alert {
        padding:13px 15px;
        border-radius:var(--r-md);
        border:1px solid;
        font-size:14px;
        font-weight:700;
        margin-bottom:16px;
        text-align:left;
    }

    .bg-alert-error {
        background:var(--error-bg);
        border-color:var(--error-bd);
        color:var(--error-tx);
    }

    .bg-card,
    .bg-section-block {
        background:#fff;
        border:1px solid var(--n-200);
        border-radius:var(--r-xl);
        box-shadow:var(--shadow-sm);
    }

    .bg-section-block {
        padding:24px;
        margin-bottom:20px;
    }

    .bg-tools-grid {
        display:grid;
        grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
        gap:14px;
    }

    .bg-tool-card {
        display:flex;
        flex-direction:column;
        gap:8px;
        padding:18px;
        border-radius:var(--r-lg);
        background:var(--n-50);
        border:1px solid var(--n-200);
        text-decoration:none !important;
        color:var(--n-800) !important;
        transition:all .18s ease;
    }

    .bg-tool-card:hover {
        background:var(--b-50);
        border-color:var(--b-100);
        box-shadow:var(--shadow-md);
        transform:translateY(-2px);
    }

    .bg-tool-card-admin {
        background:#faf5ff;
        border-color:#e9d5ff;
    }

    .bg-tool-card-admin:hover {
        background:#f3e8ff;
        border-color:#c4b5fd;
    }

    .bg-table-wrap {
        overflow-x:auto;
        border:1px solid var(--n-200);
        border-radius:var(--r-lg);
    }

    .bg-table {
        width:100%;
        border-collapse:collapse;
        font-size:14px;
        min-width:760px;
    }

    .bg-table th {
        background:var(--n-50);
        padding:12px 14px;
        text-align:left;
        font-size:11px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.08em;
        color:var(--n-500);
        border-bottom:1px solid var(--n-200);
    }

    .bg-table td {
        padding:14px;
        border-bottom:1px solid var(--n-100);
        color:var(--n-700);
        vertical-align:middle;
    }

    .bg-tab-bar {
        display:flex;
        gap:8px;
        flex-wrap:wrap;
        align-items:center;
        padding:8px;
        background:rgba(255,255,255,.86);
        border:1px solid rgba(226,232,240,.95);
        border-radius:var(--r-lg);
        box-shadow:var(--shadow-sm);
        margin-bottom:24px;
    }

    .bg-tab-btn {
        border:0;
        border-radius:var(--r-md);
        padding:10px 16px;
        background:transparent;
        color:var(--n-700);
        font-size:14px;
        font-weight:800;
        cursor:pointer;
        transition:all .18s ease;
    }

    .bg-tab-btn:hover {
        background:#fff;
        color:var(--b-700);
        box-shadow:var(--shadow-sm);
        transform:translateY(-1px);
    }

    .bg-tab-btn.is-active {
        background:#fff;
        color:var(--b-700);
        box-shadow:var(--shadow-sm);
    }

    /* BDDGend — Gestion dashboard : cartes harmonisées */
    .bg-details-card {
        background:#fff;
        border:1px solid rgba(226,232,240,.95);
        border-radius:var(--r-xl);
        box-shadow:0 10px 34px rgba(15,23,42,.07);
        overflow:hidden;
        margin-bottom:18px;
    }

    .bg-details-card summary {
        list-style:none;
        cursor:pointer;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        padding:18px 22px;
        background:linear-gradient(180deg,#fff,#f8fafc);
        border-bottom:1px solid var(--n-200);
    }

    .bg-details-card summary::-webkit-details-marker {
        display:none;
    }

    .bg-details-card .bg-details-body {
        padding:22px;
        background:#fff;
    }

    .bg-details-card .bg-h3 {
        margin:0;
        font-size:16px;
        font-weight:850;
        color:var(--n-900);
    }

    .bg-details-chevron {
        color:var(--n-400);
        font-style:normal;
        transition:transform .18s ease;
    }

    .bg-details-card[open] .bg-details-chevron {
        transform:rotate(180deg);
    }

    .bg-toolbar {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin:20px 0;
    }

    .bg-search {
        flex:1;
        min-width:240px;
        height:44px;
    }

    .bg-sticky-save {
        position:sticky;
        bottom:14px;
        z-index:30;
        display:flex;
        justify-content:flex-end;
        gap:12px;
        padding:14px;
        margin-top:22px;
        background:rgba(255,255,255,.92);
        border:1px solid rgba(226,232,240,.95);
        border-radius:var(--r-xl);
        box-shadow:0 18px 50px rgba(15,23,42,.14);
        backdrop-filter:blur(12px);
    }

    @media(max-width:640px) {
        .bg-root {
            padding:14px;
        }

        .bg-section-block {
            padding:20px;
            border-radius:22px;
        }

        .bg-tools-grid {
            grid-template-columns:1fr;
        }
    }

    body.page-id-4173 .bg-root .bg-tab-bar {
        display:flex !important;
        gap:8px !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        padding:8px !important;
        background:rgba(255,255,255,.86) !important;
        border:1px solid rgba(226,232,240,.95) !important;
        border-radius:var(--r-lg) !important;
        box-shadow:var(--shadow-sm) !important;
        margin-bottom:24px !important;
    }

    body.page-id-4173 .bg-root .bg-tab-btn {
        border:0 !important;
        border-radius:var(--r-md) !important;
        padding:10px 16px !important;
        background:transparent !important;
        color:var(--n-700) !important;
        font-size:14px !important;
        font-weight:800 !important;
        cursor:pointer !important;
        box-shadow:none !important;
        transition:all .18s ease !important;
    }

    body.page-id-4173 .bg-root .bg-tab-btn:hover,
    body.page-id-4173 .bg-root .bg-tab-btn.is-active {
        background:#fff !important;
        color:var(--b-700) !important;
        box-shadow:var(--shadow-sm) !important;
        transform:translateY(-1px) !important;
    }
