@import '_content/LogoClub.DesignSystem/LogoClub.DesignSystem.p2fxvm9wj1.bundle.scp.css';

/* /Components/Layout/AdministrationContextLayout.razor.rz.scp.css */
.administration-context__header[b-6wude84hsr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
    min-height: 2.75rem;
}

.administration-context__header h1[b-6wude84hsr] {
    margin: 0 0 var(--lc-space-1);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-lg);
}

.administration-context__identity[b-6wude84hsr] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
}

.administration-context__meta[b-6wude84hsr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-3);
}

.administration-context__meta-item[b-6wude84hsr] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-1);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
}

.administration-context__categories[b-6wude84hsr] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-1);
    padding: var(--lc-space-2);
    margin-bottom: var(--lc-space-5);
    background: var(--lc-color-primary);
    border-radius: var(--lc-radius-md);
}

.administration-context__category-item[b-6wude84hsr] {
    padding: var(--lc-space-2) var(--lc-space-3);
    color: color-mix(in srgb, var(--lc-color-on-primary) 80%, transparent);
    text-decoration: none;
    border-radius: var(--lc-radius-sm);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-medium);
    transition: background-color var(--lc-transition-fast), color var(--lc-transition-fast);
}

.administration-context__category-item:hover[b-6wude84hsr] {
    background: color-mix(in srgb, var(--lc-color-on-primary) 15%, transparent);
    color: var(--lc-color-on-primary);
}

.administration-context__category-item.active[b-6wude84hsr] {
    background: var(--lc-color-accent);
    color: var(--lc-color-on-primary);
    font-weight: var(--lc-font-weight-semibold);
}

.administration-context__content[b-6wude84hsr] {
    min-width: 0;
}

@media (max-width: 48rem) {
    .administration-context__categories[b-6wude84hsr] {
        margin-bottom: var(--lc-space-4);
    }
}
/* /Components/Layout/AdminPortalShell.razor.rz.scp.css */
.admin-shell[b-7hi0va3xkb] {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.admin-shell__topbar[b-7hi0va3xkb] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-6);
    padding: var(--lc-space-3) var(--lc-space-6);
    background: var(--lc-color-primary);
    color: var(--lc-color-on-primary);
    flex-shrink: 0;
}

.admin-shell__brand[b-7hi0va3xkb] {
    display: inline-flex;
    text-decoration: none;
}

.admin-shell__nav[b-7hi0va3xkb] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-1);
    flex: 1;
}

.admin-shell__nav-link[b-7hi0va3xkb] {
    padding: var(--lc-space-2) var(--lc-space-3);
    color: var(--lc-color-on-primary);
    text-decoration: none;
    border-radius: var(--lc-radius-md);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-medium);
    transition: background-color var(--lc-transition-fast);
}

.admin-shell__nav-link:hover[b-7hi0va3xkb] {
    background: color-mix(in srgb, var(--lc-color-on-primary) 15%, transparent);
}

.admin-shell__actions[b-7hi0va3xkb] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-4);
}

.admin-shell__badge[b-7hi0va3xkb] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    margin: 0;
    color: color-mix(in srgb, var(--lc-color-on-primary) 75%, transparent);
    font-size: var(--lc-font-size-xs);
}

.admin-shell__badge--environment[b-7hi0va3xkb] {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: var(--lc-font-weight-semibold);
}

.admin-shell__content[b-7hi0va3xkb] {
    flex: 1;
    min-height: 0;
    padding: var(--lc-space-8);
    overflow-y: auto;
    overflow-x: hidden;
}

@media (max-width: 60rem) {
    .admin-shell[b-7hi0va3xkb] {
        height: auto;
    }

    .admin-shell__topbar[b-7hi0va3xkb] {
        flex-wrap: wrap;
        row-gap: var(--lc-space-3);
    }

    .admin-shell__content[b-7hi0va3xkb] {
        overflow-y: visible;
    }
}
/* /Components/Layout/ClientContextLayout.razor.rz.scp.css */
.client-context__header[b-xgkv33b4v4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
    min-height: 2.75rem;
}

.client-context__header h1[b-xgkv33b4v4] {
    margin: 0 0 var(--lc-space-1);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-lg);
}

.client-context__identity[b-xgkv33b4v4] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
}

.client-context__header-name-skeleton[b-xgkv33b4v4] {
    margin-bottom: var(--lc-space-1);
}

.client-context__meta[b-xgkv33b4v4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-3);
}

.client-context__meta-item[b-xgkv33b4v4] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-1);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
}

.client-context__meta-link[b-xgkv33b4v4] {
    padding: var(--lc-space-1) var(--lc-space-2);
    background: var(--lc-color-background-subtle);
    border-radius: var(--lc-radius-sm);
    text-decoration: none;
    font-family: monospace;
}

.client-context__meta-link:hover[b-xgkv33b4v4] {
    color: var(--lc-color-primary);
}

.client-context__categories[b-xgkv33b4v4] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-1);
    padding: var(--lc-space-2);
    margin-bottom: var(--lc-space-5);
    background: var(--lc-color-primary);
    border-radius: var(--lc-radius-md);
}

.client-context__category-item[b-xgkv33b4v4] {
    padding: var(--lc-space-2) var(--lc-space-3);
    color: color-mix(in srgb, var(--lc-color-on-primary) 80%, transparent);
    text-decoration: none;
    border-radius: var(--lc-radius-sm);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-medium);
    transition: background-color var(--lc-transition-fast), color var(--lc-transition-fast);
}

.client-context__category-item:hover[b-xgkv33b4v4] {
    background: color-mix(in srgb, var(--lc-color-on-primary) 15%, transparent);
    color: var(--lc-color-on-primary);
}

.client-context__category-item.active[b-xgkv33b4v4] {
    background: var(--lc-color-accent);
    color: var(--lc-color-on-primary);
    font-weight: var(--lc-font-weight-semibold);
}

.client-context__body[b-xgkv33b4v4] {
    display: grid;
    grid-template-columns: 14rem 1fr;
    gap: var(--lc-space-6);
    align-items: start;
}

/* Catégorie sans sous-menu (ex. Stock) : le contenu occupe toute la largeur au lieu de tomber
   dans la colonne réservée au menu latéral. */
.client-context__body--no-menu[b-xgkv33b4v4] {
    grid-template-columns: 1fr;
}

.client-context__content[b-xgkv33b4v4] {
    min-width: 0;
}

.client-context__menu[b-xgkv33b4v4] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

@media (max-width: 48rem) {
    .client-context__body[b-xgkv33b4v4] {
        grid-template-columns: 1fr;
    }

    .client-context__menu[b-xgkv33b4v4] {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

/* Les pastilles d'état du client, à droite de l'en-tête. */
/* Mêmes états, empilés eux aussi : « Verrouillé » sous « Actif ». */
.client-context__status[b-xgkv33b4v4] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    gap: var(--lc-space-1);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.logo-club-app[b-2y8ajnkfgs],
.app-content[b-2y8ajnkfgs] {
    min-height: 100vh;
}

#blazor-error-ui[b-2y8ajnkfgs] {
    color-scheme: light only;
    bottom: var(--lc-space-4);
    left: 50%;
    width: min(42rem, calc(100% - 2rem));
    padding: var(--lc-space-3) var(--lc-space-10) var(--lc-space-3) var(--lc-space-4);
    color: var(--lc-color-on-danger);
    background: var(--lc-color-danger);
    border-radius: var(--lc-radius-md);
    box-shadow: var(--lc-shadow-lg);
    box-sizing: border-box;
    display: none;
    position: fixed;
    transform: translateX(-50%);
    z-index: 1000;
}

#blazor-error-ui a[b-2y8ajnkfgs] {
    color: inherit;
    font-weight: var(--lc-font-weight-semibold);
}

#blazor-error-ui .dismiss[b-2y8ajnkfgs] {
    cursor: pointer;
    position: absolute;
    right: var(--lc-space-3);
    top: var(--lc-space-2);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-xdf4bhi3e9],
.components-reconnect-repeated-attempt-visible[b-xdf4bhi3e9],
.components-reconnect-failed-visible[b-xdf4bhi3e9],
.components-pause-visible[b-xdf4bhi3e9],
.components-resume-failed-visible[b-xdf4bhi3e9],
.components-rejoining-animation[b-xdf4bhi3e9] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-retrying[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-failed[b-xdf4bhi3e9],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-xdf4bhi3e9] {
    display: block;
}


#components-reconnect-modal[b-xdf4bhi3e9] {
    background: var(--lc-color-surface, #ffffff);
    width: min(28rem, calc(100vw - 2rem));
    margin: auto;
    padding: 0;
    border: 1px solid var(--lc-color-border, #d8dce8);
    border-radius: var(--lc-radius-lg, 0.75rem);
    box-shadow: var(--lc-shadow-lg, 0 1rem 3rem rgba(15, 23, 42, 0.22));
    color: var(--lc-color-text, #20233c);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-xdf4bhi3e9 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-xdf4bhi3e9 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-xdf4bhi3e9 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-xdf4bhi3e9]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-xdf4bhi3e9 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-xdf4bhi3e9 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-xdf4bhi3e9 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-xdf4bhi3e9 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-xdf4bhi3e9] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.components-reconnect-header[b-xdf4bhi3e9] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.5rem 1.25rem;
    border-bottom: 1px solid var(--lc-color-border, #e4e7ef);
}

.components-reconnect-heading[b-xdf4bhi3e9] {
    flex: 1;
    min-width: 0;
}

.components-reconnect-heading p[b-xdf4bhi3e9],
.components-reconnect-content p[b-xdf4bhi3e9] {
    margin: 0;
    text-align: left;
}

.components-reconnect-heading p[b-xdf4bhi3e9] {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}

.components-reconnect-content[b-xdf4bhi3e9] {
    padding: 1.25rem 1.5rem;
    color: var(--lc-color-text-muted, #596078);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.components-reconnect-actions[b-xdf4bhi3e9] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem 1.25rem;
    border-top: 1px solid var(--lc-color-border, #e4e7ef);
}

.components-reconnect-status-icon[b-xdf4bhi3e9] {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: var(--lc-color-primary, #4b4a72);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

.components-reconnect-status-icon__ring[b-xdf4bhi3e9] {
    position: absolute;
    inset: -0.3rem;
    border: 2px solid var(--lc-color-primary, #4b4a72);
    border-radius: 50%;
    opacity: 0.25;
    animation: components-reconnect-pulse-b-xdf4bhi3e9 1.8s ease-out infinite;
}

@keyframes components-reconnect-pulse-b-xdf4bhi3e9 {
    0%, 100% { transform: scale(0.92); opacity: 0.3; }
    60% { transform: scale(1.08); opacity: 0; }
}

#components-reconnect-modal button[b-xdf4bhi3e9] {
    min-height: 2.5rem;
    padding: 0.625rem 1.25rem;
    border-radius: var(--lc-radius-md, 0.5rem);
    border: 1px solid var(--lc-color-primary, #4b4a72);
    background: var(--lc-color-primary, #4b4a72);
    color: var(--lc-color-on-primary, #fff);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

#components-reconnect-modal button:hover[b-xdf4bhi3e9] {
    background-color: var(--lc-color-primary-hover, #383756);
}

#components-reconnect-modal button:active[b-xdf4bhi3e9] {
    transform: translateY(1px);
}

#components-reconnect-modal button:focus-visible[b-xdf4bhi3e9] {
    outline: 3px solid color-mix(in srgb, var(--lc-color-primary, #4b4a72) 35%, transparent);
    outline-offset: 2px;
}

.components-rejoining-animation[b-xdf4bhi3e9] {
    position: relative;
    width: 80px;
    height: 80px;
}

@media (max-width: 40rem) {
    .components-reconnect-header[b-xdf4bhi3e9],
    .components-reconnect-content[b-xdf4bhi3e9],
    .components-reconnect-actions[b-xdf4bhi3e9] {
        padding-left: 1.125rem;
        padding-right: 1.125rem;
    }
}

    .components-rejoining-animation div[b-xdf4bhi3e9] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-xdf4bhi3e9 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-xdf4bhi3e9] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-xdf4bhi3e9 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/AccessDenied.razor.rz.scp.css */
.access-denied[b-o3v05ofra9] {
    display: grid;
    gap: var(--lc-space-4);
    place-items: center;
    width: min(32rem, calc(100% - 2rem));
    min-height: 100vh;
    margin: 0 auto;
    align-content: center;
    text-align: center;
}

.access-denied h1[b-o3v05ofra9] {
    color: var(--lc-color-primary);
}

.access-denied h1[b-o3v05ofra9],
.access-denied p[b-o3v05ofra9] {
    margin: 0;
}

.access-denied p[b-o3v05ofra9] {
    color: var(--lc-color-text-muted);
}
/* /Components/Pages/Admin/AdministrationDataPage.razor.rz.scp.css */
.administration-data[b-g0cmzyqk6p] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
    height: 100%;
    min-height: 0;
}

.administration-data__status[b-g0cmzyqk6p] {
    margin: 0 0 var(--lc-space-3);
    padding-bottom: var(--lc-space-3);
}

.administration-data__status[b-g0cmzyqk6p]  .ds-alert {
    margin-bottom: var(--lc-space-3);
}

.administration-data[b-g0cmzyqk6p]  .administration-data__card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table .ds-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table th,
.administration-data[b-g0cmzyqk6p]  .administration-data__table td {
    white-space: normal;
    overflow-wrap: anywhere;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table th:nth-child(1),
.administration-data[b-g0cmzyqk6p]  .administration-data__table td:nth-child(1) {
    width: 7%;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table th:nth-child(2),
.administration-data[b-g0cmzyqk6p]  .administration-data__table td:nth-child(2) {
    width: 16%;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table th:nth-child(n + 3):nth-child(-n + 7),
.administration-data[b-g0cmzyqk6p]  .administration-data__table td:nth-child(n + 3):nth-child(-n + 7) {
    width: 13%;
}

.administration-data[b-g0cmzyqk6p]  .administration-data__table th:last-child,
.administration-data[b-g0cmzyqk6p]  .administration-data__table td:last-child {
    width: 12%;
}

.administration-data__row-actions[b-g0cmzyqk6p] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-1);
}

.administration-data__tenant[b-g0cmzyqk6p],
.administration-data__actions[b-g0cmzyqk6p] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-3);
    margin-bottom: var(--lc-space-4);
}

.administration-data__tenant[b-g0cmzyqk6p] {
    gap: var(--lc-space-2);
}

.administration-data__tenant label[b-g0cmzyqk6p],
.administration-data__file-label[b-g0cmzyqk6p] {
    color: var(--lc-color-text);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
}

.administration-data__select-wrap[b-g0cmzyqk6p] {
    position: relative;
    min-width: 18rem;
    max-width: 100%;
}

.administration-data__select-wrap[b-g0cmzyqk6p]::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid var(--lc-color-primary);
    border-bottom: 2px solid var(--lc-color-primary);
    content: "";
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}

.administration-data__select[b-g0cmzyqk6p] {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.65rem 2.75rem 0.65rem 0.9rem;
    appearance: none;
    border: 1px solid var(--lc-color-border-strong);
    border-radius: var(--lc-radius-md);
    background: var(--lc-color-background);
    color: var(--lc-color-text);
    font: inherit;
    font-size: var(--lc-font-size-sm);
    box-shadow: var(--lc-shadow-sm);
    cursor: pointer;
    transition: border-color var(--lc-transition-fast), box-shadow var(--lc-transition-fast), background-color var(--lc-transition-fast);
}

.administration-data__select:hover[b-g0cmzyqk6p] {
    border-color: var(--lc-color-primary);
    background: var(--lc-color-background-subtle);
}

.administration-data__select:focus-visible[b-g0cmzyqk6p] {
    outline: 3px solid color-mix(in srgb, var(--lc-color-focus) 45%, transparent);
    outline-offset: 2px;
    border-color: var(--lc-color-primary);
}

.administration-data__file-picker[b-g0cmzyqk6p] {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-2);
    max-width: 100%;
    cursor: pointer;
}

.administration-data__file-picker[b-g0cmzyqk6p]  .administration-data__file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.administration-data__file-control[b-g0cmzyqk6p] {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    min-height: 2.75rem;
    overflow: hidden;
    border: 1px solid var(--lc-color-border-strong);
    border-radius: var(--lc-radius-md);
    background: var(--lc-color-background);
    box-shadow: var(--lc-shadow-sm);
    transition: border-color var(--lc-transition-fast), box-shadow var(--lc-transition-fast), background-color var(--lc-transition-fast);
}

.administration-data__file-button[b-g0cmzyqk6p] {
    display: inline-flex;
    align-items: center;
    align-self: stretch;
    padding: 0 var(--lc-space-4);
    border-right: 1px solid var(--lc-color-border);
    background: var(--lc-color-background-subtle);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
    white-space: nowrap;
    transition: background-color var(--lc-transition-fast);
}

.administration-data__file-name[b-g0cmzyqk6p] {
    display: block;
    max-width: min(18rem, 35vw);
    overflow: hidden;
    padding: 0 var(--lc-space-3);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.administration-data__file-picker:hover .administration-data__file-control[b-g0cmzyqk6p] {
    border-color: var(--lc-color-primary);
    background: var(--lc-color-background-subtle);
}

.administration-data__file-picker:hover .administration-data__file-button[b-g0cmzyqk6p] {
    background: color-mix(in srgb, var(--lc-color-primary) 9%, var(--lc-color-background));
}

.administration-data__file-picker:focus-within .administration-data__file-control[b-g0cmzyqk6p] {
    outline: 3px solid color-mix(in srgb, var(--lc-color-focus) 45%, transparent);
    outline-offset: 2px;
    border-color: var(--lc-color-primary);
}

.administration-data__row--selected[b-g0cmzyqk6p],
.administration-data__row--selected:hover[b-g0cmzyqk6p] {
    background: color-mix(in srgb, var(--lc-color-primary) 12%, transparent);
}

.administration-data__translations[b-g0cmzyqk6p] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: var(--lc-space-4);
    margin-top: var(--lc-space-4);
}

@media (max-width: 40rem) {
    .administration-data__select-wrap[b-g0cmzyqk6p] {
        width: 100%;
        min-width: 0;
    }

    .administration-data__file-name[b-g0cmzyqk6p] {
        max-width: 55vw;
    }

    .administration-data__row-actions[b-g0cmzyqk6p] {
        flex-direction: column;
    }
}
/* /Components/Pages/Admin/AdministrationServicesPage.razor.rz.scp.css */
.administration-services[b-1htr53iqjc] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.administration-services__loading[b-1htr53iqjc] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}

.administration-services__logs[b-1htr53iqjc] {
    max-height: min(75vh, 60rem);
    overflow: auto;
    padding: var(--lc-space-3);
    color: var(--lc-color-text);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    font-family: monospace;
}

.administration-services[b-1htr53iqjc]  .ds-modal.administration-services__logs-modal {
    width: min(96vw, 100rem);
    max-width: 100rem;
    max-height: calc(100vh - 2rem);
}

.administration-services[b-1htr53iqjc]  .ds-modal.administration-services__logs-modal .ds-modal__body {
    overflow: auto;
}

.administration-services__logs-table[b-1htr53iqjc] {
    width: 100%;
    table-layout: fixed;
}

.administration-services__logs-table th[b-1htr53iqjc],
.administration-services__logs-table td[b-1htr53iqjc] {
    white-space: normal;
    overflow-wrap: anywhere;
}

.administration-services__logs-table th:nth-child(1)[b-1htr53iqjc] {
    width: 10rem;
}

.administration-services__logs-table th:nth-child(2)[b-1htr53iqjc] {
    width: 7rem;
}

.administration-services__logs-table th:nth-child(3)[b-1htr53iqjc] {
    width: 20%;
}

.administration-services__logs-table th:nth-child(5)[b-1htr53iqjc] {
    width: 25%;
}

.administration-services__log-message[b-1htr53iqjc],
.administration-services__log-exception[b-1htr53iqjc] {
    min-width: 18rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.administration-services__log-exception[b-1htr53iqjc] {
    color: var(--lc-color-danger, #b42318);
}

.administration-services__logs time[b-1htr53iqjc] {
    color: var(--lc-color-text-muted);
}

.administration-services__header[b-1htr53iqjc],
.administration-services__summary[b-1htr53iqjc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-4);
}

.administration-services__header h1[b-1htr53iqjc] {
    margin: 0;
    color: var(--lc-color-primary);
}

.administration-services__header p[b-1htr53iqjc] {
    margin: var(--lc-space-2) 0 0;
    color: var(--lc-color-text-muted);
}

.administration-services__summary[b-1htr53iqjc] {
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.administration-services__summary-item[b-1htr53iqjc] {
    display: flex;
    flex-direction: column;
    min-width: 10rem;
    padding: var(--lc-space-3);
    color: var(--lc-color-text-muted);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    font-size: var(--lc-font-size-sm);
}

.administration-services__summary-value[b-1htr53iqjc] {
    color: var(--lc-color-text);
    font-size: var(--lc-font-size-lg);
    font-weight: var(--lc-font-weight-semibold);
}

.administration-services__service-kind[b-1htr53iqjc] {
    display: block;
    margin-top: .2rem;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
}

.administration-services__actions[b-1htr53iqjc] {
    display: flex;
    gap: var(--lc-space-2);
    white-space: nowrap;
}

@media (max-width: 850px) {
    .administration-services__header[b-1htr53iqjc] {
        align-items: flex-start;
        flex-direction: column;
    }

    .administration-services__actions[b-1htr53iqjc] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/Pages/Admin/ClientCreate.razor.rz.scp.css */
.admin-client-create__header[b-33fqel3cih] {
    margin-bottom: var(--lc-space-6);
}

.admin-client-create__header h1[b-33fqel3cih] {
    margin: 0 0 var(--lc-space-1);
    color: var(--lc-color-primary);
}

.admin-client-create__header p[b-33fqel3cih] {
    margin: 0;
    color: var(--lc-color-text-muted);
}

.admin-client-create__card[b-33fqel3cih] {
    max-width: 42rem;
}

.admin-client-create__form[b-33fqel3cih] {
    display: grid;
    gap: var(--lc-space-5);
}

.admin-client-create__actions[b-33fqel3cih] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lc-space-3);
    margin-top: var(--lc-space-2);
}

.admin-client-create__aliases[b-33fqel3cih] {
    display: grid;
    gap: var(--lc-space-3);
}

.admin-client-create__aliases-header[b-33fqel3cih] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--lc-space-3);
}

.admin-client-create__aliases-header h2[b-33fqel3cih] {
    margin: 0;
    color: var(--lc-color-primary);
    font-size: 1rem;
}

.admin-client-create__aliases-header p[b-33fqel3cih] {
    margin: var(--lc-space-1) 0 0;
    color: var(--lc-color-text-muted);
}

.admin-client-create__alias-row[b-33fqel3cih] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--lc-space-2);
    padding-top: var(--lc-space-1);
}

.admin-client-create__alias-row[b-33fqel3cih]  .ds-icon-button {
    align-self: end;
    height: var(--lc-control-height-md);
    margin-bottom: 0;
}

@media (max-width: 48rem) {
    .admin-client-create__aliases-header[b-33fqel3cih] {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-client-create__aliases-header .ds-button[b-33fqel3cih] {
        align-self: flex-start;
    }

    .admin-client-create__alias-row[b-33fqel3cih] {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}
/* /Components/Pages/Admin/ClientDataManagementPage.razor.rz.scp.css */
.client-data-management[b-s9ix07z5mp] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.client-data-management h2[b-s9ix07z5mp],
.client-data-management h3[b-s9ix07z5mp] {
    color: var(--lc-color-primary);
}

.client-data-management__intro[b-s9ix07z5mp] {
    color: var(--lc-color-text-muted);
}

.client-data-management__panel[b-s9ix07z5mp] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    margin-top: var(--lc-space-5);
    padding: var(--lc-space-5) 0;
    border-top: 1px solid var(--lc-color-border);
}

.client-data-management__panel label[b-s9ix07z5mp] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
}

.client-data-management__panel select[b-s9ix07z5mp] {
    max-width: 28rem;
    min-height: 2.5rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm);
}
/* /Components/Pages/Admin/ClientExternalProviders.razor.rz.scp.css */
.external-providers-page[b-aztq2h0pln] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.external-providers-page__section[b-aztq2h0pln] {
    min-width: 0;
}

.external-providers-page__toolbar[b-aztq2h0pln] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.external-providers-page__toolbar[b-aztq2h0pln]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.external-providers-page__row-actions[b-aztq2h0pln] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lc-space-2);
    white-space: nowrap;
}

