/* Linkelia — shell applicatif, authentification et navigation. */
/* V1.0.7 overrides */
.sidebar-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
    z-index: 59;
}

.app-mobile-topbar {
    display: none;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.app-mobile-topbar-title {
    min-width: 0;
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    color: var(--text-main);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-toggle {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--border-soft);
    background: var(--bg-surface);
    color: var(--text-main);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-soft);
}

.sidebar-toggle-lines,
.sidebar-toggle-lines::before,
.sidebar-toggle-lines::after {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    content: '';
    transition: transform .18s ease, opacity .18s ease;
}

.sidebar-toggle-lines {
    position: relative;
}

.sidebar-toggle-lines::before {
    position: absolute;
    top: -5px;
    left: 0;
}

.sidebar-toggle-lines::after {
    position: absolute;
    top: 5px;
    left: 0;
}

body.sidebar-open {
    overflow: hidden;
}

body.sidebar-open .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
}

body.sidebar-open .sidebar-toggle-lines {
    background: transparent;
}

body.sidebar-open .sidebar-toggle-lines::before {
    transform: translateY(5px) rotate(45deg);
}

body.sidebar-open .sidebar-toggle-lines::after {
    transform: translateY(-5px) rotate(-45deg);
}

.brand {
    padding: 4px 2px 2px;
}

.brand-logo {
    width: 144px;
}

.sidebar {
    padding: 12px;
    gap: 10px;
}

.nav {
    gap: 6px;
}

.nav-link {
    padding: 9px 11px;
}

.nav-group-summary {
    padding: 9px 11px;
}

.nav-subnav {
    gap: 3px;
    padding: 0 7px 7px 7px;
}

.user-card {
    padding: 10px 12px;
}

.main-content {
    padding: 14px;
}

.content-header {
    margin-bottom: 8px;
}

.content-header h1 {
    font-size: 19px;
    line-height: 24px;
}

.header-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.panel {
    padding: 14px;
}

.panel-header {
    margin-bottom: 10px;
}

.kpi-grid {
    gap: 10px;
    margin-bottom: 10px;
}

.kpi-card {
    padding: 12px;
}

.kpi-value {
    font-size: 22px;
    line-height: 28px;
}

.grid-two {
    gap: 10px;
}

.activity-list li {
    padding: 10px 0;
}

.toolbar {
    gap: 6px;
    margin-bottom: 10px;
}

.toolbar-single-line {
    gap: 6px;
}

.toolbar-group {
    gap: 6px;
}

.toolbar-group.toolbar-grow {
    display: grid;
    grid-template-columns: auto auto minmax(200px, 1fr) auto auto auto;
    align-items: center;
    width: 100%;
}

.toolbar input[type="search"] {
    min-height: 36px;
}

.button {
    min-height: 36px;
    padding: 0 12px;
}

.button-small {
    min-height: 30px;
    padding: 0 10px;
}

.table-wrapper {
    overflow: auto;
}

.table th,
.table td {
    padding-top: 9px;
    padding-bottom: 9px;
}

.table-actions-column {
    width: 100px;
}

.muted {
    margin: 0;
}

.public-stat-grid {
    gap: 10px;
}

.public-stat-card,
.public-card,
.public-notice {
    border-radius: 14px;
}

.public-card-grid.public-card-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-tag-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.public-tag {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--bg-muted);
    border: 1px solid var(--border-soft);
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
}

.public-tag.is-active {
    background: var(--brand-soft);
    color: var(--brand);
    border-color: rgba(47, 91, 255, 0.18);
}

.public-note-box {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: var(--bg-surface);
    color: var(--text-secondary);
}

.module-scope-card {
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px dashed var(--border-soft);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(238,243,255,.85), rgba(255,255,255,.98));
}

.module-scope-title {
    margin: 0 0 4px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
}

.module-scope-text {
    margin: 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 17px;
}

