    /* ================================================
       MUGNEROT ADMIN — DESIGN SYSTEM v2
       ================================================ */

    *, *::before, *::after { box-sizing: border-box; }

    :root {
        --adm-w: 240px;
        --adm-bg: #f0f2f7;
        --adm-surface: #ffffff;
        --adm-border: rgba(15,22,35,.07);
        --adm-border-strong: rgba(15,22,35,.14);
        --adm-text: #18212e;
        --adm-muted: #64748b;
        --adm-amber: #c8912a;
        --adm-amber-bg: rgba(200,145,42,.09);
        --adm-amber-border: rgba(200,145,42,.22);
        --adm-navy: #0f1623;
        --adm-green: #16a34a;
        --adm-green-bg: rgba(22,163,74,.08);
        --adm-red: #dc2626;
        --adm-red-bg: rgba(220,38,38,.08);
        --adm-blue: #2563eb;
        --adm-blue-bg: rgba(37,99,235,.08);
        --adm-r: 10px;
        --adm-r-lg: 14px;
        --adm-shadow: 0 1px 3px rgba(15,22,35,.05), 0 6px 20px rgba(15,22,35,.04);
        --adm-shadow-md: 0 4px 12px rgba(15,22,35,.08), 0 16px 40px rgba(15,22,35,.06);
    }

    body {
        font-family: "Manrope","Segoe UI",sans-serif;
        background: var(--adm-bg);
        margin: 0;
        color: var(--adm-text);
        min-height: 100vh;
    }

    h1,h2,h3,h4,h5,h6,.btn { font-family: "Sora","Manrope",sans-serif; }

    /* ── BOOTSTRAP OVERRIDES ───────────────────────── */
    .btn-primary { background: var(--adm-amber); border-color: var(--adm-amber); color: #fff; }
    .btn-primary:hover { background: #b37d22; border-color: #b37d22; color: #fff; }
    .btn-primary:focus-visible { background: #b37d22; border-color: #b37d22; box-shadow: 0 0 0 3px rgba(200,145,42,.25); }
    .form-control:focus, .form-select:focus {
        border-color: var(--adm-amber);
        box-shadow: 0 0 0 3px rgba(200,145,42,.15);
    }

    /* ── SIDEBAR ───────────────────────────────────── */
    .adm-sidebar {
        position: fixed;
        top: 0; left: 0;
        width: var(--adm-w);
        height: 100vh;
        background: var(--adm-navy);
        display: flex;
        flex-direction: column;
        z-index: 200;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .adm-sidebar__brand {
        display: flex;
        align-items: center;
        gap: .65rem;
        padding: 1.2rem 1rem 1.1rem;
        text-decoration: none;
        flex-shrink: 0;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

    .adm-sidebar__logo {
        width: 30px; height: 30px;
        border-radius: 8px;
        background: var(--adm-amber);
        color: #fff;
        display: grid; place-items: center;
        font-weight: 900; font-size: .82rem;
        flex-shrink: 0;
        font-family: "Sora",sans-serif;
    }

    .adm-sidebar__name {
        color: #fff;
        font-weight: 700;
        font-size: .88rem;
        letter-spacing: -.01em;
        line-height: 1.2;
    }

    .adm-sidebar__nav {
        flex: 1;
        padding: .65rem .5rem;
        display: flex;
        flex-direction: column;
        gap: .05rem;
    }

    .adm-nav-sep {
        padding: .75rem .6rem .2rem;
        font-size: .59rem;
        letter-spacing: .14em;
        text-transform: uppercase;
        font-weight: 700;
        color: rgba(255,255,255,.25);
        margin: 0;
    }

    .adm-nav-link {
        display: flex;
        align-items: center;
        gap: .6rem;
        padding: .5rem .65rem;
        border-radius: 8px;
        color: rgba(255,255,255,.55);
        text-decoration: none;
        font-size: .83rem;
        font-weight: 600;
        transition: color 120ms, background 120ms;
        border-left: 3px solid transparent;
        position: relative;
    }

    .adm-nav-link i {
        font-size: .92rem;
        flex-shrink: 0;
        width: 16px;
        text-align: center;
    }

    .adm-nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }

    .adm-nav-link.is-active {
        color: #fff;
        background: rgba(255,255,255,.08);
        border-left-color: var(--adm-amber);
        border-radius: 0 8px 8px 0;
    }

    .adm-nav-link.is-active i { color: var(--adm-amber); }

    .adm-nav-badge {
        margin-left: auto;
        background: rgba(255,255,255,.15);
        color: #fff;
        font-size: .68rem;
        font-weight: 700;
        padding: .1rem .42rem;
        border-radius: 10px;
        min-width: 18px;
        text-align: center;
        line-height: 1.3;
    }
    .adm-nav-badge--red { background: var(--adm-red, #e53935); color: #fff; }

    .adm-sidebar__foot {
        padding: .9rem 1rem 1rem;
        border-top: 1px solid rgba(255,255,255,.07);
        display: flex;
        flex-direction: column;
        gap: .45rem;
        flex-shrink: 0;
    }

    .adm-sidebar__email {
        font-size: .72rem;
        color: rgba(255,255,255,.42);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .adm-sidebar__role {
        display: inline-flex;
        padding: .12rem .4rem;
        border-radius: 5px;
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
        font-size: .58rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
        width: fit-content;
        border: 1px solid var(--adm-amber-border);
    }

    .adm-sidebar__logout {
        display: flex;
        align-items: center;
        gap: .45rem;
        padding: .42rem .55rem;
        border-radius: 8px;
        color: rgba(255,255,255,.38);
        text-decoration: none;
        font-size: .78rem;
        font-weight: 600;
        margin: 0 -.1rem;
        transition: color 120ms, background 120ms;
    }

    .adm-sidebar__logout:hover { color: #fff; background: rgba(255,255,255,.07); }

    /* ── TOPBAR ────────────────────────────────────── */
    .adm-topbar {
        position: sticky;
        top: 0;
        z-index: 100;
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 1.5rem;
        background: var(--adm-surface);
        border-bottom: 1px solid var(--adm-border);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .adm-topbar__left { display: flex; align-items: center; gap: .75rem; }

    .adm-topbar__right { display: flex; align-items: center; gap: 1rem; }

    .adm-topbar__site-btn {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        padding: .35rem .75rem;
        border-radius: 7px;
        background: #f0f2f7;
        border: 1px solid var(--adm-border-strong);
        color: var(--adm-muted);
        font-size: .78rem;
        font-weight: 600;
        text-decoration: none;
        transition: background 120ms, color 120ms;
    }

    .adm-topbar__site-btn:hover { background: #e4e8f0; color: var(--adm-text); }

    .adm-topbar__menu { position: relative; }

    .adm-topbar__menu-btn {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        padding: .4rem .8rem;
        border-radius: 7px;
        background: transparent;
        border: 1px solid transparent;
        color: var(--adm-text);
        font-size: .82rem;
        font-weight: 600;
        cursor: pointer;
        transition: background 120ms, border-color 120ms, color 120ms;
    }
    .adm-topbar__menu-btn:hover { background: #f0f2f7; border-color: var(--adm-border-strong); }
    .adm-topbar__menu-btn.is-active {
        background: var(--adm-amber-bg);
        border-color: var(--adm-amber);
        color: var(--adm-amber);
    }
    .adm-topbar__menu-btn i.adm-topbar__menu-chev { font-size: .7rem; opacity: .7; }
    .adm-topbar__menu .dropdown-menu {
        min-width: 230px;
        padding: .35rem;
        border: 1px solid var(--adm-border-strong);
        border-radius: 8px;
        box-shadow: 0 6px 20px rgba(15,22,35,0.08);
    }
    .adm-topbar__menu .dropdown-item {
        padding: .45rem .65rem;
        border-radius: 5px;
        font-size: .82rem;
        font-weight: 500;
        display: flex;
        align-items: center;
    }
    .adm-topbar__menu .dropdown-item.active {
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
    }
    .adm-topbar__menu .dropdown-divider { margin: .25rem 0; }

    .adm-topbar__user { display: flex; align-items: center; gap: .6rem; }

    .adm-topbar__avatar {
        width: 30px; height: 30px;
        border-radius: 50%;
        background: var(--adm-amber);
        color: #fff;
        display: grid; place-items: center;
        font-weight: 800;
        font-size: .78rem;
        font-family: "Sora",sans-serif;
        flex-shrink: 0;
    }

    .adm-topbar__user-info { display: flex; flex-direction: column; gap: .1rem; }

    .adm-topbar__user-email {
        font-size: .78rem;
        color: var(--adm-muted);
        line-height: 1;
    }

    .adm-topbar__user-role {
        display: inline-flex;
        padding: .1rem .35rem;
        border-radius: 999px;
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
        font-size: .62rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .07em;
        border: 1px solid var(--adm-amber-border);
        width: fit-content;
    }

    /* ── BODY WRAPPER ──────────────────────────────── */
    .adm-body {
        margin-left: var(--adm-w);
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }

    .adm-flash { padding: .65rem 1.5rem 0; }
    .message,.alert { border-radius: 10px; margin-bottom: .5rem; }

    .adm-main { flex: 1; }

    /* ── PAGE STRUCTURE ────────────────────────────── */
    .adm-page {
        padding: 1.75rem 2rem 4rem;
        max-width: 1360px;
    }
    /* Modificateur : pleine largeur (listings denses comme /vehicules) */
    .adm-page--wide {
        max-width: none;
    }

    .adm-page-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 1rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1.25rem;
        border-bottom: 1px solid var(--adm-border);
    }

    .adm-eyebrow {
        margin: 0 0 .3rem;
        font-size: .62rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .15em;
        color: var(--adm-amber);
    }

    .adm-page-title {
        margin: 0;
        font-size: clamp(1.4rem, 1.8vw, 1.9rem);
        letter-spacing: -.03em;
        color: var(--adm-text);
        line-height: 1;
    }

    .adm-date {
        font-size: .77rem;
        color: var(--adm-muted);
        margin: 0;
        flex-shrink: 0;
    }

    /* ── CARDS ─────────────────────────────────────── */
    .adm-card {
        background: var(--adm-surface);
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        overflow: hidden;
    }

    .adm-card--pad { padding: 1.35rem; }

    .adm-card-label {
        padding: .7rem 1rem .55rem;
        font-size: .62rem;
        text-transform: uppercase;
        letter-spacing: .15em;
        font-weight: 700;
        color: var(--adm-amber);
        border-bottom: 1px solid var(--adm-border);
        margin: 0;
    }

    .adm-card-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 1rem;
        padding: 1rem 1rem .85rem;
        border-bottom: 1px solid var(--adm-border);
    }

    .adm-card-head h2 {
        margin: 0;
        font-size: 1.25rem;
        letter-spacing: -.03em;
    }

    /* ── TABLE WRAP ────────────────────────────────── */
    .adm-table-wrap {
        background: var(--adm-surface);
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        overflow: hidden;
    }

    .adm-table-wrap .table thead th {
        background: #f8f9fc;
        font-size: .72rem;
        text-transform: uppercase;
        letter-spacing: .1em;
        color: var(--adm-muted);
        padding: .85rem 1rem;
        border-bottom: 1px solid var(--adm-border);
        font-weight: 700;
    }

    .adm-table-wrap .table tbody tr { transition: background 100ms; }
    .adm-table-wrap .table tbody tr:hover { background: #f8f9fc; }

    .adm-table-wrap .table tbody td {
        padding: .9rem 1rem;
        vertical-align: middle;
        border-color: var(--adm-border);
        font-size: .9rem;
    }

    /* ── STATUS BADGES ─────────────────────────────── */
    .adm-badge {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        padding: .25rem .6rem;
        border-radius: 999px;
        font-size: .72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    .adm-badge--green { background: var(--adm-green-bg); color: var(--adm-green); }
    .adm-badge--red   { background: var(--adm-red-bg);   color: var(--adm-red);   }
    .adm-badge--amber { background: var(--adm-amber-bg); color: var(--adm-amber); }
    .adm-badge--grey  { background: #f0f2f7;             color: var(--adm-muted); }
    .adm-badge--blue  { background: var(--adm-blue-bg);  color: var(--adm-blue);  }

    /* ── FILTERS ───────────────────────────────────── */
    .adm-filters {
        display: flex;
        gap: .65rem;
        margin-bottom: 1rem;
        flex-wrap: wrap;
    }

    .adm-filters .form-control,
    .adm-filters .form-select {
        min-height: 42px;
        border-radius: 10px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border-strong);
    }

    .adm-filters .form-control { flex: 1 1 auto; min-width: 160px; }

    /* ── ACTIONS ───────────────────────────────────── */
    .adm-actions {
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: .45rem;
    }

    .adm-actions form { margin: 0; }

    /* ── KPIs ──────────────────────────────────────── */
    .adm-kpis {
        display: grid;
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .adm-kpis--6 { grid-template-columns: repeat(6,minmax(0,1fr)); }
    .adm-kpis--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }

    .adm-kpi {
        padding: 1rem 1.1rem;
        border-radius: var(--adm-r);
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        transition: box-shadow 150ms, transform 150ms;
    }

    .adm-kpi:hover {
        box-shadow: var(--adm-shadow-md);
        transform: translateY(-1px);
    }

    .adm-kpi--alert, .adm-kpi--amber {
        background: linear-gradient(135deg,#fff9f0 0%,#fffcf5 100%);
        border-color: var(--adm-amber-border);
    }

    .adm-kpi--red {
        background: linear-gradient(135deg,#fff5f5 0%,#fffafa 100%);
        border-color: rgba(220,38,38,.18);
    }

    .adm-kpi__icon {
        width: 32px; height: 32px;
        border-radius: 8px;
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
        display: grid; place-items: center;
        font-size: .9rem;
        margin-bottom: .65rem;
    }

    .adm-kpi--alert .adm-kpi__icon,
    .adm-kpi--amber .adm-kpi__icon {
        background: rgba(200,145,42,.15);
    }

    .adm-kpi--red .adm-kpi__icon { background: rgba(220,38,38,.1); color: var(--adm-red); }
    .adm-kpi--red > strong { color: var(--adm-red); }

    .adm-kpi--green { border-top: 3px solid var(--adm-green); }
    .adm-kpi--green .adm-kpi__icon { background: rgba(22,163,74,.1); color: var(--adm-green); }
    .adm-kpi--green > strong { color: var(--adm-green); }

    .adm-kpi--blue { border-top: 3px solid var(--adm-blue); }
    .adm-kpi--blue .adm-kpi__icon { background: rgba(37,99,235,.1); color: var(--adm-blue); }
    .adm-kpi--blue > strong { color: var(--adm-blue); }

    .adm-kpi > span {
        display: block;
        font-size: .6rem;
        text-transform: uppercase;
        letter-spacing: .12em;
        font-weight: 700;
        color: var(--adm-muted);
        margin-bottom: .28rem;
    }

    .adm-kpi > strong {
        display: block;
        font-size: 1.8rem;
        letter-spacing: -.05em;
        color: var(--adm-text);
        line-height: 1;
        margin-bottom: .15rem;
        font-family: "Sora",sans-serif;
    }

    .adm-kpi--alert > strong,
    .adm-kpi--amber > strong { color: var(--adm-amber); }

    .adm-kpi > small { font-size: .71rem; color: var(--adm-muted); }

    /* ── FORMS ─────────────────────────────────────── */
    .adm-form-card {
        padding: 1.5rem;
        border-radius: var(--adm-r-lg);
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
    }

    .adm-form-card .form-label {
        font-size: .8rem;
        font-weight: 600;
        color: #374151;
        margin-bottom: .35rem;
    }

    .adm-form-card .form-control,
    .adm-form-card .form-select {
        min-height: 44px;
        border-radius: 8px;
        border: 1px solid var(--adm-border-strong);
        background: #f9fafb;
        font-size: .9rem;
    }

    .adm-form-card .form-control:focus,
    .adm-form-card .form-select:focus { background: #fff; }

    .adm-form-card textarea.form-control { min-height: 160px; }

    .adm-form-actions {
        margin-top: 1.5rem;
        padding-top: 1.25rem;
        border-top: 1px solid var(--adm-border);
        display: flex;
        justify-content: flex-end;
        gap: .65rem;
        flex-wrap: wrap;
    }

    .adm-form-aside {
        padding: 1.35rem;
        border-radius: var(--adm-r-lg);
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
    }

    .adm-form-aside h2 {
        margin: 0 0 .75rem;
        font-size: 1.25rem;
        letter-spacing: -.03em;
    }

    .adm-form-aside ul {
        margin: 0;
        padding-left: 1.1rem;
        color: #5e6d77;
        line-height: 1.85;
    }

    .adm-form-grid {
        display: grid;
        grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr);
        gap: 1rem;
    }

    /* ── EMPTY STATE ───────────────────────────────── */
    .adm-empty {
        padding: 2rem;
        text-align: center;
    }

    .adm-empty h2 { margin: 0 0 .6rem; font-size: 1.5rem; }
    .adm-empty p  { margin: 0 0 .8rem; color: var(--adm-muted); }
    .adm-empty code {
        display: inline-block;
        padding: .6rem .85rem;
        border-radius: 12px;
        background: #f7f9fb;
        border: 1px solid var(--adm-border);
        font-size: .88rem;
    }

    /* ── SHORTCUTS ─────────────────────────────────── */
    .adm-shortcuts {
        padding: .65rem;
        display: flex;
        flex-wrap: wrap;
        gap: .38rem;
    }

    .adm-sc {
        display: inline-flex;
        padding: .3rem .58rem;
        border-radius: 8px;
        font-size: .72rem;
        font-weight: 600;
        color: #2d3b47;
        background: #f0f2f5;
        border: 1px solid var(--adm-border);
        text-decoration: none;
        transition: background 120ms, color 120ms, border-color 120ms;
        white-space: nowrap;
    }

    .adm-sc:hover { background: var(--adm-navy); color: #fff; border-color: var(--adm-navy); }
    .adm-sc--ext  { color: var(--adm-muted); }

    /* ── DASHBOARD LAYOUT ──────────────────────────── */
    .adm-body-grid {
        display: grid;
        grid-template-columns: minmax(0,1fr) 300px;
        gap: .8rem;
        align-items: start;
    }

    .adm-dash-aside { display: flex; flex-direction: column; gap: .8rem; }

    .adm-modules-panel {
        background: var(--adm-surface);
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        overflow: hidden;
    }

    .adm-mod-row {
        display: flex;
        align-items: center;
        gap: .7rem;
        padding: .65rem 1rem;
        text-decoration: none;
        color: inherit;
        border-bottom: 1px solid rgba(15,22,35,.05);
        transition: background 120ms;
    }

    .adm-mod-row:last-child { border-bottom: 0; }
    .adm-mod-row:hover { background: #f8f9fc; }

    .adm-mod-icon {
        width: 32px; height: 32px;
        border-radius: 9px;
        display: grid; place-items: center;
        font-size: .88rem;
        flex-shrink: 0;
    }

    .adm-mod-row--emerald .adm-mod-icon { background: #e8f1eb; color: #29553f; }
    .adm-mod-row--sand    .adm-mod-icon { background: #f3ead8; color: #70522a; }
    .adm-mod-row--slate   .adm-mod-icon { background: #e6ebef; color: #345065; }
    .adm-mod-row--blue    .adm-mod-icon { background: #e3ecf5; color: #2f5678; }
    .adm-mod-row--light   .adm-mod-icon { background: #eef1f2; color: #52616b; }

    .adm-mod-info { flex: 1; min-width: 0; }
    .adm-mod-info strong { display: block; font-size: .85rem; color: var(--adm-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .adm-mod-info span   { display: block; font-size: .72rem; color: var(--adm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

    .adm-mod-metric {
        font-size: .7rem; font-weight: 600; color: #5a6472;
        background: #f0f2f5; padding: .18rem .45rem;
        border-radius: 7px; white-space: nowrap;
        max-width: 160px; overflow: hidden; text-overflow: ellipsis;
        flex-shrink: 0;
    }

    .adm-mod-chevron { font-size: .68rem; color: #c0c8d2; flex-shrink: 0; }

    .adm-act-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .6rem;
        padding: .65rem 1rem;
        text-decoration: none;
        color: inherit;
        border-bottom: 1px solid rgba(15,22,35,.05);
        transition: background 120ms;
    }

    .adm-act-row:last-child { border-bottom: 0; }
    .adm-act-row:hover { background: #f8f9fc; }
    .adm-act-text strong { display: block; font-size: .8rem; color: var(--adm-text); margin-bottom: .08rem; }
    .adm-act-text span   { font-size: .71rem; color: var(--adm-muted); }

    .adm-act-badge {
        min-width: 30px; height: 30px;
        display: grid; place-items: center;
        border-radius: 8px;
        background: var(--adm-navy); color: #fff;
        font-weight: 800; font-size: .75rem;
        flex-shrink: 0;
    }

    /* ── LOGIN PAGE ────────────────────────────────── */
    .adm-login-shell {
        min-height: 100vh;
        display: flex;
        align-items: stretch;
        background: #f4f0e9;
    }

    .adm-login-hero {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 2.5rem;
        background: linear-gradient(145deg, #162f2a 0%, #1e4558 100%);
        color: #fff;
    }

    .adm-login-hero-logo {
        display: flex;
        align-items: center;
        gap: .6rem;
        margin-bottom: auto;
    }

    .adm-login-hero h1 {
        font-size: clamp(2rem,3.5vw,3.2rem);
        letter-spacing: -.05em;
        line-height: .95;
        margin: 0 0 1rem;
    }

    .adm-login-hero p {
        margin: 0;
        color: rgba(255,255,255,.72);
        max-width: 32rem;
        line-height: 1.7;
    }

    .adm-login-panel {
        width: min(440px, 100%);
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2.5rem 2rem;
        background: var(--adm-surface);
    }

    .adm-login-panel .form-control {
        min-height: 52px;
        border-radius: 12px;
        background: #f7f9fb;
        border: 1px solid var(--adm-border-strong);
    }

    .adm-login-help {
        margin-top: 1rem;
        padding: .9rem 1rem;
        border-radius: 14px;
        background: #f7f3ea;
        border: 1px solid rgba(199,152,74,.18);
        font-size: .85rem;
    }

    .adm-login-help p { margin: .3rem 0 0; color: #67757f; }
    .adm-login-help code {
        padding: .18rem .38rem;
        border-radius: 7px;
        background: #fff;
        border: 1px solid var(--adm-border-strong);
        font-size: .82rem;
        color: var(--adm-text);
    }

    .adm-login-meta {
        margin-bottom: 1rem;
        padding: .85rem 1rem;
        border-radius: 12px;
        background: #f7f9fb;
        border: 1px solid var(--adm-border-strong);
        color: #51606b;
        font-size: .88rem;
    }

    /* ── NEWSLETTER ────────────────────────────────── */
    .adm-nl-kpis {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .adm-nl-kpis article {
        padding: 1rem;
        border-radius: var(--adm-r);
        border: 1px solid var(--adm-border);
        background: var(--adm-surface);
        box-shadow: var(--adm-shadow);
    }

    .adm-nl-kpis span {
        display: block;
        margin-bottom: .3rem;
        text-transform: uppercase;
        letter-spacing: .12em;
        font-size: .62rem;
        font-weight: 700;
        color: var(--adm-muted);
    }

    .adm-nl-kpis strong {
        font-size: 1.75rem;
        letter-spacing: -.04em;
        font-family: "Sora",sans-serif;
    }

    .adm-nl-grid {
        display: grid;
        grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
        gap: 1rem;
    }

    .adm-nl-panel {
        background: var(--adm-surface);
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        padding: 1.25rem;
    }

    .adm-nl-panel h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.04em; }

    .adm-nl-panel-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .adm-nl-side { display: grid; gap: 1rem; }

    .adm-nl-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .45rem; }
    .adm-nl-actions form { margin: 0; }

    .adm-nl-ideas,.adm-nl-subscribers { display: grid; gap: .75rem; }

    .adm-nl-idea,.adm-nl-subscriber {
        padding: .9rem 1rem;
        border-radius: var(--adm-r);
        background: #f7f9fb;
        border: 1px solid var(--adm-border);
    }

    .adm-nl-subscriber {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
    }

    .adm-nl-subscriber p,.adm-nl-subscriber span { margin: 0; color: var(--adm-muted); font-size: .9rem; }

    /* ── ANALYTICS ─────────────────────────────────── */
    .adm-analytics-kpis {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .adm-analytics-kpi {
        padding: 1rem;
        border-radius: var(--adm-r);
        border: 1px solid var(--adm-border);
        background: var(--adm-surface);
        box-shadow: var(--adm-shadow);
    }

    .adm-analytics-kpi span,.adm-analytics-kpi small { display: block; }
    .adm-analytics-kpi span { margin-bottom: .3rem; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); }
    .adm-analytics-kpi strong { font-size: 1.65rem; letter-spacing: -.04em; color: var(--adm-text); font-family: "Sora",sans-serif; }
    .adm-analytics-kpi small { margin-top: .22rem; color: var(--adm-muted); font-size: .8rem; }

    .adm-analytics-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 1rem; }

    .adm-analytics-panel {
        padding: 1.25rem;
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        background: var(--adm-surface);
        box-shadow: var(--adm-shadow);
    }

    .adm-analytics-panel h2 { margin: 0 0 1rem; font-size: 1.35rem; letter-spacing: -.03em; }

    .adm-analytics-bars { display: flex; gap: .65rem; align-items: flex-end; overflow: auto; padding-bottom: .25rem; }
    .adm-analytics-bar { min-width: 42px; text-align: center; }
    .adm-analytics-bar__val { margin-bottom: .4rem; font-size: .78rem; font-weight: 700; color: #5a6872; }
    .adm-analytics-bar__track { height: 160px; display: flex; align-items: flex-end; justify-content: center; }
    .adm-analytics-bar__track span { display: block; width: 100%; border-radius: 12px 12px 6px 6px; background: linear-gradient(180deg,#1f5c48 0%,#2f7b61 100%); }
    .adm-analytics-bar__lbl { margin-top: .4rem; font-size: .73rem; color: var(--adm-muted); }

    .adm-analytics-pages { display: grid; gap: .65rem; }
    .adm-analytics-page-item { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1rem; border-radius: var(--adm-r); background: #f7fafb; border: 1px solid var(--adm-border); }
    .adm-analytics-page-item strong { display: block; margin-bottom: .22rem; font-size: .9rem; }
    .adm-analytics-page-item p { margin: 0; color: var(--adm-muted); font-size: .82rem; }
    .adm-analytics-page-item span { min-width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--adm-r); background: var(--adm-navy); color: #fff; font-weight: 800; flex-shrink: 0; }

    .adm-analytics-empty {
        padding: 2rem;
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        background: var(--adm-surface);
        box-shadow: var(--adm-shadow);
    }

    .adm-analytics-empty code { display: inline-block; margin-top: .5rem; padding: .65rem .85rem; border-radius: 12px; background: #f7f9fb; border: 1px solid var(--adm-border); }

    /* ── PROSPECTION ───────────────────────────────── */
    .prospection-page { min-height: calc(100vh - 52px); }

    .prospection-eyebrow {
        margin: 0 0 .4rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        font-size: .63rem;
        font-weight: 700;
        color: var(--adm-muted);
    }

    .prospection-hero {
        display: flex;
        justify-content: space-between;
        gap: 1.25rem;
        align-items: flex-end;
        margin-bottom: 1.1rem;
        padding: 1.35rem 1.5rem;
        border-radius: 24px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
    }

    .prospection-hero h1 { margin: 0 0 .4rem; font-size: clamp(1.8rem,3vw,3rem); line-height: .95; letter-spacing: -.05em; color: #14212b; }
    .prospection-hero p  { margin: 0; max-width: 600px; color: #5f6e78; }
    .prospection-hero__actions { display: flex; gap: .65rem; flex-wrap: wrap; flex-shrink: 0; }

    .prospection-kpis {
        display: grid;
        grid-template-columns: repeat(6,minmax(0,1fr));
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .prospection-kpi {
        padding: .95rem 1rem;
        border-radius: 18px;
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
    }

    .prospection-kpi span,.prospection-kpi small { display: block; }
    .prospection-kpi span  { font-size: .64rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: #6d7a84; }
    .prospection-kpi strong { display: block; margin: .35rem 0 .18rem; font-size: 1.85rem; line-height: 1; color: #16232d; font-family: "Sora",sans-serif; }
    .prospection-kpi small  { color: #6d7a84; font-size: .82rem; }

    .prospection-kpi--light { background: var(--adm-surface); }
    .prospection-kpi--blue  { background: linear-gradient(180deg,rgba(211,228,239,.95),rgba(238,246,250,.95)); }
    .prospection-kpi--sand  { background: linear-gradient(180deg,rgba(244,232,214,.95),rgba(250,245,237,.95)); }
    .prospection-kpi--alert { background: linear-gradient(180deg,rgba(255,224,214,.96),rgba(255,244,238,.96)); }
    .prospection-kpi--alert-soft { background: linear-gradient(180deg,rgba(255,237,226,.96),rgba(255,248,243,.96)); }

    .prospection-toolbar {
        margin-bottom: 1rem;
        padding: 1rem;
        border-radius: 20px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
    }

    .prospection-filters {
        display: grid;
        grid-template-columns: 2.4fr 1fr 1fr auto auto;
        gap: .85rem;
        align-items: flex-end;
    }

    .prospection-filter .form-label { font-size: .84rem; font-weight: 700; color: #42515c; margin-bottom: .4rem; }

    .prospection-due-toggle {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        padding: .82rem .9rem;
        border-radius: 12px;
        background: #f5f7f8;
        border: 1px solid var(--adm-border);
        color: #31414d;
        font-weight: 600;
        font-size: .85rem;
    }

    .prospection-filter-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }

    .prospection-list { display: grid; gap: .85rem; }

    .prospection-card {
        display: grid;
        grid-template-columns: 1.2fr 1.45fr .95fr .9fr auto;
        gap: 1rem;
        align-items: center;
        padding: 1.1rem;
        border-radius: 22px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
    }

    .prospection-card--due { border-color: rgba(205,84,52,.22); box-shadow: 0 4px 16px rgba(205,84,52,.08); }

    .prospection-card__identity { display: flex; align-items: center; gap: .85rem; min-width: 0; }

    .prospection-avatar {
        width: 52px; height: 52px;
        border-radius: 16px;
        display: flex; align-items: center; justify-content: center;
        background: linear-gradient(135deg,#1e303d,#4f6a7b);
        color: #fff; font-weight: 800; font-size: 1.15rem;
        flex: 0 0 auto;
    }

    .prospection-card h2 { margin: 0 0 .15rem; font-size: 1rem; line-height: 1.2; color: #15222c; }

    .prospection-card__identity p,.prospection-card__interest p,.prospection-card__history p { margin: .12rem 0 0; color: #677580; font-size: .88rem; }
    .prospection-card__label { display: inline-block; margin-bottom: .28rem; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #7b8790; }
    .prospection-card__interest strong,.prospection-card__history strong { display: block; color: #15222c; }
    .prospection-card__status { display: grid; gap: .5rem; }

    .prospection-chip {
        display: inline-flex; align-items: center; justify-content: center;
        width: fit-content;
        padding: .42rem .72rem;
        border-radius: 999px;
        font-size: .78rem; font-weight: 700;
    }

    .prospection-chip--status    { background: #eef3f5; color: #233541; }
    .prospection-chip--high      { background: #ffe5dd; color: #b64a28; }
    .prospection-chip--normal    { background: #f6f1e8; color: #8d6933; }
    .prospection-chip--low       { background: #edf4ef; color: #476e56; }

    .prospection-next-follow-up { padding: .7rem .82rem; border-radius: 14px; background: #f7f8f9; }
    .prospection-next-follow-up--due { background: #fff0ea; }
    .prospection-next-follow-up span,.prospection-next-follow-up small { display: block; }
    .prospection-next-follow-up span  { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #7c8891; }
    .prospection-next-follow-up strong { display: block; margin: .28rem 0 .1rem; color: #14212b; }
    .prospection-next-follow-up small  { color: #6b7882; font-size: .82rem; }

    .prospection-card__actions { display: grid; gap: .55rem; justify-items: flex-end; }
    .prospection-card__actions form { margin: 0; }

    .prospection-empty {
        padding: 2.5rem 1.5rem;
        border-radius: 24px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        text-align: center;
        box-shadow: var(--adm-shadow);
    }

    .prospection-empty h2 { margin-bottom: .55rem; color: #15222c; }
    .prospection-empty p  { margin-bottom: 1rem; color: var(--adm-muted); }

    /* ── PROSPECTION TABLE ─────────────────────────── */
    .prosp-avatar {
        width: 36px; height: 36px; border-radius: 50%;
        background: var(--adm-navy); color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-weight: 700; font-size: .85rem; flex-shrink: 0;
    }
    .prosp-name          { display: block; font-size: .95rem; font-weight: 700; color: var(--adm-navy); line-height: 1.2; }
    .prosp-contact       { font-size: .82rem; color: #6b7280; margin-top: .1rem; }
    .prosp-visit         { font-size: .76rem; color: #9aa3af; margin-top: .1rem; }
    .prosp-interest-main     { font-size: .9rem; font-weight: 600; color: #1b2530; }
    .prosp-interest-featured { font-size: .8rem; color: #6b7280; margin-top: .12rem; }
    .prosp-badge-stack   { display: flex; flex-direction: column; gap: .3rem; align-items: flex-start; }
    .prosp-followup-date { font-size: .92rem; font-weight: 700; color: var(--adm-navy); }
    .prosp-followup-date--due { color: var(--adm-red); }
    .prosp-followup-sub  { font-size: .78rem; color: #6b7280; margin-top: .06rem; }
    .prosp-followup-sub--due  { color: #c0392b; font-weight: 600; }
    .prosp-email-count   { font-size: .76rem; color: #9aa3af; margin-top: .22rem; }
    .prosp-row--due td:first-child { box-shadow: inset 3px 0 0 var(--adm-red); }
    .prosp-row--due { background: rgba(220,38,38,.025) !important; }
    .prosp-due-label {
        display: flex; align-items: center; gap: .45rem;
        font-size: .85rem; font-weight: 600; cursor: pointer;
        white-space: nowrap; color: var(--adm-navy);
        padding: 0 .2rem;
    }
    .prosp-due-label input { cursor: pointer; }
    .prosp-empty { padding: 3rem 1.5rem; border-radius: 20px; background: var(--adm-surface); border: 1px solid var(--adm-border); text-align: center; }
    .prosp-empty__icon { display: block; font-size: 2rem; color: #c4cdd4; margin-bottom: .75rem; }
    .prosp-empty h2 { margin-bottom: .4rem; color: #15222c; }
    .prosp-empty p  { color: var(--adm-muted); margin: 0; }
    /* paginator */
    .adm-paginator { display: flex; justify-content: center; gap: .3rem; margin-top: 1rem; flex-wrap: wrap; }
    .adm-paginator .page-numbers, .adm-paginator a, .adm-paginator span {
        display: inline-flex; align-items: center; justify-content: center;
        min-width: 34px; height: 34px; padding: 0 .5rem;
        border-radius: 8px; border: 1px solid var(--adm-border);
        background: var(--adm-surface); font-size: .85rem; font-weight: 600;
        color: var(--adm-navy); text-decoration: none; transition: background .14s;
    }
    .adm-paginator a:hover { background: #e8ecf1; text-decoration: none; }
    .adm-paginator .current { background: var(--adm-navy); color: #fff; border-color: var(--adm-navy); }
    .adm-paginator .disabled { opacity: .35; pointer-events: none; }

    /* ── FEATURED VEHICLE MODAL (prospection) ──────── */
    .showroom-featured-summary {
        display: flex; justify-content: space-between; gap: 1rem; align-items: center;
        padding: 1rem; border: 1px solid rgba(19,33,42,.12); border-radius: 16px; background: #fffdfa;
    }
    .showroom-featured-summary__media { width: 88px; height: 64px; border-radius: 12px; overflow: hidden; background: #f4f1eb; border: 1px solid var(--adm-border); flex: 0 0 auto; }
    .showroom-featured-summary__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .showroom-featured-summary__title { display: block; color: #1b2530; margin-bottom: .18rem; }
    .showroom-featured-summary__meta  { margin: 0; color: #6c757d; font-size: .9rem; }

    .showroom-featured-modal[hidden] { display: none; }
    .showroom-featured-modal { position: fixed; inset: 0; z-index: 1045; }
    .showroom-featured-modal__backdrop { position: absolute; inset: 0; background: rgba(16,24,32,.58); }
    .showroom-featured-modal__dialog {
        position: relative; z-index: 1;
        width: min(1080px,calc(100vw - 2rem));
        max-height: calc(100vh - 2rem);
        margin: 1rem auto;
        padding: 1.15rem;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 24px 70px rgba(19,33,42,.18);
        overflow: hidden;
        display: flex; flex-direction: column;
    }
    .showroom-featured-modal__head { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; }
    .showroom-featured-modal__head h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.03em; }
    .showroom-featured-picker { display: grid; gap: 1rem; max-height: calc(100vh - 13rem); overflow: auto; padding-right: .2rem; }
    .showroom-featured-toolbar { margin-bottom: .85rem; }
    .showroom-featured-group { display: grid; gap: .65rem; }
    .showroom-featured-group__title { font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6c757d; }
    .showroom-featured-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: .65rem; }
    .showroom-featured-option { display: block; cursor: pointer; }
    .showroom-featured-option input { position: absolute; opacity: 0; pointer-events: none; }
    .showroom-featured-option__body { display: grid; grid-template-columns: 68px 1fr; gap: .7rem; align-items: center; min-height: 78px; padding: .65rem; border: 1px solid rgba(19,33,42,.12); border-radius: 16px; background: #fff; transition: border-color .18s,box-shadow .18s,transform .18s; }
    .showroom-featured-option--empty .showroom-featured-option__body { grid-template-columns: 1fr; min-height: 68px; }
    .showroom-featured-option input:checked + .showroom-featured-option__body { border-color: #1b2530; box-shadow: 0 0 0 3px rgba(27,37,48,.08); transform: translateY(-1px); }
    .showroom-featured-option__media { display: flex; align-items: center; justify-content: center; width: 68px; height: 50px; border-radius: 10px; overflow: hidden; background: #f4f1eb; border: 1px solid var(--adm-border); }
    .showroom-featured-option__media img { width: 100%; height: 100%; object-fit: cover; }
    .showroom-featured-option__placeholder { font-size: .75rem; color: #7b8791; }
    .showroom-featured-option__content { display: grid; gap: .18rem; }
    .showroom-featured-option__title { font-weight: 700; color: #1b2530; line-height: 1.25; }
    .showroom-featured-option__meta  { font-size: .85rem; color: #6c757d; line-height: 1.35; }

    /* ── INTAKE PAGE ───────────────────────────────── */
    .intake-eyebrow { margin: 0 0 .4rem; text-transform: uppercase; letter-spacing: .14em; font-size: .63rem; font-weight: 700; color: var(--adm-muted); }

    .intake-hero {
        display: flex; justify-content: space-between; gap: 1.25rem; align-items: flex-end;
        margin-bottom: 1.2rem; padding: 1.35rem 1.5rem;
        border-radius: 22px; background: var(--adm-surface);
        border: 1px solid var(--adm-border); box-shadow: var(--adm-shadow);
    }

    .intake-hero h1 { margin: 0 0 .4rem; font-size: clamp(1.8rem,3vw,2.8rem); letter-spacing: -.05em; color: #14212b; }
    .intake-hero p  { margin: 0; color: #5f6e78; }
    .intake-hero__actions { display: flex; gap: .65rem; flex-wrap: wrap; flex-shrink: 0; }

    .intake-layout {
        display: grid;
        grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr);
        gap: 1rem;
    }

    .intake-panel {
        padding: 1.25rem;
        border-radius: 20px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        margin-bottom: 1rem;
    }

    .intake-panel:last-child { margin-bottom: 0; }

    .intake-panel__head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
    .intake-panel__head > div { flex: 1; }
    .intake-panel__head > p   { margin: 0; color: var(--adm-muted); font-size: .9rem; max-width: 28rem; text-align: right; }
    .intake-panel__eyebrow { margin: 0 0 .28rem; font-size: .63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--adm-amber); }
    .intake-panel h2 { margin: 0; font-size: 1.3rem; letter-spacing: -.04em; }

    .intake-form-actions { margin-top: 1.25rem; display: flex; justify-content: flex-end; gap: .65rem; }
    .intake-form-actions form { margin: 0; }

    .intake-tip {
        padding: 1.25rem;
        border-radius: 20px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        box-shadow: var(--adm-shadow);
        position: sticky;
        top: 1.75rem;
    }

    .intake-tip h2,.intake-tip h3 { margin: 0 0 .6rem; font-size: 1.1rem; letter-spacing: -.03em; }
    .intake-tip ul { margin: 0 0 .75rem; padding-left: 1rem; color: var(--adm-muted); line-height: 1.8; font-size: .9rem; }
    .intake-tip p  { color: var(--adm-muted); font-size: .9rem; }

    .intake-main,.intake-aside { display: grid; gap: 1rem; align-content: start; }

    .intake-panel .form-control,.intake-panel .form-select { min-height: 50px; border-radius: 12px; background: #f7f9fb; border: 1px solid var(--adm-border); }
    .intake-panel textarea.form-control { min-height: 130px; }

    .intake-featured-summary { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem; border-radius:18px; background:#fffdfa; border:1px solid rgba(19,33,42,.1); }
    .intake-featured-summary__media { width:92px; height:68px; flex:0 0 auto; border-radius:14px; overflow:hidden; border:1px solid var(--adm-border); background:#f4f1eb; }
    .intake-featured-summary__media img { width:100%; height:100%; object-fit:cover; display:block; }
    .intake-featured-summary__copy { min-width:0; flex:1; }
    .intake-featured-summary__title { display:block; margin-bottom:.18rem; color:#15222c; }
    .intake-featured-summary__meta  { margin:0; color:#687783; font-size:.9rem; }
    .intake-featured-summary__actions { display:flex; gap:.6rem; flex-wrap:wrap; flex-shrink:0; }

    .intake-proposal-toggle { padding:.9rem 1rem 0; border-top:1px dashed rgba(19,33,42,.12); }
    .intake-proposal-toggle .form-check-label { font-weight:700; color:#15222c; }
    .intake-proposal-toggle__hint { margin:.32rem 0 0 1.5rem; color:#687783; font-size:.9rem; }

    .intake-submit { display:flex; justify-content:flex-end; }

    .intake-recent-list { display:grid; gap:.65rem; }
    .intake-recent-item { display:grid; gap:.1rem; padding:.8rem .9rem; border-radius:16px; background:#f7f9fb; border:1px solid var(--adm-border); color:inherit; text-decoration:none; }
    .intake-recent-item:hover { background:#f0f2f5; }
    .intake-recent-item strong { color:#15222c; }
    .intake-recent-item span,.intake-recent-item small { color:var(--adm-muted); font-size:.85rem; }

    .intake-modal[hidden] { display:none; }
    .intake-modal { position:fixed; inset:0; z-index:1045; }
    .intake-modal__backdrop { position:absolute; inset:0; background:rgba(16,24,32,.58); }
    .intake-modal__dialog { position:relative; z-index:1; width:min(1080px,calc(100vw - 2rem)); max-height:calc(100vh - 2rem); margin:1rem auto; padding:1.15rem; border-radius:22px; background:#fff; box-shadow:0 24px 70px rgba(19,33,42,.18); overflow:hidden; display:flex; flex-direction:column; }
    .intake-modal__head { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; }
    .intake-modal__head h2 { margin:0; font-size:1.3rem; letter-spacing:-.03em; }
    .intake-modal__search { margin-bottom:.85rem; }
    .intake-modal__list { display:grid; gap:1rem; max-height:calc(100vh - 13rem); overflow:auto; padding-right:.2rem; }

    .intake-vehicle-group { display:grid; gap:.65rem; }
    .intake-vehicle-group__title { font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#6c757d; }
    .intake-vehicle-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:.65rem; }

    .intake-vehicle-option { display:block; cursor:pointer; }
    .intake-vehicle-option input { position:absolute; opacity:0; pointer-events:none; }
    .intake-vehicle-option__body { display:grid; grid-template-columns:68px 1fr; gap:.7rem; align-items:center; min-height:78px; padding:.65rem; border:1px solid rgba(19,33,42,.12); border-radius:16px; background:#fff; transition:border-color .18s,box-shadow .18s,transform .18s; }
    .intake-vehicle-option--empty .intake-vehicle-option__body { grid-template-columns:1fr; min-height:68px; }
    .intake-vehicle-option input:checked + .intake-vehicle-option__body { border-color:#1b2530; box-shadow:0 0 0 3px rgba(27,37,48,.08); transform:translateY(-1px); }
    .intake-vehicle-option__media { display:flex; align-items:center; justify-content:center; width:68px; height:50px; border-radius:10px; overflow:hidden; background:#f4f1eb; border:1px solid var(--adm-border); }
    .intake-vehicle-option__media img { width:100%; height:100%; object-fit:cover; }
    .intake-vehicle-option__placeholder { font-size:.75rem; color:#7b8791; }
    .intake-vehicle-option__content { display:grid; gap:.18rem; }
    .intake-vehicle-option__title { font-weight:700; color:#1b2530; line-height:1.25; }
    .intake-vehicle-option__meta  { font-size:.85rem; color:#6c757d; line-height:1.35; }

    /* ── PENNYLANE ─────────────────────────────────── */
    .pennylane-eyebrow { margin: 0 0 .38rem; text-transform: uppercase; letter-spacing: .14em; font-size: .63rem; font-weight: 700; color: var(--adm-muted); }

    .pennylane-kpis {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: .75rem;
        margin-bottom: 1rem;
    }

    .pennylane-kpis article {
        padding: 1rem;
        border-radius: var(--adm-r);
        border: 1px solid var(--adm-border);
        background: var(--adm-surface);
        box-shadow: var(--adm-shadow);
    }

    .pennylane-kpis span { display: block; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); margin-bottom: .28rem; }
    .pennylane-kpis strong { display: block; font-size: 1.5rem; letter-spacing: -.04em; color: var(--adm-text); font-family: "Sora",sans-serif; }
    .pennylane-kpis small { display: block; margin-top: .2rem; font-size: .78rem; color: var(--adm-muted); }

    .pennylane-panel {
        padding: 1.2rem;
        border-radius: var(--adm-r-lg);
        border: 1px solid var(--adm-border);
        background: var(--adm-surface);
        box-shadow: var(--adm-shadow);
        margin-bottom: 1rem;
    }

    .pennylane-panel h2 { margin: 0 0 .35rem; letter-spacing: -.04em; }
    .pennylane-panel p  { margin: 0; color: #68736b; }

    .pennylane-panel__head {
        display: flex; justify-content: space-between; gap: 1rem; align-items: flex-end; margin-bottom: 1rem;
    }

    .pennylane-panel__intro { max-width: 46rem; font-size: .92rem; line-height: 1.5; }

    .pennylane-search { width: min(320px,100%); }

    .pennylane-config-grid {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: .7rem;
    }

    .pennylane-config-chip {
        padding: .9rem 1rem;
        border-radius: var(--adm-r);
        background: #f7faf8;
        border: 1px solid var(--adm-border);
    }

    .pennylane-config-chip span  { display: block; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); }
    .pennylane-config-chip strong { display: block; margin-top: .2rem; color: var(--adm-text); }
    .pennylane-config-chip small  { display: block; margin-top: .28rem; color: #68736b; font-size: .82rem; line-height: 1.45; }
    .pennylane-config-chip__path  { word-break: break-word; }

    .pennylane-sync-banner {
        display: flex; justify-content: space-between; gap: 1rem; align-items: center;
        padding: 1rem; margin-bottom: 1rem;
        border-radius: var(--adm-r); border: 1px solid rgba(27,40,33,.1);
    }

    .pennylane-sync-banner--success { background: #edf8f0; border-color: rgba(40,122,67,.18); }
    .pennylane-sync-banner--error   { background: #fff1f0; border-color: rgba(177,63,55,.18); }
    .pennylane-sync-banner__label  { display: block; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); margin-bottom: .18rem; }
    .pennylane-sync-banner strong   { display: block; color: var(--adm-text); }
    .pennylane-sync-banner p        { margin-top: .2rem; font-size: .9rem; color: #68736b; }
    .pennylane-sync-banner__meta    { min-width: 170px; text-align: right; }
    .pennylane-sync-banner__meta span { display: block; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); margin-bottom: .18rem; }

    .pennylane-debug-card {
        margin-top: .8rem; padding: .9rem 1rem;
        border-radius: var(--adm-r); background: #f5f8fb;
        border: 1px dashed rgba(27,40,33,.14);
    }

    .pennylane-debug-card__label { display: block; margin-bottom: .65rem; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); }
    .pennylane-debug-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
    .pennylane-debug-grid strong { display: block; margin-bottom: .15rem; color: var(--adm-text); font-size: .88rem; }
    .pennylane-debug-grid p { margin: 0; color: #68736b; font-size: .88rem; }

    .pennylane-list { display: grid; gap: .65rem; }
    .pennylane-list-head { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: .9rem; padding: 0 .2rem; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); }

    .pennylane-customer-card {
        display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr;
        gap: .9rem; padding: 1rem;
        border-radius: var(--adm-r); background: #fbfcfb;
        border: 1px solid var(--adm-border);
        transition: transform 150ms,box-shadow 150ms,border-color 150ms;
    }

    .pennylane-customer-card:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(20,28,24,.05); border-color: rgba(27,40,33,.14); }
    .pennylane-customer-card h3 { margin: 0 0 .18rem; font-size: 1rem; color: var(--adm-text); }
    .pennylane-customer-card strong { display: block; margin: .2rem 0; color: var(--adm-text); }
    .pennylane-customer-card p { margin: 0; font-size: .88rem; color: #68736b; }
    .pennylane-customer-card__label { display: block; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 700; color: var(--adm-muted); margin-bottom: .12rem; }

    .pennylane-empty { padding: 1.25rem; border-radius: var(--adm-r); background: #fbfcfb; border: 1px dashed rgba(27,40,33,.18); text-align: center; }

    /* ── SHOWROOM VO ────────────────────────────────── */
    .showroom-eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .63rem; color: var(--adm-muted); font-weight: 700; }

    .showroom-filters {
        padding: 1.2rem; margin-bottom: 1rem;
        background: var(--adm-surface); border: 1px solid var(--adm-border);
        border-radius: 22px; box-shadow: var(--adm-shadow);
    }

    .showroom-alert {
        margin-bottom: 1rem; padding: 1rem; border-radius: 18px;
        box-shadow: var(--adm-shadow);
    }

    .showroom-alert { background: #fff4df; border: 1px solid #edd5a3; }
    .showroom-alert--price { background: #ffe7e4; border-color: #efb7ae; }
    .showroom-alert__head { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; margin-bottom: .75rem; }
    .showroom-alert__head strong { font-size: 1rem; color: #6e4e1f; }
    .showroom-alert__head span { color: #8a6b3d; font-size: .9rem; }
    .showroom-alert--price .showroom-alert__head strong { color: #8d3124; }
    .showroom-alert--price .showroom-alert__head span { color: #9b5a4e; }
    .showroom-alert__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
    .showroom-alert__item { padding: .65rem .75rem; border-radius: 12px; background: rgba(255,255,255,.72); border: 1px solid rgba(138,107,61,.18); }
    .showroom-alert__item strong,.showroom-alert__item span { display: block; }
    .showroom-alert__item strong { font-size: .92rem; color: #3a3223; }
    .showroom-alert__item span  { margin-top: .15rem; font-size: .83rem; color: #6a6254; }
    .showroom-alert__item small { display: block; margin-top: .25rem; font-size: .85rem; font-weight: 700; color: #8d3124; }
    .showroom-alert__item--price { background: rgba(255,255,255,.82); border-color: rgba(157,74,59,.18); }

    .showroom-batch-actions { display: flex; justify-content: flex-end; gap: .65rem; margin-bottom: 1rem; }

    .showroom-list { display: grid; gap: .9rem; }

    .showroom-card {
        background: var(--adm-surface); border: 1px solid var(--adm-border);
        border-radius: 22px; box-shadow: var(--adm-shadow); overflow: hidden;
    }

    .showroom-card--horizontal { display: grid; grid-template-columns: 220px minmax(0,1fr) 220px; align-items: stretch; }
    .showroom-card__media img,.showroom-card__placeholder { width: 100%; height: 100%; min-height: 180px; object-fit: cover; display: block; }
    .showroom-card__placeholder { display: flex; align-items: center; justify-content: center; background: #eef2f4; color: #67737b; }
    .showroom-card__body { padding: 1.1rem; }
    .showroom-card__body h2 { margin: 0; font-size: 1.3rem; }
    .showroom-card__subtitle { margin: .3rem 0 0; color: #61707a; min-height: 40px; }
    .showroom-card__meta { display: flex; flex-wrap: wrap; gap: .45rem; margin: .85rem 0; }
    .showroom-card__meta span { padding: .4rem .65rem; border-radius: 999px; background: #f3f5f7; font-size: .82rem; }
    .showroom-card__side { display: flex; flex-direction: column; justify-content: center; gap: .8rem; padding: 1.1rem; border-left: 1px solid var(--adm-border); background: rgba(250,248,243,.7); }
    .showroom-card__price { margin-bottom: .85rem; font-size: 1.65rem; font-weight: 800; letter-spacing: -.04em; color: #17212b; }
    .showroom-card__warning { padding: .6rem .75rem; border-radius: 12px; background: #f6f1e8; color: #7a5a2a; font-size: .87rem; line-height: 1.35; }

    .showroom-table-thumb { width: 72px; height: 52px; object-fit: cover; border-radius: 8px; display: block; }
    .showroom-table-thumb-placeholder { width: 72px; height: 52px; border-radius: 8px; background: #eef2f4; display: flex; align-items: center; justify-content: center; color: #9aa3af; font-size: .72rem; }
    .showroom-table-version { margin-top: .2rem; color: #6b7280; font-size: .88rem; }
    .showroom-table-chips { display: flex; flex-wrap: wrap; gap: .3rem; }
    .showroom-table-chips span { padding: .22rem .5rem; border-radius: 999px; background: #f3f5f7; font-size: .82rem; color: #4b5563; }
    .showroom-table-price { font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; color: #17212b; }

    /* ── VAN SHOWROOM ───────────────────────────────── */
    .van-showroom-eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .63rem; color: var(--adm-muted); font-weight: 700; }

    .van-showroom-list { display: grid; gap: .9rem; }

    .van-showroom-card {
        display: grid; grid-template-columns: minmax(0,1fr) 220px;
        background: var(--adm-surface); border: 1px solid var(--adm-border);
        border-radius: 22px; box-shadow: var(--adm-shadow); overflow: hidden;
    }

    .van-showroom-card__body { padding: 1.1rem; }
    .van-showroom-card__body h2 { margin: 0; font-size: 1.35rem; }
    .van-showroom-card__subtitle { margin: .3rem 0 0; color: #61707a; }
    .van-showroom-card__meta { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem; }
    .van-showroom-card__meta span { padding: .4rem .65rem; border-radius: 999px; background: #f3f5f7; font-size: .83rem; }
    .van-showroom-card__side { display: flex; flex-direction: column; justify-content: center; gap: .8rem; padding: 1.1rem; border-left: 1px solid var(--adm-border); background: rgba(250,248,243,.7); }
    .van-showroom-card__price strong,.van-showroom-card__price span { display: block; }
    .van-showroom-card__price strong { font-size: 1.6rem; line-height: 1; letter-spacing: -.04em; color: #17212b; }
    .van-showroom-card__price span   { margin-top: .28rem; color: #5d6972; }

    /* ── RESPONSIVE ────────────────────────────────── */
    @media (max-width: 1200px) {
        .adm-body-grid { grid-template-columns: minmax(0,1fr) 260px; }
        .adm-kpis--6 { grid-template-columns: repeat(3,minmax(0,1fr)); }
        .prospection-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
        .prospection-card { grid-template-columns: 1fr 1.2fr .9fr .85fr; }
        .prospection-card__actions { grid-column: 1 / -1; justify-items: flex-start; grid-auto-flow: column; }
        .adm-analytics-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 992px) {
        .adm-body-grid { grid-template-columns: 1fr; }
        .adm-dash-aside { flex-direction: row; flex-wrap: wrap; }
        .adm-card { flex: 1; min-width: 240px; }
        .adm-kpis--4,.adm-kpis--6 { grid-template-columns: repeat(2,minmax(0,1fr)); }
        .adm-nl-kpis,.adm-analytics-kpis,.pennylane-kpis,.pennylane-config-grid,.pennylane-debug-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
        .adm-nl-grid { grid-template-columns: 1fr; }
        .adm-form-grid { grid-template-columns: 1fr; }
        .intake-layout { grid-template-columns: 1fr; }
        .showroom-card--horizontal { grid-template-columns: 180px minmax(0,1fr); }
        .showroom-card__side { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--adm-border); }
        .prospection-hero,.prospection-filters,.prospection-card { grid-template-columns: 1fr; }
        .prospection-card__actions { grid-auto-flow: row; justify-items: stretch; }
        .adm-login-shell { flex-direction: column; }
        .adm-login-hero { min-height: 220px; }
        .adm-login-panel { width: 100%; max-width: 100%; }
    }

    @media (max-width: 768px) {
        .adm-sidebar { width: 0; overflow: hidden; }
        .adm-body { margin-left: 0; }
        .adm-kpis--6 { grid-template-columns: repeat(2,minmax(0,1fr)); }
        .pennylane-list-head { display: none; }
        .pennylane-list-head,.pennylane-customer-card { grid-template-columns: 1fr; }
        .showroom-alert__list { grid-template-columns: 1fr; }
        .showroom-card--horizontal { grid-template-columns: 1fr; }
        .van-showroom-card { grid-template-columns: 1fr; }
        .van-showroom-card__side { border-left: 0; border-top: 1px solid var(--adm-border); }
        .adm-page { padding: 1.25rem 1rem 2.5rem; }
        .adm-page-head { flex-direction: column; align-items: flex-start; }
        .prospection-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
        .showroom-featured-summary,.showroom-featured-modal__head { flex-direction: column; align-items: stretch; }
    }

    @media (max-width: 576px) {
        .adm-kpis--4,.adm-kpis--6 { grid-template-columns: 1fr; }
        .adm-nl-kpis,.adm-analytics-kpis,.pennylane-kpis,.pennylane-config-grid,.pennylane-debug-grid { grid-template-columns: 1fr; }
        .prospection-kpis { grid-template-columns: 1fr; }
    }

    /* ─── VO3000 ─────────────────────────────────────── */
    .vo3k-endpoint-pill {
        min-height: 38px;
        display: flex;
        align-items: center;
        padding: .55rem .85rem;
        border-radius: 14px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        color: var(--adm-navy);
        font-weight: 700;
        font-size: .88rem;
    }
    .vo3k-dashboard-table { --bs-table-bg: transparent; }
    .vo3k-dashboard-table thead th {
        padding: 1rem;
        background: #f8f9fb;
        border-bottom: 1px solid var(--adm-border);
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .1em;
        color: #6b7280;
    }
    .vo3k-dashboard-table tbody td {
        padding: 1rem;
        vertical-align: middle;
        border-color: var(--adm-border);
    }
    /* thumbnail column */
    .vo3k-col-thumb { width: 84px; padding-right: 0 !important; }
    .vo3k-thumb { width: 78px; height: 56px; object-fit: cover; border-radius: 10px; display: block; }
    .vo3k-thumb-placeholder {
        width: 78px; height: 56px; border-radius: 10px;
        background: #eef2f4; display: flex; align-items: center;
        justify-content: center; color: #c4cdd4; font-size: 1.1rem;
    }
    /* vehicle cell */
    .vo3k-vehicle { display: grid; gap: .1rem; }
    .vo3k-vehicle-name { font-size: .97rem; font-weight: 700; letter-spacing: -.02em; color: var(--adm-navy); line-height: 1.2; }
    .vo3k-vehicle-sub  { font-size: .85rem; color: #6b7280; line-height: 1.3; }
    .vo3k-vehicle-specs { font-size: .78rem; color: #9aa3af; margin-top: .15rem; }
    /* price cell */
    .vo3k-price-cell { display: grid; gap: .18rem; }
    .vo3k-price-main  { font-size: 1.05rem; font-weight: 800; letter-spacing: -.03em; color: var(--adm-navy); }
    .vo3k-price-meta  { display: flex; flex-direction: column; gap: .06rem; font-size: .8rem; color: #6b7280; }
    .vo3k-margin--pos { color: #16a34a; font-weight: 700; }
    .vo3k-margin--neg { color: #dc2626; font-weight: 700; }
    /* financing cell */
    .vo3k-finance-cell { display: grid; gap: .1rem; }
    .vo3k-finance-cell strong { font-size: .92rem; font-weight: 700; color: var(--adm-navy); }
    .vo3k-finance-cell span   { font-size: .8rem; color: #6b7280; }
    .vo3k-empty { color: #c4cdd4; font-size: .9rem; }
    /* action buttons */
    .vo3k-actions { display: flex; align-items: center; gap: .4rem; justify-content: flex-end; }
    .vo3k-btn {
        display: inline-flex; align-items: center; justify-content: center;
        height: 32px; border-radius: 8px; font-size: .83rem; font-weight: 600;
        border: none; cursor: pointer; text-decoration: none;
        transition: background .14s, color .14s;
        white-space: nowrap;
    }
    .vo3k-btn:hover { text-decoration: none; }
    .vo3k-btn--primary { padding: 0 .9rem; background: var(--adm-navy); color: #fff; }
    .vo3k-btn--primary:hover { background: #1d2d42; color: #fff; }
    .vo3k-btn--icon { width: 32px; background: #f0f2f7; color: #5a6370; }
    .vo3k-btn--icon:hover { background: #e4e8ef; color: var(--adm-navy); }
    .vo3k-btn--icon.is-expanded { background: var(--adm-navy); color: #fff; }
    .vo3k-btn--icon .bi { font-size: .9rem; transition: transform .18s; }
    .vo3k-btn--icon.is-expanded .bi-chevron-down { transform: rotate(180deg); }
    /* legacy — kept for detail row references */
    .custom-title-chip {
        margin-top: .35rem; display: inline-flex; padding: .25rem .55rem;
        border-radius: 999px; background: rgba(200,145,42,.1);
        color: var(--adm-amber); font-size: .76rem; font-weight: 700;
    }
    .publish-switch { margin: 0; }
    .publish-switch .form-check-input { cursor: pointer; }
    .publish-switch.is-saving { opacity: .55; pointer-events: none; }
    .publish-switch .form-check-label { font-size: .82rem; font-weight: 600; }
    .detail-row td { padding-top: 0; background: #f8f9fb; }
    .detail-panel { padding: 1rem .2rem .2rem; }
    .detail-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0,1fr));
        gap: .85rem;
        margin-bottom: .9rem;
    }
    .detail-grid > div, .detail-note {
        padding: .9rem;
        border-radius: 14px;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
    }
    .detail-label {
        display: block;
        text-transform: uppercase;
        letter-spacing: .12em;
        font-size: .72rem;
        color: #9aa3af;
        margin-bottom: .25rem;
    }
    .detail-grid strong, .detail-note p { display: block; margin: 0; }
    .detail-links { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: .75rem; }
    .scroll-sentinel { padding: 1rem; text-align: center; color: #9aa3af; font-weight: 600; }
    /* Finance modal */
    /* ── FINANCE MODAL ────────────────────────────── */
    .finance-modal {
        position: fixed; inset: 0; z-index: 2000;
        display: flex; align-items: center; justify-content: center; padding: 1.25rem;
    }
    .finance-modal.d-none { display: none; }
    .finance-modal-backdrop {
        position: absolute; inset: 0;
        background: rgba(8,12,16,.60);
        backdrop-filter: blur(3px);
    }
    .finance-modal-dialog {
        position: relative;
        width: min(1080px, 100%);
        max-height: 90vh;
        display: flex;
        flex-direction: column;
        border-radius: 20px;
        background: var(--adm-surface);
        box-shadow: 0 28px 64px rgba(0,0,0,.28);
        overflow: hidden;
    }
    /* header */
    .fmd-hd {
        display: flex; align-items: center; gap: 1rem;
        padding: .9rem 1.25rem;
        border-bottom: 1px solid var(--adm-border);
        flex-shrink: 0;
        background: var(--adm-surface);
    }
    .fmd-hd-meta { flex: 1; min-width: 0; }
    .fmd-hd-eyebrow {
        font-size: .7rem; text-transform: uppercase;
        letter-spacing: .12em; color: #9aa3af;
        font-weight: 700; margin-bottom: .1rem;
    }
    .fmd-hd-title {
        font-size: 1.05rem; font-weight: 700;
        color: var(--adm-text);
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        margin: 0;
    }
    .fmd-hd-close {
        flex-shrink: 0;
        width: 32px; height: 32px; border-radius: 50%;
        border: 0; background: #f1f3f5; color: #6b7280;
        cursor: pointer; display: flex; align-items: center; justify-content: center;
        font-size: 1.15rem; line-height: 1;
        transition: background .15s, color .15s;
    }
    .fmd-hd-close:hover { background: #e5e7eb; color: var(--adm-text); }
    /* body — two columns */
    .fmd-body {
        display: grid;
        grid-template-columns: 230px minmax(0, 1fr);
        overflow: hidden;
        flex: 1;
    }
    /* left — vehicle info */
    .fmd-left {
        border-right: 1px solid var(--adm-border);
        overflow-y: auto;
        padding: 1rem;
        background: #f8f9fb;
    }
    .fmd-photo {
        width: 100%; aspect-ratio: 16/9;
        object-fit: cover; border-radius: 11px; display: block;
    }
    .fmd-photo-placeholder {
        width: 100%; aspect-ratio: 16/9;
        border-radius: 11px; background: #eaecef;
        display: flex; align-items: center; justify-content: center;
        color: #b0b7c0; font-size: 2rem;
    }
    .fmd-vname {
        margin: .75rem 0 .1rem;
        font-size: .95rem; font-weight: 700; color: var(--adm-text); line-height: 1.25;
    }
    .fmd-vver {
        font-size: .8rem; color: #6b7280; line-height: 1.4; margin: 0 0 .85rem;
    }
    .fmd-kpis { display: flex; flex-direction: column; gap: .45rem; }
    .fmd-kpi {
        padding: .6rem .75rem; border-radius: 10px;
        background: var(--adm-surface); border: 1px solid var(--adm-border);
    }
    .fmd-kpi__label {
        display: block; font-size: .67rem; text-transform: uppercase;
        letter-spacing: .1em; color: #9aa3af; font-weight: 700; margin-bottom: .15rem;
    }
    .fmd-kpi__value {
        display: block; font-size: .9rem; font-weight: 700; color: var(--adm-text);
    }
    .fmd-kpi__value.is-positive { color: #1a7a4a; }
    .fmd-kpi__value.is-negative { color: #c0392b; }
    .fmd-kpi__sub { display: block; font-size: .72rem; color: #9aa3af; margin-top: .1rem; }
    /* right — form */
    .fmd-right {
        overflow-y: auto;
        padding: 1rem 1.25rem 1.5rem;
    }
    .ff-section { margin-bottom: 1.35rem; }
    .ff-section:last-child { margin-bottom: 0; }
    .ff-section-title {
        font-size: .7rem; font-weight: 800;
        text-transform: uppercase; letter-spacing: .12em;
        color: #9aa3af; margin: 0 0 .7rem;
        padding-bottom: .4rem;
        border-bottom: 1px solid var(--adm-border);
    }
    .ff-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .6rem;
    }
    .ff-grid .full { grid-column: 1 / -1; }
    .ff-field label {
        display: block; font-size: .76rem; font-weight: 600;
        color: #6b7280; margin-bottom: .24rem;
    }
    .ff-field input,
    .ff-field select,
    .ff-field textarea {
        width: 100%; box-sizing: border-box;
        border: 1.5px solid var(--adm-border); border-radius: 8px;
        padding: .52rem .7rem; font-size: .87rem;
        color: var(--adm-text); background: var(--adm-surface);
        font-family: inherit; outline: none;
        transition: border-color .14s;
    }
    .ff-field input:focus,
    .ff-field select:focus,
    .ff-field textarea:focus { border-color: var(--adm-accent); }
    .ff-field textarea { resize: vertical; min-height: 66px; }
    /* footer */
    .fmd-ft {
        border-top: 1px solid var(--adm-border);
        padding: .8rem 1.25rem;
        background: var(--adm-surface);
        flex-shrink: 0;
        display: flex; align-items: center; gap: 1.5rem;
    }
    .fmd-ft-preview {
        flex: 1; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
    }
    .fmd-ft-item { display: flex; align-items: baseline; gap: .4rem; }
    .fmd-ft-item span {
        font-size: .7rem; color: #9aa3af; font-weight: 700;
        text-transform: uppercase; letter-spacing: .08em;
    }
    .fmd-ft-item strong { font-size: .92rem; font-weight: 700; color: var(--adm-text); }
    .fmd-ft-actions { display: flex; gap: .6rem; flex-shrink: 0; }
    /* simulateur mensualité dans modal */
    .fmc-result-bar {
        display: flex; align-items: center; justify-content: space-between; gap: 1rem;
        background: linear-gradient(135deg, #f0f4f8 0%, #e8ecf1 100%);
        border: 1px solid var(--adm-border); border-radius: 10px;
        padding: .75rem 1rem;
    }
    .fmc-result-label {
        display: block; font-size: .67rem; text-transform: uppercase;
        letter-spacing: .1em; color: #9aa3af; font-weight: 700; margin-bottom: .12rem;
    }
    .fmc-result-value {
        font-size: 1.3rem; font-weight: 800; color: var(--adm-text);
        font-variant-numeric: tabular-nums; line-height: 1;
    }
    .fmc-result-formula {
        font-size: .74rem; color: #9aa3af;
        text-align: right; max-width: 200px; line-height: 1.4;
    }
    .fmc-actions {
        display: flex; gap: .6rem; margin-top: .8rem; justify-content: flex-end;
    }
    /* VO3000 edit */
    .vo3k-preview-card {
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-radius: 20px;
        box-shadow: 0 4px 18px rgba(17,24,32,.06);
        overflow: hidden;
    }
    .vo3k-preview-image { width: 100%; height: 280px; object-fit: cover; display: block; }
    .vo3k-preview-placeholder {
        width: 100%; height: 280px;
        display: flex; align-items: center; justify-content: center;
        background: #f4f5f7; color: #9aa3af;
    }
    .vo3k-preview-body { padding: 1.25rem; }
    .vo3k-preview-meta {
        display: flex; flex-wrap: wrap; gap: .5rem; margin: .85rem 0;
    }
    .vo3k-preview-meta span {
        padding: .4rem .7rem; border-radius: 999px;
        background: #f4f5f7; font-size: .84rem;
    }
    .vo3k-preview-source span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: #9aa3af; }
    .vo3k-preview-source strong { display: block; margin-top: .2rem; }
    .vo3k-field-hint { margin-top: .35rem; color: #9aa3af; font-size: .8rem; }
    .vo3k-finance-tool {
        padding: 1.25rem; border-radius: 16px;
        background: #f8f9fb; border: 1px solid var(--adm-border);
    }
    .vo3k-finance-tool-head {
        display: flex; justify-content: space-between; gap: 1rem;
        align-items: flex-start; margin-bottom: .75rem;
    }
    .vo3k-finance-tool-kpi {
        min-width: 220px; padding: 1rem 1.1rem;
        border-radius: 14px; background: var(--adm-navy); color: #fff;
    }
    .vo3k-finance-tool-kpi span, .vo3k-finance-tool-kpi small { display: block; }
    .vo3k-finance-tool-kpi span { opacity: .7; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
    .vo3k-finance-tool-kpi strong { display: block; font-size: 1.7rem; line-height: 1.1; margin: .3rem 0; }
    .vo3k-finance-tool-kpi small { opacity: .75; font-size: .8rem; }
    .vo3k-finance-tool-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
    /* VO3000 social */
    .vo3k-social-card {
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 4px 18px rgba(17,24,32,.06);
    }
    .vo3k-social-image { width: 100%; height: 280px; object-fit: cover; display: block; }
    .vo3k-social-placeholder {
        width: 100%; height: 280px;
        display: flex; align-items: center; justify-content: center;
        background: #f4f5f7; color: #9aa3af;
    }
    .vo3k-social-body { padding: 1.25rem; }
    .vo3k-social-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
    .vo3k-social-meta span {
        padding: .4rem .7rem; border-radius: 999px; background: #f4f5f7; font-size: .84rem;
    }
    .vo3k-status-grid {
        display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem;
    }
    .vo3k-status-card {
        padding: .65rem .75rem; border-radius: 12px;
        background: #f4f5f7; font-size: .84rem;
    }
    .vo3k-status-card span { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: #9aa3af; margin-bottom: .2rem; }
    .vo3k-platform-pills { display: flex; flex-wrap: wrap; gap: .75rem; }
    .vo3k-platform-pill {
        display: inline-flex; align-items: center; gap: .5rem;
        padding: .65rem .95rem; border-radius: 999px;
        background: #f4f5f7; font-weight: 700; cursor: pointer;
    }
    .vo3k-platform-pill input { margin: 0; }
    .vo3k-publish-hint {
        display: grid; gap: .35rem; height: 100%;
        padding: .95rem 1rem; border-radius: 14px; background: #f4f5f7;
    }
    .vo3k-history-badge {
        display: inline-flex; padding: .3rem .6rem;
        border-radius: 999px; font-size: .76rem;
        font-weight: 700; text-transform: uppercase;
    }
    .vo3k-status-draft, .vo3k-status-queued, .vo3k-status-processing {
        background: #e7f5ec; color: #1a7a4a;
    }
    .vo3k-status-published { background: #e7f2ff; color: #1a5299; }
    .vo3k-status-failed { background: #fde8e8; color: #c0392b; }
    @media (max-width: 991px) {
        .fmd-body, .detail-grid,
        .vo3k-finance-tool-head { grid-template-columns: 1fr; }
        .vo3k-finance-tool-kpi { width: 100%; min-width: 0; }
        .vo3k-status-grid { grid-template-columns: 1fr; }
        .vo3k-dashboard-table thead { display: none; }
        .vo3k-dashboard-table,
        .vo3k-dashboard-table tbody,
        .vo3k-dashboard-table tr,
        .vo3k-dashboard-table td { display: block; width: 100%; }
        .vo3k-dashboard-table tbody tr { border-bottom: 1px solid var(--adm-border); }
        .vo3k-dashboard-table tbody td { padding: .75rem 1rem; }
        .vo3k-col-thumb { width: 100% !important; }
        .vo3k-thumb, .vo3k-thumb-placeholder { width: 100%; height: 140px; border-radius: 10px; }
        .vo3k-actions { width: 100%; justify-content: flex-start; }
        .vo3k-btn--primary { flex: 1; justify-content: center; }
    }

    /* ── DOCUMENTS ENTRANTS ────────────────────────── */
    .idoc-intro {
        color: var(--adm-muted);
        font-size: .9rem;
        max-width: 760px;
        margin: -.6rem 0 1.25rem;
        line-height: 1.55;
    }

    .idoc-panel {
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-radius: var(--adm-r-lg);
        box-shadow: var(--adm-shadow);
        overflow: hidden;
        margin-bottom: 1.25rem;
    }
    .idoc-panel__head {
        display: flex; gap: .9rem; align-items: center;
        padding: 1rem 1.35rem .9rem;
        border-bottom: 1px solid var(--adm-border);
    }
    .idoc-panel__icon {
        width: 38px; height: 38px;
        border-radius: 10px;
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
        display: grid; place-items: center;
        font-size: 1.1rem;
        flex-shrink: 0;
    }
    .idoc-panel__head h2 {
        margin: 0;
        font-size: 1.02rem;
        letter-spacing: -.02em;
        font-family: "Sora", "Manrope", sans-serif;
    }
    .idoc-panel__head p {
        margin: .15rem 0 0;
        font-size: .8rem; color: var(--adm-muted);
    }
    .idoc-panel__body { padding: 1.2rem 1.35rem; }
    .idoc-panel__foot {
        padding: .85rem 1.35rem;
        background: #f8f9fc;
        border-top: 1px solid var(--adm-border);
        display: flex; justify-content: flex-end; gap: .5rem;
    }
    .idoc-panel__body .form-label {
        font-size: .78rem; font-weight: 600;
        color: #374151; margin-bottom: .3rem;
    }
    .idoc-panel__body .form-control,
    .idoc-panel__body .form-select {
        min-height: 40px;
        border-radius: 8px;
        border: 1px solid var(--adm-border-strong);
        background: #f9fafb;
        font-size: .88rem;
    }
    .idoc-panel__body .form-control:focus,
    .idoc-panel__body .form-select:focus { background: #fff; }

    .idoc-advanced {
        margin-top: 1rem;
        border: 1px solid var(--adm-border);
        border-radius: 10px;
        background: #fafbfd;
        padding: .75rem 1rem;
    }
    .idoc-advanced > summary {
        cursor: pointer;
        font-weight: 600;
        font-size: .85rem;
        color: var(--adm-text);
        list-style: none;
        display: flex; align-items: center; gap: .45rem;
    }
    .idoc-advanced > summary::-webkit-details-marker { display: none; }
    .idoc-advanced > summary::after {
        content: "▾";
        margin-left: auto;
        color: var(--adm-muted);
        transition: transform 150ms;
        font-size: .8rem;
    }
    .idoc-advanced[open] > summary::after { transform: rotate(180deg); }
    .idoc-advanced[open] > .idoc-advanced__body {
        margin-top: .9rem;
        padding-top: .9rem;
        border-top: 1px dashed var(--adm-border);
    }

    /* Liste des documents */
    .idoc-list-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .75rem;
        padding: 1rem 1.35rem;
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-radius: var(--adm-r-lg) var(--adm-r-lg) 0 0;
        border-bottom: 0;
    }
    .idoc-list-head h2 {
        margin: 0; font-size: 1.02rem; letter-spacing: -.02em;
        display: flex; align-items: center; gap: .55rem;
        font-family: "Sora", "Manrope", sans-serif;
    }
    .idoc-list-head h2 i { color: var(--adm-amber); font-size: 1rem; }
    .idoc-empty {
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-top: 0;
        border-radius: 0 0 var(--adm-r-lg) var(--adm-r-lg);
        padding: 2.5rem 1.5rem;
        text-align: center;
        color: var(--adm-muted);
        font-size: .9rem;
    }
    .idoc-empty i { font-size: 2rem; color: var(--adm-border-strong); display: block; margin-bottom: .5rem; }

    /* Carte document */
    .idoc-card {
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-top: 0;
        overflow: hidden;
        position: relative;
        transition: background 150ms;
    }
    .idoc-card:last-child {
        border-radius: 0 0 var(--adm-r-lg) var(--adm-r-lg);
        box-shadow: var(--adm-shadow);
    }
    .idoc-card::before {
        content: "";
        position: absolute;
        top: 0; bottom: 0; left: 0;
        width: 3px;
        background: var(--adm-border-strong);
    }
    .idoc-card--pending::before { background: var(--adm-amber); }
    .idoc-card--reviewed::before { background: var(--adm-blue); }
    .idoc-card--assigned::before { background: var(--adm-green); }
    .idoc-card__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.4fr) 300px 320px;
        gap: 0;
        align-items: stretch;
    }
    .idoc-card__main {
        padding: 1.2rem 1.4rem 1.2rem 1.5rem;
        min-width: 0;
    }
    .idoc-card__match {
        padding: 1.2rem 1.35rem;
        background: #fafbfd;
        border-left: 1px solid var(--adm-border);
        display: flex; flex-direction: column;
    }
    .idoc-card__actions {
        padding: 1.2rem 1.35rem;
        background: #f6f8fb;
        border-left: 1px solid var(--adm-border);
    }
    .idoc-card__head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: .9rem;
        margin-bottom: .6rem;
    }
    .idoc-card__title {
        margin: 0;
        font-family: "Sora", "Manrope", sans-serif;
        font-size: 1.02rem;
        font-weight: 700;
        color: var(--adm-text);
        letter-spacing: -.01em;
        line-height: 1.25;
    }
    .idoc-card__sub {
        margin-top: .3rem;
        display: flex;
        flex-wrap: wrap;
        gap: .35rem .55rem;
        align-items: center;
        font-size: .76rem;
        color: var(--adm-muted);
    }
    .idoc-card__sub .sep { color: var(--adm-border-strong); }

    .idoc-plate {
        display: inline-flex;
        align-items: center;
        padding: .3rem .6rem;
        border-radius: 6px;
        background: var(--adm-navy);
        color: #fff;
        font-family: "Sora", monospace;
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .05em;
        flex-shrink: 0;
    }

    .idoc-pills {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .55rem;
        margin: .8rem 0 .55rem;
    }
    .idoc-pill {
        padding: .55rem .75rem;
        border-radius: 10px;
        background: #f9fafb;
        border: 1px solid var(--adm-border);
    }
    .idoc-pill__label {
        display: block;
        font-size: .58rem;
        text-transform: uppercase;
        letter-spacing: .12em;
        font-weight: 700;
        color: var(--adm-muted);
        margin-bottom: .2rem;
    }
    .idoc-pill strong {
        display: block;
        font-size: .88rem;
        color: var(--adm-text);
        font-weight: 700;
        margin-bottom: .12rem;
        word-break: break-word;
        line-height: 1.2;
    }
    .idoc-pill small { font-size: .7rem; color: var(--adm-muted); line-height: 1.2; }

    .idoc-extra-meta {
        margin-top: .55rem;
        font-size: .76rem;
        color: #4b5563;
        padding: .4rem .65rem;
        background: #f7f9fc;
        border-radius: 6px;
        border: 1px solid var(--adm-border);
    }

    .idoc-links {
        margin-top: .75rem;
        display: flex;
        gap: .4rem;
        flex-wrap: wrap;
    }
    .idoc-links .btn { font-size: .78rem; padding: .3rem .65rem; }

    .idoc-section-label {
        display: block;
        font-size: .58rem;
        text-transform: uppercase;
        letter-spacing: .15em;
        font-weight: 800;
        color: var(--adm-amber);
        margin-bottom: .55rem;
    }
    .idoc-suggestion {
        display: flex;
        flex-direction: column;
        gap: .35rem;
    }
    .idoc-suggestion strong {
        display: block;
        color: var(--adm-text);
        font-weight: 700;
        font-size: .88rem;
        line-height: 1.3;
    }
    .idoc-suggestion__meta {
        display: flex;
        gap: .35rem;
        flex-wrap: wrap;
        align-items: center;
    }
    .idoc-suggestion__meta span { font-size: .72rem; color: var(--adm-muted); }
    .idoc-empty-suggest {
        font-size: .8rem;
        color: var(--adm-muted);
        font-style: italic;
        padding: .65rem .75rem;
        background: #fff;
        border: 1px dashed var(--adm-border-strong);
        border-radius: 8px;
        text-align: center;
    }
    .idoc-extra {
        margin-top: auto;
        padding-top: .7rem;
        border-top: 1px solid var(--adm-border);
        font-size: .72rem;
        color: var(--adm-muted);
        line-height: 1.45;
    }

    .idoc-actions__form { display: flex; flex-direction: column; gap: .55rem; margin: 0; }
    .idoc-actions__form .form-select,
    .idoc-actions__form .form-control {
        min-height: 36px;
        font-size: .82rem;
        border-radius: 6px;
    }
    .idoc-actions__form textarea.form-control { min-height: 56px; }
    .idoc-actions__buttons {
        display: flex; gap: .4rem; flex-wrap: wrap; align-items: center;
        margin-top: .15rem;
    }
    .idoc-actions__buttons .btn { font-size: .8rem; padding: .35rem .75rem; }

    .idoc-status-pill {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        padding: .3rem .65rem;
        border-radius: 999px;
        font-size: .68rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
        margin-bottom: .65rem;
    }
    .idoc-status-pill--pending { background: var(--adm-amber-bg); color: var(--adm-amber); }
    .idoc-status-pill--reviewed { background: var(--adm-blue-bg); color: var(--adm-blue); }
    .idoc-status-pill--assigned { background: var(--adm-green-bg); color: var(--adm-green); }

    .idoc-feedback {
        margin-top: .9rem;
        border-top: 1px solid var(--adm-border);
        padding-top: .8rem;
    }
    .idoc-feedback > summary {
        cursor: pointer;
        font-weight: 600;
        font-size: .78rem;
        color: var(--adm-text);
        list-style: none;
        display: flex; align-items: center; gap: .4rem;
    }
    .idoc-feedback > summary::-webkit-details-marker { display: none; }
    .idoc-feedback > summary::before {
        content: "✎";
        color: var(--adm-amber);
    }
    .idoc-feedback > summary::after {
        content: "▾";
        margin-left: auto;
        color: var(--adm-muted);
        transition: transform 150ms;
        font-size: .8rem;
    }
    .idoc-feedback[open] > summary::after { transform: rotate(180deg); }
    .idoc-feedback__body { margin-top: .7rem; display: flex; flex-direction: column; gap: .7rem; }
    .idoc-feedback__section { padding-top: .55rem; border-top: 1px dashed var(--adm-border); }
    .idoc-feedback__section:first-child { border-top: 0; padding-top: 0; }
    .idoc-feedback__title {
        font-size: .62rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .12em;
        color: var(--adm-amber);
        margin-bottom: .4rem;
    }
    .idoc-feedback .form-control,
    .idoc-feedback .form-select {
        min-height: 32px;
        font-size: .8rem;
        padding: .25rem .5rem;
        border-radius: 6px;
    }
    .idoc-feedback .form-label { font-size: .7rem; color: #4b5563; margin-bottom: .15rem; }

    @media (max-width: 1280px) {
        .idoc-card__grid { grid-template-columns: 1fr 300px; }
        .idoc-card__actions {
            grid-column: 1 / -1;
            border-top: 1px solid var(--adm-border);
            border-left: 0;
        }
    }
    @media (max-width: 768px) {
        .idoc-card__grid { grid-template-columns: 1fr; }
        .idoc-card__match,
        .idoc-card__actions {
            border-left: 0;
            border-top: 1px solid var(--adm-border);
        }
        .idoc-pills { grid-template-columns: 1fr; }
    }

    /* ── DASHBOARD ─────────────────────────────────── */
    .adm-page-head .adm-date { margin-top: .35rem; }

    .dash-list {
        list-style: none;
        margin: 0;
        padding: .35rem 0;
    }
    .dash-list__item {
        display: flex;
        align-items: center;
        gap: .85rem;
        padding: .8rem 1.1rem;
        border-bottom: 1px solid var(--adm-border);
        transition: background 120ms;
    }
    .dash-list__item:last-child { border-bottom: 0; }
    .dash-list__item:hover { background: #f8f9fc; }
    .dash-list__avatar {
        flex-shrink: 0;
        width: 38px; height: 38px;
        border-radius: 10px;
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
        display: grid; place-items: center;
        font-family: "Sora", "Manrope", sans-serif;
        font-weight: 700;
        font-size: .82rem;
        letter-spacing: .02em;
    }
    .dash-list__body { flex: 1; min-width: 0; }
    .dash-list__title {
        font-weight: 600;
        font-size: .9rem;
        color: var(--adm-text);
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .dash-list__meta {
        font-size: .76rem;
        color: var(--adm-muted);
        margin-top: .15rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .dash-list__link {
        flex-shrink: 0;
        width: 30px; height: 30px;
        border-radius: 8px;
        display: grid; place-items: center;
        color: var(--adm-muted);
        background: transparent;
        font-size: 1.35rem;
        text-decoration: none;
        transition: background 120ms, color 120ms;
    }
    .dash-list__link:hover {
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
    }

    .dash-empty {
        padding: 2.25rem 1.5rem;
        text-align: center;
        color: var(--adm-muted);
        font-size: .9rem;
    }
    .dash-empty i {
        display: block;
        font-size: 1.85rem;
        color: var(--adm-border-strong);
        margin-bottom: .5rem;
    }

    /* ── Dash alert list (alertes véhicules, location) ─ */
    .dash-alert-list {
        list-style: none;
        padding: 0 .75rem;
        margin: 0;
    }
    .dash-alert-list li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .5rem;
        padding: .35rem 0;
        border-bottom: 1px solid var(--adm-border);
        font-size: .8rem;
    }
    .dash-alert-list li:last-child { border-bottom: 0; }
    .dash-alert-list a {
        color: var(--adm-text);
        text-decoration: none;
        font-weight: 500;
        flex: 1;
    }
    .dash-alert-list a:hover { color: var(--adm-navy); text-decoration: underline; }
    .dash-alert-list code { font-size: .75rem; margin-right: .3rem; }

    /* ── CLIENTS ───────────────────────────────────── */
    .cli-toolbar {
        display: flex;
        align-items: center;
        gap: .85rem;
        margin-bottom: 1rem;
        flex-wrap: wrap;
    }
    .cli-toolbar__search {
        position: relative;
        flex: 1 1 320px;
        min-width: 240px;
    }
    .cli-toolbar__search > i.bi-search {
        position: absolute;
        left: .85rem;
        top: 50%;
        transform: translateY(-50%);
        color: var(--adm-muted);
        font-size: .9rem;
        pointer-events: none;
    }
    .cli-toolbar__search input.form-control {
        height: 42px;
        padding-left: 2.35rem;
        padding-right: 2.35rem;
        border-radius: 10px;
        border: 1px solid var(--adm-border-strong);
        background: var(--adm-surface);
        font-size: .88rem;
    }
    .cli-toolbar__clear {
        position: absolute;
        right: .55rem;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        border: 0;
        color: var(--adm-muted);
        width: 28px; height: 28px;
        border-radius: 6px;
        cursor: pointer;
        display: grid; place-items: center;
        font-size: .75rem;
        transition: background 120ms, color 120ms;
    }
    .cli-toolbar__clear:hover { background: #f0f2f7; color: var(--adm-red); }

    .cli-toolbar__counter {
        font-size: .78rem;
        color: var(--adm-muted);
        font-variant-numeric: tabular-nums;
        margin-left: auto;
    }
    .cli-toolbar__status {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        padding: .3rem .65rem;
        border-radius: 999px;
        font-size: .72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .06em;
    }
    .cli-toolbar__status.is-ok { background: var(--adm-green-bg); color: var(--adm-green); }
    .cli-toolbar__status.is-off { background: #f0f2f7; color: var(--adm-muted); }

    .cli-row {
        display: flex;
        align-items: center;
        gap: .75rem;
        min-width: 0;
    }
    .cli-row__text { min-width: 0; }
    .cli-row__name {
        font-weight: 700;
        font-size: .92rem;
        color: var(--adm-text);
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 280px;
    }
    .cli-row__sub {
        margin-top: .2rem;
        display: flex;
        align-items: center;
        gap: .4rem;
        font-size: .75rem;
        color: var(--adm-muted);
        flex-wrap: wrap;
    }
    .cli-row__ref { font-family: "Sora", monospace; font-size: .72rem; }

    .cli-avatar {
        flex-shrink: 0;
        width: 38px; height: 38px;
        border-radius: 10px;
        display: grid; place-items: center;
        font-family: "Sora", "Manrope", sans-serif;
        font-weight: 700;
        font-size: .78rem;
        letter-spacing: .03em;
    }
    .cli-avatar--company {
        background: var(--adm-blue-bg);
        color: var(--adm-blue);
    }
    .cli-avatar--individual {
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
    }

    .cli-contact { line-height: 1.4; }
    .cli-contact > div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px; }
    .cli-contact__link {
        color: var(--adm-text);
        text-decoration: none;
        border-bottom: 1px dashed transparent;
    }
    .cli-contact__link:hover {
        color: var(--adm-amber);
        border-bottom-color: var(--adm-amber);
    }

    .cli-actions {
        display: inline-flex;
        gap: .3rem;
        justify-content: flex-end;
    }
    .cli-actions .btn { padding: .3rem .55rem; }

    .cli-empty {
        padding: 2.5rem 1.5rem;
        text-align: center;
        color: var(--adm-muted);
        font-size: .9rem;
    }
    .cli-empty > i {
        display: block;
        font-size: 2rem;
        color: var(--adm-border-strong);
        margin-bottom: .6rem;
    }

    /* ================================================
       SIDEBAR v3 — groupes pliables + filtre
       ================================================ */

    /* Bouton réduire dans le bandeau marque */
    .adm-sidebar__brand { position: relative; }
    .adm-sidebar__collapse {
        margin-left: auto;
        background: transparent;
        border: 0;
        color: rgba(255,255,255,.45);
        width: 26px; height: 26px;
        border-radius: 6px;
        display: grid; place-items: center;
        cursor: pointer;
        transition: color 120ms, background 120ms, transform 200ms;
        flex-shrink: 0;
    }
    .adm-sidebar__collapse:hover { color: #fff; background: rgba(255,255,255,.08); }
    .adm-sidebar__collapse i { font-size: .85rem; }

    /* Filtre rapide en haut de la nav */
    .adm-sidebar__filter {
        position: relative;
        padding: .5rem .75rem .35rem;
        display: flex;
        align-items: center;
    }
    .adm-sidebar__filter i.bi-search {
        position: absolute;
        left: 1.1rem;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255,255,255,.35);
        font-size: .8rem;
        pointer-events: none;
    }
    .adm-sidebar__filter input {
        width: 100%;
        padding: .42rem .55rem .42rem 1.85rem;
        background: rgba(255,255,255,.06);
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 7px;
        color: #fff;
        font-size: .78rem;
        font-family: inherit;
        outline: 0;
        transition: border-color 120ms, background 120ms;
    }
    .adm-sidebar__filter input::placeholder { color: rgba(255,255,255,.35); }
    .adm-sidebar__filter input:focus {
        border-color: var(--adm-amber);
        background: rgba(255,255,255,.09);
        box-shadow: 0 0 0 3px rgba(200,145,42,.18);
    }
    .adm-sidebar__filter input::-webkit-search-cancel-button { filter: invert(1) opacity(.4); cursor: pointer; }
    .adm-sidebar__kbd {
        position: absolute;
        right: 1.15rem;
        top: 50%;
        transform: translateY(-50%);
        font-family: "Manrope", sans-serif;
        font-size: .62rem;
        font-weight: 700;
        color: rgba(255,255,255,.4);
        background: rgba(255,255,255,.06);
        border: 1px solid rgba(255,255,255,.08);
        padding: .08rem .32rem;
        border-radius: 4px;
        pointer-events: none;
        letter-spacing: .02em;
    }

    /* Groupes pliables (details/summary) */
    .adm-nav-group { margin: .08rem 0; }
    .adm-nav-group > summary {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: .6rem;
        padding: .5rem .65rem;
        border-radius: 8px;
        color: rgba(255,255,255,.62);
        font-size: .76rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .07em;
        transition: color 120ms, background 120ms;
        user-select: none;
    }
    .adm-nav-group > summary::-webkit-details-marker { display: none; }
    .adm-nav-group > summary:hover { color: #fff; background: rgba(255,255,255,.04); }
    .adm-nav-group > summary > i:first-child {
        font-size: .92rem;
        width: 16px;
        text-align: center;
        flex-shrink: 0;
        color: rgba(255,255,255,.45);
    }
    .adm-nav-group > summary:hover > i:first-child { color: var(--adm-amber); }
    .adm-nav-group[open] > summary > i:first-child { color: var(--adm-amber); }
    .adm-nav-group > summary > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .adm-nav-group__chev {
        margin-left: auto;
        font-size: .7rem !important;
        color: rgba(255,255,255,.35);
        transition: transform 180ms ease;
    }
    .adm-nav-group[open] > summary > .adm-nav-group__chev { transform: rotate(180deg); color: rgba(255,255,255,.6); }
    .adm-nav-group__items {
        display: flex;
        flex-direction: column;
        gap: .05rem;
        padding: .1rem 0 .35rem .5rem;
        margin-left: .55rem;
        border-left: 1px solid rgba(255,255,255,.06);
    }
    .adm-nav-group__items .adm-nav-link {
        padding-left: .55rem;
        font-size: .81rem;
    }

    /* Liens "pinned" (Tableau de bord, Mon compte) — un peu plus présents */
    .adm-nav-link--pinned {
        margin: .15rem 0;
        font-weight: 700;
    }
    .adm-nav-link--pinned i { color: rgba(255,255,255,.7); }

    /* État vide du filtre */
    .adm-nav-empty {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .4rem;
        padding: 1rem .6rem;
        color: rgba(255,255,255,.4);
        font-size: .78rem;
        font-style: italic;
    }
    .adm-nav-empty[hidden] { display: none; }

    /* Footer utilisateur — version compacte avec avatar */
    .adm-sidebar__user {
        display: flex;
        align-items: center;
        gap: .55rem;
        min-width: 0;
    }
    .adm-sidebar__avatar {
        width: 32px; height: 32px;
        border-radius: 50%;
        background: var(--adm-amber);
        color: #fff;
        display: grid; place-items: center;
        font-weight: 800;
        font-size: .82rem;
        flex-shrink: 0;
        font-family: "Sora", sans-serif;
    }
    .adm-sidebar__user-info { display: flex; flex-direction: column; min-width: 0; gap: .15rem; }
    .adm-sidebar__user-info .adm-sidebar__email { font-size: .72rem; }

    /* Animation d'ouverture des groupes (légère) */
    @media (prefers-reduced-motion: no-preference) {
        .adm-nav-group[open] > .adm-nav-group__items {
            animation: admGroupSlide 180ms ease;
        }
        @keyframes admGroupSlide {
            from { opacity: 0; transform: translateY(-4px); }
            to   { opacity: 1; transform: translateY(0); }
        }
    }

    /* ── Mode réduit (icônes seules) ────────────────── */
    .adm-sidebar--collapsed {
        --adm-w: 64px;
    }
    .adm-sidebar--collapsed .adm-sidebar__name,
    .adm-sidebar--collapsed .adm-sidebar__filter,
    .adm-sidebar--collapsed .adm-nav-link > span,
    .adm-sidebar--collapsed .adm-nav-group__chev,
    .adm-sidebar--collapsed .adm-nav-badge,
    .adm-sidebar--collapsed .adm-sidebar__user-info,
    .adm-sidebar--collapsed .adm-sidebar__logout > span,
    .adm-sidebar--collapsed .adm-nav-group > summary > span { display: none !important; }
    .adm-sidebar--collapsed .adm-nav-group > summary { justify-content: center; }
    .adm-sidebar--collapsed .adm-nav-link { justify-content: center; padding-left: .65rem; padding-right: .65rem; }
    .adm-sidebar--collapsed .adm-nav-group[open] > .adm-nav-group__items {
        position: absolute;
        left: 100%;
        top: 0;
        background: var(--adm-navy);
        min-width: 200px;
        padding: .4rem;
        border-radius: 0 10px 10px 0;
        box-shadow: 4px 0 18px rgba(0,0,0,.25);
        margin: 0;
        border-left: 0;
    }
    .adm-sidebar--collapsed .adm-nav-group { position: relative; }
    .adm-sidebar--collapsed .adm-nav-group__items .adm-nav-link > span { display: inline !important; }
    .adm-sidebar--collapsed .adm-sidebar__brand { justify-content: center; padding-left: 0; padding-right: 0; }
    .adm-sidebar--collapsed .adm-sidebar__collapse i { transform: rotate(180deg); }
    .adm-sidebar--collapsed .adm-sidebar__user { justify-content: center; }
    .adm-sidebar--collapsed .adm-sidebar__logout { justify-content: center; }
    .adm-sidebar--collapsed ~ .adm-body { margin-left: 64px; }

    /* ================================================
       DOCUMENTS ENTRANTS — v2 toolbar + dropzone
       ================================================ */

    /* ── Upload pliable ─────────────────────────────── */
    .idoc-upload {
        background: var(--adm-surface);
        border: 1px solid var(--adm-border);
        border-radius: var(--adm-r-lg);
        box-shadow: var(--adm-shadow);
        margin-bottom: 1.25rem;
        overflow: hidden;
    }
    .idoc-upload > summary {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: .85rem;
        padding: .85rem 1.1rem;
        background: #fafbfd;
        border-bottom: 1px solid transparent;
        transition: background 120ms, border-color 120ms;
    }
    .idoc-upload > summary::-webkit-details-marker { display: none; }
    .idoc-upload > summary:hover { background: #f3f5fa; }
    .idoc-upload[open] > summary { border-bottom-color: var(--adm-border); }
    .idoc-upload__icon {
        width: 36px; height: 36px;
        border-radius: 10px;
        background: var(--adm-amber-bg);
        color: var(--adm-amber);
        display: grid; place-items: center;
        font-size: 1.05rem;
        flex-shrink: 0;
    }
    .idoc-upload__title { flex: 1; display: flex; flex-direction: column; min-width: 0; }
    .idoc-upload__title strong {
        font-family: "Sora", sans-serif;
        font-size: .95rem;
        color: var(--adm-text);
        line-height: 1.25;
    }
    .idoc-upload__title span { font-size: .78rem; color: var(--adm-muted); }
    .idoc-upload__chev { color: var(--adm-muted); transition: transform 180ms ease; }
    .idoc-upload[open] > summary .idoc-upload__chev { transform: rotate(180deg); }
    .idoc-upload__body { padding: 1.1rem 1.25rem; }
    .idoc-upload__foot {
        padding: .85rem 1.25rem;
        background: #fafbfd;
        border-top: 1px solid var(--adm-border);
        display: flex; justify-content: flex-end;
    }

    /* ── Dropzone ───────────────────────────────────── */
    .idoc-dropzone {
        display: block;
        border: 2px dashed var(--adm-border-strong);
        border-radius: 12px;
        padding: 1.5rem 1rem;
        text-align: center;
        cursor: pointer;
        transition: border-color 140ms, background 140ms;
        background: #fcfcfd;
        margin-bottom: 1rem;
    }
    .idoc-dropzone:hover { border-color: var(--adm-amber); background: var(--adm-amber-bg); }
    .idoc-dropzone.is-dragover {
        border-color: var(--adm-amber);
        background: var(--adm-amber-bg);
        transform: scale(1.005);
    }
    .idoc-dropzone input[type="file"] {
        position: absolute;
        width: 1px; height: 1px;
        opacity: 0; overflow: hidden;
        clip: rect(0,0,0,0);
    }
    .idoc-dropzone__visual {
        display: flex; flex-direction: column; align-items: center; gap: .15rem;
        pointer-events: none;
    }
    .idoc-dropzone__visual i {
        font-size: 2rem;
        color: var(--adm-amber);
        margin-bottom: .35rem;
    }
    .idoc-dropzone__visual strong {
        font-family: "Sora", sans-serif;
        font-size: .92rem;
        color: var(--adm-text);
    }
    .idoc-dropzone__visual span { font-size: .78rem; color: var(--adm-muted); }
    .idoc-file-list {
        display: flex; flex-wrap: wrap; gap: .35rem;
        justify-content: center;
        margin-top: .85rem;
    }
    .idoc-file-pill {
        display: inline-flex; align-items: center; gap: .35rem;
        padding: .3rem .55rem;
        background: #fff;
        border: 1px solid var(--adm-border);
        border-radius: 999px;
        font-size: .76rem;
        color: var(--adm-text);
        font-weight: 600;
    }
    .idoc-file-pill small { color: var(--adm-muted); font-weight: 500; }

    /* ── Toolbar sticky ─────────────────────────────── */
    .idoc-toolbar {
        position: sticky;
        top: 52px; /* sous la topbar */
        z-index: 80;
        display: flex;
        align-items: center;
        gap: .85rem;
        padding: .65rem .85rem;
        background: rgba(255,255,255,.85);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid var(--adm-border);
        border-radius: var(--adm-r-lg);
        margin-bottom: 1rem;
        box-shadow: 0 2px 10px rgba(15,22,35,.04);
        flex-wrap: wrap;
    }
    .idoc-tabs { display: flex; gap: .25rem; background: #f3f4f6; padding: .25rem; border-radius: 9px; }
    .idoc-tab {
        appearance: none;
        background: transparent;
        border: 0;
        padding: .38rem .75rem;
        border-radius: 7px;
        font-size: .8rem;
        font-weight: 700;
        color: var(--adm-muted);
        cursor: pointer;
        transition: background 120ms, color 120ms, box-shadow 120ms;
        display: inline-flex; align-items: center; gap: .35rem;
        font-family: "Manrope", sans-serif;
    }
    .idoc-tab:hover { color: var(--adm-text); }
    .idoc-tab.is-active {
        background: #fff;
        color: var(--adm-text);
        box-shadow: 0 1px 3px rgba(15,22,35,.08);
    }
    .idoc-tab__count {
        display: inline-grid; place-items: center;
        min-width: 22px;
        height: 18px;
        padding: 0 .4rem;
        border-radius: 999px;
        background: rgba(15,22,35,.08);
        color: var(--adm-text);
        font-size: .68rem;
        font-weight: 700;
    }
    .idoc-tab.is-active .idoc-tab__count { background: var(--adm-amber-bg); color: var(--adm-amber); }
    .idoc-toolbar__search {
        position: relative;
        flex: 1;
        min-width: 220px;
        max-width: 420px;
    }
    .idoc-toolbar__search i.bi-search {
        position: absolute;
        left: .65rem; top: 50%;
        transform: translateY(-50%);
        color: var(--adm-muted);
        font-size: .85rem;
        pointer-events: none;
    }
    .idoc-toolbar__search input {
        width: 100%;
        padding-left: 1.95rem;
        background: #fff;
        border: 1px solid var(--adm-border-strong);
    }
    .idoc-toolbar__count {
        margin-left: auto;
        font-size: .78rem;
        color: var(--adm-muted);
        font-weight: 600;
    }

    @media (max-width: 768px) {
        .idoc-toolbar { top: 0; }
        .idoc-tabs { width: 100%; overflow-x: auto; }
        .idoc-toolbar__search { min-width: 0; max-width: none; width: 100%; }
        .idoc-toolbar__count { margin-left: 0; }
    }

/* ===== Widget Chat IA ===== */
.ai-chat {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 320px;
    max-height: 520px;
    border: 1px solid var(--adm-border);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    font-family: 'Inter', sans-serif;
    font-size: .84rem;
}
.ai-chat__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem 1rem;
    background: var(--adm-navy, #1a2340);
    color: #fff;
    font-weight: 600;
    font-size: .82rem;
    letter-spacing: .02em;
    flex-shrink: 0;
}
.ai-chat__status {
    font-size: .72rem;
    font-weight: 400;
    opacity: 0;
    transition: opacity .3s;
    color: #a8c5ff;
}
.ai-chat__messages {
    flex: 1;
    overflow-y: auto;
    padding: .75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    background: #f6f8fc;
}
.ai-chat__msg { display: flex; }
.ai-chat__msg--user { justify-content: flex-end; }
.ai-chat__msg--assistant { justify-content: flex-start; }
.ai-chat__bubble {
    max-width: 82%;
    padding: .5rem .85rem;
    border-radius: 14px;
    line-height: 1.45;
    font-size: .82rem;
}
.ai-chat__msg--user .ai-chat__bubble {
    background: var(--adm-navy, #1a2340);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.ai-chat__msg--assistant .ai-chat__bubble {
    background: #fff;
    color: #222;
    border: 1px solid #e3e8ee;
    border-bottom-left-radius: 4px;
}
.ai-chat__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .35rem 1rem;
    background: #f6f8fc;
    border-top: 1px solid #e9edf3;
    min-height: 0;
    flex-shrink: 0;
}
.ai-chat__actions:empty { display: none; }
.ai-chat__action-chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .6rem;
    border-radius: 20px;
    font-size: .72rem;
    font-weight: 600;
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}
.ai-chat__action-chip--done { background: #e3f2fd; color: #1565c0; border-color: #bbdefb; }
.ai-chat__input-row {
    display: flex;
    gap: .4rem;
    align-items: flex-end;
    padding: .6rem .75rem;
    border-top: 1px solid var(--adm-border);
    background: #fff;
    flex-shrink: 0;
}
.ai-chat__input {
    flex: 1;
    resize: none;
    border: 1px solid #c9d2db;
    border-radius: 8px;
    padding: .45rem .75rem;
    font-size: .82rem;
    line-height: 1.4;
    outline: none;
    font-family: inherit;
    transition: border-color .2s;
    max-height: 90px;
    overflow-y: auto;
}
.ai-chat__input:focus { border-color: var(--adm-navy, #1a2340); }
.ai-chat__send {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: var(--adm-navy, #1a2340);
    color: #fff;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.ai-chat__send:hover { background: #2c3e70; }
.ai-chat__send:disabled { background: #9ba8b8; cursor: not-allowed; }

/* Floating chat button (dashboard) */
.ai-chat-fab {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--adm-navy, #1a2340);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
    z-index: 1050;
    transition: transform .2s, background .2s;
}
.ai-chat-fab:hover { background: #2c3e70; transform: scale(1.08); }
.ai-chat-panel {
    position: fixed;
    bottom: 5.5rem;
    right: 1.5rem;
    width: 380px;
    max-width: calc(100vw - 2rem);
    height: 480px;
    z-index: 1049;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    border-radius: 12px;
    overflow: hidden;
    display: none;
    animation: chatSlideIn .2s ease;
}
.ai-chat-panel.is-open { display: flex; flex-direction: column; }
.ai-chat-panel .ai-chat { border-radius: 0; border: none; max-height: none; height: 100%; }
@keyframes chatSlideIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 576px) {
    .ai-chat-panel { width: calc(100vw - 1rem); right: .5rem; bottom: 5rem; }
}

/* ===== Todo list générale (dashboard) ===== */
.todo-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem .25rem;
    border-bottom: 1px solid #f0f3f7;
    transition: opacity .3s;
}
.todo-item:last-child { border-bottom: none; }
.todo-item.is-completing { opacity: .4; pointer-events: none; }
.todo-check {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border: 2px solid #c9d2db;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #c9d2db;
    transition: border-color .2s, color .2s, background .2s;
    padding: 0;
}
.todo-check:hover { border-color: #27ae60; color: #27ae60; }
.todo-body { flex: 1; min-width: 0; }
.todo-title { font-size: .875rem; font-weight: 500; color: #1a2340; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.todo-comment { display: block; font-size: .78rem; color: #6c757d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.todo-meta { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.todo-cat { font-size: .75rem; color: #6c757d; white-space: nowrap; }
.todo-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.todo-due { font-size: .75rem; color: #6c757d; white-space: nowrap; }
.todo-due.is-overdue { color: #dc3545; font-weight: 600; }