.external-providers-page__form[b-aztq2h0pln] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.external-providers-page__checkbox[b-aztq2h0pln] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
}

@media (max-width: 48rem) {
    .external-providers-page__toolbar[b-aztq2h0pln] {
        flex-direction: column;
        align-items: stretch;
    }

    .external-providers-page__toolbar[b-aztq2h0pln]  .ds-field {
        max-width: none;
    }

    .external-providers-page__row-actions[b-aztq2h0pln] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Components/Pages/Admin/ClientFileManagementPage.razor.rz.scp.css */
.client-files[b-qrfmq381f5] { display: flex; flex-direction: column; gap: var(--lc-space-4); }
.client-files h2[b-qrfmq381f5] { margin: 0; color: var(--lc-color-primary); font-size: var(--lc-font-size-md); }
.client-files__toolbar[b-qrfmq381f5], .client-files__list-header[b-qrfmq381f5] { display: flex; align-items: center; justify-content: space-between; gap: var(--lc-space-3); }
.client-files__path[b-qrfmq381f5] { flex: 1; overflow: hidden; padding: .35rem .6rem; color: var(--lc-color-text-muted); background: var(--lc-color-surface); border: 1px solid var(--lc-color-border); border-radius: var(--lc-radius-sm); font-family: monospace; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.client-files__breadcrumbs[b-qrfmq381f5] { display: flex; align-items: center; gap: .35rem; margin-top: var(--lc-space-3); color: var(--lc-color-text-muted); font-size: var(--lc-font-size-sm); }
.client-files__breadcrumbs button[b-qrfmq381f5] { color: var(--lc-color-primary); background: none; border: 0; cursor: pointer; }
.client-files__icon-button[b-qrfmq381f5], .client-files__breadcrumb-button[b-qrfmq381f5] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border-radius: var(--lc-radius-sm); }
.client-files__icon-button:hover[b-qrfmq381f5], .client-files__breadcrumb-button:hover[b-qrfmq381f5] { background: var(--lc-color-surface); }
.client-files__action-toolbar[b-qrfmq381f5] { display: flex; align-items: center; flex-wrap: nowrap; gap: .5rem; margin-top: var(--lc-space-3); margin-bottom: var(--lc-space-3); }
.client-files__folder-action[b-qrfmq381f5] { display: inline-flex; align-items: center; flex: 0 1 auto; gap: .5rem; min-width: 0; }
.client-files__folder-input[b-qrfmq381f5] { width: 13rem; min-height: 2rem; padding: .25rem .6rem; color: inherit; background: var(--lc-color-surface); border: 1px solid var(--lc-color-border); border-radius: var(--lc-radius-sm); }
.client-files__new-folder[b-qrfmq381f5] { display: inline-flex; align-items: center; flex: 0 0 auto; gap: .35rem; min-height: 2rem; padding: .25rem .65rem; color: var(--lc-color-on-primary); background: var(--lc-color-primary); border: 0; border-radius: var(--lc-radius-sm); cursor: pointer; font: inherit; font-size: var(--lc-font-size-sm); white-space: nowrap; }
.client-files__new-folder:hover[b-qrfmq381f5] { filter: brightness(1.08); }
.client-files__upload[b-qrfmq381f5] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.25rem; height: 2.25rem; color: var(--lc-color-on-primary); background: var(--lc-color-primary); border-radius: var(--lc-radius-sm); cursor: pointer; }
.client-files__upload:hover[b-qrfmq381f5], .client-files__upload:focus-within[b-qrfmq381f5] { filter: brightness(1.08); }
.client-files__input[b-qrfmq381f5], .client-files__upload[b-qrfmq381f5]  input { display: none !important; }
.client-files__upload span[b-qrfmq381f5] { color: inherit; }
.client-files__list[b-qrfmq381f5] { display: flex; flex-direction: column; gap: var(--lc-space-3); }
.client-files__explorer[b-qrfmq381f5] { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--lc-space-4); }
.client-files__tree[b-qrfmq381f5] { min-height: 18rem; padding-right: var(--lc-space-3); border-right: 1px solid var(--lc-color-border); }
.client-files__tree-item[b-qrfmq381f5] { display: flex; align-items: center; width: 100%; gap: .5rem; overflow: hidden; padding: .45rem .5rem .45rem calc(.5rem + (var(--tree-depth, 0) * 1rem)); color: inherit; background: transparent; border: 0; border-radius: var(--lc-radius-sm); cursor: pointer; text-align: left; }
.client-files__tree-name[b-qrfmq381f5] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-files__tree-item:hover[b-qrfmq381f5], .client-files__tree-item.is-active[b-qrfmq381f5] { color: var(--lc-color-primary); background: var(--lc-color-surface); }
.client-files__tree-root[b-qrfmq381f5] { margin-bottom: .35rem; padding-left: .5rem; font-weight: 600; }
.client-files__content[b-qrfmq381f5] { min-width: 0; }
.client-files__columns[b-qrfmq381f5], .client-files__row[b-qrfmq381f5] { display: grid; grid-template-columns: minmax(12rem, 1fr) 7rem 10rem 6rem auto; align-items: center; gap: var(--lc-space-3); }
.client-files__columns[b-qrfmq381f5] { padding: 0 .75rem; color: var(--lc-color-text-muted); font-size: var(--lc-font-size-xs); }
.client-files__row[b-qrfmq381f5] { width: 100%; padding: .55rem .75rem; border: 1px solid transparent; border-bottom-color: var(--lc-color-border); font-size: var(--lc-font-size-sm); text-align: left; }
.client-files__directory[b-qrfmq381f5], .client-files__parent[b-qrfmq381f5] { color: inherit; background: transparent; cursor: pointer; }
.client-files__directory:hover[b-qrfmq381f5], .client-files__parent:hover[b-qrfmq381f5] { background: var(--lc-color-surface); }
.client-files__row:hover[b-qrfmq381f5] { background: var(--lc-color-surface); border-color: var(--lc-color-border); }
.client-files__name[b-qrfmq381f5] { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.client-files__name strong[b-qrfmq381f5] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-files__empty[b-qrfmq381f5] { padding: 2rem; color: var(--lc-color-text-muted); text-align: center; }
.client-files__actions[b-qrfmq381f5] { display: inline-flex; align-items: center; justify-content: flex-start; flex-wrap: nowrap; gap: .5rem; min-width: max-content; white-space: nowrap; }
.client-files__actions[b-qrfmq381f5]  button { display: inline-flex; width: auto; margin: 0; white-space: nowrap; }
.client-files__actions a[b-qrfmq381f5], .client-files__icon-action[b-qrfmq381f5] { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; color: var(--lc-color-primary); border-radius: var(--lc-radius-sm); white-space: nowrap; }
.client-files__actions a:hover[b-qrfmq381f5], .client-files__icon-action:hover[b-qrfmq381f5] { background: var(--lc-color-surface); }
@media (max-width: 700px) { .client-files__explorer[b-qrfmq381f5] { grid-template-columns: 1fr; } .client-files__tree[b-qrfmq381f5] { min-height: auto; padding-right: 0; padding-bottom: var(--lc-space-3); border-right: 0; border-bottom: 1px solid var(--lc-color-border); } .client-files__columns[b-qrfmq381f5] { display: none; } .client-files__row[b-qrfmq381f5] { display: flex; align-items: flex-start; flex-direction: column; } .client-files__actions[b-qrfmq381f5] { width: 100%; } .client-files__toolbar[b-qrfmq381f5] { align-items: flex-start; flex-direction: column; } .client-files__path[b-qrfmq381f5] { width: 100%; } }
/* /Components/Pages/Admin/ClientMenuPlaceholder.razor.rz.scp.css */
.client-menu-placeholder__skeleton-stack[b-xoj9ubcskk] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}
/* /Components/Pages/Admin/ClientPersons.razor.rz.scp.css */
.client-persons[b-iiieqjbi3w] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.client-persons__toolbar[b-iiieqjbi3w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-3);
    margin-bottom: var(--lc-space-4);
}

.client-persons__toolbar[b-iiieqjbi3w]  .client-persons__search {
    max-width: 22rem;
}

.client-persons__row-actions[b-iiieqjbi3w] {
    display: flex;
    gap: var(--lc-space-2);
}

.client-persons__form[b-iiieqjbi3w] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.client-persons__form-grid[b-iiieqjbi3w] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--lc-space-4);
}

.client-persons__section-title[b-iiieqjbi3w] {
    margin: var(--lc-space-2) 0 0;
    font-size: var(--lc-font-size-md, 1rem);
    color: var(--lc-color-primary);
    border-bottom: 1px solid var(--lc-color-border);
    padding-bottom: var(--lc-space-1);
}

.client-persons__order-facts[b-iiieqjbi3w] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: var(--lc-space-1) var(--lc-space-4);
    margin: 0;
}

.client-persons__order-facts dt[b-iiieqjbi3w] {
    color: var(--lc-color-text-muted);
}

.client-persons__order-facts dd[b-iiieqjbi3w] {
    margin: 0;
}

@media (max-width: 40rem) {
    .client-persons__form-grid[b-iiieqjbi3w] {
        grid-template-columns: 1fr;
    }
}

/* Le champ Sexe et sa case Mixte ne font qu'une cellule de la grille : la case se glisse sous le
   sélecteur au lieu d'occuper une colonne à elle seule. */
.person-sex-field[b-iiieqjbi3w] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    min-width: 0;
}
/* /Components/Pages/Admin/Clients.razor.rz.scp.css */
.admin-clients__header[b-cqea9bjcdj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-6);
}

.admin-clients__header > div[b-cqea9bjcdj] {
    min-width: 0;
}

.admin-clients__header h1[b-cqea9bjcdj] {
    margin: 0 0 var(--lc-space-1);
    color: var(--lc-color-primary);
}

.admin-clients__header p[b-cqea9bjcdj] {
    margin: 0;
    color: var(--lc-color-text-muted);
}

.admin-clients__grid[b-cqea9bjcdj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
    gap: var(--lc-space-5);
    align-items: stretch;
}

.admin-clients__card-body[b-cqea9bjcdj] {
    display: grid;
    /* Colonne explicitement compressible : une colonne de grille en « auto » se dimensionne sur son
       contenu, et un nom de client un peu long faisait déborder l'en-tête hors de la carte. */
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    height: 100%;
}

.admin-clients__card-header[b-cqea9bjcdj] {
    display: flex;
    align-items: flex-start;
    gap: var(--lc-space-3);
    min-width: 0;
    margin-bottom: var(--lc-space-4);
}

.admin-clients__swatch[b-cqea9bjcdj] {
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    border-radius: var(--lc-radius-full);
    border: 1px solid var(--lc-color-border);
}

.admin-clients__identity[b-cqea9bjcdj] {
    flex: 1;
    min-width: 0;
}

.admin-clients__identity h2[b-cqea9bjcdj] {
    margin: 0;
    font-size: var(--lc-font-size-md);
    line-height: 1.3;
    /* Le nom cède la place aux pastilles plutôt que de se couper lettre à lettre. */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-clients__card-header .ds-status-pill[b-cqea9bjcdj] {
    flex-shrink: 0;
    white-space: nowrap;
}

.admin-clients__code[b-cqea9bjcdj] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
}

.admin-clients__hosts[b-cqea9bjcdj] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

.admin-clients__hosts li[b-cqea9bjcdj] {
    border-radius: var(--lc-radius-sm);
    background: var(--lc-color-background-subtle);
}

.admin-clients__hosts a[b-cqea9bjcdj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-2);
    padding: var(--lc-space-1) var(--lc-space-2);
    color: var(--lc-color-text-muted);
    text-decoration: none;
    font-size: var(--lc-font-size-xs);
    font-family: monospace;
}

.admin-clients__hosts a:hover[b-cqea9bjcdj] {
    color: var(--lc-color-primary);
}

.admin-clients__hosts-empty[b-cqea9bjcdj] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.admin-clients__db-status[b-cqea9bjcdj] {
    margin: var(--lc-space-3) 0 0;
}

.admin-clients__card-footer[b-cqea9bjcdj] {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    padding-top: var(--lc-space-4);
}

.admin-clients__explore[b-cqea9bjcdj] {
    display: inline-flex;
    align-items: center;
    gap: var(--lc-space-1);
    padding: var(--lc-space-1) var(--lc-space-3);
    color: var(--lc-color-on-primary);
    background: var(--lc-color-primary);
    text-decoration: none;
    border-radius: var(--lc-radius-full);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
    transition: background-color var(--lc-transition-fast);
}

.admin-clients__explore:hover[b-cqea9bjcdj] {
    background: var(--lc-color-primary-hover);
}

/* Les pastilles d'état du client, alignées à droite de son identité. */
/* Les états du client, empilés à droite de son identité : « Verrouillé » vient sous « Actif »,
   pour qu'aucun des deux ne rogne la place du nom. */
