    .label-modal {
        max-width: 420px;
    }

    @media print {
        body * {
            visibility: hidden;
        }
    }

.qty-display {
    min-width: 2rem;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    color: #374151;
}
.remove-cart-btn {
    color: #dc2626;
    border-color: #fecaca;
    background: #fef2f2;
    font-weight: 700;
}
.item-row--removable .item-name {
    color: #9a3412;
}

    .client-banner {
        display: flex;
        align-items: center;
        gap: 8px;
        background: #E1F5EE;
        border: 1px solid #9FE1CB;
        border-radius: 6px;
        padding: 7px 10px;
        font-size: 13px;
        color: #0F6E56;
        font-weight: 500;
        margin-bottom: 8px;
    }

    .client-banner-clear {
        margin-left: auto;
        background: none;
        border: none;
        color: #0F6E56;
        cursor: pointer;
        font-size: 14px;
        opacity: .7;
    }

    .client-banner-clear:hover {
        opacity: 1;
    }

    .client-type-tabs {
        display: flex;
        gap: 6px;
        margin-bottom: 4px;
    }

    .client-tab {
        flex: 1;
        padding: 7px 10px;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: #f8f8f8;
        font-size: 13px;
        cursor: pointer;
        transition: all .15s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
    }

    .client-tab:hover {
        border-color: #1D9E75;
        color: #1D9E75;
    }

    .client-tab.active {
        background: #0F6E56;
        border-color: #0F6E56;
        color: #fff;
        font-weight: 500;
    }

    .client-list {
        max-height: 200px;
        overflow-y: auto;
        border: 1px solid #eee;
        border-radius: 6px;
        margin-top: 4px;
    }

    .client-list-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 12px;
        cursor: pointer;
        transition: background .1s;
        border-bottom: 1px solid #f0f0f0;
    }

    .client-list-item:last-child {
        border-bottom: none;
    }

    .client-list-item:hover {
        background: #f5f9f7;
    }

    .client-list-item.selected {
        background: #E1F5EE;
    }

    .client-list-badge {
        font-size: 11px;
        padding: 2px 7px;
        border-radius: 20px;
        font-weight: 500;
        white-space: nowrap;
    }

    .badge-passager {
        background: #fef3c7;
        color: #92400e;
    }

    .badge-societe {
        background: #dbeafe;
        color: #1e40af;
    }

    .client-list-info {
        flex: 1;
    }

    .client-list-name {
        font-size: 13px;
        font-weight: 500;
    }

    .client-list-sub {
        font-size: 11px;
        color: #888;
    }

    .client-list-empty {
        text-align: center;
        padding: 20px;
        font-size: 13px;
        color: #aaa;
    }

    /* ── Séparateur ── */
    .client-or {
        display: flex;
        align-items: center;
        text-align: center;
        gap: 8px;
        margin: 10px 0;
        color: #bbb;
        font-size: 12px;
    }

    .client-or::before,
    .client-or::after {
        content: '';
        flex: 1;
        border-top: 1px solid #eee;
    }

    .client-create-btn {
        width: 100%;
        padding: 9px;
        border: 1px dashed #1D9E75;
        border-radius: 6px;
        background: none;
        color: #1D9E75;
        font-size: 13px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        transition: background .15s;
    }

    .client-create-btn:hover {
        background: #E1F5EE;
    }

    .req {
        color: #e53e3e;
    }

    .pm-icon.teal {
        background: #E1F5EE;
        color: #0F6E56;
    }

    .pm-btn-confirm.teal {
        background: #0F6E56;
        color: #fff;
        border-color: #0F6E56;
    }

    .pm-btn-confirm.teal:hover:not(:disabled) {
        background: #085041;
    }

    .cancel-mode-banner {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 12px;
        margin-bottom: 8px;
        border-radius: 8px;
        background: #fff4e5;
        border: 1px solid #f59e0b;
        color: #92400e;
        font-size: 13px;
        font-weight: 600;
    }

    .cancel-mode-exit {
        margin-left: auto;
        flex-shrink: 0;
        border: 1px solid currentColor;
        border-radius: 6px;
        background: rgba(255, 255, 255, 0.65);
        color: inherit;
        cursor: pointer;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        padding: 5px 10px;
    }

    .supervisor-active-banner {
        background: #ecfdf5;
        border-color: #10b981;
        color: #065f46;
    }

    .supervisor-active-banner .cancel-mode-exit {
        color: #065f46;
    }

    .pm-icon.red {
        background: #fee2e2;
        color: #b91c1c;
    }

    .pm-btn-confirm.orange {
        background: #f59e0b;
        color: #fff;
        border-color: #f59e0b;
    }

    .pm-btn-confirm.red {
        background: #dc2626;
        color: #fff;
        border-color: #dc2626;
    }