@media (max-width: 1080px) {
    .toolbar-group.toolbar-grow {
        grid-template-columns: auto auto minmax(180px, 1fr) auto auto;
    }
    .toolbar-group.toolbar-grow [data-table-clear-filters-target] {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .public-card-grid.public-card-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .app-mobile-topbar {
        display: flex;
    }

    .app-shell {
        display: block;
    }

    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        width: min(88vw, 320px);
        max-width: 320px;
        height: 100vh;
        z-index: 60;
        border-right: 1px solid var(--border-soft);
        border-bottom: 0;
        transform: translateX(-104%);
        transition: transform .18s ease;
        overflow: auto;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    .main-content {
        padding: 12px;
    }

    .toolbar-group.toolbar-grow {
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
    }

    .toolbar-group.toolbar-grow > * {
        width: 100%;
    }

    .toolbar-group.toolbar-grow input[type="search"] {
        grid-column: 1 / -1;
    }

    .toolbar-group.toolbar-grow button[type="submit"] {
        grid-column: span 2;
    }

    .kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .panel {
        padding: 12px;
    }

    .content-header {
        margin-bottom: 6px;
    }

    .header-actions {
        width: 100%;
    }

    .header-actions .button {
        flex: 1 1 auto;
    }

    .toolbar-group.toolbar-grow {
        grid-template-columns: 1fr;
    }

    .toolbar-group.toolbar-grow button[type="submit"] {
        grid-column: auto;
    }

    .public-card-grid.public-card-grid-4,
    .public-card-grid.public-card-grid-3 {
        grid-template-columns: 1fr;
    }

    .kpi-grid {
        grid-template-columns: 1fr;
    }
}

.module-tag-grid {
    margin-top: 10px;
}

@media (max-width: 920px) {
    .nav-roadmap {
        font-size: 10px;
        line-height: 14px;
    }
}


/* V1.1.0 overrides */
:root {
    --sidebar-width: 232px;
    --sidebar-collapsed-width: 76px;
}

.sidebar-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.brand {
    padding: 2px;
}

.brand-logo-icon {
    width: 34px;
    height: 34px;
}

.sidebar-desktop-toggle {
    width: 34px;
    height: 34px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    background: var(--bg-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-secondary);
    transition: .15s ease;
}

.sidebar-desktop-toggle:hover {
    background: var(--brand-soft);
    color: var(--brand);
}

.sidebar-desktop-toggle-lines,
.sidebar-desktop-toggle-lines::before,
.sidebar-desktop-toggle-lines::after {
    display: block;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    position: relative;
    transition: .15s ease;
}

.sidebar-desktop-toggle-lines::before,
.sidebar-desktop-toggle-lines::after {
    content: '';
    position: absolute;
    left: 0;
}

.sidebar-desktop-toggle-lines::before { top: -5px; }
.sidebar-desktop-toggle-lines::after { top: 5px; }

.nav-link-primary {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-link-icon,
.nav-group-icon,
.user-card-badge {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .02em;
    background: var(--brand-soft);
    color: var(--brand);
    border: 1px solid rgba(47, 91, 255, 0.10);
}

.nav-group-summary {
    position: relative;
}

.nav-group-label {
    flex: 1;
    gap: 0;
}

.nav-subnav {
    padding: 0 6px 6px 6px;
}

.nav-link-sub {
    padding-left: 12px;
}

.nav-roadmap,
.module-scope-card,
.module-scope-title,
.module-scope-text {
    display: none !important;
}

.user-card-compact {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
}

.user-card-build {
    font-size: 11px;
    line-height: 15px;
    color: var(--text-muted);
}

.button-logout {
    padding-top: 9px;
    padding-bottom: 9px;
}

.content-header-inline-actions {
    align-items: center;
}

.toolbar-header-inline {
    margin-left: auto;
}

.toolbar-header-inline .toolbar-group {
    justify-content: flex-end;
    gap: 8px;
}

.panel-table-only {
    padding-top: 8px;
}

.dashboard-tags-panel {
    margin-bottom: 10px;
}

.public-tag-grid.compact {
    gap: 8px;
}

/* Desktop collapsed sidebar */
@media (min-width: 921px) {
    body.sidebar-collapsed .sidebar {
        width: var(--sidebar-collapsed-width);
        padding: 12px 10px;
        overflow: visible;
    }

    body.sidebar-collapsed .main-content {
        padding-left: 16px;
    }

    body.sidebar-collapsed .sidebar-topbar {
        justify-content: center;
        position: relative;
    }

    body.sidebar-collapsed .sidebar-desktop-toggle {
        position: absolute;
        right: -14px;
        top: 0;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
        background: var(--bg-surface);
        z-index: 40;
    }

    body.sidebar-collapsed .nav-link-text,
    body.sidebar-collapsed .nav-group-label,
    body.sidebar-collapsed .nav-group-chevron,
    body.sidebar-collapsed .user-card-build,
    body.sidebar-collapsed .button-logout {
        display: none;
    }

    body.sidebar-collapsed .nav-link-primary,
    body.sidebar-collapsed .nav-group-summary,
    body.sidebar-collapsed .user-card-compact {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    body.sidebar-collapsed .nav-link-primary,
    body.sidebar-collapsed .nav-group-summary {
        min-height: 46px;
    }

    body.sidebar-collapsed .nav-link-icon,
    body.sidebar-collapsed .nav-group-icon,
    body.sidebar-collapsed .user-card-badge {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 12px;
    }

    body.sidebar-collapsed .nav-group {
        position: relative;
        overflow: visible;
        background: transparent;
        box-shadow: none;
        border-color: transparent;
    }

    body.sidebar-collapsed .nav-group.is-active,
    body.sidebar-collapsed .nav-group[open] {
        background: transparent;
    }

    body.sidebar-collapsed .nav-subnav {
        display: none;
        position: absolute;
        left: calc(100% + 10px);
        top: 0;
        width: 220px;
        padding: 8px;
        border: 1px solid var(--border-soft);
        background: var(--bg-surface);
        border-radius: 14px;
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14);
        z-index: 60;
    }

    body.sidebar-collapsed .nav-group:hover .nav-subnav,
    body.sidebar-collapsed .nav-group:focus-within .nav-subnav {
        display: grid;
    }

    body.sidebar-collapsed .nav-group:hover .nav-group-label::after,
    body.sidebar-collapsed .nav-group:focus-within .nav-group-label::after {
        display: none;
    }

    body.sidebar-collapsed .nav-link-sub {
        display: block;
        padding: 9px 10px;
        font-size: 13px;
        line-height: 18px;
    }

    body.sidebar-collapsed .sidebar-bottom {
        gap: 10px;
    }

    body.sidebar-collapsed .user-card-compact {
        padding: 8px 0;
        background: transparent;
        border: 0;
    }

}

@media (max-width: 920px) {
    .sidebar-desktop-toggle {
        display: none;
    }

    .content-header-inline-actions {
        align-items: start;
    }
}

.toolbar-header-inline { margin-bottom: 0; }
.toolbar-header-inline .toolbar-group { width: auto; }
.content-header-inline-actions h1 { margin-right: 10px; }

/* V1.1.2 Messagerie */
.header-actions-inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.button-sm, .button-small { padding: 7px 10px; font-size: 12px; line-height: 16px; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:2px 8px; font-size:11px; line-height:15px; margin-left:6px; background:var(--bg-muted); color:var(--text-secondary); }
.status-pill-success { background:#e8f7f0; color:var(--success); }
.status-pill-danger { background:#fdecec; color:var(--danger); }
.status-pill-info { background:var(--brand-soft); color:var(--brand); }
.status-pill-warning { background:#fff4e5; color:var(--warning); }
.status-pill-muted { background:var(--bg-muted); color:var(--text-muted); }
.row-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.favorite-toggle { border:0; background:none; font-size:18px; line-height:1; cursor:pointer; color:#c3c9d4; }
.favorite-toggle.is-on { color: var(--warning); }
.mailbox-test-message { margin-top:8px; max-width:320px; }
.checkbox-row { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.mail-preset-box { border:1px solid var(--border-soft); }

/* Anciennes couches boîte e-mail supprimées en v1.3.9. */

.mail-compose-layout { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:16px; }
.mail-compose-main, .mail-compose-side { padding:16px; }
.mail-compose-row { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.mail-compose-row.two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mail-compose-row label { font-size:12px; color:var(--text-muted); font-weight:600; }
.mail-compose-row input, .mail-compose-row select, .mail-compose-row textarea, .form-field input, .form-field select, .form-field textarea { width:100%; border:1px solid var(--border-soft); border-radius:10px; padding:10px 12px; font:inherit; background:#fff; }
.mail-compose-row textarea { resize:vertical; min-height:130px; }
.form-actions-vertical { display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.email-settings-grid { max-width:1100px; }
.panel-mailboxes { padding:0; overflow:hidden; }
.panel-mailboxes .table-wrap { padding:0; }
.panel-mailboxes table { width:100%; border-collapse:collapse; }
.panel-mailboxes th, .panel-mailboxes td { padding:12px 14px; border-bottom:1px solid var(--border-soft); vertical-align:top; text-align:left; }

@media (max-width: 1120px) {
  .mail-app { grid-template-columns: 1fr; }
  .mail-list-items { max-height:none; }
  .mail-compose-layout { grid-template-columns:1fr; }
}

/* Surcouches historiques de messagerie v1.1.x supprimées en v1.3.9. */
/* V1.1.8 overrides */
.guest-wrapper,
.guest-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.flash-stack {
    gap: 8px;
    margin-bottom: 10px;
}
.flash {
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 18px;
}

.panel-mailboxes th,
.panel-mailboxes td {
    padding: 10px 12px;
}
.mailbox-identity {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
.mailbox-inline-stack {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mailbox-status-line {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.mailbox-status-line .muted {
    margin: 0;
}
.mailbox-test-message {
    margin-top: 4px;
    max-width: 360px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Résidus de la messagerie v1.1.8 supprimés en v1.3.9. */

/* V1.1.9 overrides */
.guest-card-auth {
    width: 100%;
    max-width: 540px;
    margin: 0 auto;
}
.guest-card-auth-centered {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}
.guest-card-auth .guest-logo {
    width: 168px;
    margin: 0 auto 4px;
}
.guest-card-auth h1,
.guest-card-auth .muted,
.guest-card-auth .guest-links-inline {
    text-align: center;
}
.guest-card-auth .guest-links-inline {
    justify-content: center;
}
.guest-card-auth .form-grid {
    gap: 14px;
}
.guest-card-auth .button-block {
    width: 100%;
}

.mailbox-form-compact {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 14px;
    align-items: start;
}
.mailbox-form-panel {
    min-width: 0;
}
.mailbox-form-panel-main {
    grid-column: 1 / 2;
}
.mailbox-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.mailbox-grid-two textarea,
.mailbox-grid-two input,
.mailbox-grid-two select {
    min-width: 0;
}
.mailbox-preset-inline {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 12px;
}
.mailbox-options-grid {
    margin-bottom: 6px;
}
.form-field-inline-checks {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.mailbox-status-summary {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.mailbox-form-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
}
.panel-header-tight {
    margin-bottom: 10px;
}

/* Résidus de la messagerie v1.1.9 supprimés en v1.3.9. */
/* V1.1.10 overrides */
.guest-card-auth-v1110 {
    max-width: 560px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
}
.guest-brand-lockup-centered {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.guest-title-block {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.guest-auth-form {
    width: 100%;
}
.guest-links-inline-v1110 {
    width: 100%;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

.mailbox-form-v1110 {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 14px;
    align-items: stretch;
}
.mailbox-form-v1110 .mailbox-form-panel {
    height: 100%;
}
.mailbox-form-v1110 .panel-header-tight h2 {
    font-size: 16px;
    line-height: 22px;
}
.mailbox-form-v1110 .form-field label {
    margin-bottom: 4px;
}
.mailbox-form-v1110 .form-field input,
.mailbox-form-v1110 .form-field select,
.mailbox-form-v1110 .form-field textarea {
    padding: 9px 11px;
}
.mailbox-form-v1110 .mailbox-grid-two-v1110 {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mailbox-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}
.mailbox-chip-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border-soft);
    background: #fff;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-secondary);
}
.mailbox-chip-toggle input {
    margin: 0;
}
.mailbox-access-users {
    margin-top: 10px;
}
.mailbox-user-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mailbox-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    padding: 7px 10px;
    background: #fff;
    font-size: 12px;
    line-height: 16px;
}
.mailbox-user-chip input { margin: 0; }
.mailbox-status-summary-v1110 {
    grid-template-columns: 1fr;
    gap: 8px;
}

/* Résidus de la messagerie v1.1.9 supprimés en v1.3.9. */
.panel-mailboxes .data-table td,
.panel-mailboxes .data-table th {
    white-space: normal;
}
.mailbox-inline-stack,
.mailbox-status-line {
    gap: 4px;
}
.mailbox-test-message {
    line-height: 1.35;
}
@media (max-width: 1360px) {
    .mailbox-form-v1110 {
        grid-template-columns: 1fr;
    }
}

/* V1.1.11 overrides */
.body-mode-compose_popup {
    background: #f6f8fb;
}
.compose-popup-shell {
    min-height: 100vh;
    padding: 18px;
}
.guest-card-auth-v1111 {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
}
.guest-brand-lockup-v1111,
.guest-title-block-v1111,
.guest-auth-form-v1111,
.guest-links-inline-v1111 {
    width: 100%;
}
.guest-logo-auth-v1111 {
    width: 170px;
    margin: 0 auto 6px;
    display: block;
}
.guest-title-block-v1111 h1 {
    margin-bottom: 2px;
}
.guest-links-inline-v1111 {
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

.mailbox-form-v1111 {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}
.mailbox-form-v1111 .mailbox-form-panel {
    height: 100%;
}
.mailbox-form-v1111 .panel-header-tight h2 { font-size: 16px; }
.mailbox-form-v1111 .form-field label { margin-bottom: 4px; }
.mailbox-form-v1111 .form-field input,
.mailbox-form-v1111 .form-field select,
.mailbox-form-v1111 .form-field textarea { padding: 9px 11px; }
.mailbox-form-v1111 .mailbox-grid-two-v1111 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.mailbox-preset-inline-v1111 {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: end;
}
.mailbox-chip-grid-v1111,
.mailbox-chip-grid-v1111-rights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}
.mailbox-chip-toggle {
    min-height: 38px;
}
.mailbox-access-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 12px;
}
.mailbox-access-block {
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: #f8fbff;
    padding: 12px;
}
.mailbox-access-title {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}
.mailbox-role-picker,
.mailbox-user-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mailbox-role-members-preview {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mailbox-role-members-card {
    border: 1px solid var(--border-soft);
    background: #fff;
    border-radius: 12px;
    padding: 10px;
}
.mailbox-role-members-card.is-hidden { display:none; }
.mailbox-role-members-list {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}
.mailbox-role-member-pill {
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    background:#eef3ff;
    color:#2448d8;
    font-size:12px;
    line-height:16px;
}
.mailbox-status-summary-v1111 {
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}
.mailbox-inline-stack { display:flex; flex-direction:column; gap:4px; }

.mail-compose-window {
    display:flex;
    flex-direction:column;
    gap:12px;
}
.mail-compose-window.is-popup {
    max-width: 1280px;
    margin: 0 auto;
}
.mail-compose-window-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:#fff;
    border:1px solid var(--border-soft);
    border-radius:16px;
    padding:14px 16px;
    box-shadow: var(--shadow-soft);
}
.mail-compose-layout-v1111 {
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:14px;
}
.mail-compose-main-v1111,
.mail-compose-side-v1111 {
    padding: 16px;
}
.mail-compose-grid-v1111 {
    display:grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap:10px;
}
.mail-compose-advanced {
    margin-top: 12px;
    border-top: 1px solid var(--border-soft);
    padding-top: 12px;
}
.mail-compose-advanced summary {
    cursor:pointer;
    font-weight:600;
    color:var(--text-secondary);
    margin-bottom:8px;
}
.mail-toolbar-count {
    white-space: nowrap;
}
@media (max-width: 1400px) {
    .mailbox-form-v1111 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1180px) {
    .mail-compose-layout-v1111 {
        grid-template-columns:1fr;
    }
    .mail-compose-grid-v1111 {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 900px) {
    .mailbox-access-layout,
    .mailbox-status-summary-v1111,
    .mail-compose-grid-v1111 {
        grid-template-columns:1fr;
    }
}

/* v1.5.0 — icônes latérales réelles, plus de sigles textuels. */
.nav-link-icon svg,
.nav-group-icon svg {
    width: 16px;
    height: 16px;
    display: block;
    fill: currentColor;
}

/* v1.5.5 — connexion compacte premium */
.login-card-v155 {
    width: min(100%, 420px);
    margin: 0 auto;
    padding: 26px 28px 22px;
    border: 1px solid #d9e1ea;
    border-radius: 20px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
}
.login-brand-v155 { display: flex; justify-content: center; margin-bottom: 12px; }
.login-brand-v155 img { width: 145px; height: auto; display: block; }
.login-title-v155 { margin-bottom: 16px; text-align: center; }
.login-title-v155 h1 { margin: 0; color: #0f172a; font-size: 25px; line-height: 31px; font-weight: 750; letter-spacing: -.02em; }
.login-title-v155 p { margin: 4px 0 0; color: #64748b; font-size: 14px; line-height: 20px; }
.login-form-v155 { display: grid; gap: 10px; }
.login-field-v155 { display: grid; gap: 5px; text-align: left; }
.login-field-v155 label { color: #344256; font-size: 13px; line-height: 18px; font-weight: 700; }
.login-field-v155 input {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #c4ceda;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    font-size: 15px;
    line-height: 20px;
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, .03);
}
.login-field-v155 input:focus { border-color: #2f5bff; outline: 3px solid rgba(47, 91, 255, .14); }
.login-submit-v155 { min-height: 42px; margin-top: 4px; border-radius: 12px; font-size: 14px; font-weight: 800; }
.login-footer-v155 { display: flex; align-items: center; justify-content: center; gap: 7px; flex-wrap: wrap; margin-top: 14px; color: #64748b; font-size: 13px; line-height: 18px; }
.login-footer-v155 a { color: #0f172a; text-decoration: none; font-weight: 700; }
.login-footer-v155 a:hover { color: #2f5bff; }
@media (max-width: 640px) {
    .login-card-v155 { padding: 22px 20px 20px; }
}

/* v1.6.1 — connexion premium compacte */
.login-card-v160 {
    position: relative;
    width: min(100%, 390px);
    margin: 0 auto;
    padding: 28px 30px 24px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    box-shadow: 0 24px 70px rgba(15, 23, 42, .14), inset 0 1px 0 rgba(255,255,255,.85);
}
.login-card-glow-v160 {
    position: absolute;
    inset: -90px -80px auto auto;
    width: 210px;
    height: 210px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(47,91,255,.20), rgba(47,91,255,0) 68%);
    pointer-events: none;
}
.login-brand-v160 { position: relative; display: flex; justify-content: center; align-items: center; margin: 0 auto 16px; text-align: center; }
.login-brand-v160 img { width: 142px; max-width: 100%; height: auto; display: block; margin: 0 auto; }
.login-title-v160 { position: relative; text-align: center; margin-bottom: 18px; }
.login-title-v160 h1 { margin: 0; color: #0f172a; font-size: 28px; line-height: 34px; font-weight: 820; letter-spacing: -.035em; }
.login-title-v160 p { margin: 4px 0 0; color: #64748b; font-size: 14px; line-height: 20px; }
.login-form-v160 { position: relative; display: grid; gap: 11px; }
.login-field-v160 { display: grid; gap: 5px; text-align: left; }
.login-field-v160 label { color: #334155; font-size: 13px; line-height: 17px; font-weight: 760; }
.login-field-v160 input {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 13px;
    background: rgba(255,255,255,.92);
    color: #0f172a;
    font-size: 15px;
    line-height: 20px;
    box-shadow: inset 0 1px 0 rgba(15, 23, 42, .03);
}
.login-field-v160 input:focus { border-color: #2f5bff; outline: 3px solid rgba(47, 91, 255, .13); }
.login-submit-v160 {
    min-height: 44px;
    margin-top: 5px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #3e63ff, #2446e8);
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-weight: 850;
    letter-spacing: .01em;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(47, 91, 255, .24);
}
.login-submit-v160:hover { transform: translateY(-1px); box-shadow: 0 16px 30px rgba(47, 91, 255, .30); }
.login-footer-v160 { position: relative; margin-top: 14px; display: flex; justify-content: center; font-size: 13px; line-height: 18px; }
.login-footer-v160 a { color: #334155; text-decoration: none; font-weight: 760; }
.login-footer-v160 a:hover { color: #2f5bff; }
@media (max-width: 640px) { .login-card-v160 { width: min(100%, 360px); padding: 24px 22px 22px; } }

/* v1.6.4 — connexion centrée, navigation messagerie et identité en bas de volet */
.body-mode-app .main-content {
    padding: 10px 14px 14px;
}

.body-mode-app .content-header {
    margin-bottom: 8px;
}

.body-mode-app .sidebar {
    overflow: hidden;
}

.body-mode-app .nav-main {
    min-height: 0;
    overflow: auto;
    padding-right: 2px;
    scrollbar-width: thin;
}

.nav-subgroup {
    border: 1px solid rgba(217, 225, 234, .76);
    border-radius: 10px;
    background: rgba(255,255,255,.70);
    overflow: hidden;
}

.nav-subgroup[open],
.nav-subgroup.is-active {
    background: rgba(238, 243, 255, .72);
}

.nav-subgroup summary {
    list-style: none;
}

.nav-subgroup summary::-webkit-details-marker {
    display: none;
}

.nav-subgroup-summary {
    min-height: 34px;
    padding: 8px 10px 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 17px;
    font-weight: 700;
}

.nav-subgroup-summary:hover {
    color: var(--brand);
}

.nav-subgroup-chevron {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .15s ease;
}

.nav-subgroup[open] .nav-subgroup-chevron,
.nav-subgroup.is-open .nav-subgroup-chevron {
    transform: rotate(225deg);
}

.nav-subnav-nested {
    padding: 0 6px 7px 12px;
    gap: 2px;
}

.nav-link-nested {
    min-height: 30px;
    padding: 6px 9px;
    font-size: 12px;
    line-height: 16px;
    border-radius: 8px;
}

.sidebar-user-mini-v164 {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(217, 225, 234, .9);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248,251,255,.96), rgba(238,243,255,.72));
}

.sidebar-user-mini-v164.is-impersonated {
    border-color: rgba(180, 83, 9, .22);
    background: linear-gradient(180deg, rgba(255,247,237,.96), rgba(255,244,229,.76));
}

.sidebar-user-avatar-v164 {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--brand);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .02em;
}

.sidebar-user-meta-v164 {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.sidebar-user-meta-v164 strong,
.sidebar-user-meta-v164 span,
.sidebar-user-meta-v164 small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-user-meta-v164 strong {
    color: var(--text-main);
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
}

.sidebar-user-meta-v164 span {
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 15px;
}

.sidebar-user-meta-v164 small {
    color: var(--brand);
    font-size: 11px;
    line-height: 15px;
    font-weight: 800;
}

.guest-wrapper-auth-v164 {
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.guest-auth-stack-v164 {
    width: min(100%, 390px);
    display: grid;
    gap: 12px;
    justify-items: stretch;
}

.guest-flash-stack-v164 {
    width: 100%;
    margin: 0;
}

.guest-flash-stack-v164 .flash {
    border-radius: 14px;
    text-align: left;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}

.login-card-v160 {
    width: 100%;
}

.placeholder-head-v164 {
    margin-bottom: 10px;
}

.placeholder-card-v164 {
    max-width: 860px;
}

.placeholder-card-v164 h2 {
    margin-top: 8px;
}

.placeholder-card-v164 p {
    margin: 6px 0 0;
    color: var(--text-secondary);
}

.placeholder-grid-v164 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.placeholder-grid-v164 article {
    padding: 12px;
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    background: #fff;
}

.placeholder-grid-v164 strong,
.placeholder-grid-v164 span {
    display: block;
}

.placeholder-grid-v164 strong {
    font-size: 13px;
    line-height: 18px;
    margin-bottom: 4px;
}

.placeholder-grid-v164 span {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 17px;
}

@media (min-width: 921px) {
    body.sidebar-collapsed .sidebar-user-mini-v164 {
        display: none;
    }
}

@media (max-width: 920px) {
    .body-mode-app .main-content {
        padding: 10px 12px 12px;
    }

    .body-mode-app .sidebar {
        overflow: auto;
    }

    .placeholder-grid-v164 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .guest-wrapper-auth-v164 {
        padding: 16px;
    }

    .guest-auth-stack-v164 {
        width: min(100%, 360px);
    }
}

/* v1.6.6 — messagerie sortie du CRM, identité ajustée et barre utilisateurs connectés */
.nav-group-messaging-v165 {
    margin-top: 2px;
}

.sidebar-user-mini-v164 {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
}

.sidebar-user-avatar-v164 {
    width: 32px;
    height: 32px;
    border-radius: 11px;
    font-size: 10px;
}

.sidebar-user-meta-v164 strong {
    white-space: normal;
    text-overflow: clip;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: normal;
    font-size: 10.5px;
    line-height: 13px;
    letter-spacing: -.01em;
}

.sidebar-user-meta-v164 span,
.sidebar-user-meta-v164 small {
    font-size: 10.5px;
    line-height: 14px;
}

.presence-rail-v165 {
    position: fixed;
    top: 74px;
    right: 10px;
    z-index: 54;
    display: flex;
    align-items: flex-start;
    pointer-events: none;
}

.presence-rail-toggle-v165 {
    width: 42px;
    min-height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(196, 206, 218, .92);
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 32px rgba(15,23,42,.10);
    color: var(--text-main);
    display: grid;
    place-items: center;
    gap: 2px;
    cursor: pointer;
    pointer-events: auto;
}

.presence-rail-toggle-v165:hover,
.presence-rail-v165.is-open .presence-rail-toggle-v165 {
    border-color: rgba(47,91,255,.28);
    background: #fff;
    color: var(--brand);
}

.presence-rail-dot-v165 {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #15803d;
    box-shadow: 0 0 0 4px rgba(21,128,61,.10);
}

.presence-rail-count-v165 {
    font-size: 11px;
    line-height: 13px;
    font-weight: 850;
}

.presence-panel-v165 {
    width: 0;
    max-height: calc(100vh - 96px);
    overflow: hidden;
    opacity: 0;
    transform: translateX(8px);
    transition: width .18s ease, opacity .18s ease, transform .18s ease;
    pointer-events: none;
}

.presence-rail-v165.is-open .presence-panel-v165 {
    width: min(286px, calc(100vw - 72px));
    margin-left: 8px;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.presence-panel-v165 {
    border: 1px solid rgba(196, 206, 218, .92);
    border-radius: 16px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 20px 48px rgba(15,23,42,.16);
}

.presence-panel-head-v165 {
    padding: 12px 12px 10px;
    border-bottom: 1px solid rgba(217,225,234,.82);
    display: grid;
    gap: 2px;
}

.presence-panel-head-v165 strong {
    font-size: 13px;
    line-height: 18px;
    color: var(--text-main);
}

.presence-panel-head-v165 span {
    font-size: 11px;
    line-height: 15px;
    color: var(--text-muted);
}

.presence-list-v165 {
    display: grid;
    gap: 6px;
    padding: 10px;
    max-height: calc(100vh - 164px);
    overflow: auto;
}

.presence-user-v165 {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 8px;
    border: 1px solid rgba(217,225,234,.78);
    border-radius: 13px;
    background: #fff;
}

.presence-avatar-v165 {
    width: 32px;
    height: 32px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-brand-soft);
    color: var(--brand);
    font-size: 10px;
    line-height: 1;
    font-weight: 850;
}

.presence-user-v165.is-online .presence-avatar-v165 {
    box-shadow: inset 0 0 0 2px rgba(21,128,61,.22);
}

.presence-meta-v165 {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.presence-meta-v165 strong,
.presence-meta-v165 span,
.presence-meta-v165 small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.presence-meta-v165 strong {
    font-size: 12px;
    line-height: 16px;
    color: var(--text-main);
}

.presence-meta-v165 span,
.presence-meta-v165 small,
.presence-empty-v165 {
    font-size: 11px;
    line-height: 15px;
    color: var(--text-secondary);
}

.presence-empty-v165 {
    margin: 0;
    padding: 12px;
}

@media (max-width: 920px) {
    .presence-rail-v165 {
        top: auto;
        right: 12px;
        bottom: 14px;
    }
}

@media (min-width: 921px) {
    .body-mode-app .main-content {
        padding-right: 64px;
    }
}

/* v1.6.6 — barre droite présence + préparation chat interne */
.sidebar-user-mini-v164 { grid-template-columns: 38px minmax(0, 1fr); padding: 8px; }
.sidebar-user-meta-v164 strong { font-size: 11.2px; line-height: 14px; letter-spacing: -.02em; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sidebar-user-meta-v164 span { font-size: 11px; line-height: 14px; }
.sidebar-user-meta-v164 small { font-size: 12px; line-height: 15px; font-weight: 900; color: var(--brand); }
.presence-rail-v166 {
    top: 88px;
    right: 12px;
    align-items: flex-start;
}
.presence-rail-toggle-v166 {
    width: 52px;
    min-height: 76px;
    border-radius: 18px;
    padding: 7px 5px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
}
.presence-rail-avatars-v166 {
    display: grid;
    gap: 3px;
    justify-items: center;
}
.presence-mini-avatar-v166 {
    width: 26px;
    height: 26px;
    border-radius: 10px;
    border: 2px solid #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-soft);
    color: var(--brand);
    box-shadow: 0 6px 14px rgba(15,23,42,.10);
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    overflow: hidden;
}
.presence-mini-avatar-v166 + .presence-mini-avatar-v166 { margin-top: -9px; }
.presence-mini-avatar-v166 img,
.presence-avatar-v166 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.presence-mini-avatar-v166.is-online { box-shadow: 0 0 0 3px rgba(21,128,61,.12), 0 6px 14px rgba(15,23,42,.10); }
.presence-mini-avatar-v166.is-empty { background: #f8fafc; color: var(--text-muted); }
.presence-rail-count-v166 {
    min-width: 24px;
    height: 22px;
    border-radius: 999px;
    background: var(--text-main);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}
.presence-rail-v166.is-open .presence-panel-v166 {
    width: min(370px, calc(100vw - 76px));
}
.presence-panel-v166 {
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,.98);
}
.presence-panel-head-v166 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px 12px;
}
.presence-panel-head-v166 strong { font-size: 14px; line-height: 19px; }
.presence-panel-head-v166 span { font-size: 11.5px; }
.presence-live-pill-v166 {
    flex: 0 0 auto;
    height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: #e8f7f4;
    color: #157a72 !important;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
}
.presence-list-v166 {
    padding: 10px;
    gap: 8px;
    max-height: calc(100vh - 280px);
}
.presence-user-v166 {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #fbfdff);
}
.presence-avatar-v166 {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    overflow: hidden;
    font-size: 11px;
    position: relative;
}
.presence-avatar-v166::after {
    content: '';
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 11px;
    height: 11px;
    border-radius: 999px;
    border: 2px solid #fff;
    background: #94a3b8;
}
.presence-user-v166.is-online .presence-avatar-v166::after { background: #15803d; }
.presence-user-v166.is-recent .presence-avatar-v166::after { background: #b45309; }
.presence-meta-v166 strong { font-size: 12.5px; line-height: 17px; }
.presence-meta-v166 span { font-size: 11.2px; line-height: 15px; color: var(--text-secondary); }
.presence-meta-v166 small { font-size: 10.8px; line-height: 14px; color: var(--text-muted); }
.presence-actions-v166 {
    display: grid;
    gap: 4px;
    justify-items: end;
}
.presence-actions-v166 a,
.presence-actions-v166 button {
    height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--border-soft);
    background: #fff;
    color: var(--text-secondary);
    font: inherit;
    font-size: 10.8px;
    line-height: 1;
    font-weight: 850;
    cursor: pointer;
}
.presence-actions-v166 a:hover,
.presence-actions-v166 button:hover { color: var(--brand); border-color: #c9d5ff; background: var(--brand-soft); }
.presence-chat-prep-v166 {
    margin: 0 10px 10px;
    padding: 10px;
    border: 1px solid #dbe5f1;
    border-radius: 16px;
    background: #f8fbff;
    display: grid;
    gap: 6px;
}
.presence-chat-prep-v166 strong { font-size: 12.5px; color: var(--text-main); }
.presence-chat-prep-v166 span { font-size: 11px; line-height: 15px; color: var(--text-secondary); }
.presence-chat-box-v166 { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; }
.presence-chat-box-v166 input,
.presence-chat-box-v166 button {
    height: 30px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    padding: 0 9px;
    background: #fff;
    color: var(--text-muted);
    font-size: 11px;
}
.presence-chat-box-v166 button { font-weight: 850; }
@media (max-width: 920px) {
  .presence-rail-v166 { right: 10px; bottom: 12px; top: auto; }
  .presence-rail-toggle-v166 { min-height: 52px; width: 52px; }
}

/* v1.6.25 — navigation persistante, mode réduit sans ascenseur parasite et recherche globale */
html,
body.body-mode-app {
    overflow-x: hidden;
}

.body-mode-app .sidebar {
    overflow: hidden;
    min-width: 0;
}

.body-mode-app .nav-main {
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-gutter: stable;
    width: 100%;
    min-width: 0;
    padding-right: 0;
}

.body-mode-app .nav-link,
.body-mode-app .nav-group-summary,
.body-mode-app .nav-subgroup-summary {
    min-width: 0;
}

.body-mode-app .nav-link-text,
.body-mode-app .nav-group-label,
.body-mode-app .nav-link-sub {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-global-search-shell-v1621 {
    position: sticky;
    top: 0;
    z-index: 45;
    display: flex;
    justify-content: center;
    padding: 4px 0 10px;
    margin: 0 0 4px;
    background: linear-gradient(180deg, rgba(246,248,251,.98), rgba(246,248,251,.82) 72%, rgba(246,248,251,0));
    pointer-events: none;
}

.app-global-search-v1621 {
    width: min(100%, 620px);
    min-height: 40px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    padding: 4px 5px 4px 10px;
    border: 1px solid rgba(196,206,218,.92);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 28px rgba(15,23,42,.07);
    position: relative;
    pointer-events: auto;
}

.app-global-search-v1621:focus-within {
    border-color: rgba(47,91,255,.40);
    box-shadow: 0 0 0 4px rgba(47,91,255,.08), 0 14px 34px rgba(15,23,42,.09);
}

.app-global-search-icon-v1621 {
    width: 24px;
    height: 24px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 16px;
    line-height: 1;
    font-weight: 900;
}

.app-global-search-v1621 input[type="search"] {
    width: 100%;
    min-width: 0;
    height: 30px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-main);
    font: inherit;
    font-size: 13px;
    line-height: 18px;
}

.app-global-search-v1621 input[type="search"]::placeholder {
    color: #7a8798;
}

.app-global-search-submit-v1621 {
    height: 30px;
    padding: 0 11px;
    border: 1px solid rgba(47,91,255,.18);
    border-radius: 10px;
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    cursor: pointer;
}

.app-global-search-submit-v1621:hover {
    background: var(--brand);
    color: #fff;
}

.app-global-search-panel-v1621 {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    max-height: min(520px, calc(100vh - 110px));
    overflow: auto;
    padding: 8px;
    border: 1px solid rgba(196,206,218,.96);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 58px rgba(15,23,42,.18);
}

.app-global-search-panel-head-v1621,
.app-global-search-footer-v1621 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 8px;
    color: var(--text-secondary);
    font-size: 11.5px;
    line-height: 16px;
}

.app-global-search-panel-head-v1621 strong {
    color: var(--text-main);
    font-size: 12px;
    line-height: 16px;
}

.app-global-search-list-v1621 {
    display: grid;
    gap: 4px;
}

.app-global-search-result-v1621 {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 12px;
    color: var(--text-main);
}

.app-global-search-result-v1621:hover,
.app-global-search-result-v1621:focus-visible {
    background: var(--brand-soft);
    outline: none;
}

.app-global-search-badge-v1621,
.global-search-result-type-v1621 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 23px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid var(--border-soft);
    color: var(--brand);
    font-size: 10.5px;
    line-height: 14px;
    font-weight: 850;
    white-space: nowrap;
}

.app-global-search-result-main-v1621,
.global-search-result-main-v1621 {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.app-global-search-result-main-v1621 strong,
.global-search-result-main-v1621 strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12.5px;
    line-height: 17px;
    font-weight: 850;
}

.app-global-search-result-main-v1621 small,
.global-search-result-main-v1621 small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 15px;
}

.app-global-search-ref-v1621,
.global-search-result-ref-v1621 {
    color: var(--text-muted);
    font-size: 10.5px;
    line-height: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.app-global-search-empty-v1621,
.empty-state-v1621 {
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px dashed var(--border-soft);
    border-radius: 14px;
    background: #f8fafc;
    color: var(--text-secondary);
}

.app-global-search-empty-v1621 strong,
.empty-state-v1621 strong {
    color: var(--text-main);
}

.app-global-search-footer-v1621 {
    border-top: 1px solid var(--border-soft);
    margin-top: 6px;
}

.app-global-search-footer-v1621 a {
    color: var(--brand);
    font-weight: 850;
}

.global-search-results-head-v1621 {
    margin-top: 2px;
}

.global-search-results-panel-v1621 {
    display: grid;
    gap: 14px;
}

.global-search-full-form-v1621 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.global-search-full-form-v1621 input[type="search"] {
    min-height: 38px;
}

.global-search-group-stack-v1621 {
    display: grid;
    gap: 12px;
}

.global-search-group-v1621 {
    border: 1px solid var(--border-soft);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.global-search-group-head-v1621 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-bottom: 1px solid var(--border-soft);
    background: #f8fafc;
}

.global-search-group-head-v1621 h2 {
    margin: 0;
    font-size: 14px;
    line-height: 19px;
}

.global-search-group-head-v1621 span {
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 15px;
    font-weight: 750;
}

.global-search-results-list-v1621 {
    display: grid;
}

.global-search-result-row-v1621 {
    display: grid;
    grid-template-columns: 104px minmax(0,1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(217,225,234,.72);
}

.global-search-result-row-v1621:last-child {
    border-bottom: 0;
}

.global-search-result-row-v1621:hover,
.global-search-result-row-v1621:focus-visible {
    background: var(--brand-soft);
    outline: none;
}

.global-search-result-open-v1621 {
    color: var(--brand);
    font-size: 11px;
    line-height: 15px;
    font-weight: 850;
}

@media (min-width: 921px) {
    body.sidebar-collapsed .body-mode-app .sidebar,
    body.sidebar-collapsed .sidebar {
        overflow: visible;
    }

    body.sidebar-collapsed .body-mode-app .nav-main,
    body.sidebar-collapsed .nav-main {
        overflow: visible;
        scrollbar-width: none;
    }

    body.sidebar-collapsed .nav-main::-webkit-scrollbar {
        display: none;
    }

    body.sidebar-collapsed .nav-group {
        position: relative;
    }

    body.sidebar-collapsed .nav-subnav[data-flyout-title] {
        left: calc(100% + 12px);
        top: 0;
        width: 238px;
        max-height: min(520px, calc(100vh - 40px));
        overflow-y: auto;
        overflow-x: hidden;
        padding: 39px 8px 8px;
    }

    body.sidebar-collapsed .nav-subnav[data-flyout-title]::before {
        content: attr(data-flyout-title);
        position: absolute;
        top: 9px;
        left: 10px;
        right: 10px;
        height: 22px;
        display: flex;
        align-items: center;
        color: var(--text-main);
        font-size: 12px;
        line-height: 16px;
        font-weight: 900;
        letter-spacing: -.01em;
    }

    body.sidebar-collapsed .nav-subgroup {
        border-radius: 10px;
        background: #fff;
    }

    body.sidebar-collapsed .nav-subgroup-summary {
        min-height: 31px;
        padding: 7px 9px;
        font-size: 12px;
    }

    body.sidebar-collapsed .nav-subnav-nested {
        position: static;
        display: grid;
        width: auto;
        padding: 0 5px 7px 9px;
        border: 0;
        box-shadow: none;
        background: transparent;
    }

    body.sidebar-collapsed [data-sidebar-item-label] {
        position: relative;
    }

    body.sidebar-collapsed [data-sidebar-item-label]:hover::after,
    body.sidebar-collapsed [data-sidebar-item-label]:focus-visible::after {
        content: attr(data-sidebar-item-label);
        position: absolute;
        left: calc(100% + 12px);
        top: 50%;
        transform: translateY(-50%);
        min-width: 150px;
        padding: 9px 10px;
        border: 1px solid var(--border-soft);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 18px 42px rgba(15,23,42,.14);
        color: var(--text-main);
        font-size: 12px;
        line-height: 16px;
        font-weight: 850;
        z-index: 70;
        pointer-events: none;
    }
}

@media (max-width: 920px) {
    .app-global-search-shell-v1621 {
        position: relative;
        top: auto;
        padding: 0 0 10px;
    }
    .app-global-search-v1621 {
        width: 100%;
        grid-template-columns: 26px minmax(0, 1fr);
    }
    .app-global-search-submit-v1621 {
        display: none;
    }
    .app-global-search-panel-v1621 {
        max-height: min(460px, calc(100vh - 120px));
    }
    .app-global-search-result-v1621,
    .global-search-result-row-v1621 {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .global-search-full-form-v1621 {
        grid-template-columns: 1fr;
    }
}

/* v1.7.3 — verrouillage du volet gauche et catalogue modules plus lisible */
@media (min-width: 921px) {
    body.body-mode-app {
        overflow-x: hidden;
    }

    .body-mode-app .app-shell {
        display: block;
        min-height: 100vh;
    }

    .body-mode-app .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: var(--sidebar-width);
        height: 100vh;
        max-height: 100vh;
        z-index: 80;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .body-mode-app .sidebar-topbar,
    .body-mode-app .sidebar-bottom {
        flex: 0 0 auto;
    }

    .body-mode-app .nav-main {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        scrollbar-gutter: stable;
    }

    .body-mode-app .main-content {
        margin-left: var(--sidebar-width);
        width: calc(100% - var(--sidebar-width));
        min-height: 100vh;
    }

    body.sidebar-collapsed.body-mode-app .main-content {
        margin-left: var(--sidebar-collapsed-width);
        width: calc(100% - var(--sidebar-collapsed-width));
    }
}

.platform-catalog-hero-v173 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.platform-catalog-hero-v173 h1 {
    margin-bottom: 5px;
}

.platform-catalog-hero-actions-v173 {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.platform-catalog-guide-v173,
.platform-catalog-metrics-v173 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.platform-catalog-guide-v173 article,
.platform-catalog-metrics-v173 article,
.platform-catalog-panel-v173 {
    border: 1px solid var(--border-soft);
    background: rgba(255,255,255,.94);
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}

.platform-catalog-guide-v173 article,
.platform-catalog-metrics-v173 article {
    padding: 13px 14px;
}

.platform-catalog-guide-v173 strong,
.platform-catalog-metrics-v173 strong {
    display: block;
    color: var(--text-main);
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 4px;
}

.platform-catalog-guide-v173 span,
.platform-catalog-metrics-v173 span,
.platform-catalog-metrics-v173 small {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 16px;
}

.platform-catalog-metrics-v173 article > span {
    display: block;
    color: var(--text-secondary);
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 10px;
    margin-bottom: 5px;
}

.platform-catalog-metrics-v173 article > strong {
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 3px;
}

.platform-progress-v173 {
    display: block;
    height: 7px;
    border-radius: 999px;
    background: var(--bg-muted);
    margin-top: 10px;
    overflow: hidden;
}

.platform-progress-fill-v173 {
    display: block;
    height: 100%;
    min-width: 8px;
    border-radius: inherit;
    background: var(--brand);
}

.platform-catalog-layout-v173 {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.platform-catalog-panel-v173 {
    padding: 14px;
}

.platform-catalog-side-v173 {
    position: sticky;
    top: 14px;
    display: grid;
    gap: 12px;
}

.platform-catalog-side-v173 h2,
.platform-section-head-v173 h2 {
    margin: 0 0 4px;
    font-size: 17px;
    line-height: 22px;
}

.platform-catalog-filter-v173 {
    display: grid;
    gap: 10px;
}

.platform-catalog-filter-actions-v173 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.platform-family-list-v173 {
    display: grid;
    gap: 5px;
}

.platform-family-list-v173 a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--text-secondary);
    background: var(--bg-muted);
    font-size: 12px;
    line-height: 16px;
}

.platform-family-list-v173 a:hover,
.platform-family-list-v173 a.is-active {
    color: var(--brand);
    background: var(--brand-soft);
    border-color: rgba(47, 91, 255, .18);
}

.platform-family-list-v173 strong {
    min-width: 25px;
    text-align: center;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--border-soft);
    font-size: 11px;
    line-height: 18px;
}

.platform-catalog-main-v173 {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.platform-section-head-v173 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.platform-status-strip-v173 {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.platform-status-pill-v173,
.platform-scope-pill-v173 {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    border-radius: 999px;
    padding: 0 9px;
    border: 1px solid var(--border-soft);
    background: #fff;
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 15px;
    font-weight: 800;
    white-space: nowrap;
}

.platform-status-pill-v173.is-selected,
.platform-scope-pill-v173 {
    border-color: rgba(47, 91, 255, .20);
    background: var(--brand-soft);
    color: var(--brand);
}

.platform-status-pill-v173.is-active { background: #E8F7F4; color: #157A72; border-color: rgba(21, 122, 114, .24); }
.platform-status-pill-v173.is-preparatory { background: #EEF3FF; color: #2F5BFF; border-color: rgba(47, 91, 255, .20); }
.platform-status-pill-v173.is-planned { background: #F8FAFC; color: #475569; border-color: #D9E1EA; }
.platform-status-pill-v173.is-suspended { background: rgba(180, 35, 24, .08); color: var(--danger); border-color: rgba(180, 35, 24, .18); }
.platform-status-pill-v173.is-reserved { background: rgba(180, 83, 9, .08); color: var(--warning); border-color: rgba(180, 83, 9, .18); }

.platform-family-accordion-v173 {
    display: grid;
    gap: 10px;
}

.platform-family-section-v173 {
    border: 1px solid var(--border-soft);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.platform-family-section-v173 > summary {
    list-style: none;
    cursor: pointer;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: linear-gradient(180deg, #FFFFFF, #F8FBFF);
    font-weight: 850;
}

.platform-family-section-v173 > summary::-webkit-details-marker,
.platform-tool-chip-v173 > summary::-webkit-details-marker,
.platform-catalog-forms-v173 > details > summary::-webkit-details-marker {
    display: none;
}

.platform-family-section-v173 > summary strong {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 16px;
}

.platform-module-table-v173 {
    display: grid;
}

.platform-module-row-v173 {
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) minmax(110px, .55fr) minmax(170px, .75fr) minmax(260px, 1.2fr) minmax(145px, .6fr);
    gap: 12px;
    align-items: start;
    padding: 12px 14px;
    border-top: 1px solid var(--border-soft);
}

.platform-module-row-head-v173 {
    background: var(--bg-muted);
    color: var(--text-muted);
    font-size: 11px;
    line-height: 15px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding-top: 9px;
    padding-bottom: 9px;
}

.platform-module-title-v173 {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.platform-module-title-v173 strong {
    font-size: 15px;
    line-height: 20px;
}

.platform-module-title-v173 small {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 17px;
}

.platform-module-title-v173 code {
    width: max-content;
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: 11px;
}

.platform-tools-list-v173 {
    display: grid;
    gap: 6px;
}

.platform-tool-chip-v173 {
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.platform-tool-chip-v173 > summary {
    list-style: none;
    cursor: pointer;
    padding: 8px 9px;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    font-weight: 800;
    font-size: 12px;
    line-height: 16px;
}

.platform-tool-chip-v173 > summary em {
    font-style: normal;
    font-size: 10px;
    line-height: 14px;
    font-weight: 900;
    color: var(--text-muted);
}

.platform-tool-chip-v173 > summary em.is-active { color: var(--accent); }
.platform-tool-chip-v173 > summary em.is-preparatory { color: var(--brand); }
.platform-tool-chip-v173 > summary em.is-suspended { color: var(--danger); }
.platform-tool-chip-v173 > summary em.is-reserved { color: var(--warning); }

.platform-tool-chip-v173 p {
    margin: 0;
    padding: 0 9px 8px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 17px;
}

.platform-tool-actions-v173,
.platform-row-actions-v173 {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.platform-tool-actions-v173 {
    padding: 0 9px 9px;
}

.platform-catalog-forms-v173 {
    display: grid;
    gap: 12px;
}

.platform-catalog-forms-v173 > details > summary,
.platform-form-summary-v173 {
    list-style: none;
    cursor: pointer;
    font-weight: 900;
    font-size: 15px;
    line-height: 20px;
    padding: 2px 0 12px;
}

.platform-catalog-form-v173 {
    display: grid;
    gap: 12px;
}

@media (max-width: 1400px) {
    .platform-catalog-guide-v173,
    .platform-catalog-metrics-v173 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-catalog-layout-v173 {
        grid-template-columns: 1fr;
    }

    .platform-catalog-side-v173 {
        position: static;
    }

    .platform-module-row-v173 {
        grid-template-columns: minmax(260px, 1.3fr) minmax(110px, .55fr) minmax(160px, .75fr) minmax(220px, 1fr) minmax(145px, .6fr);
    }
}

@media (max-width: 980px) {
    .platform-catalog-hero-v173,
    .platform-section-head-v173 {
        flex-direction: column;
    }

    .platform-status-strip-v173,
    .platform-catalog-hero-actions-v173 {
        justify-content: flex-start;
    }

    .platform-module-row-head-v173 {
        display: none;
    }

    .platform-module-row-v173 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .platform-catalog-guide-v173,
    .platform-catalog-metrics-v173 {
        grid-template-columns: 1fr;
    }
}

/* v1.8.2 — restructuration administrateur plateforme */
.nav-main-platform-v180 {
    gap: 6px;
}

.platform-admin-hero-v180 {
    align-items: flex-start;
    gap: 16px;
}

.platform-admin-hero-v180 h1 {
    max-width: 920px;
}

.platform-admin-hero-actions-v180 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.platform-admin-principle-v180,
.platform-admin-grid-v180,
.platform-blueprint-grid-v180 {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.platform-admin-principle-v180 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.platform-admin-principle-v180 article,
.platform-admin-panel-v180,
.platform-admin-card-v180 {
    border: 1px solid var(--border, #D9E1EA);
    background: var(--surface, #FFFFFF);
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.platform-admin-principle-v180 strong,
.platform-admin-card-v180 h2,
.platform-admin-panel-v180 h2 {
    color: var(--text, #0F172A);
}

.platform-admin-principle-v180 article {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.platform-admin-principle-v180 span,
.platform-admin-card-v180 p,
.platform-admin-card-next-v180 span,
.platform-admin-steps-v180 span,
.platform-admin-instruction-v180 span {
    color: var(--muted, #64748B);
    font-size: 13px;
    line-height: 1.45;
}

.platform-admin-grid-v180 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.platform-admin-grid-wide-v180 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.platform-blueprint-grid-v180 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.platform-admin-card-v180 {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
}

.platform-admin-card-v180 h2 {
    margin: 6px 0 8px;
    font-size: 18px;
    line-height: 1.25;
}

.platform-admin-card-key-v180 {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: 4px 8px;
    background: var(--brand-soft, #EEF3FF);
    color: var(--brand, #2F5BFF);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}

.platform-admin-card-next-v180,
.platform-admin-instruction-v180 {
    display: grid;
    gap: 6px;
    border-left: 3px solid var(--brand, #2F5BFF);
    padding-left: 10px;
}

.platform-admin-flow-v180 {
    margin-top: 18px;
}

.platform-admin-steps-v180 {
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding-left: 0;
    list-style: none;
}

.platform-admin-steps-v180 li {
    display: grid;
    grid-template-columns: minmax(220px, 300px) 1fr;
    gap: 12px;
    border: 1px solid var(--border, #D9E1EA);
    border-radius: 12px;
    padding: 12px;
    background: var(--surface-secondary, #F8FAFC);
}

.platform-activity-meta-v180 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.platform-activity-meta-v180 span,
.platform-admin-switcher-v180 a {
    border: 1px solid var(--border, #D9E1EA);
    border-radius: 999px;
    padding: 5px 8px;
    background: #fff;
    color: var(--muted, #64748B);
    font-size: 12px;
    text-decoration: none;
}

.platform-blueprint-list-v180 {
    margin: 12px 0 0;
    padding-left: 18px;
    color: var(--text, #0F172A);
    font-size: 13px;
    line-height: 1.5;
}

.platform-blueprint-list-v180 li + li {
    margin-top: 5px;
}

.platform-admin-switcher-v180 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.platform-admin-switcher-v180 a.is-active {
    border-color: rgba(47, 91, 255, .35);
    background: var(--brand-soft, #EEF3FF);
    color: var(--brand, #2F5BFF);
    font-weight: 700;
}

@media (max-width: 1180px) {
    .platform-admin-principle-v180,
    .platform-admin-grid-v180,
    .platform-admin-grid-wide-v180,
    .platform-blueprint-grid-v180 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .platform-admin-principle-v180,
    .platform-admin-grid-v180,
    .platform-admin-grid-wide-v180,
    .platform-blueprint-grid-v180,
    .platform-admin-steps-v180 li {
        grid-template-columns: 1fr;
    }

    .platform-admin-hero-actions-v180 {
        justify-content: flex-start;
    }
}


/* v1.8.2 — navigation administrateur hiérarchisée */
.nav-main-platform-v181 .nav-group { margin-top: 4px; }
.nav-main-platform-v181 .nav-link-primary { order: -2; }
.platform-admin-card-v180.is-selected-v181 { outline: 2px solid var(--brand-primary, #2F5BFF); outline-offset: 2px; }

/* v1.8.4 — sidebar compacte : flyout unique, accessible au survol, fermeture rapide hors zone. */
@media (min-width: 921px) {
    body.sidebar-collapsed .nav-group::after {
        content: "";
        position: absolute;
        top: -4px;
        left: 100%;
        width: 18px;
        height: calc(100% + 8px);
        pointer-events: auto;
    }
    body.sidebar-collapsed .nav-group.is-flyout-held-v184 > .nav-subnav[data-flyout-title] {
        display: grid;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    body.sidebar-collapsed .nav-group:not(:hover):not(:focus-within):not(.is-flyout-held-v184) > .nav-subnav[data-flyout-title] {
        display: none;
    }
}

/* v1.8.9 — photo utilisateur dans la navigation latérale. */
.sidebar-profile-avatar-v189 {
    overflow: hidden;
    padding: 0 !important;
    background: linear-gradient(180deg, var(--brand), #294cff);
    color: #fff;
    border-color: rgba(47, 91, 255, .18);
}

.sidebar-profile-avatar-v189 img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
}

.nav-link.active .sidebar-profile-avatar-v189,
.nav-link:hover .sidebar-profile-avatar-v189 {
    border-color: rgba(47, 91, 255, .34);
    box-shadow: 0 0 0 3px rgba(47, 91, 255, .08);
}

.sidebar-user-mini-v164 .sidebar-profile-avatar-v189 {
    border-radius: 12px;
    font-size: 10px;
}

body.sidebar-collapsed .sidebar-user-mini-v164 {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 8px;
}

body.sidebar-collapsed .sidebar-user-mini-v164 .sidebar-profile-avatar-v189 {
    width: 36px;
    height: 36px;
}

/* v2.0.13 — Recherche globale filtrable type HubSpot, adaptée Linkelia. */
.app-global-search-v1621 {
    grid-template-columns: 28px minmax(0, 1fr) auto auto;
    width: min(100%, 760px);
}

.app-global-search-filter-toggle-v2013 {
    height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(148,163,184,.46);
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 12px;
    line-height: 16px;
    font-weight: 850;
    cursor: pointer;
}

.app-global-search-filter-toggle-v2013:hover,
.app-global-search-filter-toggle-v2013[aria-expanded="true"] {
    border-color: rgba(47,91,255,.42);
    background: var(--brand-soft);
    color: var(--brand);
}

.app-global-search-panel-v1621 {
    width: min(860px, calc(100vw - 28px));
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    padding: 10px;
}

.app-global-search-panel-head-v2013 {
    padding: 8px 8px 6px;
}

.app-global-search-chips-v2013 {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    padding: 0 8px 8px;
    border-bottom: 1px solid rgba(226,232,240,.88);
    margin-bottom: 8px;
}

.app-global-search-chip-v2013 {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 9px;
    border: 1px solid rgba(148,163,184,.5);
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 12px;
    line-height: 16px;
    font-weight: 850;
    cursor: pointer;
}

.app-global-search-chip-v2013.is-active {
    border-color: rgba(47,91,255,.38);
    background: var(--brand-soft);
    color: var(--brand);
}

.app-global-search-chip-v2013.is-compact {
    min-height: 26px;
    padding: 3px 8px;
    font-size: 11.5px;
}

.app-global-search-chip-v2013:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.app-global-search-chip-icon-v2013,
.app-global-search-result-icon-v2013,
.app-global-search-filter-icon-v2013 {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(15,23,42,.05);
    color: #475569;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    flex: 0 0 auto;
}

.app-global-search-more-v2013 {
    color: #64748b;
    font-size: 11px;
    line-height: 15px;
    font-weight: 850;
}

.app-global-search-filter-panel-v2013 {
    width: min(520px, 100%);
    display: grid;
    gap: 10px;
    padding: 12px;
    margin: 2px 8px 10px;
    border: 1px solid rgba(203,213,225,.96);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 22px 52px rgba(15,23,42,.15);
}

.app-global-search-filter-search-v2013 {
    width: 100%;
    min-height: 40px;
    border: 1px solid rgba(148,163,184,.55);
    border-radius: 12px;
    padding: 0 12px;
    outline: none;
    font: inherit;
}

.app-global-search-filter-search-v2013:focus {
    border-color: rgba(47,91,255,.64);
    box-shadow: 0 0 0 4px rgba(47,91,255,.10);
}

.app-global-search-filter-actions-v2013 {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.app-global-search-filter-actions-v2013 button {
    min-height: 28px;
    padding: 0 9px;
    border: 1px solid rgba(148,163,184,.45);
    border-radius: 9px;
    background: #f8fafc;
    color: #334155;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

.app-global-search-filter-actions-v2013 button:hover {
    background: var(--brand-soft);
    color: var(--brand);
}

.app-global-search-filter-list-v2013 {
    max-height: 330px;
    overflow: auto;
    display: grid;
    gap: 2px;
    padding-right: 2px;
}

.app-global-search-filter-section-title-v2013 {
    padding: 10px 4px 5px;
    color: #64748b;
    font-size: 11px;
    line-height: 15px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.app-global-search-filter-row-v2013 {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 6px 8px;
    border-radius: 11px;
    color: #0f172a;
    cursor: pointer;
}

.app-global-search-filter-row-v2013:hover {
    background: #f8fafc;
}

.app-global-search-filter-row-v2013.is-disabled {
    color: #94a3b8;
    cursor: not-allowed;
}

.app-global-search-filter-row-v2013 input[type="checkbox"] {
    width: 19px;
    height: 19px;
    accent-color: var(--brand);
}

.app-global-search-filter-label-v2013 {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
}

.app-global-search-result-v2013 {
    grid-template-columns: 28px 92px minmax(0, 1fr) auto;
}

.global-search-results-layout-v2013 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 14px;
    align-items: start;
}

.global-search-filter-card-v2013 {
    position: sticky;
    top: 74px;
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--border-soft);
    border-radius: 16px;
    background: #fff;
}

.global-search-filter-card-v2013 h2 {
    margin: 0;
    font-size: 14px;
    line-height: 18px;
}

.global-search-filter-option-v2013 {
    display: grid;
    grid-template-columns: 24px minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 5px 7px;
    border-radius: 10px;
}

.global-search-filter-option-v2013:hover {
    background: #f8fafc;
}

.global-search-filter-option-v2013 input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--brand);
}

.global-search-filter-option-v2013 span:nth-child(2) {
    font-size: 12px;
    font-weight: 850;
}

.global-search-filter-option-v2013 small {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 800;
}

.global-search-active-filters-v2013 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.global-search-active-filter-v2013 {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 11px;
    line-height: 15px;
    font-weight: 850;
}

@media (max-width: 920px) {
    .app-global-search-v1621 {
        grid-template-columns: 28px minmax(0, 1fr) auto;
    }
    .app-global-search-filter-toggle-v2013 {
        grid-column: 1 / 3;
        justify-content: center;
    }
    .app-global-search-submit-v1621 {
        grid-column: 3;
    }
    .global-search-results-layout-v2013 {
        grid-template-columns: 1fr;
    }
    .global-search-filter-card-v2013 {
        position: static;
        order: -1;
    }
}

/* v2.0.14 — barre de recherche restaurée en plateforme et portail client. */
.app-global-search-shell-v1621.is-platform-search-v2014 {
    margin-top: -2px;
    padding-bottom: 8px;
}

.app-global-search-shell-v1621.is-platform-search-v2014 .app-global-search-v1621 {
    width: min(100%, 820px);
}

.app-global-search-filter-toggle-v2013[hidden] {
    display: none !important;
}

/* v2.0.18 — barre supérieure fixe claire, sobre et stable. */
:root {
    --app-topbar-height-v2015: 54px;
    --app-topbar-bg-v2016: #ffffff;
    --app-topbar-surface-v2016: #f8fafc;
    --app-topbar-border-v2016: #d8e0ec;
    --app-topbar-border-soft-v2016: #e7edf5;
    --app-topbar-text-v2016: #172033;
    --app-topbar-muted-v2016: #64748b;
    --app-topbar-hover-v2016: #f1f5f9;
    --app-topbar-accent-v2016: #315df4;
}

.body-mode-app .main-content {
    padding-top: calc(var(--app-topbar-height-v2015) + 14px);
}

.app-fixed-topbar-v2015 {
    position: fixed;
    top: 0;
    left: var(--sidebar-width);
    right: 0;
    height: var(--app-topbar-height-v2015);
    z-index: 95;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 16px;
    background: var(--app-topbar-bg-v2016);
    color: var(--app-topbar-text-v2016);
    border-bottom: 1px solid var(--app-topbar-border-soft-v2016);
    box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
}

body.sidebar-collapsed .app-fixed-topbar-v2015 {
    left: var(--sidebar-collapsed-width);
}

.app-topbar-left-v2015 {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 9px;
}

.app-topbar-mobile-menu-v2015 {
    display: none;
    width: 36px;
    height: 36px;
    border: 1px solid var(--app-topbar-border-v2016);
    border-radius: 12px;
    background: #fff;
    color: var(--app-topbar-text-v2016);
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.app-global-search-topbar-v2015.app-global-search-v1621 {
    width: min(420px, 32vw);
    min-width: 280px;
    min-height: 38px;
    height: 38px;
    grid-template-columns: 24px minmax(0, 1fr) 32px 32px;
    gap: 4px;
    padding: 0 5px 0 11px;
    border-radius: 999px;
    border: 1px solid var(--app-topbar-border-v2016);
    background: var(--app-topbar-surface-v2016);
    box-shadow: none;
    color: var(--app-topbar-text-v2016);
}

.app-global-search-topbar-v2015.app-global-search-v1621:focus-within {
    border-color: #9db0ff;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(49, 93, 244, .10);
}

.app-global-search-topbar-v2015 .app-global-search-icon-v1621 {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: transparent;
    color: var(--app-topbar-muted-v2016);
    font-size: 15px;
}

.app-global-search-topbar-v2015 input[type="search"] {
    height: 34px;
    color: var(--app-topbar-text-v2016);
    font-size: 14px;
    line-height: 18px;
    font-weight: 620;
}

.app-global-search-topbar-v2015 input[type="search"]::placeholder {
    color: #758195;
}

.app-global-search-topbar-v2015 .app-global-search-filter-toggle-v2013,
.app-global-search-topbar-v2015 .app-global-search-submit-v1621 {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--app-topbar-muted-v2016);
    font-size: 14px;
    line-height: 1;
}

.app-global-search-topbar-v2015 .app-global-search-filter-toggle-v2013 svg,
.app-global-search-topbar-v2015 .app-global-search-submit-v1621 svg,
.app-topbar-round-action-v2015 svg,
.app-topbar-action-v2015 svg,
.app-topbar-menu-v2015 > summary svg,
.app-topbar-assistant-v2015 svg,
.app-topbar-user-caret-v2016 {
    width: 18px;
    height: 18px;
    display: block;
    flex: 0 0 auto;
}

.app-global-search-topbar-v2015 .app-global-search-filter-toggle-v2013:hover,
.app-global-search-topbar-v2015 .app-global-search-filter-toggle-v2013[aria-expanded="true"],
.app-global-search-topbar-v2015 .app-global-search-submit-v1621:hover {
    border-color: var(--app-topbar-border-soft-v2016);
    background: #fff;
    color: var(--app-topbar-accent-v2016);
}

.app-global-search-topbar-v2015 .app-global-search-panel-v1621 {
    top: calc(100% + 10px);
    width: min(760px, calc(100vw - 32px));
    max-height: min(560px, calc(100vh - 80px));
    border: 1px solid #dbe4f0;
    box-shadow: 0 22px 54px rgba(15, 23, 42, .14);
}

.app-topbar-round-action-v2015,
.app-topbar-action-v2015,
.app-topbar-menu-v2015 > summary {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid transparent;
    background: transparent;
    color: #475569;
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.app-topbar-round-action-v2015 {
    border-color: var(--app-topbar-border-v2016);
    background: #fff;
    color: var(--app-topbar-text-v2016);
}

.app-topbar-round-action-v2015:hover,
.app-topbar-action-v2015:hover,
.app-topbar-menu-v2015[open] > summary,
.app-topbar-user-trigger-v2016:hover,
.app-topbar-user-menu-v2016[open] > summary {
    background: var(--app-topbar-hover-v2016);
    border-color: var(--app-topbar-border-v2016);
    color: var(--app-topbar-accent-v2016);
}

.app-topbar-actions-v2015 {
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
}

.app-topbar-icon-group-v2016 {
    display: flex;
    align-items: center;
    gap: 4px;
}

.app-topbar-menu-v2015,
.app-topbar-user-menu-v2016 {
    position: relative;
    display: inline-flex;
}

.app-topbar-menu-v2015 > summary,
.app-topbar-user-trigger-v2016 {
    list-style: none;
}

.app-topbar-menu-v2015 > summary::-webkit-details-marker,
.app-topbar-user-trigger-v2016::-webkit-details-marker {
    display: none;
}

.app-topbar-dropdown-v2015 {
    position: absolute;
    top: calc(100% + 12px);
    right: -10px;
    width: 248px;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid var(--app-topbar-border-soft-v2016);
    background: #fff;
    box-shadow: 0 24px 54px rgba(15, 23, 42, .16);
    display: grid;
    gap: 4px;
}

.app-topbar-dropdown-v2015::before {
    content: '';
    position: absolute;
    top: -7px;
    right: 23px;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    background: #fff;
    border-left: 1px solid var(--app-topbar-border-soft-v2016);
    border-top: 1px solid var(--app-topbar-border-soft-v2016);
}

.app-topbar-dropdown-v2015 a,
.app-topbar-dropdown-v2015 button {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 10px 11px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #263245;
    text-align: left;
    text-decoration: none;
    font-size: 13px;
    line-height: 17px;
    font-weight: 760;
    cursor: pointer;
}

.app-topbar-dropdown-v2015 a:hover,
.app-topbar-dropdown-v2015 button:hover {
    background: var(--app-topbar-hover-v2016);
    color: var(--app-topbar-accent-v2016);
}

.app-topbar-separator-v2015 {
    width: 1px;
    height: 26px;
    background: var(--app-topbar-border-soft-v2016);
}

.app-topbar-assistant-v2015 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid var(--app-topbar-border-soft-v2016);
    background: #fff;
    color: #263245;
    text-decoration: none;
    font-size: 13px;
    line-height: 17px;
    font-weight: 820;
}

.app-topbar-assistant-v2015:hover {
    background: var(--app-topbar-hover-v2016);
    color: var(--app-topbar-accent-v2016);
    border-color: var(--app-topbar-border-v2016);
}

.app-topbar-scope-pill-v2016 {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--app-topbar-hover-v2016);
    color: var(--app-topbar-muted-v2016);
    font-size: 12px;
    line-height: 16px;
    font-weight: 760;
}

.app-topbar-user-trigger-v2016 {
    min-height: 36px;
    padding: 4px 8px 4px 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--app-topbar-text-v2016);
    cursor: pointer;
}

.app-topbar-dropdown-user-v2016 {
    right: 0;
    width: 220px;
}

.app-topbar-dropdown-user-v2016::before {
    right: 18px;
}

.app-topbar-logout-form-v2016 {
    margin: 0;
}

.app-topbar-avatar-v2015 {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9eef8;
    color: #315df4;
    overflow: hidden;
    font-size: 11px;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px rgba(49, 93, 244, .08);
}

.app-topbar-avatar-v2015 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.body-mode-app .app-mobile-topbar {
    display: none !important;
}

@media (max-width: 1180px) {
    .app-global-search-topbar-v2015.app-global-search-v1621 {
        width: min(360px, 34vw);
    }
    .app-topbar-scope-pill-v2016 {
        display: none;
    }
}

@media (max-width: 920px) {
    .app-fixed-topbar-v2015 {
        left: 0;
        padding: 0 10px;
        gap: 8px;
    }
    .body-mode-app .main-content {
        padding-top: calc(var(--app-topbar-height-v2015) + 12px);
    }
    .app-topbar-mobile-menu-v2015 {
        display: inline-flex;
    }
    .app-global-search-topbar-v2015.app-global-search-v1621 {
        width: min(100%, calc(100vw - 116px));
        min-width: 0;
        grid-template-columns: 22px minmax(0, 1fr) 30px;
    }
    .app-global-search-topbar-v2015 .app-global-search-filter-toggle-v2013 {
        display: none;
    }
    .app-topbar-actions-v2015 {
        gap: 6px;
    }
    .app-topbar-icon-group-v2016,
    .app-topbar-actions-v2015 .app-topbar-separator-v2015,
    .app-topbar-actions-v2015 .app-topbar-scope-pill-v2016 {
        display: none;
    }
    .app-topbar-round-action-v2015,
    .app-topbar-user-trigger-v2016 {
        width: 34px;
        height: 34px;
        min-height: 34px;
        padding: 0;
        flex-basis: 34px;
        justify-content: center;
    }
    .app-topbar-assistant-v2015 {
        padding: 0 10px;
    }
    .app-topbar-user-trigger-v2016 .app-topbar-user-caret-v2016 {
        display: none;
    }
}

@media (max-width: 560px) {
    .app-fixed-topbar-v2015 {
        padding: 0 8px;
    }
    .app-global-search-topbar-v2015.app-global-search-v1621 {
        width: min(100%, calc(100vw - 88px));
    }
    .app-global-search-topbar-v2015 input[type="search"] {
        font-size: 13px;
    }
    .app-topbar-assistant-v2015 span,
    .app-topbar-user-menu-v2016 {
        display: none;
    }
}

@media (max-width: 920px) {
    .body-mode-app .sidebar {
        z-index: 120;
    }
    .body-mode-app .sidebar-backdrop {
        z-index: 115;
    }
}

/* v2.0.21 — Import contrôlé des propriétés CRM. */
.property-import-shell-v221 {
    display: grid;
    gap: 14px;
}
.property-import-head-v221 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--border-color, #dbe3ef);
    border-radius: 18px;
    background: #fff;
}
.property-import-head-v221 h1 {
    margin: 4px 0 2px;
    font-size: 22px;
    line-height: 1.18;
}
.property-import-head-v221 p {
    margin: 0;
    color: var(--muted-color, #607086);
}
.property-import-steps-v221 {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.property-import-steps-v221 span {
    padding: 8px 12px;
    border: 1px solid var(--border-color, #dbe3ef);
    border-radius: 999px;
    background: #fff;
    color: #5c6b82;
    font-size: 13px;
    font-weight: 750;
}
.property-import-steps-v221 span.active {
    color: #0f172a;
    border-color: #b8c7ff;
    background: #eef3ff;
}
.property-import-card-v221 {
    padding: 16px;
    border: 1px solid var(--border-color, #dbe3ef);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}
.property-import-card-v221 h2 {
    margin: 0 0 10px;
    font-size: 17px;
}
.property-import-form-v221 {
    display: grid;
    gap: 12px;
    max-width: 920px;
}
.check-line-v221 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-weight: 650;
}
.property-import-preview-head-v221 {
    display: grid;
    gap: 12px;
}
.property-import-table-wrap-v221 {
    max-height: calc(100vh - 310px);
    overflow: auto;
    border: 1px solid var(--border-color, #dbe3ef);
    border-radius: 14px;
    background: #fff;
}
.property-import-table-v221 {
    width: 100%;
    min-width: 1280px;
    border-collapse: collapse;
    font-size: 12px;
}
.property-import-table-v221 th,
.property-import-table-v221 td {
    padding: 8px;
    border-bottom: 1px solid #e7edf6;
    vertical-align: top;
}
.property-import-table-v221 th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8fafc;
    color: #0f172a;
    text-align: left;
    font-weight: 850;
}
.property-import-table-v221 input,
.property-import-table-v221 select {
    width: 100%;
    min-height: 32px;
    padding: 6px 8px;
    border: 1px solid #cfd9e8;
    border-radius: 9px;
    background: #fff;
    color: #0f172a;
    font-size: 12px;
}
.property-import-flags-v221 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
    min-width: 220px;
}
.property-import-flags-v221 label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}
.property-import-flags-v221 input[type="checkbox"] {
    width: auto;
    min-height: 0;
}
.property-import-status-v221 {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eef3ff;
    color: #1d3c8f;
    font-weight: 800;
    white-space: nowrap;
}
.property-import-result-grid-v221 {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 10px;
    margin: 12px 0;
}
.property-import-result-grid-v221 span {
    padding: 14px;
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #f8fafc;
}
.property-import-result-grid-v221 b {
    display: block;
    font-size: 24px;
    color: #0f172a;
}
@media (max-width: 920px) {
    .property-import-head-v221 { align-items: flex-start; flex-direction: column; }
    .property-import-result-grid-v221 { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
}


.property-import-progress-v222 {
    display: grid;
    gap: 7px;
    max-width: 620px;
    padding: 10px 12px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
}
.property-import-progress-bar-v222 {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7edf6;
}
.property-import-progress-bar-v222 span {
    display: block;
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: #315cf6;
    transition: width .18s ease;
}
.property-import-progress-v222 small {
    color: #607086;
    font-weight: 650;
}

/* v2.1.0 — sidebar accordéon propre et aperçu au survol. */
@media (min-width: 921px) {
    body:not(.sidebar-collapsed) .sidebar {
        overflow: visible;
    }
    body:not(.sidebar-collapsed) .nav-main {
        overflow-y: auto;
        overflow-x: visible;
    }
    body:not(.sidebar-collapsed) .nav-group.is-hover-preview-v210 {
        position: relative;
        z-index: 80;
    }
    body:not(.sidebar-collapsed) .nav-group.is-hover-preview-v210 > .nav-group-summary {
        background: var(--brand-soft);
        color: var(--brand);
        border-color: rgba(47, 91, 255, .16);
    }
    body:not(.sidebar-collapsed) .nav-group.is-hover-preview-v210 > .nav-subnav[data-flyout-title] {
        position: fixed;
        left: calc(var(--sidebar-width) + 10px);
        top: var(--sidebar-hover-top-v210, 96px);
        display: grid;
        width: 262px;
        max-height: min(560px, calc(100vh - 80px));
        overflow: auto;
        padding: 38px 8px 8px;
        border: 1px solid var(--border-soft);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 24px 60px rgba(15, 23, 42, .16);
        z-index: 9000;
    }
    body:not(.sidebar-collapsed) .nav-group.is-hover-preview-v210 > .nav-subnav[data-flyout-title]::before {
        content: attr(data-flyout-title);
        position: absolute;
        top: 10px;
        left: 12px;
        right: 12px;
        color: var(--text-main);
        font-size: 12px;
        line-height: 16px;
        font-weight: 900;
    }
    body:not(.sidebar-collapsed) .nav-group.is-hover-preview-v210 > .nav-subnav[data-flyout-title]::after {
        content: '';
        position: fixed;
        left: var(--sidebar-width);
        top: var(--sidebar-hover-top-v210, 96px);
        width: 14px;
        height: 48px;
    }
}

/* v2.1.0 — topbar nettoyée : pas de doublon comptes, application directe, réglages plus sobres. */
.app-topbar-settings-v210 svg {
    width: 19px;
    height: 19px;
}
.app-topbar-scope-pill-v2016 {
    display: none !important;
}

/* v2.1.1 — navigation latérale : ouverture persistante dans le volet + 3e niveau en panneau propre. */
.nav-group-title-link-v211 {
    color: inherit;
    text-decoration: none;
    min-width: 0;
    flex: 1 1 auto;
}
.nav-group-title-link-v211:hover,
.nav-group-title-link-v211.active {
    color: var(--brand);
}
@media (min-width: 921px) {
    body:not(.sidebar-collapsed) .nav-group:not(.is-hover-preview-v210)[open] > .nav-subnav[data-flyout-title] {
        position: static;
        display: grid;
        width: auto;
        max-height: none;
        overflow: visible;
        padding: 4px 6px 10px 48px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        z-index: auto;
    }
    body:not(.sidebar-collapsed) .nav-group:not(.is-hover-preview-v210)[open] > .nav-subnav[data-flyout-title]::before,
    body:not(.sidebar-collapsed) .nav-group:not(.is-hover-preview-v210)[open] > .nav-subnav[data-flyout-title]::after {
        content: none;
        display: none;
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 {
        position: relative;
        overflow: visible;
        border: 0;
        border-radius: 9px;
        background: transparent;
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 > .nav-subgroup-summary {
        min-height: 31px;
        padding: 6px 9px;
        border-radius: 9px;
        color: var(--text-secondary);
        font-size: 13px;
        line-height: 17px;
        font-weight: 760;
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 > .nav-subgroup-summary:hover,
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211[open] > .nav-subgroup-summary,
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211:focus-within > .nav-subgroup-summary {
        background: rgba(238, 243, 255, .95);
        color: var(--brand);
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 > .nav-subnav-nested[data-flyout-title] {
        display: none;
        position: fixed;
        left: calc(var(--sidebar-width) + 10px);
        top: var(--sidebar-nested-top-v211, 120px);
        width: 260px;
        max-height: min(430px, calc(100vh - 88px));
        overflow: auto;
        padding: 38px 8px 8px;
        border: 1px solid var(--border-soft);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 24px 60px rgba(15, 23, 42, .16);
        z-index: 9100;
    }
    body:not(.sidebar-collapsed) .nav-group.is-hover-preview-v210 .nav-subgroup-flyout-v211 > .nav-subnav-nested[data-flyout-title] {
        left: calc(var(--sidebar-width) + 284px);
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211[open] > .nav-subnav-nested[data-flyout-title],
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211:hover > .nav-subnav-nested[data-flyout-title],
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211:focus-within > .nav-subnav-nested[data-flyout-title] {
        display: grid;
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 > .nav-subnav-nested[data-flyout-title]::before {
        content: attr(data-flyout-title);
        position: absolute;
        top: 10px;
        left: 12px;
        right: 12px;
        color: var(--text-main);
        font-size: 12px;
        line-height: 16px;
        font-weight: 900;
    }
    body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 .nav-link-nested {
        min-height: 31px;
        padding: 7px 9px;
        border-radius: 9px;
        font-size: 12.5px;
        line-height: 16px;
    }
}

/* v2.1.2 — le lien titre supprimé du groupe Activités laisse tout le résumé cliquable. */
.nav-group-label.active {
    color: var(--brand);
}

/* v2.1.3 — sidebar : sous-menus plus lisibles, moins décalés, et niveau 3 plus naturel. */
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav {
    padding: 4px 5px 8px;
    gap: 2px;
}
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav > .nav-link-sub {
    min-height: 31px;
    padding: 6px 8px;
    font-size: 13px;
    line-height: 18px;
}
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav > .nav-subgroup-flyout-v211 {
    margin: 1px 0;
}
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav > .nav-subgroup-flyout-v211 > .nav-subgroup-summary {
    min-height: 31px;
    padding: 6px 8px;
    font-size: 13px;
    line-height: 18px;
    cursor: pointer;
}
body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211 > .nav-subgroup-summary {
    outline-offset: 2px;
}
body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211[open] > .nav-subgroup-summary,
body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211.is-open > .nav-subgroup-summary {
    background: rgba(238, 243, 255, .95);
    color: var(--brand);
}
body:not(.sidebar-collapsed) .nav-group:not(.is-hover-preview-v210)[open] > .nav-subnav[data-flyout-title] {
    max-width: 100%;
}

/* v2.1.6 — sous-menus plus lisibles + zoom utilisateur intégré à la topbar. */
:root {
    --app-user-zoom: 1;
}

body.body-mode-app .app-shell {
    zoom: var(--app-user-zoom);
}

@supports not (zoom: 1) {
    body.body-mode-app .app-shell {
        transform: scale(var(--app-user-zoom));
        transform-origin: 0 0;
        width: calc(100% / var(--app-user-zoom));
        min-height: calc(100vh / var(--app-user-zoom));
    }
}

body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav[data-flyout-title] {
    padding-left: 8px !important;
    padding-right: 6px !important;
}
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav > .nav-link-sub {
    padding-left: 9px !important;
    padding-right: 9px !important;
    width: 100%;
}
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) > .nav-subnav > .nav-subgroup-flyout-v211 > .nav-subgroup-summary {
    padding-left: 9px !important;
    padding-right: 9px !important;
}
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) .nav-link-sub,
body:not(.sidebar-collapsed) .nav-group[open]:not(.is-hover-preview-v210) .nav-subgroup-summary {
    text-indent: 0;
}

.app-user-zoom-v216 {
    height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
.app-user-zoom-button-v216,
.app-user-zoom-value-v216 {
    height: 26px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #516173;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 850;
    line-height: 1;
}
.app-user-zoom-button-v216 {
    width: 26px;
    font-size: 15px;
}
.app-user-zoom-value-v216 {
    min-width: 52px;
    padding: 0 8px;
    font-size: 11px;
    letter-spacing: .01em;
}
.app-user-zoom-button-v216:hover,
.app-user-zoom-value-v216:hover,
.app-user-zoom-button-v216:focus-visible,
.app-user-zoom-value-v216:focus-visible {
    background: #eef3ff;
    color: #315cf6;
    outline: none;
}
.app-user-zoom-value-v216:focus-visible,
.app-user-zoom-button-v216:focus-visible {
    box-shadow: 0 0 0 2px rgba(49, 92, 246, .22);
}
.brand-logo-icon {
    border-radius: 12px;
}
@media (max-width: 1180px) {
    .app-user-zoom-v216 {
        gap: 1px;
    }
    .app-user-zoom-value-v216 {
        min-width: 44px;
        padding: 0 6px;
    }
}
@media (max-width: 920px) {
    .app-user-zoom-v216 {
        display: none;
    }
}


/* v2.2.1 — affichage jour/nuit local et corrections topbar. */
.app-topbar-action-v2015.app-topbar-theme-toggle-v221 {
    border: 1px solid rgba(196,206,218,.82);
    background: #fff;
    color: #516173;
    cursor: pointer;
}
.app-topbar-theme-toggle-v221 .app-theme-icon-v221,
.app-topbar-settings-v210 svg {
    width: 18px;
    height: 18px;
    display: inline-flex;
}
.app-topbar-theme-toggle-v221 .app-theme-icon-sun-v221 {
    display: none;
}
html.app-theme-dark-v221 .app-topbar-theme-toggle-v221 .app-theme-icon-moon-v221 {
    display: none;
}
html.app-theme-dark-v221 .app-topbar-theme-toggle-v221 .app-theme-icon-sun-v221 {
    display: inline-flex;
}

html.app-theme-dark-v221 {
    --bg-app: #0B1120;
    --bg-surface: #111827;
    --bg-muted: #172033;
    --border-soft: #273349;
    --border-strong: #334155;
    --text-main: #E5ECF7;
    --text-secondary: #B7C3D7;
    --text-muted: #8DA0B8;
    --text-inverse: #0B1120;
    --brand: #7EA1FF;
    --brand-hover: #A9BEFF;
    --brand-soft: rgba(126,161,255,.16);
    --accent: #4CCDC2;
    --accent-soft: rgba(76,205,194,.14);
    --brand-primary: #7EA1FF;
    --brand-primary-soft: rgba(126,161,255,.16);
    --surface-subtle: #172033;
    --surface-0: #111827;
    --surface-secondary: #0F172A;
    --text-primary: #E5ECF7;
    --accent-secondary: #4CCDC2;
    --shadow-soft: 0 10px 28px rgba(0, 0, 0, .28);
}

html.app-theme-dark-v221 body.body-mode-app {
    background: #0B1120;
    color: var(--text-main);
}
html.app-theme-dark-v221 .body-mode-app .main-content,
html.app-theme-dark-v221 .body-mode-app .app-shell {
    background: #0B1120;
}
html.app-theme-dark-v221 .body-mode-app .sidebar,
html.app-theme-dark-v221 .app-fixed-topbar-v2015,
html.app-theme-dark-v221 .app-topbar-dropdown-v2015,
html.app-theme-dark-v221 .app-global-search-v1621,
html.app-theme-dark-v221 .app-global-search-panel-v1621,
html.app-theme-dark-v221 .global-search-group-v1621,
html.app-theme-dark-v221 .panel,
html.app-theme-dark-v221 .card,
html.app-theme-dark-v221 .admin-card,
html.app-theme-dark-v221 .platform-admin-card-v180,
html.app-theme-dark-v221 .empty-state-v1621,
html.app-theme-dark-v221 .crm-card,
html.app-theme-dark-v221 .table-card,
html.app-theme-dark-v221 .modal,
html.app-theme-dark-v221 .dialog,
html.app-theme-dark-v221 .signature-preview-dialog-v163 {
    background: #111827;
    border-color: #273349;
    color: var(--text-main);
    box-shadow: 0 18px 46px rgba(0,0,0,.28);
}
html.app-theme-dark-v221 .body-mode-app .nav-group,
html.app-theme-dark-v221 body.sidebar-collapsed .nav-subnav[data-flyout-title],
html.app-theme-dark-v221 body.sidebar-collapsed [data-sidebar-item-label]:hover::after,
html.app-theme-dark-v221 body.sidebar-collapsed [data-sidebar-item-label]:focus-visible::after,
html.app-theme-dark-v221 body.sidebar-collapsed .nav-subgroup,
html.app-theme-dark-v221 .sidebar-user-mini-v164,
html.app-theme-dark-v221 .app-user-zoom-v216,
html.app-theme-dark-v221 .app-topbar-action-v2015,
html.app-theme-dark-v221 .app-topbar-round-action-v2015,
html.app-theme-dark-v221 .app-topbar-theme-toggle-v221,
html.app-theme-dark-v221 .global-search-group-head-v1621,
html.app-theme-dark-v221 .mail-panel,
html.app-theme-dark-v221 .form-card,
html.app-theme-dark-v221 .settings-card,
html.app-theme-dark-v221 .object-card,
html.app-theme-dark-v221 .property-card {
    background: #172033;
    border-color: #273349;
    color: var(--text-main);
    box-shadow: 0 12px 32px rgba(0,0,0,.22);
}
html.app-theme-dark-v221 .body-mode-app .nav-group[open],
html.app-theme-dark-v221 .body-mode-app .nav-group.is-active,
html.app-theme-dark-v221 body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211[open] > .nav-subgroup-summary,
html.app-theme-dark-v221 body:not(.sidebar-collapsed) .nav-subgroup-flyout-v211.is-open > .nav-subgroup-summary,
html.app-theme-dark-v221 .nav-link.active,
html.app-theme-dark-v221 .nav-link:hover,
html.app-theme-dark-v221 .app-user-zoom-button-v216:hover,
html.app-theme-dark-v221 .app-user-zoom-value-v216:hover {
    background: rgba(126,161,255,.16);
    color: var(--brand);
}
html.app-theme-dark-v221 .app-global-search-v1621 input[type="search"],
html.app-theme-dark-v221 input,
html.app-theme-dark-v221 select,
html.app-theme-dark-v221 textarea {
    background: #0F172A;
    color: var(--text-main);
    border-color: #334155;
}
html.app-theme-dark-v221 .app-global-search-v1621 input[type="search"] {
    background: transparent;
}
html.app-theme-dark-v221 .app-global-search-v1621 input[type="search"]::placeholder,
html.app-theme-dark-v221 input::placeholder,
html.app-theme-dark-v221 textarea::placeholder {
    color: #7E8FA8;
}
html.app-theme-dark-v221 table,
html.app-theme-dark-v221 th,
html.app-theme-dark-v221 td,
html.app-theme-dark-v221 .table-row,
html.app-theme-dark-v221 .global-search-result-row-v1621 {
    border-color: #273349;
}
html.app-theme-dark-v221 th,
html.app-theme-dark-v221 thead,
html.app-theme-dark-v221 .table-head {
    background: #172033;
    color: var(--text-secondary);
}
html.app-theme-dark-v221 .button.button-secondary,
html.app-theme-dark-v221 button.button-secondary {
    background: #172033;
    border-color: #334155;
    color: var(--text-main);
}
html.app-theme-dark-v221 .flash,
html.app-theme-dark-v221 code {
    background: #172033;
    border-color: #273349;
    color: var(--text-main);
}
html.app-theme-dark-v221 .public-footer-logo,
html.app-theme-dark-v221 .brand-logo {
    filter: none;
}
@media (max-width: 920px) {
    .app-topbar-theme-toggle-v221 {
        display: inline-flex;
    }
}

/* v2.2.4 — identité Linkelia stricte : logo + wordmark privés, identiques partout */
.sidebar-topbar .brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    overflow: hidden;
    flex: 1 1 auto;
}
.brand-logo-sidebar-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: block;
    object-fit: contain;
    border-radius: 12px;
}
.brand-logo-sidebar-wordmark {
    width: 132px;
    height: auto;
    max-height: 32px;
    display: block;
    object-fit: contain;
}
.login-brand-v160 img,
.body-mode-auth .guest-logo,
.body-mode-auth .auth-logo {
    width: min(300px, 82vw);
    max-width: 100%;
    height: auto;
}
.login-brand-v160 {
    margin-bottom: 18px;
}
@media (min-width: 921px) {
    body.sidebar-collapsed .sidebar-topbar .brand {
        width: 38px;
        flex: 0 0 38px;
        justify-content: center;
        gap: 0;
    }
    body.sidebar-collapsed .brand-logo-sidebar-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }
    body.sidebar-collapsed .brand-logo-sidebar-wordmark {
        display: none;
    }
}
@media (max-width: 920px) {
    .sidebar-topbar .brand {
        flex: 1 1 auto;
        justify-content: flex-start;
    }
    .brand-logo-sidebar-wordmark {
        width: 146px;
    }
}

/* v2.2.5 — correction stricte logo retenu : extraction exacte depuis le PNG validé, wordmark plus compact. */
.sidebar-topbar {
    gap: 8px;
}
.sidebar-topbar .brand {
    max-width: calc(100% - 46px);
    min-width: 0;
    gap: 8px;
    flex: 1 1 auto;
}
.sidebar-desktop-toggle {
    flex: 0 0 34px;
}
.brand-logo-sidebar-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 0;
    object-fit: contain;
}
.brand-logo-sidebar-wordmark {
    width: 114px;
    max-width: calc(100% - 40px);
    max-height: 27px;
    object-fit: contain;
    object-position: left center;
}
.login-brand-v160 img,
.body-mode-auth .guest-logo,
.body-mode-auth .auth-logo,
.public-brand-logo,
.public-footer-logo {
    width: min(280px, 78vw);
    max-height: 92px;
    object-fit: contain;
}
@media (min-width: 921px) {
    body.sidebar-collapsed .sidebar-topbar .brand {
        width: 36px;
        flex: 0 0 36px;
    }
    body.sidebar-collapsed .brand-logo-sidebar-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
}
@media (max-width: 920px) {
    .sidebar-topbar .brand {
        max-width: calc(100% - 48px);
        gap: 7px;
    }
    .brand-logo-sidebar-icon {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }
    .brand-logo-sidebar-wordmark {
        width: 108px;
        max-height: 25px;
    }
}

/* Linkelia v2.4.5 — barre supérieure plus compacte et plus visuelle. */
:root {
    --app-topbar-height-v2015: 50px;
}
.body-mode-app .main-content {
    padding-top: calc(var(--app-topbar-height-v2015) + 12px);
}
.app-fixed-topbar-v2015 {
    height: var(--app-topbar-height-v2015);
    padding: 0 14px;
    gap: 10px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96));
    border-bottom-color: rgba(211, 222, 238, .84);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .065);
    backdrop-filter: blur(12px);
}
.app-topbar-left-v2015 { gap: 7px; }
.app-global-search-topbar-v2015.app-global-search-v1621 {
    width: min(390px, 30vw);
    min-width: 260px;
    height: 34px;
    min-height: 34px;
    grid-template-columns: 22px minmax(0, 1fr) 28px 28px;
    padding: 0 4px 0 10px;
    border-radius: 16px;
    background: rgba(255,255,255,.84);
    border-color: rgba(200, 213, 232, .95);
}
.app-global-search-topbar-v2015.app-global-search-v1621:focus-within {
    border-color: rgba(48,88,255,.45);
    box-shadow: 0 0 0 3px rgba(48,88,255,.10), 0 10px 24px rgba(15,23,42,.08);
}
.app-global-search-topbar-v2015 input[type="search"] {
    height: 30px;
    font-size: 13px;
    font-weight: 750;
}
.app-global-search-topbar-v2015 .app-global-search-filter-toggle-v2013,
.app-global-search-topbar-v2015 .app-global-search-submit-v1621 {
    width: 26px;
    height: 26px;
    border-radius: 9px;
}
.app-topbar-round-action-v2015,
.app-topbar-action-v2015,
.app-topbar-menu-v2015 > summary {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 11px;
}
.app-topbar-round-action-v2015 {
    border-color: rgba(200,213,232,.95);
    background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(242,247,255,.90));
}
.app-topbar-actions-v2015 { gap: 6px; }
.app-topbar-icon-group-v2016 { gap: 3px; }
.app-topbar-assistant-v2015 {
    min-height: 32px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(124,44,255,.08), rgba(16,198,219,.08));
    border-color: rgba(124,44,255,.12);
}

/* Linkelia v2.4.7 — topbar applicative plus lisible et moins serrée. */
.app-fixed-topbar-v2015 {
    background:
        radial-gradient(circle at 18% 50%, rgba(48,88,255,.08), transparent 28%),
        radial-gradient(circle at 68% 50%, rgba(16,198,219,.075), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.985), rgba(247,250,255,.965));
    box-shadow: 0 8px 24px rgba(15,23,42,.07);
}
.app-global-search-topbar-v2015.app-global-search-v1621 {
    width: min(460px, 34vw);
    min-width: 300px;
    border-radius: 15px;
    background: rgba(255,255,255,.92);
}
.app-topbar-round-action-v2015,
.app-topbar-action-v2015,
.app-topbar-menu-v2015 > summary,
.app-topbar-assistant-v2015,
.app-topbar-user-button-v2016 {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 6px 16px rgba(15,23,42,.045);
}
.app-topbar-round-action-v2015:hover,
.app-topbar-action-v2015:hover,
.app-topbar-menu-v2015 > summary:hover {
    background: linear-gradient(135deg, rgba(48,88,255,.08), rgba(16,198,219,.08));
    border-color: rgba(48,88,255,.22);
}

/* v2.4.20 — Prévisualisation d’import propriétés plus compacte et lisible. */
.property-import-summary-v215 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.property-import-summary-v215 span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    font-weight: 750;
}
.property-import-summary-v215 b {
    font-size: 16px;
    color: #0f172a;
}
.property-import-preview-v221 {
    padding: 14px;
}
.property-import-preview-v221 form > .button {
    margin: 4px 0 10px;
}
.property-import-table-wrap-v221 {
    max-height: calc(100vh - 250px);
    border-radius: 16px;
}
.property-import-table-v221 {
    min-width: 1180px;
    table-layout: fixed;
    font-size: 11.5px;
}
.property-import-table-v221 th,
.property-import-table-v221 td {
    padding: 6px;
    vertical-align: middle;
}
.property-import-table-v221 th:nth-child(1),
.property-import-table-v221 td:nth-child(1) { width: 78px; }
.property-import-table-v221 th:nth-child(2),
.property-import-table-v221 td:nth-child(2) { width: 116px; }
.property-import-table-v221 th:nth-child(3),
.property-import-table-v221 td:nth-child(3) { width: 190px; }
.property-import-table-v221 th:nth-child(4),
.property-import-table-v221 td:nth-child(4) { width: 190px; }
.property-import-table-v221 th:nth-child(5),
.property-import-table-v221 td:nth-child(5) { width: 92px; }
.property-import-table-v221 th:nth-child(6),
.property-import-table-v221 td:nth-child(6) { width: 180px; }
.property-import-table-v221 th:nth-child(7),
.property-import-table-v221 td:nth-child(7) { width: 120px; }
.property-import-table-v221 th:nth-child(8),
.property-import-table-v221 td:nth-child(8) { width: 180px; }
.property-import-table-v221 th:nth-child(9),
.property-import-table-v221 td:nth-child(9) { width: 126px; }
.property-import-table-v221 th:nth-child(10),
.property-import-table-v221 td:nth-child(10) { width: 110px; }
.property-import-table-v221 input,
.property-import-table-v221 select {
    min-height: 29px;
    padding: 5px 7px;
    border-radius: 8px;
    font-size: 11.5px;
}
.property-import-access-v215 details,
.property-import-flags-v221 details {
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #f8fafc;
}
.property-import-access-v215 summary,
.property-import-flags-v221 summary {
    cursor: pointer;
    padding: 6px 8px;
    color: #334155;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.property-import-access-v215 details[open],
.property-import-flags-v221 details[open] {
    position: relative;
    z-index: 3;
    background: #fff;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
}
.property-import-access-v215 details[open] select {
    margin: 4px 6px 6px;
    width: calc(100% - 12px);
}
.property-import-flags-v221 {
    min-width: 0;
    display: block;
}
.property-import-flags-v221 details > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 6px;
    padding: 0 8px 8px;
}
.property-import-flags-v221 label {
    font-size: 11px;
}
.property-import-status-v221 {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 4px 7px;
    font-size: 11px;
}


/* v2.4.20 — Import propriétés : interface française, réglages lisibles et contrôle compact. */
.property-import-form-v221 > label,
.property-import-form-v221 .form-field label {
    color: #1f2a3d;
    font-weight: 800;
}
.property-import-help-grid-v216 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 2px 0 4px;
}
.property-import-help-grid-v216 p {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-size: 12.5px;
    line-height: 1.35;
}
.property-import-help-grid-v216 strong {
    color: #0f172a;
}
.property-import-preview-v221 .muted {
    max-width: 980px;
}
.property-import-table-v221 tbody tr:hover {
    background: #fbfdff;
}
.property-import-table-v221 td {
    position: relative;
}
.property-import-options-v216 details {
    position: relative;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #f8fafc;
}
.property-import-options-v216 summary {
    cursor: pointer;
    padding: 6px 8px;
    color: #334155;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.property-import-options-v216 details[open] {
    z-index: 20;
    background: #fff;
    border-color: #bfccdc;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
}
.property-import-options-v216 details > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 0 8px 8px;
}
.property-import-options-v216 details[open] > div {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    width: 260px;
    padding: 10px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .16);
}
.property-import-options-v216 label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #334155;
    font-size: 11.5px;
    line-height: 1.25;
}
.property-import-options-v216 input[type="checkbox"] {
    width: auto;
    min-height: 0;
}
.property-import-table-v221 th:nth-child(9),
.property-import-table-v221 td:nth-child(9) { width: 145px; }
@media (max-width: 920px) {
    .property-import-help-grid-v216 { grid-template-columns: 1fr; }
}

/* v2.4.20 — import des propriétés : affichage plus clair et entièrement francisé. */
.property-import-config-v217 .form-grid.two-columns {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    max-width: 1180px;
}
.property-import-config-v217 .form-field select,
.property-import-config-v217 .form-field input {
    min-height: 48px;
}
.property-import-help-grid-v217 {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 12px;
    margin: 16px 0 18px;
    max-width: 1180px;
}
.property-import-help-grid-v217 div {
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid #dbe6f4;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.property-import-help-grid-v217 strong {
    font-size: .92rem;
    color: #0f172a;
}
.property-import-help-grid-v217 span {
    color: #64748b;
    font-size: .88rem;
    line-height: 1.35;
}
.property-import-table-wrap-v217 {
    max-height: 62vh;
    overflow: auto;
    border: 1px solid #dbe6f4;
    border-radius: 18px;
    background: #fff;
}
.property-import-table-v217 {
    min-width: 1380px;
    border-spacing: 0;
}
.property-import-table-v217 thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fbff;
    color: #334155;
    font-size: .74rem;
    letter-spacing: .01em;
    border-bottom: 1px solid #dbe6f4;
}
.property-import-table-v217 th,
.property-import-table-v217 td {
    padding: 10px 9px;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f8;
}
.property-import-table-v217 tbody tr:hover {
    background: #fbfdff;
}
.property-import-table-v217 th:nth-child(1),
.property-import-table-v217 td:nth-child(1) { width: 92px; }
.property-import-table-v217 th:nth-child(2),
.property-import-table-v217 td:nth-child(2) { width: 118px; }
.property-import-table-v217 th:nth-child(3),
.property-import-table-v217 td:nth-child(3) { width: 260px; }
.property-import-table-v217 th:nth-child(4),
.property-import-table-v217 td:nth-child(4) { width: 210px; }
.property-import-table-v217 th:nth-child(5),
.property-import-table-v217 td:nth-child(5) { width: 190px; }
.property-import-table-v217 th:nth-child(6),
.property-import-table-v217 td:nth-child(6) { width: 210px; }
.property-import-table-v217 th:nth-child(7),
.property-import-table-v217 td:nth-child(7) { width: 150px; }
.property-import-table-v217 th:nth-child(8),
.property-import-table-v217 td:nth-child(8) { width: 105px; }
.property-import-table-v217 input,
.property-import-table-v217 select {
    width: 100%;
    min-height: 34px;
    border-radius: 10px;
    border: 1px solid #dbe6f4;
    background: #fff;
    font-size: .82rem;
}
.property-import-main-cell-v217 {
    display: grid;
    gap: 6px;
}
.property-import-main-cell-v217 input:nth-child(2) {
    color: #64748b;
    background: #f8fbff;
}
.property-import-access-v217 details,
.property-import-options-v217 details {
    position: relative;
    border: 1px solid #dbe6f4;
    border-radius: 12px;
    background: #f8fbff;
}
.property-import-access-v217 summary,
.property-import-options-v217 summary {
    cursor: pointer;
    padding: 8px 10px;
    font-weight: 700;
    font-size: .78rem;
    color: #334155;
    list-style: none;
}
.property-import-access-v217 summary::-webkit-details-marker,
.property-import-options-v217 summary::-webkit-details-marker {
    display: none;
}
.property-import-access-v217 summary::before,
.property-import-options-v217 summary::before {
    content: "›";
    display: inline-block;
    margin-right: 6px;
    transform: rotate(0deg);
    transition: transform .15s ease;
}
.property-import-access-v217 details[open] summary::before,
.property-import-options-v217 details[open] summary::before {
    transform: rotate(90deg);
}
.property-import-access-v217 details[open],
.property-import-options-v217 details[open] {
    z-index: 4;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .12);
    background: #fff;
}
.property-import-access-v217 details > div,
.property-import-options-panel-v217 {
    display: grid;
    gap: 10px;
    padding: 10px;
    border-top: 1px solid #e8eef7;
}
.property-import-access-v217 label {
    display: grid;
    gap: 4px;
    color: #64748b;
    font-size: .74rem;
    font-weight: 700;
}
.property-import-options-panel-v217 fieldset {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 9px;
    border: 1px solid #e8eef7;
    border-radius: 12px;
    background: #fbfdff;
}
.property-import-options-panel-v217 legend {
    padding: 0 6px;
    color: #334155;
    font-size: .74rem;
    font-weight: 800;
}
.property-import-options-panel-v217 label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #334155;
    font-size: .78rem;
    line-height: 1.25;
}
.property-import-options-panel-v217 input[type="checkbox"] {
    width: 15px;
    min-height: 15px;
    flex: 0 0 auto;
}
@media (max-width: 920px) {
    .property-import-config-v217 .form-grid.two-columns,
    .property-import-help-grid-v217 {
        grid-template-columns: 1fr;
    }
}

/* v2.4.20 — Import propriétés : navigation claire, contrôle compact et responsive. */
.property-import-shell-v218 {
    gap: 12px;
}
.property-import-head-v218 {
    padding: 13px 16px;
    border-radius: 18px;
}
.property-import-head-v218 h1 {
    font-size: 21px;
}
.property-import-steps-v218 {
    align-items: center;
}
.property-import-step-v218 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 14px;
    border: 1px solid #dbe6f4;
    border-radius: 999px;
    background: #fff;
    color: #526179;
    font-weight: 800;
    text-decoration: none;
    transition: transform .14s ease, border-color .14s ease, background .14s ease;
}
.property-import-step-v218[href]:hover {
    transform: translateY(-1px);
    border-color: #b7c7ff;
    background: #f8fbff;
}
.property-import-step-v218.active {
    color: #0f172a;
    border-color: #b8c7ff;
    background: #eef3ff;
}
.property-import-step-v218.disabled {
    opacity: .52;
    cursor: not-allowed;
}
.property-import-config-v218 .form-grid.two-columns {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    max-width: 1040px;
}
.property-import-config-v218 .form-field select,
.property-import-config-v218 .form-field input {
    min-height: 44px;
}
.property-import-help-grid-v218 {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 8px;
    max-width: 1040px;
    margin: 6px 0 8px;
}
.property-import-help-grid-v218 p {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #dbe6f4;
    border-radius: 14px;
    background: #f8fbff;
    color: #526179;
    font-size: .86rem;
    line-height: 1.32;
}
.property-import-help-grid-v218 strong {
    color: #0f172a;
}
.property-import-preview-v218 {
    padding: 12px;
}
.property-import-toolbar-v218 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.property-import-summary-v218 {
    margin-top: 0;
}
.property-import-table-wrap-v218 {
    max-height: calc(100vh - 265px);
    overflow: auto;
    border: 1px solid #dbe6f4;
    border-radius: 16px;
    background: #fff;
}
.property-import-table-v218 {
    min-width: 1240px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 12px;
}
.property-import-table-v218 thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    padding: 8px 9px;
    background: #f8fbff;
    border-bottom: 1px solid #dbe6f4;
    color: #334155;
    font-size: .74rem;
    font-weight: 850;
}
.property-import-table-v218 tbody td {
    padding: 7px 8px;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f8;
    background: #fff;
}
.property-import-table-v218 tbody tr:nth-child(even) td {
    background: #fcfdff;
}
.property-import-table-v218 tbody tr:hover td {
    background: #f4f8ff;
}
.property-import-table-v218 th:nth-child(1),
.property-import-table-v218 td:nth-child(1) { width: 88px; }
.property-import-table-v218 th:nth-child(2),
.property-import-table-v218 td:nth-child(2) { width: 110px; }
.property-import-table-v218 th:nth-child(3),
.property-import-table-v218 td:nth-child(3) { width: 250px; }
.property-import-table-v218 th:nth-child(4),
.property-import-table-v218 td:nth-child(4) { width: 140px; }
.property-import-table-v218 th:nth-child(5),
.property-import-table-v218 td:nth-child(5) { width: 145px; }
.property-import-table-v218 th:nth-child(6),
.property-import-table-v218 td:nth-child(6) { width: 190px; }
.property-import-table-v218 th:nth-child(7),
.property-import-table-v218 td:nth-child(7) { width: 210px; }
.property-import-table-v218 th:nth-child(8),
.property-import-table-v218 td:nth-child(8) { width: 150px; }
.property-import-table-v218 th:nth-child(9),
.property-import-table-v218 td:nth-child(9) { width: 110px; }
.property-import-table-v218 input,
.property-import-table-v218 select {
    width: 100%;
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid #dbe6f4;
    border-radius: 9px;
    background: #fff;
    color: #0f172a;
    font-size: .8rem;
}
.property-import-property-cell-v218 {
    display: grid;
    gap: 5px;
}
.property-import-property-cell-v218 input:nth-child(2) {
    color: #64748b;
    background: #f8fbff;
    font-size: .76rem;
}
.property-import-access-v218 details,
.property-import-options-v218 details {
    position: relative;
    border: 1px solid #dbe6f4;
    border-radius: 11px;
    background: #f8fbff;
}
.property-import-access-v218 summary,
.property-import-options-v218 summary {
    display: block;
    cursor: pointer;
    padding: 7px 9px;
    overflow: hidden;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
    text-overflow: ellipsis;
    list-style: none;
}
.property-import-access-v218 summary::-webkit-details-marker,
.property-import-options-v218 summary::-webkit-details-marker {
    display: none;
}
.property-import-access-v218 summary::before,
.property-import-options-v218 summary::before {
    content: "›";
    display: inline-block;
    margin-right: 6px;
    transition: transform .15s ease;
}
.property-import-access-v218 details[open] summary::before,
.property-import-options-v218 details[open] summary::before {
    transform: rotate(90deg);
}
.property-import-access-v218 details[open],
.property-import-options-v218 details[open] {
    z-index: 20;
    background: #fff;
    border-color: #c7d2e3;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .14);
}
.property-import-access-v218 details > div,
.property-import-options-panel-v218 {
    display: grid;
    gap: 8px;
    padding: 9px;
    border-top: 1px solid #e8eef7;
}
.property-import-access-v218 label {
    display: grid;
    gap: 4px;
    color: #64748b;
    font-size: .73rem;
    font-weight: 750;
}
.property-import-options-panel-v218 {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    width: 300px;
    max-width: min(300px, calc(100vw - 36px));
    background: #fff;
    border: 1px solid #dbe6f4;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
}
.property-import-options-panel-v218 fieldset {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 8px 9px;
    border: 1px solid #e8eef7;
    border-radius: 12px;
    background: #fbfdff;
}
.property-import-options-panel-v218 legend {
    padding: 0 5px;
    color: #334155;
    font-size: .72rem;
    font-weight: 850;
}
.property-import-options-panel-v218 label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #334155;
    font-size: .78rem;
    line-height: 1.24;
}
.property-import-options-panel-v218 input[type="checkbox"] {
    width: 15px;
    min-height: 15px;
    flex: 0 0 auto;
}
@media (max-width: 980px) {
    .property-import-config-v218 .form-grid.two-columns,
    .property-import-help-grid-v218 {
        grid-template-columns: 1fr;
    }
    .property-import-table-wrap-v218 {
        max-height: none;
        overflow: visible;
        border: 0;
    }
    .property-import-table-v218 {
        min-width: 0;
        width: 100%;
        display: block;
        border-collapse: separate;
    }
    .property-import-table-v218 thead {
        display: none;
    }
    .property-import-table-v218 tbody,
    .property-import-table-v218 tr,
    .property-import-table-v218 td {
        display: block;
        width: 100% !important;
    }
    .property-import-table-v218 tr {
        margin: 0 0 12px;
        border: 1px solid #dbe6f4;
        border-radius: 16px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    }
    .property-import-table-v218 tbody td {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        padding: 8px 10px;
        border-bottom: 1px solid #edf2f8;
    }
    .property-import-table-v218 tbody td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: .72rem;
        font-weight: 850;
        text-transform: none;
    }
    .property-import-access-v218 details,
    .property-import-options-v218 details,
    .property-import-options-panel-v218 {
        position: static;
        width: 100%;
        max-width: 100%;
        box-shadow: none;
    }
}

/* v2.4.20 — Import propriétés : volets flottants compacts pour l'accès et les options. */
.property-import-table-v218 tbody td {
    overflow: visible;
}
.property-import-access-v219,
.property-import-options-v219 {
    position: relative;
}
.property-import-access-v219 details,
.property-import-options-v219 details {
    max-width: 100%;
}
.property-import-access-v219 details[open],
.property-import-options-v219 details[open] {
    z-index: 70;
}
.property-import-access-v219 .property-import-access-panel-v219 {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    width: 340px;
    max-width: min(340px, calc(100vw - 36px));
    display: grid;
    gap: 9px;
    padding: 10px;
    border: 1px solid #dbe6f4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
}
.property-import-access-v219 .property-import-access-panel-v219 label {
    display: grid;
    gap: 5px;
    margin: 0;
    color: #475569;
    font-size: .75rem;
    font-weight: 800;
}
.property-import-access-v219 .property-import-access-panel-v219 select {
    min-height: 32px;
}
.property-import-options-v219 .property-import-options-panel-v218 {
    z-index: 75;
}
.property-import-table-v218 tr:has(details[open]) td {
    background: #fbfdff;
}
.property-import-table-v218 td:nth-child(7),
.property-import-table-v218 td:nth-child(8) {
    overflow: visible;
}
@media (max-width: 980px) {
    .property-import-access-v219 .property-import-access-panel-v219,
    .property-import-options-v219 .property-import-options-panel-v218 {
        position: static;
        width: 100%;
        max-width: 100%;
        box-shadow: none;
        margin-top: 6px;
    }
}

/* v2.4.20 — tableaux d'import et de propriétés alignés sur le moteur de tableaux Linkelia. */
.property-import-table-actions-v2420,
.property-table-toolbar-v2420 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 10px 0 8px;
}
.property-import-table-v218.table-enhanced th,
.property-table-v205.table-enhanced th {
    white-space: nowrap;
}
.property-import-table-v218.table-enhanced tbody td,
.property-table-v205.table-enhanced tbody td {
    vertical-align: middle;
}
.property-import-table-v218.table-enhanced input,
.property-import-table-v218.table-enhanced select {
    min-height: 34px;
}
.property-import-table-v218.table-enhanced .property-import-property-cell-v218 input + input {
    margin-top: 4px;
}
.property-import-table-v218.table-enhanced details > summary {
    min-height: 34px;
}
.property-bulk-toolbar-v2412 select option[value="delete_permanent"] {
    color: #991b1b;
}
@media (max-width: 980px) {
    .property-table-toolbar-v2420,
    .property-import-table-actions-v2420 {
        display: none;
    }
}

/* v2.4.21 — Propriétés : actions groupées plateforme et menu d'action fiable. */
.property-bulk-toolbar-v2421 {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 320px) auto minmax(260px, auto);
    gap: 10px;
    align-items: center;
    padding: 12px;
}
.property-bulk-title-v2421 {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.property-bulk-title-v2421 strong {
    font-size: .95rem;
}
.property-bulk-title-v2421 small,
.property-bulk-warning-v2421 {
    color: #64748b;
    font-size: .82rem;
    font-weight: 650;
}
.property-bulk-quick-actions-v2421 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.button-danger-soft,
.property-bulk-quick-actions-v2421 .button-danger-soft {
    border-color: rgba(220, 38, 38, .32);
    color: #991b1b;
    background: #fff7f7;
}
.button-danger-soft:hover,
.property-bulk-quick-actions-v2421 .button-danger-soft:hover {
    background: #fee2e2;
}
.property-row-actions-v205 {
    position: relative !important;
    display: inline-block !important;
    min-width: 92px;
}
.property-row-actions-v205 > summary {
    position: relative;
    z-index: 3;
}
.property-row-actions-v205[open] {
    z-index: 200 !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 10px) !important;
    width: max-content !important;
    min-width: 260px !important;
    max-width: min(360px, calc(100vw - 32px)) !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: calc(100vh - 140px) !important;
    overflow: auto !important;
    padding: 6px !important;
    border: 1px solid #d8e2f1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22) !important;
    z-index: 220 !important;
}
.property-row-actions-v205[open] .property-row-actions-menu-v205 {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 > *,
.property-row-actions-v205 .property-row-actions-menu-v205 form,
.property-row-actions-v205 .property-row-actions-menu-v205 a,
.property-row-actions-v205 .property-row-actions-menu-v205 button,
.property-row-actions-v205 .property-row-actions-menu-v205 span {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 a,
.property-row-actions-v205 .property-row-actions-menu-v205 button,
.property-row-actions-v205 .property-row-actions-menu-v205 span {
    display: block !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    color: #0f172a !important;
    text-decoration: none !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
    font: inherit !important;
    line-height: 1.2 !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 a:hover,
.property-row-actions-v205 .property-row-actions-menu-v205 button:hover {
    background: #f1f5f9 !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 .danger-action-v2421,
.property-row-actions-v205 .property-row-actions-menu-v205 .danger-action-v2421 button {
    color: #991b1b !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 span {
    color: #94a3b8 !important;
    cursor: default !important;
}
.property-table-wrap-v205 .property-row-actions-v205[open] .property-row-actions-menu-v205 {
    transform: translateZ(0);
}
@media (max-width: 1100px) {
    .property-bulk-toolbar-v2421 {
        grid-template-columns: 1fr;
    }
    .property-bulk-quick-actions-v2421 {
        width: 100%;
    }
    .property-bulk-quick-actions-v2421 .button {
        flex: 1 1 160px;
    }
}

.property-bulk-toolbar-v2412.property-bulk-toolbar-v2421 {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 320px) auto minmax(260px, auto);
    gap: 10px;
    align-items: center;
    padding: 12px;
}
.property-bulk-toolbar-v2412.property-bulk-toolbar-v2421 select {
    min-width: 0;
    width: 100%;
}
@media (max-width: 1100px) {
    .property-bulk-toolbar-v2412.property-bulk-toolbar-v2421 {
        grid-template-columns: 1fr;
    }
}

/* v2.4.22 — Propriétés : tableaux alignés CRM, menus flottants et suppression compacte. */
.property-admin-shell-v2422 .property-registry-v205,
.property-import-shell-v2422 .property-import-card-v221 {
    overflow: visible;
}
.property-admin-shell-v2422 .property-registry-head-v205 {
    padding: 12px 16px 8px;
}
.property-admin-shell-v2422 .property-registry-head-v205 h2 {
    font-size: 1rem;
}
.property-admin-shell-v2422 .property-registry-head-v205 .muted {
    margin: 0;
    font-size: .82rem;
}
.property-admin-shell-v2422 .property-filters-v205 {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 8px;
    padding: 8px 16px;
}
.property-admin-shell-v2422 .property-filters-v205 select,
.property-admin-shell-v2422 .property-filters-v205 input[type="search"] {
    height: 34px;
    min-height: 34px;
    border-radius: 12px;
    font-size: .82rem;
}
.property-admin-shell-v2422 .property-filters-v205 input[type="search"] {
    grid-column: span 2;
}
.property-bulk-toolbar-v2422 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    border-top: 1px solid #edf2f8 !important;
    background: #fff !important;
}
.property-bulk-label-v2422 {
    margin-right: auto;
    font-size: .86rem;
    color: #0f172a;
}
.property-bulk-toolbar-v2422 select {
    width: 260px;
    max-width: 32vw;
    height: 36px;
    min-height: 36px;
    border-radius: 12px;
}
.property-bulk-quick-actions-v2422 {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
}
.property-table-toolbar-v2420,
.property-import-table-actions-v2420 {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
    padding: 6px 16px;
    border-top: 1px solid #edf2f8;
    background: #fbfdff;
}
.property-admin-shell-v2422 .property-table-wrap-v205,
.property-import-shell-v2422 .property-import-table-wrap-v218 {
    border-top: 1px solid #dbe4f0;
    overflow: auto;
    background: #fff;
}
.property-admin-shell-v2422 .property-table-v205,
.property-import-shell-v2422 .property-import-table-v218 {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: max-content;
}
.property-admin-shell-v2422 .property-table-v205 thead th,
.property-import-shell-v2422 .property-import-table-v218 thead th {
    height: 38px;
    padding: 0 8px;
    background: linear-gradient(180deg, #ffffff, #f7faff);
    border-right: 1px solid #dfe8f5;
    border-bottom: 1px solid #cfdced;
    color: #47566d;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.property-admin-shell-v2422 .property-table-v205 tbody td,
.property-import-shell-v2422 .property-import-table-v218 tbody td {
    height: 46px;
    padding: 6px 8px;
    border-bottom: 1px solid #eef3f9;
    border-right: 1px solid #f2f5fa;
    vertical-align: middle;
    font-size: 12.5px;
}
.property-admin-shell-v2422 .property-table-v205 td strong {
    margin: 0;
    font-size: .92rem;
}
.property-admin-shell-v2422 .property-table-v205 td small {
    line-height: 1.15;
    font-size: .76rem;
}
.property-admin-shell-v2422 .property-use-stack-v205,
.property-admin-shell-v2422 .property-status-stack-v205 {
    gap: 4px;
}
.property-admin-shell-v2422 .property-use-stack-v205 b,
.property-admin-shell-v2422 .property-status-stack-v205 b,
.property-admin-shell-v2422 .property-type-badge-v205 {
    min-height: 22px;
    padding: 3px 8px;
    font-size: .72rem;
}
.property-row-actions-v205 {
    position: relative !important;
    display: inline-flex !important;
    min-width: 78px !important;
}
.property-row-actions-v205 > summary {
    min-width: 74px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px 0 12px !important;
    border-radius: 10px !important;
    font-size: .82rem;
}
.property-row-actions-v205[open]::before {
    display: none !important;
    content: none !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 {
    position: fixed !important;
    left: var(--row-actions-left, 260px) !important;
    top: var(--row-actions-top, 120px) !important;
    right: auto !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: min(280px, calc(100vw - 24px)) !important;
    max-height: min(380px, calc(100vh - 40px)) !important;
    z-index: 9999 !important;
    transform: none !important;
}
.property-row-actions-v205 .property-row-actions-menu-v205 a,
.property-row-actions-v205 .property-row-actions-menu-v205 button,
.property-row-actions-v205 .property-row-actions-menu-v205 span {
    min-height: 34px !important;
    padding: 8px 11px !important;
    font-size: .84rem !important;
    line-height: 1.18 !important;
}
.property-import-shell-v2422 .property-import-preview-v218 {
    padding: 10px;
}
.property-import-shell-v2422 .property-import-toolbar-v218 {
    align-items: center;
}
.property-import-shell-v2422 .property-import-toolbar-v218 h2 {
    margin: 0 0 2px;
    font-size: 1rem;
}
.property-import-shell-v2422 .property-import-toolbar-v218 p {
    margin: 0;
    font-size: .82rem;
}
.property-import-shell-v2422 .property-import-summary-v218 span {
    min-height: 32px;
    padding: 6px 12px;
}
.property-import-shell-v2422 .property-import-table-v218 input,
.property-import-shell-v2422 .property-import-table-v218 select {
    min-height: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: .8rem;
}
.property-import-property-cell-v2422 {
    display: table-cell !important;
}
.property-import-access-v219 .property-import-access-panel-v219,
.property-import-options-v219 .property-import-options-panel-v218 {
    z-index: 9998;
}
@media (max-width: 1100px) {
    .property-bulk-toolbar-v2422 {
        align-items: stretch !important;
        flex-wrap: wrap !important;
    }
    .property-bulk-label-v2422 {
        flex: 1 1 100%;
    }
    .property-bulk-toolbar-v2422 select {
        max-width: none;
        flex: 1 1 220px;
    }
    .property-bulk-quick-actions-v2422 {
        flex-wrap: wrap !important;
    }
    .property-admin-shell-v2422 .property-filters-v205 {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }
}
@media (max-width: 720px) {
    .property-admin-shell-v2422 .property-filters-v205,
    .property-admin-shell-v2422 .property-filters-v205 input[type="search"] {
        grid-column: auto;
        grid-template-columns: 1fr;
    }
}

/* Linkelia v2.5.11 — portail unique : administration séparée, menu complet et défilement stable. */
.body-mode-app .sidebar {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100vh;
    max-height: 100vh;
    overflow: hidden !important;
}
.body-mode-app .sidebar-topbar,
.body-mode-app .sidebar-bottom {
    min-width: 0;
}
.body-mode-app .nav-main {
    min-height: 0;
    max-height: none;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px;
    scrollbar-gutter: stable;
}
.body-mode-app .sidebar-bottom {
    margin-top: 0 !important;
    padding-top: 8px;
    border-top: 1px solid rgba(148, 163, 184, .28);
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.98));
}
.nav-admin-zone-v259 {
    margin: 8px 0 10px;
    padding: 8px;
    border: 1px solid rgba(79, 70, 229, .28);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(239, 246, 255, .96), rgba(245, 243, 255, .9));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 12px 28px rgba(79, 70, 229, .08);
}
.nav-admin-section-title-v259 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 8px 8px;
    font-size: 11px;
    line-height: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #4f46e5;
}
.nav-admin-section-title-v259::after {
    content: "Admin";
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(79, 70, 229, .12);
    color: #4338ca;
    letter-spacing: 0;
    text-transform: none;
}
.nav-group-admin-v259 {
    border-color: rgba(79, 70, 229, .32) !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 12px 24px rgba(79, 70, 229, .08) !important;
}
.nav-group-admin-v259 > .nav-group-summary {
    min-height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(99,102,241,.14), rgba(14,165,233,.11));
    color: #1e1b4b;
}
.nav-group-admin-v259 > .nav-group-summary .nav-group-icon {
    background: linear-gradient(135deg, #4f46e5, #06b6d4);
    color: #fff;
    box-shadow: 0 10px 20px rgba(79, 70, 229, .22);
}
.nav-admin-subnav-v259 {
    max-height: none !important;
    overflow: visible !important;
    gap: 5px !important;
    padding: 8px 6px 7px !important;
}
.nav-subgroup-admin-v259 {
    border: 1px solid rgba(79, 70, 229, .18) !important;
    background: rgba(255, 255, 255, .74) !important;
    border-radius: 14px !important;
    margin: 0 !important;
    overflow: hidden;
}
.nav-subgroup-admin-v259 > .nav-subgroup-summary {
    padding: 8px 10px !important;
    min-height: 36px;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    color: #24304a !important;
    background: linear-gradient(180deg, rgba(248,250,252,.94), rgba(241,245,249,.7));
}
.nav-subgroup-admin-v259[open] > .nav-subgroup-summary,
.nav-subgroup-admin-v259.is-open > .nav-subgroup-summary {
    color: #3730a3 !important;
    background: linear-gradient(135deg, rgba(238,242,255,.98), rgba(224,242,254,.88));
}
.nav-subgroup-admin-v259 .nav-subnav-nested {
    padding: 4px 6px 7px !important;
    gap: 2px !important;
    max-height: none !important;
    overflow: visible !important;
}
.nav-subgroup-admin-v259 .nav-link-nested {
    padding: 6px 9px !important;
    min-height: 30px;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 16px !important;
    color: #45556f;
}
.nav-subgroup-admin-v259 .nav-link-nested:hover,
.nav-subgroup-admin-v259 .nav-link-nested.active {
    color: #312e81 !important;
    background: rgba(99, 102, 241, .12) !important;
}
@media (min-width: 901px) {
    body:not(.sidebar-collapsed) .nav-admin-zone-v259 .nav-subnav[data-flyout-title] {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        width: auto !important;
        box-shadow: none !important;
    }
}
@media (max-height: 760px) {
    .body-mode-app .sidebar { padding-top: 8px; padding-bottom: 8px; }
    .body-mode-app .sidebar-topbar { min-height: 48px; }
    .body-mode-app .sidebar-bottom { gap: 8px; }
    .sidebar-user-mini-v164 { padding: 7px !important; }
    .button-logout { min-height: 42px; }
    .nav-subgroup-admin-v259 .nav-link-nested { min-height: 28px; padding-top: 5px !important; padding-bottom: 5px !important; }
}