.admin-clients__status[b-cqea9bjcdj] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    gap: var(--lc-space-1);
}
/* /Components/Pages/Admin/ClientUsers.razor.rz.scp.css */
.client-users-role-form[b-6m06fdfjt8] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}
/* /Components/Pages/Admin/Configuration/AccountingEntitiesPage.razor.rz.scp.css */
.accounting-entities-page[b-hsuiqcf27e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.accounting-entities-page[b-hsuiqcf27e]  .accounting-entities-page__section {
    min-width: 0;
}

.accounting-entities-page__toolbar[b-hsuiqcf27e] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.accounting-entities-page__toolbar[b-hsuiqcf27e]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.accounting-entities-page__row-actions[b-hsuiqcf27e] {
    display: flex;
    gap: var(--lc-space-2);
}

.accounting-entities-page__form[b-hsuiqcf27e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

@media (max-width: 40rem) {
    .accounting-entities-page__toolbar[b-hsuiqcf27e] {
        flex-direction: column;
        align-items: stretch;
    }

    .accounting-entities-page__toolbar[b-hsuiqcf27e]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Configuration/ArticlePricesPage.razor.rz.scp.css */
.article-prices-page[b-4lpx0ehwrt] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.article-prices-page[b-4lpx0ehwrt]  .article-prices-page__section {
    min-width: 0;
}

.article-prices-page__breadcrumb[b-4lpx0ehwrt] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    margin-bottom: var(--lc-space-4);
    font-size: 0.85rem;
    color: var(--lc-color-text-muted);
}

.article-prices-page__breadcrumb-link[b-4lpx0ehwrt] {
    display: inline-flex;
    align-items: center;
    gap: var(--lc-space-2);
    color: var(--lc-color-primary);
    text-decoration: none;
    font-weight: 600;
}

.article-prices-page__breadcrumb-link:hover[b-4lpx0ehwrt] {
    text-decoration: underline;
}

.article-prices-page__breadcrumb-separator[b-4lpx0ehwrt] {
    color: var(--lc-color-text-muted);
}

.article-prices-page__header[b-4lpx0ehwrt] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
    flex-wrap: wrap;
}

.article-prices-page__title h2[b-4lpx0ehwrt] {
    margin: 0;
}

.article-prices-page__subtitle[b-4lpx0ehwrt] {
    margin: var(--lc-space-1) 0 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.article-prices-page__save-status[b-4lpx0ehwrt] {
    min-height: 1.25rem;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.article-prices-page__toolbar[b-4lpx0ehwrt] {
    display: flex;
    margin-bottom: var(--lc-space-4);
}

.article-prices-page__toolbar[b-4lpx0ehwrt]  .ds-field {
    max-width: 18rem;
}

.article-prices-page__designation[b-4lpx0ehwrt] {
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.article-prices-page__cell-control[b-4lpx0ehwrt] {
    display: flex;
    align-items: flex-start;
    gap: var(--lc-space-1);
}

.article-prices-page__cell[b-4lpx0ehwrt]  .ds-field {
    width: 7rem;
}

.article-prices-page__status[b-4lpx0ehwrt] {
    display: inline-flex;
    flex: 0 0 1rem;
    align-items: center;
    justify-content: center;
    height: var(--lc-control-height-sm);
    color: var(--lc-color-text-muted);
}

.article-prices-page__status--conflict[b-4lpx0ehwrt] {
    color: var(--lc-color-warning);
}

.article-prices-page__status--saving[b-4lpx0ehwrt]  .ds-icon {
    animation: article-prices-page-spin-b-4lpx0ehwrt 1s linear infinite;
}

@keyframes article-prices-page-spin-b-4lpx0ehwrt {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .article-prices-page__status--saving[b-4lpx0ehwrt]  .ds-icon {
        animation: none;
    }
}
/* /Components/Pages/Admin/Configuration/ArticlesPage.razor.rz.scp.css */
.articles-page[b-ba1gy58dap] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.articles-page[b-ba1gy58dap]  .articles-page__section {
    min-width: 0;
}

.articles-page__toolbar[b-ba1gy58dap] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

/* Filtres de la liste : une ligne qui passe à la suivante quand la largeur manque. */
.articles-page__filters[b-ba1gy58dap] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--lc-space-3) var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.articles-page__filters[b-ba1gy58dap]  .ds-field {
    flex: 1 1 10rem;
    max-width: 16rem;
}

.articles-page__toolbar[b-ba1gy58dap]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.articles-page__hint[b-ba1gy58dap] {
    /* Sous la ligne de cases (Masqué) : marge positive, jamais remontée sur les cases. */
    margin: var(--lc-space-2) 0 var(--lc-space-4);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.articles-page__row-actions[b-ba1gy58dap] {
    display: flex;
    gap: var(--lc-space-2);
}

.articles-page__subheading[b-ba1gy58dap] {
    margin: var(--lc-space-5) 0 var(--lc-space-3);
    font-size: var(--lc-font-size-md);
    font-weight: 600;
}

.articles-page__subheading:first-child[b-ba1gy58dap] {
    margin-top: 0;
}

.articles-page__form-grid[b-ba1gy58dap] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.articles-page__checkbox-row[b-ba1gy58dap] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-4);
    margin-top: var(--lc-space-3);
}

.articles-page__grid-wrapper[b-ba1gy58dap] {
    overflow-x: auto;
    margin-bottom: var(--lc-space-3);
}

.articles-page__variants-grid[b-ba1gy58dap],
.articles-page__size-overrides-grid[b-ba1gy58dap] {
    border-collapse: collapse;
    width: 100%;
}

.articles-page__variants-grid th[b-ba1gy58dap],
.articles-page__variants-grid td[b-ba1gy58dap],
.articles-page__size-overrides-grid th[b-ba1gy58dap],
.articles-page__size-overrides-grid td[b-ba1gy58dap] {
    padding: var(--lc-space-2) var(--lc-space-3);
    text-align: left;
    border-bottom: 1px solid var(--lc-color-border);
}

.articles-page__variants-grid[b-ba1gy58dap]  .ds-field,
.articles-page__size-overrides-grid[b-ba1gy58dap]  .ds-field {
    min-width: 6rem;
}

@media (max-width: 40rem) {
    .articles-page__toolbar[b-ba1gy58dap] {
        flex-direction: column;
        align-items: stretch;
    }

    .articles-page__toolbar[b-ba1gy58dap]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Configuration/ArticleTypesPage.razor.rz.scp.css */
.article-types-page[b-m1tnx2mjln] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.article-types-page[b-m1tnx2mjln]  .article-types-page__section {
    min-width: 0;
}

.article-types-page__toolbar[b-m1tnx2mjln] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.article-types-page__toolbar[b-m1tnx2mjln]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.article-types-page__row-actions[b-m1tnx2mjln] {
    display: flex;
    gap: var(--lc-space-2);
}

.article-types-page__form-grid[b-m1tnx2mjln] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.article-types-page__subheading[b-m1tnx2mjln] {
    margin: 0 0 var(--lc-space-3);
    font-size: var(--lc-font-size-md);
    font-weight: 600;
}

.article-types-page__length-grid-wrapper[b-m1tnx2mjln] {
    overflow-x: auto;
    margin-bottom: var(--lc-space-5);
}

.article-types-page__length-grid[b-m1tnx2mjln] {
    border-collapse: collapse;
    width: 100%;
}

.article-types-page__length-grid th[b-m1tnx2mjln],
.article-types-page__length-grid td[b-m1tnx2mjln] {
    padding: var(--lc-space-2) var(--lc-space-3);
    text-align: center;
    border-bottom: 1px solid var(--lc-color-border);
}

.article-types-page__length-grid th:first-child[b-m1tnx2mjln],
.article-types-page__length-grid td:first-child[b-m1tnx2mjln] {
    text-align: left;
}

.article-types-page__size-fields[b-m1tnx2mjln] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.article-types-page__helper[b-m1tnx2mjln] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.article-types-page__sizes[b-m1tnx2mjln] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-1);
}

.article-types-page__size[b-m1tnx2mjln] {
    padding: 0 var(--lc-space-1);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    font-size: var(--lc-font-size-sm);
    white-space: nowrap;
}

.article-types-page__size--inactive[b-m1tnx2mjln] {
    color: var(--lc-color-text-muted);
    border-style: dashed;
    text-decoration: line-through;
}

@media (max-width: 40rem) {
    .article-types-page__toolbar[b-m1tnx2mjln] {
        flex-direction: column;
        align-items: stretch;
    }

    .article-types-page__toolbar[b-m1tnx2mjln]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Configuration/BudgetsPage.razor.rz.scp.css */
.budgets-page[b-6mncc9ivot] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.budgets-page[b-6mncc9ivot]  .budgets-page__section {
    min-width: 0;
}

.budgets-page__toolbar[b-6mncc9ivot] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--lc-space-4);
}

.budgets-page__row-actions[b-6mncc9ivot] {
    display: flex;
    gap: var(--lc-space-2);
}

.budgets-page__form[b-6mncc9ivot] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}
/* /Components/Pages/Admin/Configuration/ClassificationsPage.razor.rz.scp.css */
.classifications-page[b-kxa4kmfz4e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.classifications-page[b-kxa4kmfz4e]  .classifications-page__section {
    min-width: 0;
}

.classifications-page__toolbar[b-kxa4kmfz4e] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.classifications-page__toolbar[b-kxa4kmfz4e]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.classifications-page__row-actions[b-kxa4kmfz4e] {
    display: flex;
    gap: var(--lc-space-2);
}

@media (max-width: 40rem) {
    .classifications-page__toolbar[b-kxa4kmfz4e] {
        flex-direction: column;
        align-items: stretch;
    }

    .classifications-page__toolbar[b-kxa4kmfz4e]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Configuration/ClientConfigurationPage.razor.rz.scp.css */
.client-config[b-bxyi1d0nh9] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

/* Bandeau collé en haut de la zone de défilement : titre, état des modifications et bouton
   Enregistrer restent visibles quelle que soit la section affichée. La zone de défilement du
   portail admin (.admin-shell__content) a une marge intérieure de --lc-space-8 : le bandeau se
   colle à son bord, sinon le contenu défilerait visiblement dans cette marge, au-dessus de lui. */
.client-config__toolbar[b-bxyi1d0nh9] {
    position: sticky;
    top: calc(-1 * var(--lc-space-8));
    z-index: 20;
    display: flex;
    align-items: center;
    gap: var(--lc-space-4);
    padding: var(--lc-space-3) var(--lc-space-4);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    box-shadow: var(--lc-shadow-sm, 0 0.25rem 1rem rgb(0 0 0 / 8%));
}

.client-config__title[b-bxyi1d0nh9] {
    margin: 0;
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-lg);
}

.client-config__toolbar-status[b-bxyi1d0nh9] {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--lc-space-2);
    min-width: 0;
}

/* Grille de 12 colonnes : chaque section déclare sa largeur (client-config__span-N), les
   sections d'une même rangée prennent la hauteur de la plus haute. */
.client-config__grid[b-bxyi1d0nh9] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--lc-space-4);
    align-items: stretch;
}

.client-config__grid[b-bxyi1d0nh9]  .client-config__section {
    min-width: 0;
    padding: var(--lc-space-4);
}

.client-config__grid[b-bxyi1d0nh9]  .client-config__span-3 { grid-column: span 3; }
.client-config__grid[b-bxyi1d0nh9]  .client-config__span-4 { grid-column: span 4; }
.client-config__grid[b-bxyi1d0nh9]  .client-config__span-5 { grid-column: span 5; }
.client-config__grid[b-bxyi1d0nh9]  .client-config__span-7 { grid-column: span 7; }
.client-config__grid[b-bxyi1d0nh9]  .client-config__span-8 { grid-column: span 8; }

.client-config__section-skeleton[b-bxyi1d0nh9] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}

.client-config h2[b-bxyi1d0nh9] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.client-config__section-header[b-bxyi1d0nh9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-3);
    margin-bottom: var(--lc-space-2);
}

.client-config__section-header h2[b-bxyi1d0nh9] {
    margin: 0;
}

/* Cases compactes, une par ligne : une liste se lit d'un trait, sans grille clairsemée. */
.client-config__checks[b-bxyi1d0nh9] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

.client-config__checks--inline[b-bxyi1d0nh9] {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--lc-space-2) var(--lc-space-4);
}

.client-config__checks[b-bxyi1d0nh9]  .ds-checkbox__label {
    font-size: var(--lc-font-size-sm);
}

/* Longues listes de cases sur plusieurs colonnes, remplies ligne par ligne. */
.client-config__checks--cols-2[b-bxyi1d0nh9],
.client-config__checks--cols-3[b-bxyi1d0nh9] {
    display: grid;
    gap: var(--lc-space-1) var(--lc-space-4);
}

.client-config__checks--cols-2[b-bxyi1d0nh9] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-config__checks--cols-3[b-bxyi1d0nh9] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Réglages courts en ligne, comme l'écran legacy : libellé à gauche, saisie courte à droite. */
.client-config__rows[b-bxyi1d0nh9] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
}

.client-config__rows[b-bxyi1d0nh9]  .ds-field {
    flex-direction: row;
    align-items: center;
    gap: var(--lc-space-3);
}

.client-config__rows[b-bxyi1d0nh9]  .ds-field__label {
    flex: 1;
    min-width: 0;
    font-size: var(--lc-font-size-sm);
}

.client-config__rows[b-bxyi1d0nh9]  .ds-field__control {
    flex: 0 0 6.5rem;
}

.client-config__rows--date[b-bxyi1d0nh9]  .ds-field__control {
    flex-basis: 10rem;
}

.client-config__rows--wide[b-bxyi1d0nh9]  .ds-field__control {
    flex-basis: 65%;
}

/* Boutons radio sur une ligne. */
.client-config[b-bxyi1d0nh9]  .client-config__radios {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: var(--lc-space-4);
}

.client-config__fields[b-bxyi1d0nh9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lc-space-2);
}

.client-config__fields--2[b-bxyi1d0nh9] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}

.client-config__fields--3[b-bxyi1d0nh9] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
}

.client-config__after-checks[b-bxyi1d0nh9] {
    margin-top: var(--lc-space-3);
}

.client-config__hint[b-bxyi1d0nh9],
.client-config__link[b-bxyi1d0nh9] {
    margin: var(--lc-space-2) 0 0;
    font-size: var(--lc-font-size-sm);
}

.client-config__hint[b-bxyi1d0nh9] {
    color: var(--lc-color-text-muted);
}

.client-config__aliases-list[b-bxyi1d0nh9] {
    display: grid;
    gap: var(--lc-space-2);
    margin-top: var(--lc-space-3);
}

.client-config__alias-row[b-bxyi1d0nh9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-3);
    padding: var(--lc-space-1) var(--lc-space-3);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm);
}

.client-config__alias-add-row[b-bxyi1d0nh9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--lc-space-3);
    margin-top: var(--lc-space-3);
}

.client-config__alias-input[b-bxyi1d0nh9] {
    min-width: 0;
}

.client-config__lock-toggle[b-bxyi1d0nh9] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    padding: var(--lc-space-2) var(--lc-space-3);
    margin-bottom: var(--lc-space-3);
    background: var(--lc-color-danger-surface);
    border: 1px solid color-mix(in srgb, var(--lc-color-danger) 35%, transparent);
    border-radius: var(--lc-radius-md);
    cursor: pointer;
}

.client-config__lock-input[b-bxyi1d0nh9] {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    accent-color: var(--lc-color-danger);
    cursor: pointer;
}

.client-config__lock-icon[b-bxyi1d0nh9] {
    color: var(--lc-color-danger);
    flex-shrink: 0;
}

.client-config__lock-text[b-bxyi1d0nh9] {
    display: flex;
    flex-direction: column;
}

.client-config__lock-label[b-bxyi1d0nh9] {
    font-weight: var(--lc-font-weight-semibold);
    color: var(--lc-color-danger);
    font-size: var(--lc-font-size-sm);
}

.client-config__lock-helper[b-bxyi1d0nh9] {
    font-size: var(--lc-font-size-xs);
    color: var(--lc-color-text-muted);
}

.client-config__countries-actions[b-bxyi1d0nh9] {
    display: flex;
    gap: var(--lc-space-2);
}

/* Écran moyen : deux sections par rangée, les listes de cases gardent deux colonnes. */
@media (max-width: 90rem) {
    .client-config__grid[b-bxyi1d0nh9]  .client-config__span-3,
    .client-config__grid[b-bxyi1d0nh9]  .client-config__span-4,
    .client-config__grid[b-bxyi1d0nh9]  .client-config__span-5,
    .client-config__grid[b-bxyi1d0nh9]  .client-config__span-7,
    .client-config__grid[b-bxyi1d0nh9]  .client-config__span-8 {
        grid-column: span 6;
    }

    .client-config__grid[b-bxyi1d0nh9]  #config-features,
    .client-config__grid[b-bxyi1d0nh9]  #config-countries {
        grid-column: span 12;
    }
}

@media (max-width: 60rem) {
    .client-config__grid[b-bxyi1d0nh9]  .client-config__section {
        grid-column: span 12;
    }

    .client-config__checks--cols-3[b-bxyi1d0nh9] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Portail en défilement de fenêtre (plus de zone de défilement propre) : collé au haut. */
    .client-config__toolbar[b-bxyi1d0nh9] {
        top: 0;
    }
}

@media (max-width: 40rem) {
    .client-config__toolbar[b-bxyi1d0nh9] {
        flex-wrap: wrap;
    }

    .client-config__checks--cols-2[b-bxyi1d0nh9],
    .client-config__checks--cols-3[b-bxyi1d0nh9] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ── Bannières articles : couleurs à gauche, aperçu d'une vignette à droite ── */
.client-config__banners[b-bxyi1d0nh9] {
    display: flex;
    gap: var(--lc-space-4);
    align-items: flex-start;
}

.client-config__banner-colors[b-bxyi1d0nh9] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--lc-space-3);
    min-width: 0;
}

.client-config__color-row[b-bxyi1d0nh9] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--lc-space-1);
}

.client-config__color-row label[b-bxyi1d0nh9] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.client-config__color-row input[type="color"][b-bxyi1d0nh9] {
    width: 2.5rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm, 0.25rem);
    background: none;
    cursor: pointer;
}

.client-config__color-hint[b-bxyi1d0nh9] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    color: var(--lc-color-text-muted);
}

/* Même format que la vignette des cartes de commande. */
.client-config__banner-preview[b-bxyi1d0nh9] {
    position: relative;
    flex: 0 0 9rem;
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md, 0.5rem);
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--lc-color-primary) 12%, var(--lc-color-surface)),
        color-mix(in srgb, var(--lc-color-primary) 4%, var(--lc-color-surface)));
}

.client-config__banner-preview img[b-bxyi1d0nh9] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: var(--lc-space-3);
}
/* /Components/Pages/Admin/Configuration/ClientStylePage.razor.rz.scp.css */
.client-style[b-3ns3tssmr3] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.client-style h2[b-3ns3tssmr3] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-md);
}

.client-style__color-grid[b-3ns3tssmr3],
.client-style__asset-grid[b-3ns3tssmr3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: var(--lc-space-4);
}

.client-style__asset-grid[b-3ns3tssmr3] {
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.client-style__upload-zone[b-3ns3tssmr3] {
    position: relative;
    align-items: center;
    justify-content: center;
    min-height: 11rem;
    padding: var(--lc-space-5);
    overflow: hidden;
    color: var(--lc-color-text);
    text-align: center;
    background: linear-gradient(
        145deg,
        var(--lc-color-surface),
        var(--lc-color-background, var(--lc-color-surface)));
    border: 2px dashed var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.client-style__upload-zone:hover[b-3ns3tssmr3],
.client-style__upload-zone:focus-within[b-3ns3tssmr3] {
    background: var(--lc-color-surface-hover, var(--lc-color-surface));
    border-color: var(--lc-color-primary);
    transform: translateY(-1px);
}

.client-style__upload-zone[b-3ns3tssmr3]  .client-style__file-input {
    display: none !important;
}

.client-style__upload-icon[b-3ns3tssmr3] {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: var(--lc-space-2);
    color: var(--lc-color-on-primary);
    font-size: 1.5rem;
    font-weight: 700;
    background: var(--lc-color-primary);
    border-radius: 50%;
}

.client-style__upload-icon--css[b-3ns3tssmr3] {
    font-size: 1.1rem;
}

.client-style__upload-title[b-3ns3tssmr3],
.client-style__upload-description[b-3ns3tssmr3],
.client-style__upload-selection[b-3ns3tssmr3] {
    display: block;
}

.client-style__upload-title[b-3ns3tssmr3] {
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
}

.client-style__upload-description[b-3ns3tssmr3] {
    margin-top: 0.25rem;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
    font-weight: 400;
}

.client-style__upload-selection[b-3ns3tssmr3] {
    max-width: 100%;
    margin-top: var(--lc-space-3);
    overflow: hidden;
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-xs);
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.client-style label[b-3ns3tssmr3] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    color: var(--lc-color-text);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
}

.client-style input[type="color"][b-3ns3tssmr3] {
    width: 100%;
    min-height: 3rem;
    padding: 0.25rem;
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm);
    cursor: pointer;
}

.client-style__helper[b-3ns3tssmr3] {
    margin: var(--lc-space-4) 0 0;
    max-width: 60rem;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.client-style__actions[b-3ns3tssmr3] {
    display: flex;
    justify-content: flex-end;
}
/* /Components/Pages/Admin/Configuration/CollectionsPage.razor.rz.scp.css */
.collections-page[b-87hqakw1wx] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.collections-page[b-87hqakw1wx]  .collections-page__section {
    min-width: 0;
}

.collections-page__toolbar[b-87hqakw1wx] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.collections-page__toolbar[b-87hqakw1wx]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.collections-page__row-actions[b-87hqakw1wx] {
    display: flex;
    gap: var(--lc-space-2);
}

.collections-page__tabs[b-87hqakw1wx] {
    display: flex;
    gap: var(--lc-space-2);
    margin: var(--lc-space-4) 0;
    border-bottom: 1px solid var(--lc-color-border);
    padding-bottom: var(--lc-space-3);
}

.collections-page__checkbox-row[b-87hqakw1wx] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-3);
}

.collections-page__grid-wrapper[b-87hqakw1wx] {
    overflow-x: auto;
    margin-bottom: var(--lc-space-3);
}

.collections-page__catalog-grid[b-87hqakw1wx],
.collections-page__pricing-grid[b-87hqakw1wx],
.collections-page__stores-grid[b-87hqakw1wx] {
    border-collapse: collapse;
    width: 100%;
}

.collections-page__catalog-grid th[b-87hqakw1wx],
.collections-page__catalog-grid td[b-87hqakw1wx],
.collections-page__pricing-grid th[b-87hqakw1wx],
.collections-page__pricing-grid td[b-87hqakw1wx],
.collections-page__stores-grid th[b-87hqakw1wx],
.collections-page__stores-grid td[b-87hqakw1wx] {
    padding: var(--lc-space-2) var(--lc-space-3);
    text-align: left;
    border-bottom: 1px solid var(--lc-color-border);
}

.collections-page__pricing-grid[b-87hqakw1wx]  .ds-field {
    min-width: 6rem;
}

@media (max-width: 40rem) {
    .collections-page__toolbar[b-87hqakw1wx] {
        flex-direction: column;
        align-items: stretch;
    }

    .collections-page__toolbar[b-87hqakw1wx]  .ds-field {
        max-width: none;
    }
}

/* Case « Désactivée » : détachée du champ nom, son explication juste dessous. */
.collections-page__disable[b-87hqakw1wx] {
    margin-top: var(--lc-space-4);
}

/* Collection désactivée dans la liste : ligne atténuée en plus de son statut. */
.collections-page__row--disabled td[b-87hqakw1wx] {
    color: var(--lc-color-text-muted);
}

.collections-page__hint[b-87hqakw1wx] {
    margin: var(--lc-space-1) 0 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}
/* /Components/Pages/Admin/Configuration/EmailTemplatesPage.razor.rz.scp.css */
.email-templates-page[b-6hizhpxpf8] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.email-templates-page__heading h1[b-6hizhpxpf8] {
    margin: 0 0 var(--lc-space-2);
    color: var(--lc-color-primary);
}

.email-templates-page__heading p[b-6hizhpxpf8] {
    margin: 0;
    color: var(--lc-color-text-muted);
}

.email-templates-page__selectors[b-6hizhpxpf8] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--lc-space-4);
}

.email-templates-page__editor-panel[b-6hizhpxpf8] {
    margin-top: var(--lc-space-5);
}

.email-templates-page__html-editor[b-6hizhpxpf8] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
}

.email-templates-page__toolbar[b-6hizhpxpf8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-1);
    padding: var(--lc-space-2);
    background: var(--lc-color-background-subtle);
    border: 1px solid var(--lc-color-border);
    border-bottom: 0;
    border-radius: var(--lc-radius-md) var(--lc-radius-md) 0 0;
}

.email-templates-page__toolbar button[b-6hizhpxpf8] {
    min-width: 2rem;
    height: 2rem;
    padding: 0 var(--lc-space-2);
    color: var(--lc-color-text);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm);
    cursor: pointer;
    font: inherit;
}

.email-templates-page__toolbar button:hover[b-6hizhpxpf8] {
    color: var(--lc-color-primary);
    border-color: var(--lc-color-primary);
}

.email-templates-page__html-editor-label[b-6hizhpxpf8] {
    color: var(--lc-color-text);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
}

.email-templates-page__html-editor-surface[b-6hizhpxpf8] {
    min-height: 28rem;
    padding: var(--lc-space-4);
    overflow: auto;
    color: var(--lc-color-text);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    outline: none;
    line-height: var(--lc-line-height-normal);
}

.email-templates-page__html-editor-surface:focus[b-6hizhpxpf8] {
    border-color: var(--lc-color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--lc-color-focus) 30%, transparent);
}

.email-templates-page__html-editor-help[b-6hizhpxpf8] {
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
}

.email-templates-page__translation-heading[b-6hizhpxpf8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-4);
    margin-top: var(--lc-space-5);
}

.email-templates-page__translation-heading h2[b-6hizhpxpf8],
.email-templates-page__translation-heading p[b-6hizhpxpf8] {
    margin: 0;
}

.email-templates-page__translation-heading p[b-6hizhpxpf8] {
    margin-top: var(--lc-space-1);
    color: var(--lc-color-text-muted);
}

.email-templates-page__language-badge[b-6hizhpxpf8] {
    padding: var(--lc-space-2) var(--lc-space-3);
    color: var(--lc-color-primary);
    background: var(--lc-color-background-subtle);
    border-radius: var(--lc-radius-full);
    font-weight: var(--lc-font-weight-semibold);
}

.email-templates-page__editor-tabs[b-6hizhpxpf8] {
    display: flex;
    gap: var(--lc-space-1);
    margin-top: var(--lc-space-5);
    border-bottom: 1px solid var(--lc-color-border);
}

.email-templates-page__editor-tabs button[b-6hizhpxpf8] {
    padding: var(--lc-space-3) var(--lc-space-4);
    color: var(--lc-color-text-muted);
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font: inherit;
}

.email-templates-page__editor-tabs button:hover[b-6hizhpxpf8],
.email-templates-page__editor-tabs button.is-active[b-6hizhpxpf8] {
    color: var(--lc-color-primary);
    border-bottom-color: var(--lc-color-primary);
}

.email-templates-page__actions[b-6hizhpxpf8] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--lc-space-4);
}

.email-templates-page__preview[b-6hizhpxpf8] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.email-templates-page__preview h2[b-6hizhpxpf8] {
    margin: 0;
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-md);
}

.email-templates-page__preview-frame[b-6hizhpxpf8] {
    min-height: 20rem;
    padding: var(--lc-space-4);
    overflow: auto;
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
}

@media (max-width: 48rem) {
    .email-templates-page__selectors[b-6hizhpxpf8] {
        grid-template-columns: 1fr;
    }

    .email-templates-page__translation-heading[b-6hizhpxpf8] {
        align-items: flex-start;
        flex-direction: column;
    }
}
/* /Components/Pages/Admin/Configuration/ProfessionCollectionPage.razor.rz.scp.css */
.profession-collection-page[b-yzaxxe2kn6] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.profession-collection-page[b-yzaxxe2kn6]  .profession-collection-page__section {
    min-width: 0;
}

.profession-collection-page__breadcrumb[b-yzaxxe2kn6] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    margin-bottom: var(--lc-space-4);
    font-size: 0.85rem;
    color: var(--lc-color-text-muted);
}

.profession-collection-page__breadcrumb-link[b-yzaxxe2kn6] {
    display: inline-flex;
    align-items: center;
    gap: var(--lc-space-2);
    color: var(--lc-color-primary);
    text-decoration: none;
    font-weight: 600;
}

.profession-collection-page__breadcrumb-link:hover[b-yzaxxe2kn6] {
    text-decoration: underline;
}

.profession-collection-page__breadcrumb-separator[b-yzaxxe2kn6] {
    color: var(--lc-color-text-muted);
}

.profession-collection-page__header[b-yzaxxe2kn6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
    flex-wrap: wrap;
}

.profession-collection-page__title h2[b-yzaxxe2kn6] {
    margin: 0;
}

.profession-collection-page__subtitle[b-yzaxxe2kn6] {
    margin: var(--lc-space-1) 0 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.profession-collection-page__save-status[b-yzaxxe2kn6] {
    min-height: 1.25rem;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.profession-collection-page[b-yzaxxe2kn6]  .profession-collection-page__tabs {
    margin-bottom: var(--lc-space-4);
}

.profession-collection-page[b-yzaxxe2kn6]  .profession-collection-page__tabs--secondary {
    border-bottom-style: dashed;
}

.profession-collection-page__designation[b-yzaxxe2kn6] {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Colonne Inclus : la case seule, centrée sur une colonne étroite. */
.profession-collection-page__included-cell[b-yzaxxe2kn6] {
    width: 3rem;
    text-align: center;
}

.profession-collection-page[b-yzaxxe2kn6]  .profession-collection-page__included-cell .ds-checkbox {
    align-items: center;
    gap: 0;
}

/* Ligne en collection : repère discret sur le code, comme les premières lignes du legacy. */
.profession-collection-page__row--in td:nth-child(2)[b-yzaxxe2kn6] {
    font-weight: 600;
}

.profession-collection-page[b-yzaxxe2kn6]  .ds-field {
    min-width: 4rem;
}

.profession-collection-page[b-yzaxxe2kn6]  td .ds-select {
    min-width: 9rem;
}

.profession-collection-page__status-cell[b-yzaxxe2kn6] {
    width: 1.5rem;
}

.profession-collection-page__status[b-yzaxxe2kn6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: var(--lc-control-height-md);
    color: var(--lc-color-text-muted);
}

.profession-collection-page__status--conflict[b-yzaxxe2kn6] {
    color: var(--lc-color-warning);
}

.profession-collection-page__status--error[b-yzaxxe2kn6] {
    color: var(--lc-color-danger);
}

.profession-collection-page__status--saving[b-yzaxxe2kn6]  .ds-icon {
    animation: profession-collection-page-spin-b-yzaxxe2kn6 1s linear infinite;
}

@keyframes profession-collection-page-spin-b-yzaxxe2kn6 {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .profession-collection-page__status--saving[b-yzaxxe2kn6]  .ds-icon {
        animation: none;
    }
}

/* Barre d'actions du haut : le statut à gauche des boutons, tout aligné sur le titre. */
.profession-collection-page__actions[b-yzaxxe2kn6] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    flex-wrap: wrap;
}
/* /Components/Pages/Admin/Configuration/ProfessionsPage.razor.rz.scp.css */
.professions-page[b-n8petcuivn] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.professions-page[b-n8petcuivn]  .professions-page__section {
    min-width: 0;
}

.professions-page__toolbar[b-n8petcuivn] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.professions-page__toolbar[b-n8petcuivn]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.professions-page__row-actions[b-n8petcuivn] {
    display: flex;
    gap: var(--lc-space-2);
}

.professions-page__subheading[b-n8petcuivn] {
    margin: var(--lc-space-5) 0 var(--lc-space-3);
    font-size: var(--lc-font-size-md);
    font-weight: 600;
}

.professions-page__subheading:first-child[b-n8petcuivn] {
    margin-top: 0;
}

.professions-page__form-grid[b-n8petcuivn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.professions-page__checkbox-row[b-n8petcuivn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-3);
}

.professions-page__grid-wrapper[b-n8petcuivn] {
    overflow-x: auto;
    margin-bottom: var(--lc-space-3);
}

.professions-page__threshold-grid[b-n8petcuivn],
.professions-page__groupings-grid[b-n8petcuivn],
.professions-page__stores-grid[b-n8petcuivn] {
    border-collapse: collapse;
    width: 100%;
}

.professions-page__threshold-grid th[b-n8petcuivn],
.professions-page__threshold-grid td[b-n8petcuivn],
.professions-page__groupings-grid th[b-n8petcuivn],
.professions-page__groupings-grid td[b-n8petcuivn],
.professions-page__stores-grid th[b-n8petcuivn],
.professions-page__stores-grid td[b-n8petcuivn] {
    padding: var(--lc-space-2) var(--lc-space-3);
    text-align: left;
    border-bottom: 1px solid var(--lc-color-border);
}

.professions-page__threshold-grid[b-n8petcuivn]  .ds-field,
.professions-page__groupings-grid[b-n8petcuivn]  .ds-field {
    min-width: 6rem;
}

@media (max-width: 40rem) {
    .professions-page__toolbar[b-n8petcuivn] {
        flex-direction: column;
        align-items: stretch;
    }

    .professions-page__toolbar[b-n8petcuivn]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Configuration/PromotionsPage.razor.rz.scp.css */
.promotions-page[b-8r7u5p74vk] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.promotions-page[b-8r7u5p74vk]  .promotions-page__section {
    min-width: 0;
}

.promotions-page__toolbar[b-8r7u5p74vk] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.promotions-page__toolbar[b-8r7u5p74vk]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.promotions-page__row-actions[b-8r7u5p74vk] {
    display: flex;
    gap: var(--lc-space-2);
}

.promotions-page__dates-grid[b-8r7u5p74vk] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 12rem));
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.promotions-page__grid-wrapper[b-8r7u5p74vk] {
    overflow-x: auto;
    margin-bottom: var(--lc-space-3);
}

.promotions-page__articles-grid[b-8r7u5p74vk] {
    border-collapse: collapse;
    width: 100%;
}

.promotions-page__articles-grid th[b-8r7u5p74vk],
.promotions-page__articles-grid td[b-8r7u5p74vk] {
    padding: var(--lc-space-2) var(--lc-space-3);
    text-align: left;
    border-bottom: 1px solid var(--lc-color-border);
}

.promotions-page__articles-grid[b-8r7u5p74vk]  .ds-field {
    min-width: 5rem;
}

@media (max-width: 40rem) {
    .promotions-page__toolbar[b-8r7u5p74vk] {
        flex-direction: column;
        align-items: stretch;
    }

    .promotions-page__toolbar[b-8r7u5p74vk]  .ds-field {
        max-width: none;
    }

    .promotions-page__dates-grid[b-8r7u5p74vk] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Admin/Configuration/SectorsPage.razor.rz.scp.css */
.sectors-page[b-jts0l5mzqv] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.sectors-page[b-jts0l5mzqv]  .sectors-page__section {
    min-width: 0;
}

.sectors-page__toolbar[b-jts0l5mzqv] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.sectors-page__toolbar[b-jts0l5mzqv]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.sectors-page__row-actions[b-jts0l5mzqv] {
    display: flex;
    gap: var(--lc-space-2);
}

.sectors-page__form[b-jts0l5mzqv] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

@media (max-width: 40rem) {
    .sectors-page__toolbar[b-jts0l5mzqv] {
        flex-direction: column;
        align-items: stretch;
    }

    .sectors-page__toolbar[b-jts0l5mzqv]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Configuration/StockPage.razor.rz.scp.css */
.stock-page[b-d6a8w6es57] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.stock-page[b-d6a8w6es57]  .stock-page__section {
    min-width: 0;
}

.stock-page__toolbar[b-d6a8w6es57] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-3);
    margin-bottom: var(--lc-space-4);
    max-width: none;
}

.stock-page__col-code[b-d6a8w6es57] {
    width: 6rem;
    min-width: 6rem;
}

.stock-page__designation[b-d6a8w6es57] {
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stock-page__nature[b-d6a8w6es57] {
    font-style: italic;
    color: var(--lc-color-text-muted);
    white-space: nowrap;
    min-width: 10rem;
}

.stock-page__qty[b-d6a8w6es57] {
    text-align: right;
    white-space: nowrap;
    min-width: 3.5rem;
    font-variant-numeric: tabular-nums;
}

.stock-page__sizes-header[b-d6a8w6es57] {
    text-align: center;
}

.stock-page__sizes-row td[b-d6a8w6es57] {
    font-weight: 600;
    color: var(--lc-color-text-muted);
    background: var(--lc-color-background-subtle);
    border-bottom: 1px solid var(--lc-color-border);
}

.stock-page__total[b-d6a8w6es57] {
    font-weight: 600;
}

.stock-page__totals[b-d6a8w6es57] {
    margin-top: var(--lc-space-5);
}

.stock-page__totals-heading[b-d6a8w6es57] {
    margin: 0 0 var(--lc-space-3);
    font-size: 1rem;
}

.stock-page__totals-cards[b-d6a8w6es57] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-4);
}

.stock-page__total-card[b-d6a8w6es57] {
    flex: 1 1 14rem;
    max-width: 20rem;
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
    padding: var(--lc-space-4);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    background: var(--lc-color-background-subtle);
}

.stock-page__total-card-nature[b-d6a8w6es57] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lc-color-text-muted);
}

.stock-page__total-card-metrics[b-d6a8w6es57] {
    display: flex;
    gap: var(--lc-space-5);
}

.stock-page__total-card-metric[b-d6a8w6es57] {
    display: flex;
    flex-direction: column;
}

.stock-page__total-card-value[b-d6a8w6es57] {
    font-size: 1.35rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.stock-page__total-card-label[b-d6a8w6es57] {
    font-size: 0.75rem;
    color: var(--lc-color-text-muted);
}
/* /Components/Pages/Admin/Orders/OrderArchivePage.razor.rz.scp.css */
.order-archive__description[b-se1iclk2fj] {
    max-width: 40rem;
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-text-muted);
}

.order-archive__message[b-se1iclk2fj] {
    max-width: 40rem;
    margin-bottom: var(--lc-space-4);
}

.order-archive__confirm[b-se1iclk2fj] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    max-width: 40rem;
}

.order-archive__confirm-actions[b-se1iclk2fj] {
    display: flex;
    gap: var(--lc-space-2);
}
/* /Components/Pages/Admin/Orders/OrderEditPage.razor.rz.scp.css */
.order-edit__field[b-vg4vsbdurh] {
    max-width: 20rem;
    margin-bottom: var(--lc-space-4);
}

.order-edit__message[b-vg4vsbdurh] {
    max-width: 30rem;
    margin-bottom: var(--lc-space-4);
}

.order-edit__actions[b-vg4vsbdurh] {
    display: flex;
    gap: var(--lc-space-2);
}
/* /Components/Pages/Admin/Orders/OrderProgressPage.razor.rz.scp.css */
.order-progress[b-8x9wnoe38q] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.order-progress[b-8x9wnoe38q]  .order-progress__section {
    min-width: 0;
}

.order-progress__section h2[b-8x9wnoe38q] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-md);
}

.order-progress__filters-grid[b-8x9wnoe38q] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: var(--lc-space-4);
    align-items: end;
}

.order-progress__filters-actions[b-8x9wnoe38q] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lc-space-2);
    margin-top: var(--lc-space-4);
}

@media (max-width: 40rem) {
    .order-progress__filters-grid[b-8x9wnoe38q] {
        grid-template-columns: 1fr;
    }

    .order-progress__filters-actions[b-8x9wnoe38q] {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .order-progress__filters-actions[b-8x9wnoe38q]  .ds-button {
        width: 100%;
    }
}
/* /Components/Pages/Admin/Orders/OrderTrackingPage.razor.rz.scp.css */
.order-tracking[b-gwlrjga2zt] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.order-tracking[b-gwlrjga2zt]  .order-tracking__section {
    min-width: 0;
}

.order-tracking__section h2[b-gwlrjga2zt] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-md);
}

.order-tracking__filters-grid[b-gwlrjga2zt] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: var(--lc-space-4);
    align-items: end;
}

.order-tracking__filters-actions[b-gwlrjga2zt] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--lc-space-4);
}

.order-tracking__action-message[b-gwlrjga2zt] {
    margin-bottom: var(--lc-space-4);
}

.order-tracking__layout[b-gwlrjga2zt] {
    display: flex;
    gap: var(--lc-space-5);
    align-items: flex-start;
}

.order-tracking__grid[b-gwlrjga2zt] {
    flex: 1;
    min-width: 0;
}

.order-tracking__actions[b-gwlrjga2zt] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    width: 13rem;
    flex-shrink: 0;
}

.order-tracking__row-actions[b-gwlrjga2zt] {
    display: flex;
    gap: var(--lc-space-2);
}

@media (max-width: 40rem) {
    .order-tracking__filters-grid[b-gwlrjga2zt] {
        grid-template-columns: 1fr;
    }

    .order-tracking__layout[b-gwlrjga2zt] {
        flex-direction: column;
    }

    .order-tracking__actions[b-gwlrjga2zt] {
        width: 100%;
    }
}
/* /Components/Pages/Admin/Orders/OrderValidationPage.razor.rz.scp.css */
.order-validation[b-v1wqcbyfeo] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.order-validation[b-v1wqcbyfeo]  .order-validation__section {
    min-width: 0;
}

.order-validation__intro[b-v1wqcbyfeo] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-text-muted);
}

.order-validation__layout[b-v1wqcbyfeo] {
    display: flex;
    gap: var(--lc-space-5);
    align-items: flex-start;
}

.order-validation__grid[b-v1wqcbyfeo] {
    flex: 1;
    min-width: 0;
}

.order-validation__actions[b-v1wqcbyfeo] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    width: 13rem;
    flex-shrink: 0;
}

.order-validation__actions[b-v1wqcbyfeo]  .ds-button:nth-child(4) {
    margin-top: var(--lc-space-3);
}

.order-validation[b-v1wqcbyfeo]  .ds-table-shell th:first-child,
.order-validation[b-v1wqcbyfeo]  .ds-table-shell td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--lc-color-surface);
    border-right: 1px solid var(--lc-color-border);
}

.order-validation[b-v1wqcbyfeo]  .ds-table-shell thead th:first-child {
    z-index: 2;
    background: var(--lc-color-background-subtle);
}

.order-validation__row--validated[b-v1wqcbyfeo] {
    color: var(--lc-color-text-muted);
}


@media (max-width: 40rem) {
    .order-validation__layout[b-v1wqcbyfeo] {
        flex-direction: column;
    }

    .order-validation__actions[b-v1wqcbyfeo] {
        width: 100%;
    }

    .order-validation__actions[b-v1wqcbyfeo]  .ds-button:nth-child(4) {
        margin-top: 0;
    }
}
/* /Components/Pages/Admin/Teams/PersonSearchPage.razor.rz.scp.css */
.person-search-page[b-2nv8qd7n41] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.person-search-page[b-2nv8qd7n41]  .person-search-page__section {
    min-width: 0;
}

.person-search-page__filters[b-2nv8qd7n41] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    flex-wrap: wrap;
    margin-bottom: var(--lc-space-4);
}

.person-search-page__row-actions[b-2nv8qd7n41] {
    display: flex;
    gap: var(--lc-space-2);
}

.person-search-page__form[b-2nv8qd7n41] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}
/* /Components/Pages/Admin/Teams/PersonsWithoutOrderPage.razor.rz.scp.css */
.persons-without-order__filters[b-gv3p1t759o] {
    display: flex;
    align-items: end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.persons-without-order__filters[b-gv3p1t759o]  .ds-field {
    max-width: 14rem;
}

@media (max-width: 40rem) {
    .persons-without-order__filters[b-gv3p1t759o] {
        flex-direction: column;
        align-items: stretch;
    }

    .persons-without-order__filters[b-gv3p1t759o]  .ds-field {
        max-width: none;
    }
}
/* /Components/Pages/Admin/Teams/StoresPage.razor.rz.scp.css */
.stores-page[b-f06lrfozqn] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.stores-page[b-f06lrfozqn]  .stores-page__section {
    min-width: 0;
}

.stores-page__toolbar[b-f06lrfozqn] {
    display: flex;
    align-items: flex-end;
    gap: var(--lc-space-4);
    margin-bottom: var(--lc-space-4);
}

.stores-page__toolbar[b-f06lrfozqn]  .ds-field {
    flex: 1;
    max-width: 18rem;
}

.stores-page__row-actions[b-f06lrfozqn] {
    display: flex;
    gap: var(--lc-space-2);
}

.stores-page__form[b-f06lrfozqn] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.stores-page__form-section[b-f06lrfozqn] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}

.stores-page__section-title[b-f06lrfozqn] {
    margin: 0;
    font-size: var(--lc-font-size-md, 1rem);
    color: var(--lc-color-primary);
    border-bottom: 1px solid var(--lc-color-border);
    padding-bottom: var(--lc-space-1);
}

.stores-page__section-hint[b-f06lrfozqn] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

/* Colonnes fixes plutôt qu'auto-fill : les champs d'une même ligne restent alignés d'une
   section à l'autre (adresse sur deux lignes de trois, contact sur deux colonnes). */
.stores-page__form-grid[b-f06lrfozqn] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--lc-space-4);
}

.stores-page__form-options[b-f06lrfozqn] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-3) var(--lc-space-6);
}

@media (max-width: 60rem) {
    .stores-page__form-grid[b-f06lrfozqn] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 40rem) {
    .stores-page__toolbar[b-f06lrfozqn] {
        flex-direction: column;
        align-items: stretch;
    }

    .stores-page__toolbar[b-f06lrfozqn]  .ds-field {
        max-width: none;
    }

    .stores-page__form-grid[b-f06lrfozqn] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/ClientAdministration/ClientAdministration.razor.rz.scp.css */
.client-administration-home h1[b-f681o0zkw5] {
    margin: 0;
    color: var(--lc-color-primary);
}
/* /Components/Pages/ClientAdministration/ClientUtilisateurs.razor.rz.scp.css */
.client-utilisateurs-page[b-e9tbc3bike] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-6);
    min-width: 0;
}

.client-utilisateurs-header h1[b-e9tbc3bike] {
    margin: 0;
    color: var(--lc-color-primary);
}

.client-utilisateurs-row-actions[b-e9tbc3bike] {
    display: flex;
    gap: var(--lc-space-2);
}

.client-utilisateurs-form[b-e9tbc3bike] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.home-content[b-qlxjxbiyih] {
    width: min(72rem, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(3rem, 8vw, 7rem) 0;
}

.home-hero[b-qlxjxbiyih] {
    max-width: 52rem;
}

.home-hero__eyebrow[b-qlxjxbiyih] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-accent);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-bold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-hero h1[b-qlxjxbiyih] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-primary);
    font-size: clamp(2.5rem, 7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.055em;
}

.home-hero > p:last-child[b-qlxjxbiyih] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.7;
}
/* /Components/Pages/InvitationAcceptance.razor.rz.scp.css */
.invitation-page[b-icy4j7be98] {
    display: grid;
    grid-template-columns: minmax(28rem, 1.08fr) minmax(30rem, 0.92fr);
    min-height: 100vh;
    background: var(--lc-color-surface);
}

.invitation-password-policy[b-icy4j7be98] {
    margin-bottom: var(--lc-space-5);
    padding: var(--lc-space-4);
    color: var(--lc-color-text-muted);
    background: color-mix(in srgb, var(--lc-color-primary) 5%, var(--lc-color-surface));
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    font-size: var(--lc-font-size-sm);
}

.invitation-password-policy__title[b-icy4j7be98] {
    margin: 0 0 var(--lc-space-2);
    color: var(--lc-color-text);
    font-weight: var(--lc-font-weight-bold);
}

.invitation-password-policy ul[b-icy4j7be98] {
    margin: 0;
    padding-left: 1.25rem;
}

.invitation-password-rule[b-icy4j7be98] {
    color: var(--lc-color-text-muted);
    transition: color 150ms ease-in-out;
}

.invitation-password-rule--valid[b-icy4j7be98] {
    color: var(--lc-color-success, #198754);
}

.invitation-password-rule--invalid[b-icy4j7be98] {
    color: var(--lc-color-danger, #dc3545);
}

.invitation-visual[b-icy4j7be98] {
    min-height: 100vh;
    padding: clamp(2rem, 5vw, 4.5rem);
    color: var(--lc-color-on-primary);
    background-color: var(--lc-color-primary);
    background-image:
        linear-gradient(
            145deg,
            color-mix(in srgb, var(--lc-color-primary) 88%, transparent),
            color-mix(in srgb, var(--lc-color-primary) 48%, transparent)),
        url("/branding/login-background");
    background-position: center;
    background-size: cover;
}

.invitation-visual__overlay[b-icy4j7be98] {
    display: flex;
    flex-direction: column;
    width: min(100%, 42rem);
    min-height: calc(100vh - clamp(4rem, 10vw, 9rem));
    margin: 0 auto;
}

.invitation-visual__logo[b-icy4j7be98] {
    max-width: 16rem;
    max-height: 4.75rem;
}

.invitation-visual__content[b-icy4j7be98] {
    margin: auto 0;
    padding: 5rem 0;
}

.invitation-visual__eyebrow[b-icy4j7be98],
.invitation-heading__eyebrow[b-icy4j7be98] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-accent);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-bold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.invitation-visual__content h2[b-icy4j7be98] {
    max-width: 34rem;
    margin: 0 0 var(--lc-space-5);
    font-size: clamp(2.8rem, 6vw, 5.75rem);
    line-height: 0.96;
    letter-spacing: -0.055em;
}

.invitation-visual__content > p:last-child[b-icy4j7be98] {
    max-width: 34rem;
    margin: 0;
    color: color-mix(in srgb, var(--lc-color-on-primary) 80%, transparent);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

.invitation-visual__footer[b-icy4j7be98] {
    display: flex;
    gap: var(--lc-space-2);
    align-items: center;
    color: color-mix(in srgb, var(--lc-color-on-primary) 78%, transparent);
    font-size: var(--lc-font-size-sm);
}

.invitation-panel[b-icy4j7be98] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: clamp(2rem, 6vw, 5rem);
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--lc-color-accent) 10%, transparent), transparent 35%),
        var(--lc-color-surface);
}

.invitation-panel__inner[b-icy4j7be98] {
    width: min(100%, 30rem);
    margin: auto;
}

.invitation-panel__mobile-logo[b-icy4j7be98] {
    display: none;
    margin-bottom: var(--lc-space-10);
}

.invitation-heading[b-icy4j7be98] {
    margin-bottom: var(--lc-space-8);
}

.invitation-heading h1[b-icy4j7be98] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-primary);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.invitation-heading > p:last-child[b-icy4j7be98] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-lg);
    line-height: var(--lc-line-height-normal);
}

.invitation-form[b-icy4j7be98] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.invitation-server-error[b-icy4j7be98] {
    margin-bottom: var(--lc-space-5);
}

.invitation-form[b-icy4j7be98]  .ds-field__message--error {
    margin-top: var(--lc-space-2);
}

.invitation-expiry[b-icy4j7be98] {
    margin: var(--lc-space-5) 0 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

.invitation-footer[b-icy4j7be98] {
    margin-top: var(--lc-space-10);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
    text-align: center;
}

@media (max-width: 62rem) {
    .invitation-page[b-icy4j7be98] {
        grid-template-columns: minmax(22rem, 0.8fr) minmax(28rem, 1.2fr);
    }
}

@media (max-width: 48rem) {
    .invitation-page[b-icy4j7be98] {
        display: block;
    }

    .invitation-visual[b-icy4j7be98] {
        display: none;
    }

    .invitation-panel[b-icy4j7be98] {
        min-height: 100vh;
        padding: 2rem clamp(1.25rem, 7vw, 3rem);
    }

    .invitation-panel__mobile-logo[b-icy4j7be98] {
        display: block;
        max-width: 13rem;
    }
}

@media (max-width: 28rem) {
    .invitation-panel[b-icy4j7be98] {
        padding-inline: 1rem;
    }

    .invitation-heading h1[b-icy4j7be98] {
        font-size: 2rem;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-l6sh5g85rc] {
    display: grid;
    grid-template-columns: minmax(28rem, 1.08fr) minmax(30rem, 0.92fr);
    min-height: 100vh;
    background: var(--lc-color-surface);
}

.login-external-providers[b-l6sh5g85rc] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}

.login-external-providers__button[b-l6sh5g85rc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--lc-space-2);
    text-decoration: none;
}

.login-visual[b-l6sh5g85rc] {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    padding: clamp(2rem, 5vw, 4.5rem);
    color: var(--lc-color-on-primary);
    background-color: var(--lc-color-primary);
    background-image:
        linear-gradient(
            145deg,
            color-mix(in srgb, var(--lc-color-primary) 88%, transparent),
            color-mix(in srgb, var(--lc-color-primary) 48%, transparent)),
        var(--login-background-image, url("/branding/login-background"));
    background-position: center;
    background-size: cover;
}

.login-visual--slider[b-l6sh5g85rc] {
    background-image: none;
    overflow: hidden;
    --login-slide-duration: calc(var(--login-slide-count, 2) * 8s);
}

.login-visual__slides[b-l6sh5g85rc] {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.login-visual__slide[b-l6sh5g85rc] {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    opacity: 0;
    animation: login-background-slide-b-l6sh5g85rc var(--login-slide-duration) infinite;
    animation-delay: var(--login-slide-delay, 0s);
}

.login-visual__slide[b-l6sh5g85rc]::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--lc-color-primary) 88%, transparent),
        color-mix(in srgb, var(--lc-color-primary) 48%, transparent));
    content: "";
}

.login-visual__overlay[b-l6sh5g85rc] {
    position: relative;
    z-index: 1;
}

@keyframes login-background-slide-b-l6sh5g85rc {
    0%, 28% { opacity: 1; }
    33%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .login-visual__slide[b-l6sh5g85rc] {
        animation: none;
    }

    .login-visual__slide:first-child[b-l6sh5g85rc] {
        opacity: 1;
    }
}

.login-visual__overlay[b-l6sh5g85rc] {
    display: flex;
    flex-direction: column;
    width: min(100%, 42rem);
    min-height: calc(100vh - clamp(4rem, 10vw, 9rem));
    margin: 0 auto;
}

.login-visual__logo[b-l6sh5g85rc] {
    max-width: 16rem;
    max-height: 4.75rem;
}

.login-visual__content[b-l6sh5g85rc] {
    margin: auto 0;
    padding: 5rem 0;
}

.login-visual__eyebrow[b-l6sh5g85rc],
.login-heading__eyebrow[b-l6sh5g85rc] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-accent);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-bold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.login-visual__content h2[b-l6sh5g85rc] {
    max-width: 34rem;
    margin: 0 0 var(--lc-space-5);
    font-size: clamp(2.8rem, 6vw, 5.75rem);
    line-height: 0.96;
    letter-spacing: -0.055em;
}

.login-visual__content > p:last-child[b-l6sh5g85rc] {
    max-width: 34rem;
    margin: 0;
    color: color-mix(in srgb, var(--lc-color-on-primary) 80%, transparent);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.7;
}

.login-visual__footer[b-l6sh5g85rc] {
    display: flex;
    gap: var(--lc-space-2);
    align-items: center;
    color: color-mix(in srgb, var(--lc-color-on-primary) 78%, transparent);
    font-size: var(--lc-font-size-sm);
}

.login-panel[b-l6sh5g85rc] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: clamp(2rem, 6vw, 5rem);
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--lc-color-accent) 10%, transparent), transparent 35%),
        var(--lc-color-surface);
}

.login-panel__inner[b-l6sh5g85rc] {
    width: min(100%, 30rem);
    margin: auto;
}

.login-panel__mobile-logo[b-l6sh5g85rc] {
    display: none;
    margin-bottom: var(--lc-space-10);
}

.login-heading[b-l6sh5g85rc] {
    margin-bottom: var(--lc-space-8);
}

.login-heading h1[b-l6sh5g85rc] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-primary);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.login-heading h1:focus[b-l6sh5g85rc] {
    outline: none;
}

.login-heading > p:last-child[b-l6sh5g85rc] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-lg);
    line-height: var(--lc-line-height-normal);
}

.login-form[b-l6sh5g85rc] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.login-form__options[b-l6sh5g85rc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.login-support[b-l6sh5g85rc] {
    display: flex;
    gap: var(--lc-space-3);
    align-items: flex-start;
    margin-top: var(--lc-space-8);
    padding-top: var(--lc-space-6);
    color: var(--lc-color-text-muted);
    border-top: 1px solid var(--lc-color-border);
}

.login-support .ds-icon[b-l6sh5g85rc] {
    flex: 0 0 auto;
    color: var(--lc-color-primary);
}

.login-support p[b-l6sh5g85rc] {
    margin: 0;
    font-size: var(--lc-font-size-sm);
    line-height: var(--lc-line-height-normal);
}

.login-footer[b-l6sh5g85rc] {
    margin-top: var(--lc-space-10);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs);
    text-align: center;
}

@media (max-width: 62rem) {
    .login-page[b-l6sh5g85rc] {
        grid-template-columns: minmax(22rem, 0.8fr) minmax(28rem, 1.2fr);
    }

    .login-visual[b-l6sh5g85rc] {
        padding: 2.5rem;
    }

    .login-visual__content h2[b-l6sh5g85rc] {
        font-size: clamp(2.6rem, 7vw, 4.25rem);
    }
}

@media (max-width: 48rem) {
    .login-page[b-l6sh5g85rc] {
        display: block;
    }

    .login-visual[b-l6sh5g85rc] {
        display: none;
    }

    .login-panel[b-l6sh5g85rc] {
        min-height: 100vh;
        padding: 2rem clamp(1.25rem, 7vw, 3rem);
    }

    .login-panel__mobile-logo[b-l6sh5g85rc] {
        display: block;
        max-width: 13rem;
    }
}

@media (max-width: 28rem) {
    .login-panel[b-l6sh5g85rc] {
        padding-inline: 1rem;
    }

    .login-heading h1[b-l6sh5g85rc] {
        font-size: 2rem;
    }
}
/* /Components/Pages/PasswordReset.razor.rz.scp.css */
.password-reset-page[b-lpd9pdemvp] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--lc-space-6);
}

.password-reset-panel[b-lpd9pdemvp] {
    width: min(28rem, 100%);
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.password-reset-panel__logo[b-lpd9pdemvp] {
    align-self: center;
}

.password-reset-heading h1[b-lpd9pdemvp] {
    margin: 0 0 var(--lc-space-2);
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    color: var(--lc-color-primary);
}

.password-reset-heading p[b-lpd9pdemvp] {
    margin: 0;
    color: var(--lc-color-text-muted);
}

.password-reset-form[b-lpd9pdemvp] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}
/* /Components/Pages/Persons.razor.rz.scp.css */
/* Pas de largeur ni de padding propres : la zone de contenu du WorkspaceShell fournit déjà les
   marges et porte le défilement — même structure que ClientUtilisateurs. Seule la table défile
   (MaxHeight calé sur le viewport dans le .razor). */
.persons-page[b-tza1exf36u] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-6);
    min-width: 0;
}

.persons-header h1[b-tza1exf36u] {
    margin: 0;
    color: var(--lc-color-primary);
}

.persons-toolbar[b-tza1exf36u] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--lc-space-4);
}

.persons-row-actions[b-tza1exf36u] {
    display: flex;
    gap: var(--lc-space-2);
}

.persons-form[b-tza1exf36u] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.persons-form section[b-tza1exf36u] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}

.persons-form h3[b-tza1exf36u] {
    margin: 0;
    font-size: var(--lc-font-size-md, 1rem);
    color: var(--lc-color-primary);
    border-bottom: 1px solid var(--lc-color-border);
    padding-bottom: var(--lc-space-1);
}

.persons-form-grid[b-tza1exf36u] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--lc-space-4);
}

.persons-order-facts[b-tza1exf36u] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: var(--lc-space-1) var(--lc-space-4);
    margin: 0;
}

.persons-order-facts dt[b-tza1exf36u] {
    color: var(--lc-color-text-muted);
}

.persons-order-facts dd[b-tza1exf36u] {
    margin: 0;
}

@media (max-width: 40rem) {
    .persons-form-grid[b-tza1exf36u] {
        grid-template-columns: 1fr;
    }
}

/* Le champ Sexe et sa case Mixte ne font qu'une cellule de la grille : la case se glisse sous le
   sélecteur au lieu d'occuper une colonne à elle seule. */
.person-sex-field[b-tza1exf36u] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    min-width: 0;
}
/* /Components/Pages/Workspace/Boutique.razor.rz.scp.css */
.boutique-home[b-oe5hdidcai] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.boutique-home h1[b-oe5hdidcai] {
    margin: 0;
    color: var(--lc-color-primary);
}

/* Commande en cours : ses informations en vis-à-vis, puis l'action pour la poursuivre. */
.boutique-home__order-title[b-oe5hdidcai] {
    margin: 0 0 var(--lc-space-3);
    font-size: var(--lc-font-size-lg, 1.125rem);
    color: var(--lc-color-text);
}

.boutique-home__order-details[b-oe5hdidcai] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: var(--lc-space-3);
    margin: 0 0 var(--lc-space-4);
}

.boutique-home__order-details dt[b-oe5hdidcai] {
    margin: 0 0 2px;
    font-size: var(--lc-font-size-sm, 0.875rem);
    color: var(--lc-color-text-muted);
}

.boutique-home__order-details dd[b-oe5hdidcai] {
    margin: 0;
    font-weight: 600;
}

.boutique-home__order-empty[b-oe5hdidcai] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-text-muted);
}
/* /Components/Pages/Workspace/BoutiqueCommandeGroupee.razor.rz.scp.css */
.grouped-order[b-f1sfs3dp3a] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    min-width: 0;
}

.grouped-order__header[b-f1sfs3dp3a] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--lc-space-3);
}

.grouped-order__header h1[b-f1sfs3dp3a] {
    margin: 0;
    color: var(--lc-color-primary);
}

.grouped-order__subtitle[b-f1sfs3dp3a] {
    margin: var(--lc-space-1) 0 0;
    color: var(--lc-color-text-muted);
}

.grouped-order__hint[b-f1sfs3dp3a] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

/* Grille de cartes, comme la commande à la personne, en plus compact : la saisie se fait dans la
   popup, la carte n'a qu'à faire reconnaître l'article — tout le catalogue d'un coup d'œil. */
.grouped-order__grid[b-f1sfs3dp3a] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 12.5rem));
    justify-content: start;
    gap: var(--lc-space-3);
}

/* ── Carte article : même lecture que la commande à la personne ── */

.grouped-card[b-f1sfs3dp3a] {
    --grouped-card-accent: var(--lc-color-border);
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--lc-color-surface);
    border: 2px solid var(--lc-color-border);
    border-left: 4px solid var(--grouped-card-accent);
    border-radius: var(--lc-radius-lg);
    box-shadow: var(--lc-shadow-sm);
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.grouped-card:hover[b-f1sfs3dp3a] {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.grouped-card:focus-visible[b-f1sfs3dp3a] {
    outline: 3px solid var(--grouped-card-accent);
    outline-offset: 2px;
}

/* Au panier : la carte s'enfonce (relief, pas couleur), comme à la personne. */
.grouped-card--in-cart[b-f1sfs3dp3a],
.grouped-card--in-cart:hover[b-f1sfs3dp3a] {
    background: color-mix(in srgb, var(--grouped-card-accent) 6%, var(--lc-color-surface));
    box-shadow: none;
    transform: translateY(2px);
}

.grouped-card--in-cart[b-f1sfs3dp3a]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 4px 12px rgb(13 8 64 / 22%);
}

.grouped-card__image[b-f1sfs3dp3a] {
    position: relative;
    aspect-ratio: 4 / 5;
    max-height: 11rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--lc-color-primary) 12%, var(--lc-color-surface)),
        color-mix(in srgb, var(--lc-color-primary) 4%, var(--lc-color-surface)));
    overflow: hidden;
}

.grouped-card__image img[b-f1sfs3dp3a],
.grouped-entry__image img[b-f1sfs3dp3a] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grouped-card__image img.grouped-card__image--placeholder[b-f1sfs3dp3a],
.grouped-entry__image img.grouped-card__image--placeholder[b-f1sfs3dp3a] {
    object-fit: contain;
    padding: var(--lc-space-3);
}

.grouped-card__badge[b-f1sfs3dp3a] {
    position: absolute;
    top: var(--lc-space-1);
    right: var(--lc-space-1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 var(--lc-space-1);
    background: var(--lc-color-primary);
    color: #fff;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.grouped-card__body[b-f1sfs3dp3a] {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    min-width: 0;
    padding: var(--lc-space-2);
}

.grouped-card__type[b-f1sfs3dp3a] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.05rem 0.4rem;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--grouped-card-accent);
    background: color-mix(in srgb, var(--grouped-card-accent) 12%, var(--lc-color-surface));
    border: 1px solid color-mix(in srgb, var(--grouped-card-accent) 35%, transparent);
    border-radius: var(--lc-radius-sm, 0.25rem);
}

.grouped-card__header[b-f1sfs3dp3a] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--lc-space-2);
    width: 100%;
}

.grouped-card__designation[b-f1sfs3dp3a] {
    font-size: var(--lc-font-size-sm, 0.875rem);
    font-weight: 600;
    line-height: 1.25;
    min-width: 0;
}

.grouped-card__price[b-f1sfs3dp3a],
.grouped-entry__price[b-f1sfs3dp3a] {
    flex-shrink: 0;
    font-weight: 700;
    color: var(--lc-color-primary);
    font-variant-numeric: tabular-nums;
}

.grouped-card__price[b-f1sfs3dp3a] {
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.grouped-card__code[b-f1sfs3dp3a],
.grouped-entry__code[b-f1sfs3dp3a] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    color: var(--lc-color-text-muted);
    font-variant-numeric: tabular-nums;
}

.grouped-card__range[b-f1sfs3dp3a] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    color: var(--lc-color-text-muted);
}

/* Ce qui est saisi, lisible sans rouvrir la popup. */
.grouped-card__summary[b-f1sfs3dp3a] {
    margin-top: auto;
    padding-top: var(--lc-space-1);
    font-size: var(--lc-font-size-xs, 0.75rem);
    font-weight: 600;
    color: var(--grouped-card-accent);
}

/* Article indisponible (stock) : visible mais éteint, la popup ne s'ouvre pas. */
.grouped-card--unavailable[b-f1sfs3dp3a] {
    opacity: 0.65;
    cursor: default;
}

.grouped-card__unavailable[b-f1sfs3dp3a] {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lc-color-danger, #dc3545);
}

.grouped-card__unavailable-reason[b-f1sfs3dp3a] {
    display: block;
    font-weight: 400;
}

/* ── Popup de saisie ── */

.grouped-entry[b-f1sfs3dp3a] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.grouped-entry__head[b-f1sfs3dp3a] {
    display: flex;
    gap: var(--lc-space-4);
}

.grouped-entry__image[b-f1sfs3dp3a] {
    position: relative;
    flex: 0 0 9rem;
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--lc-color-primary) 12%, var(--lc-color-surface)),
        color-mix(in srgb, var(--lc-color-primary) 4%, var(--lc-color-surface)));
    border-radius: var(--lc-radius-md, 0.5rem);
    overflow: hidden;
}

.grouped-entry__image a[b-f1sfs3dp3a] {
    display: block;
    width: 100%;
    height: 100%;
    cursor: zoom-in;
}

.grouped-entry__info[b-f1sfs3dp3a] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--lc-space-1);
    min-width: 0;
}

.grouped-entry__total[b-f1sfs3dp3a] {
    margin-top: auto;
    font-weight: 600;
}

/* Toutes les tailles : 20 à 26 cases tiennent en deux ou trois rangées. */
.grouped-entry__sizes[b-f1sfs3dp3a] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(3.6rem, 1fr));
    gap: var(--lc-space-2);
}

.grouped-size[b-f1sfs3dp3a] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.grouped-size__label[b-f1sfs3dp3a] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    font-weight: 600;
    color: var(--lc-color-text-muted);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Champ nombre centré : Chrome réserve la place des flèches, ce qui décale la valeur à gauche. */
.grouped-size__input[b-f1sfs3dp3a] {
    width: 100%;
    padding: 0.35rem 0.2rem;
    text-align: center;
    font-size: var(--lc-font-size-md, 1rem);
    font-variant-numeric: tabular-nums;
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm, 0.25rem);
    background: var(--lc-color-surface);
    appearance: textfield;
}

.grouped-size__input[b-f1sfs3dp3a]::-webkit-outer-spin-button,
.grouped-size__input[b-f1sfs3dp3a]::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
}

.grouped-size__input:focus[b-f1sfs3dp3a] {
    outline: 2px solid var(--grouped-card-accent);
    outline-offset: 0;
}

/* Taille saisie : repérable d'un coup d'œil dans une longue rangée. */
.grouped-size--filled .grouped-size__label[b-f1sfs3dp3a] {
    color: var(--grouped-card-accent);
}

.grouped-size--filled .grouped-size__input[b-f1sfs3dp3a] {
    font-weight: 700;
    border-color: var(--grouped-card-accent);
}

/* Taille indisponible : affichée, barrée, sans saisie. */
.grouped-size--unavailable .grouped-size__label[b-f1sfs3dp3a] {
    text-decoration: line-through;
}

.grouped-size--unavailable .grouped-size__input[b-f1sfs3dp3a] {
    background: color-mix(in srgb, var(--lc-color-border) 40%, var(--lc-color-surface));
    cursor: not-allowed;
}

.grouped-entry__footer[b-f1sfs3dp3a] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-2);
    width: 100%;
}

.grouped-entry__nav[b-f1sfs3dp3a] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-2);
}

/* Barre de saisie collée en bas du contenu : le total et l'enregistrement restent sous les yeux. */
.grouped-order__bar[b-f1sfs3dp3a] {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-3);
    padding: var(--lc-space-3);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md, 0.5rem);
    box-shadow: 0 -4px 12px rgb(0 0 0 / 6%);
}

.grouped-order__totals[b-f1sfs3dp3a] {
    display: flex;
    align-items: baseline;
    gap: var(--lc-space-3);
}

.grouped-order__totals strong[b-f1sfs3dp3a] {
    color: var(--lc-color-primary);
    font-variant-numeric: tabular-nums;
}

.grouped-order[b-f1sfs3dp3a]  .grouped-order__card {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
    min-width: 0;
}

.grouped-order__actions[b-f1sfs3dp3a] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-2);
}

.grouped-order__num[b-f1sfs3dp3a] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.grouped-order__summary[b-f1sfs3dp3a] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lc-space-5);
    margin: 0;
}

.grouped-order__summary div[b-f1sfs3dp3a] {
    display: flex;
    gap: var(--lc-space-2);
}

.grouped-order__summary dt[b-f1sfs3dp3a] {
    color: var(--lc-color-text-muted);
}

.grouped-order__summary dd[b-f1sfs3dp3a] {
    margin: 0;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.grouped-order__summary .grouped-order__summary-value dd[b-f1sfs3dp3a] {
    color: var(--lc-color-primary);
}

@media (max-width: 40rem) {
    .grouped-entry__head[b-f1sfs3dp3a] {
        flex-direction: column;
    }

    .grouped-entry__image[b-f1sfs3dp3a] {
        flex-basis: auto;
        width: 8rem;
    }
}
/* /Components/Pages/Workspace/BoutiqueCommandes.razor.rz.scp.css */
/* ── Order list ── */

.order-list[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.order-list__header[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-4);
}

.order-list__header h1[b-hwn2efpp8e] {
    margin: 0;
    color: var(--lc-color-primary);
}

.order-list__header-actions[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
}

.order-list__admin-person[b-hwn2efpp8e] {
    font-size: var(--lc-font-size-sm, 0.875rem);
    color: var(--lc-color-text-muted);
}

.order-list__empty[b-hwn2efpp8e] {
    color: var(--lc-color-text-muted);
    font-style: italic;
}

.order-list__table[b-hwn2efpp8e] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.order-list__table th[b-hwn2efpp8e] {
    text-align: left;
    font-weight: 600;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs, 0.75rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: var(--lc-space-2) var(--lc-space-3);
    border-bottom: 2px solid var(--lc-color-border);
}

.order-list__table td[b-hwn2efpp8e] {
    padding: var(--lc-space-3);
    border-bottom: 1px solid var(--lc-color-border);
}

.order-list__row--draft[b-hwn2efpp8e] {
    background: color-mix(in srgb, var(--lc-color-primary) 4%, transparent);
}

.order-list__cell-number[b-hwn2efpp8e] {
    font-variant-numeric: tabular-nums;
    font-family: var(--lc-font-mono, monospace);
}

.order-list__cell-actions[b-hwn2efpp8e] {
    text-align: right;
    white-space: nowrap;
}

/* ── Page layout (entry mode) ── */

/* La page de saisie occupe toute la hauteur de la zone de contenu : le catalogue défile de son
   côté, le panier reste entier avec ses totaux toujours visibles. min-height: 0 est indispensable
   sur une grille dont un enfant défile, sinon la colonne gonfle au lieu de faire défiler. */
.order-page[b-hwn2efpp8e] {
    display: grid;
    grid-template-columns: 1fr 22rem;
    gap: var(--lc-space-6);
    align-items: stretch;
    height: 100%;
    min-height: 0;
}

/* ── Catalog ── */

.order-catalog[b-hwn2efpp8e] {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    padding-right: var(--lc-space-2);
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    scrollbar-width: thin;
}

.order-catalog__header[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-3);
}

.order-catalog__header h1[b-hwn2efpp8e] {
    margin: 0;
    color: var(--lc-color-primary);
}

.order-catalog__order-type[b-hwn2efpp8e] {
    display: inline-block;
    font-size: var(--lc-font-size-sm, 0.875rem);
    font-weight: 500;
    color: var(--lc-color-text-muted);
    background: color-mix(in srgb, var(--lc-color-primary) 8%, var(--lc-color-surface));
    padding: var(--lc-space-1) var(--lc-space-2);
    border-radius: var(--lc-radius-sm, 4px);
    margin-top: var(--lc-space-1);
}

/* Colonnes étroites et bornées : la carte ne s'étire pas, sinon son visuel portrait devient un
   bandeau. Le reste de la ligne est laissé libre plutôt que réparti. */
.order-catalog__grid[b-hwn2efpp8e] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 12.5rem));
    justify-content: start;
    gap: var(--lc-space-3);
}

/* ── Card ── */

.order-card[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    background: var(--lc-color-surface);
    border: 2px solid var(--lc-color-border);
    border-radius: var(--lc-radius-lg);
    box-shadow: var(--lc-shadow-sm);
    overflow: hidden;
    /* position : l'état « au panier » pose un calque d'ombre par-dessus les enfants, qui ont leur
       propre fond et masqueraient une ombre interne posée sur la carte elle-même. */
    position: relative;
    transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

/* Repère de type article et de regroupement : les deux teintes sont posées par la page en variables
   CSS (voir OrderAccentPalette, quarante teintes
   choisies pour être distinctes à l’œil). Le liseré gauche de la
   carte et l'étiquette de type partagent la première, l'étiquette de regroupement porte la seconde.
   Elles ne portent aucune information à elles seules : les deux libellés restent écrits. */
.order-card[b-hwn2efpp8e] {
    --order-card-accent: var(--lc-color-border);
    --order-card-grouping-accent: var(--lc-color-text-muted);
    border-left-width: 4px;
    border-left-color: var(--order-card-accent);
}

/* Étiquettes au-dessus du libellé : type d'article, puis regroupement. Elles ont quitté la vignette,
   qui doit rester disponible pour ce qu'on affichera par-dessus l'image. */
.order-card__tags[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--lc-space-1);
    min-width: 0;
}

/* Type : pastille pleine à la couleur du type, le repère le plus fort de la carte. */
.order-card__type[b-hwn2efpp8e] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    font-size: 0.625rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--order-card-accent);
    background: color-mix(in srgb, var(--order-card-accent) 12%, var(--lc-color-surface));
    border: 1px solid color-mix(in srgb, var(--order-card-accent) 35%, transparent);
    padding: 0.125rem var(--lc-space-2);
    border-radius: 999px;
}

/* Regroupement : même gabarit, contour seul et teinte propre — il relie les cartes d'un même
   regroupement sans concurrencer l'étiquette de type, qui est pleine. */
.order-card__grouping[b-hwn2efpp8e] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.625rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--order-card-grouping-accent);
    background: transparent;
    border: 1px dashed color-mix(in srgb, var(--order-card-grouping-accent) 45%, transparent);
    padding: 0.125rem var(--lc-space-2);
    border-radius: 999px;
}

/* Jauge de points : le total en chiffres, la barre pour situer le panier entre les bornes, et les
   bornes écrites dessous. Hors des clous — minimum non atteint ou maximum dépassé — l'ensemble passe
   au rouge et le message sous les totaux dit de combien. */
.order-cart__points[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

.order-cart__points-track[b-hwn2efpp8e] {
    position: relative;
    height: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--lc-color-primary) 12%, transparent);
    overflow: visible;
}

.order-cart__points-fill[b-hwn2efpp8e] {
    height: 100%;
    border-radius: inherit;
    background: var(--lc-color-primary);
    transition: width 0.15s ease;
}

/* Repère du minimum, quand la jauge est graduée sur le maximum. */
.order-cart__points-track--marked[b-hwn2efpp8e]::after {
    content: "";
    position: absolute;
    top: -3px;
    bottom: -3px;
    left: var(--points-minimum);
    width: 2px;
    border-radius: 1px;
    background: var(--lc-color-text-muted);
}

/* Graduations : zéro à gauche, maximum à droite, minimum posé sous son repère. La position du
   minimum est bornée pour qu'un seuil très bas ou très haut ne sorte pas de la barre ; le repère
   sur la barre, lui, reste exact. */
.order-cart__points-bounds[b-hwn2efpp8e] {
    position: relative;
    height: 1rem;
    font-size: 0.7rem;
    line-height: 1rem;
    color: var(--lc-color-text-muted);
}

.order-cart__points-bound[b-hwn2efpp8e] {
    position: absolute;
    left: 0;
    white-space: nowrap;
}

.order-cart__points-bound--end[b-hwn2efpp8e] {
    left: auto;
    right: 0;
}

.order-cart__points-bound--marked[b-hwn2efpp8e] {
    left: clamp(3.25rem, var(--points-minimum), calc(100% - 3.25rem));
    transform: translateX(-50%);
}

.order-cart__points--error .order-cart__total-row[b-hwn2efpp8e],
.order-cart__points--error .order-cart__total-row strong[b-hwn2efpp8e],
.order-cart__points--error .order-cart__points-bounds[b-hwn2efpp8e] {
    color: var(--lc-color-danger, #dc3545);
}

.order-cart__points--error .order-cart__points-fill[b-hwn2efpp8e] {
    background: var(--lc-color-danger, #dc3545);
}

/* Place réservée au message du panier : deux lignes, qu'il y ait un message ou non. Sans elle, la
   moindre erreur de saisie faisait remonter le bouton et rétrécir la liste des articles à chaque
   frappe — l'effet accordéon. */
.order-cart__message[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    min-height: 3.5rem;
}

[b-hwn2efpp8e] .order-cart__message > * {
    width: 100%;
    margin: 0;
}

/* Bornes rappelées sous le total du récapitulatif. */
.order-recap__summary-bounds[b-hwn2efpp8e] {
    font-size: 0.75rem;
    color: var(--lc-color-text-muted);
}

/* Compte du regroupement : même teinte que son étiquette, pour qu'on relie la phrase au
   regroupement d'un coup d'œil. Le manque et le dépassement passent au rouge, ce sont eux qui
   empêchent de valider. */
.order-card__grouping-status[b-hwn2efpp8e] {
    margin: 0;
    font-size: 0.7rem;
    line-height: 1.25;
    font-weight: 600;
    color: var(--order-card-grouping-accent);
}

.order-card__grouping-status--belowmin[b-hwn2efpp8e],
.order-card__grouping-status--abovemax[b-hwn2efpp8e] {
    color: var(--lc-color-danger, #dc3545);
}

/* Taille du type absente de cet article : on le dit, on ne propose pas d'autre taille. */
.order-card__size-unavailable[b-hwn2efpp8e] {
    margin: 0;
    font-size: 0.7rem;
    line-height: 1.25;
    color: var(--lc-color-warning, #b45309);
    font-weight: 600;
}

.order-card:hover[b-hwn2efpp8e] {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

/* Au panier : la carte s'enfonce. Elle perd son ombre portée, descend de deux pixels et reçoit une
   ombre interne — le relief, pas la couleur, dit l'état. Aucune bordure ne change : celle-ci porte
   la teinte du type d'article, et lui superposer une couleur de sélection brouillait les deux
   lectures. Le léger fond à la teinte du type évite que la carte prise ne passe pour désactivée, et
   la pastille de quantité dans l'angle de la vignette dit combien. */
.order-card--in-cart[b-hwn2efpp8e],
.order-card--in-cart:hover[b-hwn2efpp8e] {
    background: color-mix(in srgb, var(--order-card-accent) 6%, var(--lc-color-surface));
    box-shadow: none;
    transform: translateY(2px);
}

.order-card--in-cart[b-hwn2efpp8e]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 4px 12px rgb(13 8 64 / 22%);
}

/* L'erreur, elle, garde la bordure : elle doit interrompre la lecture, pas s'y fondre.
   Quantité hors des bornes mini/maxi, ou article obligatoire absent du panier : bordure rouge et
   fond légèrement teinté. Pointillés tant que l'article obligatoire n'est pas saisi, trait plein
   dès que la quantité est fautive. */
.order-card--required[b-hwn2efpp8e],
.order-card--invalid[b-hwn2efpp8e] {
    background: color-mix(in srgb, var(--lc-color-danger, #dc3545) 7%, var(--lc-color-surface));
    border-color: var(--lc-color-danger, #dc3545);
    border-left-color: var(--order-card-accent);
}

.order-card--required[b-hwn2efpp8e] {
    border-style: dashed;
    border-left-style: solid;
    border-color: color-mix(in srgb, var(--lc-color-danger, #dc3545) 60%, transparent);
    border-left-color: var(--order-card-accent);
}

.order-card--invalid .order-card__badge[b-hwn2efpp8e] {
    background: var(--lc-color-danger, #dc3545);
}

.order-card__validation[b-hwn2efpp8e] {
    display: flex;
    align-items: baseline;
    gap: var(--lc-space-1);
    padding: var(--lc-space-1) var(--lc-space-2);
    background: color-mix(in srgb, var(--lc-color-danger, #dc3545) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--lc-color-danger, #dc3545) 25%, transparent);
    border-radius: var(--lc-radius-sm, 0.25rem);
    color: var(--lc-color-danger, #dc3545);
    font-size: var(--lc-font-size-xs, 0.75rem);
    font-weight: 600;
}

.order-card__validation-detail[b-hwn2efpp8e] {
    font-weight: 400;
    opacity: 0.8;
}

/* ── Card image ── */

/* Visuel portrait (4/5), plafonné : sur une carte étroite, le format seul donnerait encore une
   image plus haute que tout le reste de la carte. Le dessin garde ses proportions dans le cadre. */
.order-card__image[b-hwn2efpp8e] {
    position: relative;
    aspect-ratio: 4 / 5;
    max-height: 11rem;
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--lc-color-primary) 12%, var(--lc-color-surface)),
        color-mix(in srgb, var(--lc-color-primary) 4%, var(--lc-color-surface)));
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.order-card__image img[b-hwn2efpp8e] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Vignette cliquable : la version grande s'ouvre dans un nouvel onglet. */
.order-card__image-link[b-hwn2efpp8e] {
    display: block;
    width: 100%;
    height: 100%;
    cursor: zoom-in;
}

/* Le visuel par défaut est une silhouette, pas une photo : il se pose entier dans le cadre. */
.order-card__image img.order-card__image--placeholder[b-hwn2efpp8e] {
    object-fit: contain;
    padding: var(--lc-space-3);
}

.order-card__badge[b-hwn2efpp8e] {
    position: absolute;
    top: var(--lc-space-1);
    right: var(--lc-space-1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 var(--lc-space-1);
    background: var(--lc-color-primary);
    color: #fff;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

/* ── Card body ── */

.order-card__body[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    padding: var(--lc-space-2);
    flex: 1;
    font-size: 0.7rem;
}

/* Libellé à gauche, prix et points en face : le rapprochement des deux est ce qui se lit le plus
   vite, un prix posé plus haut se rattache mal à son article. */
.order-card__header[b-hwn2efpp8e] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--lc-space-2);
}

.order-card__designation[b-hwn2efpp8e] {
    font-weight: 600;
    font-size: 0.8rem;
    overflow-wrap: anywhere;
    line-height: 1.3;
    flex: 1;
    min-width: 0;
}

/* Prix et points l'un sous l'autre, en haut à droite de l'en-tête. */
.order-card__pricing[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
}

.order-card__price[b-hwn2efpp8e] {
    font-weight: 700;
    font-size: 0.8rem;
    color: var(--lc-color-primary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.order-card__meta[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    flex-wrap: wrap;
    font-size: var(--lc-font-size-xs, 0.75rem);
    color: var(--lc-color-text-muted);
}

.order-card__code[b-hwn2efpp8e] {
    font-family: var(--lc-font-mono, monospace);
}

.order-card__points[b-hwn2efpp8e] {
    white-space: nowrap;
    color: var(--lc-color-text-muted);
    font-size: 0.65rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* Bornes : une ligne, intitules discrets et valeurs en gras. Le conseille se distingue par une
   pastille, pas par une couleur criarde. */
.order-card__limits[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--lc-space-1) var(--lc-space-2);
    font-size: 0.7rem;
    color: var(--lc-color-text-muted);
}

.order-card__limit b[b-hwn2efpp8e] {
    color: var(--lc-color-text);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.order-card__limit--preconise[b-hwn2efpp8e] {
    padding: 1px var(--lc-space-2);
    border-radius: 999px;
    background: color-mix(in srgb, var(--lc-color-primary) 10%, transparent);
    color: var(--lc-color-primary);
}

.order-card__limit--preconise b[b-hwn2efpp8e] {
    color: var(--lc-color-primary);
}

/* ── Saisie : taille et quantité sur une seule ligne ── */

/* Ligne de saisie detachee du descriptif par un vrai filet. */
.order-card__add-row[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--lc-space-2);
    margin-top: auto;
    padding-top: var(--lc-space-3);
    border-top: 1px solid var(--lc-color-border);
}

/* Contrôles ramenés à la taille du texte de la carte : sinon ils pèsent plus que l'article. */
.order-card__add-row[b-hwn2efpp8e]  .ds-icon-button.ds-button--small {
    width: 1.6rem;
    height: 1.6rem;
}

/* Le sélecteur prend la place restante à côté du compteur ; sur une carte vraiment étroite, il
   passe à la ligne au lieu d'être écrasé. */
.order-card__add-row[b-hwn2efpp8e]  .order-card__size-select {
    flex: 1 1 3rem;
    min-width: 0;
}

/* Sélecteur compact : le chevron du design system est dessiné en fond à 1 rem, calé à 0.75 rem du
   bord, et sa réserve de 2.25 rem de padding est trop large ici. On rapproche et rapetisse le
   chevron, et on garde juste la réserve qu'il faut pour que le texte ne passe pas dessous. */
.order-card__add-row[b-hwn2efpp8e]  .order-card__size-select .ds-field__select {
    height: 1.8rem;
    padding: 0 1.15rem 0 var(--lc-space-1);
    font-size: 0.8rem;
    background-position: right 0.25rem center;
    background-size: 0.7rem;
    text-overflow: ellipsis;
}

.order-card__qty[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    gap: 2px;
}

/* Les flèches natives du champ nombre réservent de la place à droite et décentrent le chiffre :
   on les retire, le nombre se saisit au clavier ou avec les boutons + et −. */
.order-card__qty-input[b-hwn2efpp8e] {
    width: 1.9rem;
    height: 1.8rem;
    text-align: center;
    padding: 0;
    appearance: textfield;
    -moz-appearance: textfield;
    line-height: 1.8rem;
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm, 0.25rem);
    font-size: 0.8rem;
    box-sizing: border-box;
    background: var(--lc-color-surface);
}

.order-card__qty-input[b-hwn2efpp8e]::-webkit-outer-spin-button,
.order-card__qty-input[b-hwn2efpp8e]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.order-card__qty-input:focus[b-hwn2efpp8e] {
    outline: 2px solid var(--lc-color-primary);
    outline-offset: -1px;
    border-color: var(--lc-color-primary);
}

[b-hwn2efpp8e] .order-card__add-btn {
    flex: 1;
    min-width: 0;
}

/* ── Cart sidebar ── */

/* Panier sur toute la hauteur : identité en haut et totaux en bas restent en place, seule la liste
   des lignes défile. */
.order-cart[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-lg);
    box-shadow: var(--lc-shadow-sm);
    overflow: hidden;
}

.order-cart__person[b-hwn2efpp8e] {
    padding: var(--lc-space-4);
    background: color-mix(in srgb, var(--lc-color-primary) 4%, var(--lc-color-surface));
    border-bottom: 1px solid var(--lc-color-border);
}

.order-cart__person-name[b-hwn2efpp8e] {
    font-weight: 700;
    color: var(--lc-color-primary);
}

.order-cart__person-profession[b-hwn2efpp8e] {
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

/* Type de commande et état sur une même ligne sous la fonction. C'est le bloc qui porte la marge
   haute, plus les pastilles : deux pastilles de hauteurs différentes restent ainsi alignées. */
.order-cart__person-tags[b-hwn2efpp8e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-2);
    margin-top: var(--lc-space-2);
}

.order-cart__person-type[b-hwn2efpp8e] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    font-weight: 600;
    color: var(--lc-color-primary);
    background: color-mix(in srgb, var(--lc-color-primary) 12%, transparent);
    padding: 1px var(--lc-space-2);
    border-radius: 999px;
}

.order-cart__content[b-hwn2efpp8e] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    padding: var(--lc-space-4);
    scrollbar-width: thin;
}

.order-cart__title[b-hwn2efpp8e] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    font-size: var(--lc-font-size-sm, 0.875rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lc-color-text-muted);
    margin: 0;
}

.order-cart__badge[b-hwn2efpp8e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 var(--lc-space-1);
    background: var(--lc-color-primary);
    color: #fff;
    border-radius: 999px;
    font-size: var(--lc-font-size-xs, 0.75rem);
    font-weight: 700;
}

.order-cart__empty[b-hwn2efpp8e] {
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
    font-style: italic;
    margin: 0;
}

/* Lignes séparées par un filet plutôt qu'encadrées une à une : moins de traits pour la même
   lisibilité, et la liste se parcourt d'un coup d'œil. */
.order-cart__lines[b-hwn2efpp8e] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

/* Deux colonnes, deux rangs : le code et le montant sur la première ligne, la désignation et les
   actions sur la seconde — la ligne reste compacte sans tronquer les libellés. */
.order-cart__line[b-hwn2efpp8e] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--lc-space-1) var(--lc-space-2);
    padding: var(--lc-space-2) 0;
    border-bottom: 1px solid color-mix(in srgb, var(--lc-color-border) 70%, transparent);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.order-cart__line:first-child[b-hwn2efpp8e] {
    padding-top: var(--lc-space-1);
}

.order-cart__line:last-child[b-hwn2efpp8e] {
    border-bottom: 0;
    padding-bottom: 0;
}

.order-cart__line-info[b-hwn2efpp8e] {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.order-cart__line-name[b-hwn2efpp8e] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order-cart__line-desc[b-hwn2efpp8e] {
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs, 0.75rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order-cart__line-actions[b-hwn2efpp8e] {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    align-items: center;
    gap: var(--lc-space-1);
}

.order-cart__line-qty[b-hwn2efpp8e] {
    width: 2.5rem;
    height: 1.8rem;
    text-align: center;
    padding: 0;
    appearance: textfield;
    -moz-appearance: textfield;
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-sm, 0.25rem);
    font-size: var(--lc-font-size-sm, 0.875rem);
    background: var(--lc-color-surface);
}

.order-cart__line-qty[b-hwn2efpp8e]::-webkit-outer-spin-button,
.order-cart__line-qty[b-hwn2efpp8e]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.order-cart__line-subtotal[b-hwn2efpp8e] {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--lc-color-text);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

/* ── Cart footer ── */

.order-cart__footer[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
    border-top: 1px solid var(--lc-color-border);
    background: color-mix(in srgb, var(--lc-color-primary) 4%, var(--lc-color-surface));
    padding: var(--lc-space-4);
}

.order-cart__totals[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

.order-cart__total-row[b-hwn2efpp8e] {
    display: flex;
    justify-content: space-between;
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.order-cart__total-row--grand[b-hwn2efpp8e] {
    font-size: var(--lc-font-size-lg, 1.125rem);
    color: var(--lc-color-primary);
    padding-top: var(--lc-space-2);
    border-top: 1px solid var(--lc-color-border);
    font-weight: 600;
}

[b-hwn2efpp8e] .order-cart__save-btn {
    width: 100%;
}

/* ── Recap modal ── */

.order-recap__subtitle[b-hwn2efpp8e] {
    margin: 0 0 var(--lc-space-3);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.order-recap__person[b-hwn2efpp8e] {
    display: flex;
    align-items: baseline;
    gap: var(--lc-space-2);
    padding-bottom: var(--lc-space-3);
    border-bottom: 1px solid var(--lc-color-border);
    margin-bottom: var(--lc-space-3);
}

.order-recap__person span[b-hwn2efpp8e] {
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.order-recap__summary[b-hwn2efpp8e] {
    display: flex;
    gap: var(--lc-space-4);
    flex-wrap: wrap;
    padding: var(--lc-space-3);
    background: color-mix(in srgb, var(--lc-color-primary) 6%, var(--lc-color-surface));
    border-radius: var(--lc-radius-md, 0.5rem);
    margin-bottom: var(--lc-space-3);
}

.order-recap__summary-item[b-hwn2efpp8e] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

.order-recap__summary-item--total[b-hwn2efpp8e] {
    margin-left: auto;
    color: var(--lc-color-primary);
    font-size: var(--lc-font-size-md, 1rem);
}

.order-recap__summary-label[b-hwn2efpp8e] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    color: var(--lc-color-text-muted);
}

.order-recap__lines[b-hwn2efpp8e] {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--lc-space-3);
    display: flex;
    flex-direction: column;
    max-height: 20rem;
    overflow-y: auto;
}

.order-recap__line[b-hwn2efpp8e] {
    display: grid;
    /* Libellé, quantité, points (gestion par points), montant : les colonnes absentes se
       referment, auto ne réserve rien. */
    grid-template-columns: 1fr auto auto auto;
    gap: 0 var(--lc-space-3);
    padding: var(--lc-space-2) 0;
    border-bottom: 1px solid var(--lc-color-border);
    font-size: var(--lc-font-size-sm, 0.875rem);
    align-items: baseline;
}

.order-recap__line-label[b-hwn2efpp8e] {
    font-weight: 500;
}

.order-recap__line-desc[b-hwn2efpp8e] {
    grid-column: 1;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-xs, 0.75rem);
}

.order-recap__line-qty[b-hwn2efpp8e] {
    font-variant-numeric: tabular-nums;
    color: var(--lc-color-text-muted);
}

.order-recap__line-points[b-hwn2efpp8e] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--lc-color-text-muted);
    text-align: right;
    white-space: nowrap;
}

.order-cart__line-points[b-hwn2efpp8e] {
    margin-left: 0.25em;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.order-recap__line-price[b-hwn2efpp8e] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    text-align: right;
}

/* Sous 60rem, la coquille de l'espace boutique rend la hauteur au document (voir
   WorkspaceShell.razor.css) : la page redevient une colonne qui défile d'un bloc, sans quoi le
   catalogue serait enfermé dans une zone défilante minuscule. */
@media (max-width: 60rem) {
    .order-page[b-hwn2efpp8e] {
        grid-template-columns: 1fr;
        height: auto;
    }

    .order-catalog[b-hwn2efpp8e] {
        overflow-y: visible;
        padding-right: 0;
    }

    .order-cart[b-hwn2efpp8e] {
        min-height: 0;
    }

    .order-cart__content[b-hwn2efpp8e] {
        overflow-y: visible;
    }
}

/* Article indisponible (stock) : visible mais éteint, sans saisie possible. */
.order-card--unavailable[b-hwn2efpp8e] {
    opacity: 0.65;
}

.order-card__unavailable[b-hwn2efpp8e] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--lc-color-danger, #dc3545);
}

.order-card__unavailable-reason[b-hwn2efpp8e] {
    display: block;
    font-weight: 400;
}
/* /Components/Pages/Workspace/BoutiqueHistorique.razor.rz.scp.css */
/* Pas de largeur ni de padding propres : la zone de contenu du WorkspaceShell fournit déjà les
   marges et porte le défilement — même structure que la page Gérer les commandes. */
.order-history[b-toxkype6y3] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-6);
    min-width: 0;
}

.order-history__header h1[b-toxkype6y3] {
    margin: 0;
    color: var(--lc-color-primary);
}

.order-history__toolbar[b-toxkype6y3] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
}

.order-history__toolbar[b-toxkype6y3]  .order-history__search {
    max-width: 18rem;
}

.order-history__empty[b-toxkype6y3] {
    margin: 0;
    color: var(--lc-color-text-muted);
}

.order-history__num[b-toxkype6y3] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Les numéros de commande se comparent d'une ligne à l'autre : chasse fixe. */
.order-history__number[b-toxkype6y3] {
    font-variant-numeric: tabular-nums;
}

/* La colonne du chevron ne prend que sa largeur. */
.order-history__toggle[b-toxkype6y3] {
    width: 1px;
    white-space: nowrap;
}

/* Un td en display:flex sort du tableau et décale toute la ligne : les boutons vivent dans une
   boîte à l'intérieur de la cellule. */
.order-history__row-actions[b-toxkype6y3] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--lc-space-1);
}

/* Emplacement réservé à l’action sur la commande : sa largeur ne dépend pas de la ligne, si bien
   qu’une ligne sans action laisse le vide plutôt que de décaler les icônes qui la précèdent. */
.order-history__order-slot[b-toxkype6y3] {
    display: flex;
    width: 12rem;
    min-width: 0;
    margin-left: var(--lc-space-2);
}

.order-history__row-actions[b-toxkype6y3]  .order-history__order-button {
    width: 100%;
    white-space: nowrap;
}

/* Lot déplié : la ligne mère et son détail forment un bloc, teinté pour qu'on voie où il commence
   et où il finit. */
.order-history__row--expanded > td[b-toxkype6y3] {
    background: var(--lc-color-surface-alt, color-mix(in srgb, var(--lc-color-primary) 6%, transparent));
}

.order-history__detail-row > td[b-toxkype6y3] {
    padding: 0;
    background: var(--lc-color-surface-alt, color-mix(in srgb, var(--lc-color-primary) 6%, transparent));
}

.order-history__detail[b-toxkype6y3] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.order-history__detail th[b-toxkype6y3],
.order-history__detail td[b-toxkype6y3] {
    padding: var(--lc-space-2) var(--lc-space-3);
    text-align: left;
}

.order-history__detail th[b-toxkype6y3] {
    color: var(--lc-color-text-muted);
    font-weight: 600;
}

.order-history__detail tbody tr + tr > td[b-toxkype6y3] {
    border-top: 1px solid var(--lc-color-border);
}
/* /Components/Pages/Workspace/BoutiquePersonnes.razor.rz.scp.css */
/* Pas de largeur ni de padding propres : la zone de contenu du WorkspaceShell fournit déjà les
   marges et porte le défilement — même structure que ClientUtilisateurs. Seule la table défile
   (MaxHeight calé sur le viewport dans le .razor). */
.persons-page[b-mkrxf9caq0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-6);
    min-width: 0;
}

.persons-header h1[b-mkrxf9caq0] {
    margin: 0;
    color: var(--lc-color-primary);
}

.persons-toolbar[b-mkrxf9caq0] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--lc-space-4);
}

/* Actions du magasin : la validation de la commande est poussée à droite, seule action qui engage
   tout le magasin. */
.persons-actions[b-mkrxf9caq0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--lc-space-2);
    padding: var(--lc-space-2);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md, 0.5rem);
}

.persons-actions[b-mkrxf9caq0]  .persons-actions__search {
    max-width: 18rem;
}

.persons-actions[b-mkrxf9caq0]  .persons-actions__validate {
    margin-left: auto;
}

.persons-num[b-mkrxf9caq0] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Trois emplacements de largeur égale, côte à côte : saisir, modifier, plus rien à faire. Un seul
   est occupé par ligne, et comme les largeurs sont figées chaque bouton garde sa colonne d'une
   ligne à l'autre — sans cela, un tableau mêlant les trois cas verrait ses boutons danser. */
.persons-cart-slots[b-mkrxf9caq0] {
    display: grid;
    grid-template-columns: repeat(3, 11rem);
    align-items: center;
    gap: var(--lc-space-1);
}

.persons-cart-slot[b-mkrxf9caq0] {
    display: flex;
    min-width: 0;
}

/* Commande partie : ni bouton ni action, une mention posée à la place, dans son propre
   emplacement. */
.persons-cart-done[b-mkrxf9caq0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--lc-space-1);
    width: 100%;
    padding: 0 var(--lc-space-2);
    color: var(--lc-color-success);
    font-size: var(--lc-font-size-xs, 0.75rem);
    font-weight: 600;
    white-space: nowrap;
}

.persons-actions__progress[b-mkrxf9caq0] {
    flex-shrink: 0;
}

/* Cellule d'action ordinaire : un td en display:flex sort du tableau et décale toute la ligne, les
   boutons vivent donc dans une boîte à l'intérieur de la cellule. */
.persons-action-cell[b-mkrxf9caq0] {
    white-space: nowrap;
}

.persons-row-actions[b-mkrxf9caq0] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
}

/* Le bouton remplit son emplacement : c'est l'emplacement qui fixe la largeur, pas le libellé. */
.persons-row-actions[b-mkrxf9caq0]  .persons-cart-button {
    width: 100%;
    white-space: nowrap;
}

/* Suppression en rouge, mais sans le aplat de la variante Danger : dans une ligne de tableau, un
   carré rouge plein écraserait l'action principale (le panier). */
.persons-row-actions[b-mkrxf9caq0]  .persons-delete-button {
    color: var(--lc-color-danger);
}

.persons-row-actions[b-mkrxf9caq0]  .persons-delete-button:hover:not(:disabled) {
    color: var(--lc-color-danger);
    background: color-mix(in srgb, var(--lc-color-danger) 12%, transparent);
    border-color: color-mix(in srgb, var(--lc-color-danger) 45%, transparent);
}

.persons-form[b-mkrxf9caq0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
}

.persons-form section[b-mkrxf9caq0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
}

.persons-form h3[b-mkrxf9caq0] {
    margin: 0;
    font-size: var(--lc-font-size-md, 1rem);
    color: var(--lc-color-primary);
    border-bottom: 1px solid var(--lc-color-border);
    padding-bottom: var(--lc-space-1);
}

.persons-form-grid[b-mkrxf9caq0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--lc-space-4);
}

.persons-order-facts[b-mkrxf9caq0] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: var(--lc-space-1) var(--lc-space-4);
    margin: 0;
}

.persons-order-facts dt[b-mkrxf9caq0] {
    color: var(--lc-color-text-muted);
}

.persons-order-facts dd[b-mkrxf9caq0] {
    margin: 0;
}

@media (max-width: 40rem) {
    .persons-form-grid[b-mkrxf9caq0] {
        grid-template-columns: 1fr;
    }
}

/* Compteurs d'équipe, repris de l'ancienne page Équipe fusionnée ici. */
.persons-stats[b-mkrxf9caq0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--lc-space-6);
    padding: var(--lc-space-3) var(--lc-space-4);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-lg);
}

.persons-stats__item[b-mkrxf9caq0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
}

.persons-stats__label[b-mkrxf9caq0] {
    font-size: var(--lc-font-size-xs, 0.75rem);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lc-color-text-muted);
}

.persons-stats__value[b-mkrxf9caq0] {
    font-size: var(--lc-font-size-lg, 1.125rem);
    color: var(--lc-color-primary);
}

.persons-stats__value--warn[b-mkrxf9caq0] {
    color: var(--lc-color-warning, #b45309);
}

.persons-stats__value--ok[b-mkrxf9caq0] {
    color: var(--lc-color-success, #15803d);
}

.persons-no-order[b-mkrxf9caq0] {
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

/* Le champ Sexe et sa case Mixte ne font qu'une cellule de la grille : la case se glisse sous le
   sélecteur au lieu d'occuper une colonne à elle seule. */
.person-sex-field[b-mkrxf9caq0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    min-width: 0;
}
/* /Components/Pages/Workspace/BoutiqueProfil.razor.rz.scp.css */
.profil-page[b-z9ux4ygha0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-5);
    min-width: 0;
}

.profil-page__title[b-z9ux4ygha0] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-primary);
}

.profil-page__section-title[b-z9ux4ygha0] {
    margin: 0 0 var(--lc-space-2);
    font-size: var(--lc-font-size-md, 1rem);
    color: var(--lc-color-primary);
    border-bottom: 1px solid var(--lc-color-border);
    padding-bottom: var(--lc-space-1);
}

.profil-page__hint[b-z9ux4ygha0] {
    margin: 0 0 var(--lc-space-4);
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm);
}

/* Identité + commentaire à gauche, texte « Information profil » de l'admin à droite. */
.profil-page__head[b-z9ux4ygha0] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--lc-space-5);
    align-items: start;
}

.profil-page__identity[b-z9ux4ygha0] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    min-width: 0;
}

/* Texte saisi en clair dans la page Textes : les retours à la ligne de l'admin sont conservés. */
.profil-page__information[b-z9ux4ygha0] {
    white-space: pre-line;
    font-weight: 600;
    color: var(--lc-color-text-muted);
}

/* Identité : deux colonnes, libellé au plus juste et valeur alignée en regard. */
.profil-page__facts[b-z9ux4ygha0] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: var(--lc-space-2) var(--lc-space-5);
    margin: 0;
}

.profil-page__facts dt[b-z9ux4ygha0] {
    color: var(--lc-color-text-muted);
}

.profil-page__facts dd[b-z9ux4ygha0] {
    margin: 0;
    font-weight: 600;
}

.profil-page__actions[b-z9ux4ygha0] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--lc-space-4);
}

@media (max-width: 60rem) {
    .profil-page__head[b-z9ux4ygha0] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .profil-page__facts[b-z9ux4ygha0] {
        grid-template-columns: 1fr;
        gap: var(--lc-space-1) 0;
    }

    .profil-page__facts dd[b-z9ux4ygha0] {
        margin-bottom: var(--lc-space-2);
    }
}
/* /Components/Pages/Workspace/Boutiques.razor.rz.scp.css */
.boutiques-header[b-d7fxtrxjr1] {
    margin-bottom: var(--lc-space-6);
}

.boutiques-header h1[b-d7fxtrxjr1] {
    margin: 0 0 var(--lc-space-1);
    color: var(--lc-color-primary);
}

.boutiques-header p[b-d7fxtrxjr1] {
    margin: 0;
    color: var(--lc-color-text-muted);
}

.boutiques-list[b-d7fxtrxjr1] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.boutiques-sector[b-d7fxtrxjr1] {
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-lg);
    background: var(--lc-color-surface);
    box-shadow: var(--lc-shadow-sm);
    overflow: hidden;
}

.boutiques-sector__summary[b-d7fxtrxjr1] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    padding: var(--lc-space-4) var(--lc-space-5);
    cursor: pointer;
    list-style: none;
    background: var(--lc-color-background-subtle);
    transition: background-color var(--lc-transition-fast);
}

.boutiques-sector__summary:hover[b-d7fxtrxjr1] {
    background: var(--lc-color-border);
}

.boutiques-sector__summary[b-d7fxtrxjr1]::-webkit-details-marker {
    display: none;
}

.boutiques-sector__chevron[b-d7fxtrxjr1] {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--lc-color-text-muted);
}

.boutiques-sector__chevron--open[b-d7fxtrxjr1] {
    display: none;
}

.boutiques-sector[open] > .boutiques-sector__summary .boutiques-sector__chevron--closed[b-d7fxtrxjr1] {
    display: none;
}

.boutiques-sector[open] > .boutiques-sector__summary .boutiques-sector__chevron--open[b-d7fxtrxjr1] {
    display: inline-flex;
}

.boutiques-sector__name[b-d7fxtrxjr1] {
    font-weight: var(--lc-font-weight-semibold);
    color: var(--lc-color-primary);
}

.boutiques-sector__count[b-d7fxtrxjr1] {
    margin-left: auto;
    padding: var(--lc-space-1) var(--lc-space-3);
    border-radius: var(--lc-radius-full);
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    font-weight: var(--lc-font-weight-medium);
    font-size: var(--lc-font-size-xs);
    color: var(--lc-color-text-muted);
}

.boutiques-sector__body[b-d7fxtrxjr1] {
    border-top: 1px solid var(--lc-color-border);
}

.boutiques-table[b-d7fxtrxjr1] {
    width: 100%;
}

.boutiques-table th[b-d7fxtrxjr1] {
    padding-left: var(--lc-space-5);
    background: var(--lc-color-surface);
}

.boutiques-table th:last-child[b-d7fxtrxjr1],
.boutiques-table td:last-child[b-d7fxtrxjr1] {
    width: 9rem;
}

.boutiques-table td[b-d7fxtrxjr1] {
    padding-left: var(--lc-space-5);
}

.boutiques-table__row--active[b-d7fxtrxjr1] {
    transition: background-color var(--lc-transition-fast);
}

.boutiques-table__row--active:hover[b-d7fxtrxjr1] {
    background: var(--lc-color-background-subtle);
}

.boutiques-table__row:last-child td[b-d7fxtrxjr1] {
    border-bottom: none;
}

.boutiques-list__link[b-d7fxtrxjr1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lc-space-2);
    color: var(--lc-color-text);
    text-decoration: none;
    font-weight: var(--lc-font-weight-medium);
}

.boutiques-list__link-icon[b-d7fxtrxjr1] {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--lc-color-text-disabled);
    transition: color var(--lc-transition-fast);
}

.boutiques-list__link:hover[b-d7fxtrxjr1],
.boutiques-list__link:focus-visible[b-d7fxtrxjr1] {
    color: var(--lc-color-accent);
}

.boutiques-list__link:hover .boutiques-list__link-icon[b-d7fxtrxjr1],
.boutiques-list__link:focus-visible .boutiques-list__link-icon[b-d7fxtrxjr1] {
    color: var(--lc-color-accent);
}

.boutiques-list__inactive-name[b-d7fxtrxjr1] {
    color: var(--lc-color-text-disabled);
}
/* /Components/Pages/Workspace/BoutiqueUtilisateurs.razor.rz.scp.css */
/* Pas de largeur ni de padding propres : la zone de contenu du WorkspaceShell fournit déjà les
   marges et porte le défilement — même structure que ClientUtilisateurs. */
.boutique-utilisateurs-page[b-2kei3myj9q] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-6);
    min-width: 0;
}

.boutique-utilisateurs-header h1[b-2kei3myj9q] {
    margin: 0;
    color: var(--lc-color-primary);
}

.boutique-utilisateurs-row-actions[b-2kei3myj9q] {
    display: flex;
    gap: var(--lc-space-2);
}

.boutique-utilisateurs-form[b-2kei3myj9q] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}
/* /Components/Pages/Workspace/BoutiqueValidationCommande.razor.rz.scp.css */
.validation-page[b-v4nuz225oi] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
    min-width: 0;
}

.validation-page__header h1[b-v4nuz225oi] {
    margin: 0;
    color: var(--lc-color-primary);
}

/* Fil des deux étapes : le legacy bascule d'un volet à l'autre sans rien dire, on montre où on en est. */
.validation-page__steps[b-v4nuz225oi] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    margin: var(--lc-space-1) 0 0;
    color: var(--lc-color-text-muted);
}

.validation-page__step--current[b-v4nuz225oi] {
    color: var(--lc-color-primary);
    font-weight: 600;
}

.validation-page__layout[b-v4nuz225oi] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: var(--lc-space-4);
    align-items: start;
}

.validation-page[b-v4nuz225oi]  .validation-page__card {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-3);
    min-width: 0;
}

.validation-page h2[b-v4nuz225oi] {
    margin: 0;
    font-size: var(--lc-font-size-lg, 1.125rem);
}

.validation-page__fields[b-v4nuz225oi] {
    display: grid;
    grid-template-columns: minmax(0, 24rem) minmax(0, 1fr);
    gap: var(--lc-space-3);
    align-items: start;
}

.validation-page__num[b-v4nuz225oi] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.validation-page[b-v4nuz225oi]  .validation-page__person-row > td {
    font-weight: 600;
}

.validation-page[b-v4nuz225oi]  .validation-page__line-row > td {
    color: var(--lc-color-text-muted);
    font-weight: 400;
}

.validation-page__address[b-v4nuz225oi] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-1);
    padding: var(--lc-space-3);
    font-style: normal;
    background: color-mix(in srgb, var(--lc-color-primary) 6%, var(--lc-color-surface));
    border-radius: var(--lc-radius-md, 0.5rem);
}

.validation-page__delivery-name[b-v4nuz225oi] {
    margin: 0;
    color: var(--lc-color-text-muted);
    font-size: var(--lc-font-size-sm, 0.875rem);
}

.validation-page__totals[b-v4nuz225oi] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-2);
    margin: 0;
}

.validation-page__totals div[b-v4nuz225oi] {
    display: flex;
    justify-content: space-between;
    gap: var(--lc-space-3);
}

.validation-page__totals dt[b-v4nuz225oi] {
    color: var(--lc-color-text-muted);
}

.validation-page__totals dd[b-v4nuz225oi] {
    margin: 0;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.validation-page__totals .validation-page__totals-value[b-v4nuz225oi] {
    padding-top: var(--lc-space-2);
    border-top: 1px solid var(--lc-color-border);
    color: var(--lc-color-primary);
}

.validation-page__actions[b-v4nuz225oi] {
    display: flex;
    justify-content: flex-end;
    gap: var(--lc-space-2);
}

@media (max-width: 48rem) {
    .validation-page__layout[b-v4nuz225oi],
    .validation-page__fields[b-v4nuz225oi] {
        grid-template-columns: minmax(0, 1fr);
    }

    .validation-page__actions[b-v4nuz225oi] {
        flex-direction: column-reverse;
    }
}
/* /Components/Pages/Workspace/WorkspaceShell.razor.rz.scp.css */
.workspace-shell[b-1c6zslcycy] {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.workspace-shell__topbar[b-1c6zslcycy] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-6);
    padding: var(--lc-space-3) var(--lc-space-6);
    background: var(--lc-color-primary);
    color: var(--lc-color-on-primary);
    flex-shrink: 0;
}

.workspace-shell__brand[b-1c6zslcycy] {
    display: inline-flex;
    text-decoration: none;
}

.workspace-shell__nav[b-1c6zslcycy] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-4);
    flex: 1;
}

.workspace-shell__context-badge[b-1c6zslcycy] {
    display: inline-flex;
    align-items: center;
    gap: var(--lc-space-2);
    padding: var(--lc-space-1) var(--lc-space-3);
    border-radius: var(--lc-radius-full);
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-semibold);
    white-space: nowrap;
}

.workspace-shell__context-badge--store[b-1c6zslcycy] {
    background: var(--lc-color-accent);
    color: var(--lc-color-on-accent);
}

.workspace-shell__context-badge--admin[b-1c6zslcycy] {
    background: color-mix(in srgb, var(--lc-color-on-primary) 18%, transparent);
    color: var(--lc-color-on-primary);
    border: 1px solid color-mix(in srgb, var(--lc-color-on-primary) 30%, transparent);
}

.workspace-shell__dropdown[b-1c6zslcycy] {
    position: relative;
}

.workspace-shell__dropdown summary[b-1c6zslcycy] {
    list-style: none;
}

.workspace-shell__dropdown summary[b-1c6zslcycy]::-webkit-details-marker {
    display: none;
}

.workspace-shell__dropdown ul[b-1c6zslcycy] {
    position: absolute;
    top: calc(100% + var(--lc-space-2));
    left: 0;
    z-index: 10;
    min-width: 14rem;
    margin: 0;
    padding: var(--lc-space-2);
    list-style: none;
    background: var(--lc-color-surface);
    border: 1px solid var(--lc-color-border);
    border-radius: var(--lc-radius-md);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

.workspace-shell__dropdown li + li[b-1c6zslcycy] {
    margin-top: var(--lc-space-1);
}

.workspace-shell__dropdown a[b-1c6zslcycy] {
    display: block;
    padding: var(--lc-space-2) var(--lc-space-3);
    border-radius: var(--lc-radius-sm);
    color: var(--lc-color-text);
    text-decoration: none;
}

.workspace-shell__dropdown a:hover[b-1c6zslcycy],
.workspace-shell__dropdown a:focus-visible[b-1c6zslcycy] {
    background: var(--lc-color-background-subtle);
}

.workspace-shell__inactive[b-1c6zslcycy] {
    display: block;
    padding: var(--lc-space-2) var(--lc-space-3);
    color: var(--lc-color-text-disabled);
}

.workspace-shell__actions[b-1c6zslcycy] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-4);
}

.workspace-shell__badge[b-1c6zslcycy] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-2);
    margin: 0;
    color: color-mix(in srgb, var(--lc-color-on-primary) 75%, transparent);
    font-size: var(--lc-font-size-xs);
}

.workspace-shell__menu[b-1c6zslcycy] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-1);
    padding: 0 var(--lc-space-6);
    flex-shrink: 0;
    overflow-x: auto;
}

.workspace-shell__menu--admin[b-1c6zslcycy] {
    background: var(--lc-color-primary-hover);
}

.workspace-shell__menu--store[b-1c6zslcycy] {
    background: color-mix(in srgb, var(--lc-color-accent) 85%, black);
}

.workspace-shell__menu-item[b-1c6zslcycy] {
    padding: var(--lc-space-3) var(--lc-space-4);
    color: color-mix(in srgb, var(--lc-color-on-primary) 85%, transparent);
    text-decoration: none;
    font-size: var(--lc-font-size-sm);
    font-weight: var(--lc-font-weight-medium);
    white-space: nowrap;
    transition: background-color var(--lc-transition-fast);
}

.workspace-shell__menu--admin .workspace-shell__menu-item:hover[b-1c6zslcycy],
.workspace-shell__menu--admin .workspace-shell__menu-item:focus-visible[b-1c6zslcycy] {
    background: color-mix(in srgb, var(--lc-color-on-primary) 12%, transparent);
    color: var(--lc-color-on-primary);
}

.workspace-shell__menu--store .workspace-shell__menu-item[b-1c6zslcycy] {
    color: color-mix(in srgb, var(--lc-color-on-accent) 85%, transparent);
}

.workspace-shell__menu--store .workspace-shell__menu-item:hover[b-1c6zslcycy],
.workspace-shell__menu--store .workspace-shell__menu-item:focus-visible[b-1c6zslcycy] {
    background: color-mix(in srgb, var(--lc-color-on-accent) 12%, transparent);
    color: var(--lc-color-on-accent);
}

.workspace-shell__content[b-1c6zslcycy] {
    flex: 1;
    min-height: 0;
    padding: var(--lc-space-8);
    overflow-y: auto;
    overflow-x: auto;
}

@media (max-width: 60rem) {
    .workspace-shell[b-1c6zslcycy] {
        height: auto;
    }

    .workspace-shell__topbar[b-1c6zslcycy] {
        flex-wrap: wrap;
        row-gap: var(--lc-space-3);
    }

    .workspace-shell__content[b-1c6zslcycy] {
        overflow-y: visible;
    }
}
/* /Components/Shared/ArticleCardBanners.razor.rz.scp.css */
/* ── Ruban en biais, coin haut gauche ──
   Une bande inclinée à 45° dont l'axe passe à 2,8rem du coin : la partie visible (entre le haut
   et la gauche de la vignette) mesure 5,6rem, c'est la place du texte. Le conteneur rogne les
   extrémités au ras des bords, comme un ruban qui fait le tour du coin. */
.article-banners__ribbon[b-ip9b8043yg] {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 5rem;
    height: 5rem;
    overflow: hidden;
    pointer-events: none;
}

.article-banners__ribbon-band[b-ip9b8043yg] {
    position: absolute;
    /* Centre de la bande en (1,98rem ; 1,98rem) : 2,8rem / √2 depuis le coin. */
    top: calc(1.98rem - 0.6rem);
    left: calc(1.98rem - 5rem);
    width: 10rem;
    height: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Zone de texte = partie visible de la diagonale (5,6rem) : 10rem - 2 × 2,2rem. */
    padding: 0 2.2rem;
    transform: rotate(-45deg);
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
    box-shadow: 0 2px 4px rgb(0 0 0 / 25%);
}

/* Paliers choisis côté serveur sur la largeur estimée du texte (ArticleCardBanners.RibbonTier). */
.article-banners__ribbon-band--short[b-ip9b8043yg] { font-size: 0.72rem; }
.article-banners__ribbon-band--medium[b-ip9b8043yg] { font-size: 0.62rem; }
.article-banners__ribbon-band--long[b-ip9b8043yg] { font-size: 0.52rem; }
.article-banners__ribbon-band--xlong[b-ip9b8043yg] { font-size: 0.44rem; }

/* Filet de sécurité : un texte que même le plus petit palier ne loge pas finit par « … ». */
.article-banners__ribbon-text[b-ip9b8043yg] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Bandeau bas, toute la largeur de la vignette, deux lignes au plus ── */
.article-banners__banner[b-ip9b8043yg] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 0.25rem 0.4rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    box-shadow: 0 -2px 6px rgb(0 0 0 / 15%);
    pointer-events: none;
}

/* La coupe à deux lignes est portée par un élément sans marge intérieure : sur le bandeau
   lui-même, la zone masquée s'arrêtait au bord du fond et le haut de la troisième ligne
   apparaissait dans la marge du bas. */
.article-banners__banner-text[b-ip9b8043yg] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.article-banners__banner--short[b-ip9b8043yg] { font-size: 0.72rem; }
.article-banners__banner--medium[b-ip9b8043yg] { font-size: 0.64rem; }
.article-banners__banner--long[b-ip9b8043yg] { font-size: 0.56rem; }
.article-banners__banner--xlong[b-ip9b8043yg] { font-size: 0.5rem; }
/* /Components/Shared/OrderRequestTypeDialog.razor.rz.scp.css */
/* Trois blocs qui se lisent l'un après l'autre : l'explication, la mise en garde, puis le choix.
   Sans cet espacement le select colle à l'encart et paraît en faire partie. */
.order-type-dialog[b-g86mkel780] {
    display: flex;
    flex-direction: column;
    gap: var(--lc-space-4);
}

.order-type-dialog__intro[b-g86mkel780] {
    margin: 0;
}
/* /Components/Shared/PersonAccessPanel.razor.rz.scp.css */
.person-access__row[b-wioyod88kq] {
    display: flex;
    align-items: center;
    gap: var(--lc-space-3);
    flex-wrap: wrap;
}

.person-access__hint[b-wioyod88kq] {
    margin: var(--lc-space-1) 0 0;
    font-size: var(--lc-font-size-sm);
    color: var(--lc-color-text-muted);
}
/* /Components/Shared/PersonSizesEditor.razor.rz.scp.css */
.person-sizes__table[b-rgidlt0vrz] {
    width: 100%;
    border-collapse: collapse;
}

.person-sizes__table th[scope="row"][b-rgidlt0vrz] {
    text-align: left;
    font-weight: 600;
    padding-right: var(--lc-space-4);
    white-space: nowrap;
}

.person-sizes__table td[b-rgidlt0vrz] {
    padding: var(--lc-space-1) var(--lc-space-2) var(--lc-space-1) 0;
    min-width: 10rem;
}

.person-sizes__empty[b-rgidlt0vrz] {
    color: var(--lc-color-text-muted, inherit);
    font-style: italic;
}

/* Commentaire par type article : prend la place restante de la ligne. */
.person-sizes__table .person-sizes__comment[b-rgidlt0vrz] {
    width: 100%;
}
/* /Components/UnknownTenant.razor.rz.scp.css */
.unknown-tenant[b-nw390le2fo] {
    display: grid;
    gap: var(--lc-space-4);
    place-items: center;
    width: min(32rem, calc(100% - 2rem));
    min-height: 100vh;
    margin: 0 auto;
    align-content: center;
    text-align: center;
}

.unknown-tenant h1[b-nw390le2fo] {
    color: var(--lc-color-primary);
    margin: 0;
}

.unknown-tenant p[b-nw390le2fo] {
    color: var(--lc-color-text-muted);
    margin: 0;
}
