@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';

/* /Components/ArchiUserSearchPopup.razor.rz.scp.css */
/* Popup sélection utilisateur (intervenant) — même gabarit que customer-search-popup */
.archi-user-select-popup[b-od6f4gg65l] {
    width: 640px;
    max-width: 95vw;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

/* Annule le padding global du modal-body (matrix.css : 2rem) pour coller la grille aux bords */
[b-od6f4gg65l] .archi-user-select-popup .matrix-modal-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

/* Seul ce bloc défile : l’en-tête du tableau reste fixe (sticky) en haut */
.archi-user-select-table-wrap[b-od6f4gg65l] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0;
}

.archi-user-select-table[b-od6f4gg65l] {
    width: 100%;
    margin-bottom: 0;
    /* Meilleur support du thead sticky qu’avec border-collapse: collapse */
    border-collapse: separate;
    border-spacing: 0;
}

.archi-user-select-close-btn[b-od6f4gg65l] {
    color: #000;
}

.archi-user-select-close-btn:hover[b-od6f4gg65l],
.archi-user-select-close-btn:focus-visible[b-od6f4gg65l] {
    color: #212529;
}

/* En-têtes : libellés blancs, collés en haut du conteneur scrollable */
.archi-user-select-table > thead > tr > th[b-od6f4gg65l] {
    position: sticky;
    top: 0;
    z-index: 4;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
    background-color: #2f4f4f;
    border-color: rgba(255, 255, 255, 0.2);
    vertical-align: middle;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

.archi-user-select-table > tbody > tr > td[b-od6f4gg65l] {
    border-top: 1px solid var(--bs-border-color, #dee2e6);
}

/* Corps : même police et taille pour les deux colonnes */
.archi-user-select-table .archi-user-select-cell[b-od6f4gg65l] {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.45;
    color: var(--bs-body-color, #212529);
}

/* Barre d’actions collée au bas du popup (au-dessus du contenu défilant) */
.archi-user-select-stickybar[b-od6f4gg65l] {
    flex-shrink: 0;
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-top: auto;
    padding: 0.75rem 1rem;
    background: var(--bs-body-bg, #fff);
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.06);
}

.archi-user-select-row[b-od6f4gg65l] {
    cursor: pointer;
}

.archi-user-select-row:hover[b-od6f4gg65l] {
    background-color: #fcf1e6;
}

.archi-user-select-row:focus-visible[b-od6f4gg65l] {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: -2px;
}
/* /Components/CallAI/CallAiPanel.razor.rz.scp.css */
.call-ai-panel[b-sca1tsc3bp] {
    border: none;
    box-shadow: 0 10px 30px rgba(5, 31, 77, 0.08);
}

.call-ai-header[b-sca1tsc3bp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
}

.call-ai-eyebrow[b-sca1tsc3bp] {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #6c757d;
    margin-bottom: 0.2rem;
}

.call-ai-title[b-sca1tsc3bp] {
    margin-bottom: 0.2rem;
    font-weight: 600;
}

.call-ai-description[b-sca1tsc3bp] {
    margin-bottom: 0;
    color: #6c757d;
}

.call-ai-config .form-label[b-sca1tsc3bp] {
    font-size: 0.9rem;
    color: #495057;
}

.call-ai-attachments-list[b-sca1tsc3bp] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.call-ai-attachment-item[b-sca1tsc3bp] {
    display: flex;
    gap: 0.75rem;
    padding: 0.35rem 0.25rem;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.call-ai-attachment-item:hover[b-sca1tsc3bp] {
    background-color: rgba(13, 110, 253, 0.08);
}

.call-ai-attachment-title[b-sca1tsc3bp] {
    font-weight: 600;
    color: #1f2a37;
}

.call-ai-textarea textarea[b-sca1tsc3bp] {
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.95rem;
    border-radius: 12px;
    min-height: 200px;
}

.call-ai-textarea textarea[readonly][b-sca1tsc3bp] {
    background-color: #f7f9fc;
}

.call-ai-response-meta[b-sca1tsc3bp] {
    display: flex;
    gap: 1rem;
    font-size: 0.85rem;
    color: #6c757d;
}

.call-ai-response-panel[b-sca1tsc3bp] {
    background-color: #f7f9fc;
    border-radius: 12px;
    padding: 1rem;
    border: 1px solid #e0e6ef;
}

.call-ai-response-content[b-sca1tsc3bp] {
    white-space: pre-wrap;
    font-family: 'JetBrains Mono', 'Consolas', 'SFMono-Regular', monospace;
    font-size: 0.9rem;
    margin-top: 0.75rem;
    color: #1f2a37;
}

.call-ai-actions .btn-standard[b-sca1tsc3bp] {
    min-width: 220px;
}

@media (max-width: 768px) {
    .call-ai-header[b-sca1tsc3bp] {
        flex-direction: column;
    }

    .call-ai-actions[b-sca1tsc3bp] {
        flex-direction: column;
    }

    .call-ai-actions .btn[b-sca1tsc3bp] {
        width: 100%;
        justify-content: center;
    }
}

/* /Components/ContactSearchPopup.razor.rz.scp.css */
/* Popup Liste des contacts — hauteur fixe (identique liste vide ou avec résultats) */
.contact-search-popup-dialog[b-oui9y86ul4] {
    width: 600px;
    max-width: 95vw;
}

.contact-search-popup[b-oui9y86ul4] {
    display: flex;
    flex-direction: column;
    max-height: 85vh;
}

.contact-search-popup-body[b-oui9y86ul4] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 380px;
}

.contact-search-bar[b-oui9y86ul4] {
    margin-bottom: 0.75rem;
    flex-shrink: 0;
}

/* Zone de résultats à hauteur fixe pour ne pas faire varier la popup */
.contact-search-results-area[b-oui9y86ul4] {
    flex: 1;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    overflow: hidden;
}

.contact-search-state[b-oui9y86ul4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.contact-search-results[b-oui9y86ul4] {
    flex: 1;
    overflow-y: auto;
    min-height: 320px;
}

.contact-search-item[b-oui9y86ul4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid var(--bs-border-color, #f0f0f0);
    transition: background-color 0.15s;
    font-size: 1rem;
}

.contact-search-item:last-child[b-oui9y86ul4] {
    border-bottom: none;
}

.contact-search-item:hover[b-oui9y86ul4] {
    background-color: #FCF1E6;
}

.contact-search-item.selected[b-oui9y86ul4] {
    background-color: #eef5ff;
}

.contact-search-name[b-oui9y86ul4] {
    font-weight: 500;
    font-size: 1rem;
    color: var(--bs-body-color, #212529);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contact-search-detail[b-oui9y86ul4] {
    font-size: 0.9rem;
    color: var(--bs-secondary-color, #6c757d);
    margin-left: 1rem;
    white-space: nowrap;
}
/* /Components/CountrySearchPopup.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CountrySearchPopup – Popup de sélection de pays (réutilisable)
   ══════════════════════════════════════════════════════════════ */

.country-search-popup[b-ybvpqnbaoc] {
    width: 480px;
    max-width: 95vw;
    height: 70vh;
    display: flex;
    flex-direction: column;
}

[b-ybvpqnbaoc] .matrix-modal-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 1rem 1.5rem;
}

/* ──────────────────────────────────────────────────
   Accès rapide (France)
   ────────────────────────────────────────────────── */

.country-quick-access[b-ybvpqnbaoc] {
    flex-shrink: 0;
    margin-bottom: 0.75rem;
}

.country-quick-btn[b-ybvpqnbaoc] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.6rem 0.85rem;
    border: 2px solid #0d6efd;
    border-radius: 8px;
    background: linear-gradient(135deg, #f0f6ff 0%, #e8f0fe 100%);
    color: #0d6efd;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.country-quick-btn:hover[b-ybvpqnbaoc] {
    background: linear-gradient(135deg, #e0edff 0%, #d0e3ff 100%);
    border-color: #0b5ed7;
    box-shadow: 0 2px 8px rgba(13, 110, 253, 0.15);
}

.country-quick-flag[b-ybvpqnbaoc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background-color: #0d6efd;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.country-quick-label[b-ybvpqnbaoc] {
    flex: 1;
    text-align: left;
}

/* ──────────────────────────────────────────────────
   Barre de recherche
   ────────────────────────────────────────────────── */

.country-search-bar[b-ybvpqnbaoc] {
    flex-shrink: 0;
    margin-bottom: 0.75rem;
}

.country-search-input-wrapper[b-ybvpqnbaoc] {
    position: relative;
    display: flex;
    align-items: center;
}

.country-search-icon[b-ybvpqnbaoc] {
    position: absolute;
    left: 0.75rem;
    color: #6c757d;
    font-size: 0.9rem;
    pointer-events: none;
}

.country-search-input[b-ybvpqnbaoc] {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
}

.country-search-clear[b-ybvpqnbaoc] {
    position: absolute;
    right: 0.5rem;
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 0.2rem;
    font-size: 0.9rem;
    transition: color 0.15s;
}

.country-search-clear:hover[b-ybvpqnbaoc] {
    color: #dc3545;
}

/* ──────────────────────────────────────────────────
   Liste des résultats
   ────────────────────────────────────────────────── */

.country-search-results[b-ybvpqnbaoc] {
    flex: 1;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
}

.country-search-item[b-ybvpqnbaoc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s;
    font-size: 0.95rem;
}

.country-search-item:last-child[b-ybvpqnbaoc] {
    border-bottom: none;
}

.country-search-item:hover[b-ybvpqnbaoc] {
    background-color: #FCF1E6;
}

.country-search-item.is-selected[b-ybvpqnbaoc] {
    background-color: #cfe2ff;
}

.country-code-badge[b-ybvpqnbaoc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 22px;
    padding: 0 0.35rem;
    border-radius: 4px;
    background-color: #e9ecef;
    color: #495057;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    flex-shrink: 0;
}

.country-name[b-ybvpqnbaoc] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bs-body-color, #212529);
}
/* /Components/CustomerSearchPopup.razor.rz.scp.css */
/* ========== Popup recherche client ========== */
.customer-search-popup[b-douvqibmmz] {
    width: 600px;
    max-width: 95vw;
    height: 70vh;
    display: flex;
    flex-direction: column;
}

[b-douvqibmmz] .matrix-modal-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.customer-search-bar[b-douvqibmmz] {
    margin-bottom: 0.75rem;
    flex-shrink: 0;
}

.customer-search-results[b-douvqibmmz] {
    flex: 1;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
}

.customer-search-item[b-douvqibmmz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid var(--bs-border-color, #f0f0f0);
    transition: background-color 0.15s;
    font-size: 1rem;
}

.customer-search-item:last-child[b-douvqibmmz] {
    border-bottom: none;
}

.customer-search-item:hover[b-douvqibmmz] {
    background-color: #FCF1E6;
}

.customer-search-name[b-douvqibmmz] {
    font-weight: 500;
    font-size: 1rem;
    color: var(--bs-body-color, #212529);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.customer-search-detail[b-douvqibmmz] {
    font-size: 0.9rem;
    color: var(--bs-secondary-color, #6c757d);
    margin-left: 1rem;
    white-space: nowrap;
}
/* /Components/ForgotPassword.razor.rz.scp.css */
.login-page[b-07709tvn3n] {
    display: flex;
    min-height: 100vh;
    background-color: #050b18;
    color: #f4f6fb;
}

.login-visual[b-07709tvn3n] {
    flex: 1.2;
    background-image:
        linear-gradient(120deg, rgba(5, 11, 24, 0.85), rgba(5, 11, 24, 0.35)),
        url('/resources/images/login.png');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 3rem;
    isolation: isolate;
}

.login-visual-overlay[b-07709tvn3n] {
    max-width: 460px;
    background: rgba(5, 11, 24, 0.65);
    padding: 2rem;
    border-radius: 1.5rem;
    backdrop-filter: blur(10px);
}

.login-visual-kicker[b-07709tvn3n] {
    text-transform: uppercase;
    letter-spacing: 0.3em;
    font-size: 0.75rem;
    color: #7cd0fc;
    margin-bottom: 0.75rem;
}

.login-visual h1[b-07709tvn3n] {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.2;
}

.login-visual-text[b-07709tvn3n] {
    margin-top: 1rem;
    color: rgba(244, 246, 251, 0.85);
}

.login-form-panel[b-07709tvn3n] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem clamp(2rem, 5vw, 5rem);
    background: #f7f8fc;
    color: #0d1b2a;
}

.login-form-card[b-07709tvn3n] {
    width: min(480px, 100%);
    background: #fff;
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 1.5rem;
    box-shadow: 0 20px 50px rgba(13, 27, 42, 0.15);
    position: relative;
}

.login-form-header[b-07709tvn3n] {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 2rem;
}

.login-form-icon[b-07709tvn3n] {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(43, 89, 195, 0.12);
    color: #2b59c3;
}

.login-form-header h2[b-07709tvn3n] {
    margin: 0;
    font-size: 1.75rem;
    color: #0d1b2a;
}

.login-form-header p[b-07709tvn3n] {
    margin: 0.25rem 0 0;
    color: #5c6271;
}

.login-form[b-07709tvn3n] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.login-form-field[b-07709tvn3n] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.login-form-field label[b-07709tvn3n] {
    font-weight: 600;
    color: #1b2333;
}

.login-form .form-control[b-07709tvn3n] {
    background: #f1f3f8 !important;
    border: 1px solid #cfd5e1;
    border-radius: 0.9rem;
    padding: 0.9rem 1rem;
    color: #111827;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-form .form-control:focus[b-07709tvn3n] {
    background: #e7eaf2;
    border-color: #4f5d75;
    box-shadow: 0 0 0 3px rgba(79, 93, 117, 0.15);
}

.login-validation[b-07709tvn3n] {
    font-size: 0.85rem;
    color: #c73627;
}

.login-info[b-07709tvn3n] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    background: rgba(52, 152, 219, 0.1);
    color: #1a5276;
    margin-bottom: 1rem;
}

.login-info i[b-07709tvn3n] {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.login-info p[b-07709tvn3n] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.login-error[b-07709tvn3n] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    background: rgba(199, 54, 39, 0.1);
    color: #8c1b11;
}

.login-submit[b-07709tvn3n] {
    border: none;
    border-radius: 0.85rem;
    padding: 1.05rem 1.25rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    margin-top: 1.5rem;
    background: #6b707c;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.login-submit[disabled][b-07709tvn3n] {
    opacity: 0.65;
    cursor: not-allowed;
}

.login-submit:not([disabled]):hover[b-07709tvn3n] {
    background: #565b66;
    box-shadow: 0 10px 20px rgba(40, 44, 52, 0.25);
}

.forgot-back-container[b-07709tvn3n] {
    text-align: center;
    margin-top: 1.5rem;
}

.forgot-back-link[b-07709tvn3n] {
    background: none;
    border: none;
    color: #2b59c3;
    font-size: 0.9rem;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: color 0.2s ease;
}

.forgot-back-link:hover[b-07709tvn3n] {
    color: #1a3d8f;
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .login-page[b-07709tvn3n] {
        flex-direction: column;
    }

    .login-visual[b-07709tvn3n] {
        min-height: 45vh;
        padding: 2rem;
    }

    .login-form-panel[b-07709tvn3n] {
        padding: 2rem;
    }
}

@media (max-width: 600px) {
    .login-form-card[b-07709tvn3n] {
        padding: 1.75rem;
    }

    .login-visual-overlay[b-07709tvn3n] {
        padding: 1.5rem;
    }
}
/* /Components/Login.razor.rz.scp.css */
.login-page[b-azspfpa3ke] {
    display: flex;
    min-height: 100vh;
    background-color: #050b18;
    color: #f4f6fb;
}

.login-visual[b-azspfpa3ke] {
    flex: 1.2;
    background-image:
        linear-gradient(120deg, rgba(5, 11, 24, 0.85), rgba(5, 11, 24, 0.35)),
        url('/resources/images/login.png');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 3rem;
    isolation: isolate;
}

.login-visual-overlay[b-azspfpa3ke] {
    max-width: 460px;
    background: rgba(5, 11, 24, 0.65);
    padding: 2rem;
    border-radius: 1.5rem;
    backdrop-filter: blur(10px);
}

.login-visual-kicker[b-azspfpa3ke] {
    text-transform: uppercase;
    letter-spacing: 0.3em;
    font-size: 0.75rem;
    color: #7cd0fc;
    margin-bottom: 0.75rem;
}

.login-visual h1[b-azspfpa3ke] {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.2;
}

.login-visual-text[b-azspfpa3ke] {
    margin-top: 1rem;
    color: rgba(244, 246, 251, 0.85);
}

.login-form-panel[b-azspfpa3ke] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem clamp(2rem, 5vw, 5rem);
    background: #f7f8fc;
    color: #0d1b2a;
}

.login-form-card[b-azspfpa3ke] {
    width: min(480px, 100%);
    background: #fff;
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 1.5rem;
    box-shadow: 0 20px 50px rgba(13, 27, 42, 0.15);
    position: relative;
}

.login-form-header[b-azspfpa3ke] {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 2rem;
}

.login-form-icon[b-azspfpa3ke] {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(43, 89, 195, 0.12);
    color: #2b59c3;
}

.login-form-header h2[b-azspfpa3ke] {
    margin: 0;
    font-size: 1.75rem;
    color: #0d1b2a;
}

.login-form-header p[b-azspfpa3ke] {
    margin: 0.25rem 0 0;
    color: #5c6271;
}

.login-form[b-azspfpa3ke] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.login-form-field[b-azspfpa3ke] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.login-form-field:not(:first-child)[b-azspfpa3ke] {
    margin-top: 1.15rem;
}

.login-form-field label[b-azspfpa3ke] {
    font-weight: 600;
    color: #1b2333;
}

.login-form .form-control[b-azspfpa3ke] {
    background: #f1f3f8 !important;
    border: 1px solid #cfd5e1;
    border-radius: 0.9rem;
    padding: 0.9rem 1rem;
    color: #111827;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-form .form-control:focus[b-azspfpa3ke] {
    background: #e7eaf2;
    border-color: #4f5d75;
    box-shadow: 0 0 0 3px rgba(79, 93, 117, 0.15);
}

.login-password-wrapper[b-azspfpa3ke] {
    position: relative;
}

.login-password-wrapper .form-control[b-azspfpa3ke] {
    padding-right: 3rem;
}

.login-toggle-password[b-azspfpa3ke] {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #596077;
    padding: 0.25rem;
    cursor: pointer;
}

.login-toggle-password:hover[b-azspfpa3ke] {
    color: #2b59c3;
}

.login-validation[b-azspfpa3ke] {
    font-size: 0.85rem;
    color: #c73627;
}

.login-info[b-azspfpa3ke] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    background: rgba(52, 152, 219, 0.1);
    color: #1a5276;
    margin-bottom: 1rem;
}

.login-info i[b-azspfpa3ke] {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.login-info p[b-azspfpa3ke] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.login-error[b-azspfpa3ke] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    background: rgba(199, 54, 39, 0.1);
    color: #8c1b11;
}

.login-submit[b-azspfpa3ke] {
    border: none;
    border-radius: 0.85rem;
    padding: 1.05rem 1.25rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    margin-top: 1.5rem;
    background: #6b707c;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.login-submit[disabled][b-azspfpa3ke] {
    opacity: 0.65;
    cursor: not-allowed;
}

.login-submit:not([disabled]):hover[b-azspfpa3ke] {
    background: #565b66;
    box-shadow: 0 10px 20px rgba(40, 44, 52, 0.25);
}

.login-forgot-container[b-azspfpa3ke] {
    text-align: center;
    margin-top: 1.5rem;
}

.login-forgot-link[b-azspfpa3ke] {
    background: none;
    border: none;
    color: #2b59c3;
    font-size: 0.9rem;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s ease;
}

.login-forgot-link:hover[b-azspfpa3ke] {
    color: #1a3d8f;
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .login-page[b-azspfpa3ke] {
        flex-direction: column;
    }

    .login-visual[b-azspfpa3ke] {
        min-height: 45vh;
        padding: 2rem;
    }

    .login-form-panel[b-azspfpa3ke] {
        padding: 2rem;
    }
}

@media (max-width: 600px) {
    .login-form-card[b-azspfpa3ke] {
        padding: 1.75rem;
    }

    .login-visual-overlay[b-azspfpa3ke] {
        padding: 1.5rem;
    }
}

/* /Components/MatrixDataGrid.razor.rz.scp.css */
/* Styles pour la grille avancée inspirée de Monday.com - Thème clair et moderne */

.matrix-data-grid[b-7hqevtk7mq] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    border: 1px solid #e1e5e9;
}

/* En-tête de la grille */
.grid-header[b-7hqevtk7mq] {
    background: #fafbfc;
    border-bottom: 1px solid #e1e5e9;
    padding: 1.25rem;
}

.grid-toolbar[b-7hqevtk7mq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.toolbar-left[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.toolbar-right[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Recherche */
.search-container[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    min-width: 320px;
}

.search-input[b-7hqevtk7mq] {
    border: 1px solid #e1e5e9;
    border-radius: 8px 0 0 8px;
    border-right: none;
    background: #ffffff;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.search-input:focus[b-7hqevtk7mq] {
    border-color: #0073ea;
    box-shadow: 0 0 0 3px rgba(0, 115, 234, 0.1);
    outline: none;
}

.search-btn[b-7hqevtk7mq] {
    border: 1px solid #e1e5e9;
    border-radius: 0 8px 8px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.5rem 0.75rem;
    transition: all 0.2s ease;
}

.search-btn:hover[b-7hqevtk7mq] {
    background: #FCF1E6;
    color: #0073ea;
}

/* Filtres */
.filter-btn[b-7hqevtk7mq] {
    position: relative;
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    color: #6c757d;
    transition: all 0.2s ease;
}

.filter-btn:hover[b-7hqevtk7mq] {
    background: #FCF1E6;
    border-color: #0073ea;
    color: #0073ea;
}

.filter-badge[b-7hqevtk7mq] {
    position: absolute;
    top: -6px;
    right: -6px;
    font-size: 0.65rem;
    min-width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0073ea;
    color: white;
    border-radius: 8px;
}

/* Panneau de filtres */
.filter-panel[b-7hqevtk7mq] {
    background: #ffffff;
    border-top: 1px solid #e9ecef;
    padding: 1rem;
    margin-top: 1rem;
}

/* Configuration des colonnes */
.column-config[b-7hqevtk7mq] {
    background: #FCF1E6;
    border-top: 1px solid #e9ecef;
    padding: 1rem;
}

.column-config-panel[b-7hqevtk7mq] {
    max-width: 600px;
}

.column-list[b-7hqevtk7mq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.column-item[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem;
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 4px;
}

.column-controls[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.width-input[b-7hqevtk7mq] {
    width: 80px;
}

.width-label[b-7hqevtk7mq] {
    font-size: 0.8rem;
    color: #6c757d;
}

.column-config-actions[b-7hqevtk7mq] {
    display: flex;
    gap: 0.5rem;
}

/* Conteneur de la grille */
.grid-container[b-7hqevtk7mq] {
    position: relative;
    min-height: 200px;
}

.loading-overlay[b-7hqevtk7mq] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

/* Tableau */
.grid-table[b-7hqevtk7mq] {
    margin-bottom: 0;
    font-size: 0.9rem;
    background: #ffffff;
}

.grid-table thead th[b-7hqevtk7mq] {
    background: #fafbfc;
    border-bottom: 1px solid #e1e5e9;
    font-weight: 600;
    color: #323338;
    padding: 1rem 0.75rem;
    white-space: nowrap;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.grid-table tbody tr[b-7hqevtk7mq] {
    transition: all 0.2s ease;
    border-bottom: 1px solid #f4f5f8;
}

.grid-table tbody tr:hover[b-7hqevtk7mq] {
    background-color: #FCF1E6;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.grid-table tbody tr.selected[b-7hqevtk7mq] {
    background-color: #e3f2fd;
    border-left: 3px solid #0073ea;
}

.grid-table tbody td[b-7hqevtk7mq] {
    padding: 1rem 0.75rem;
    vertical-align: middle;
    border-top: none;
    color: #323338;
    font-size: 0.9rem;
}

/* Colonnes spéciales */
.select-column[b-7hqevtk7mq] {
    width: 50px;
    text-align: center;
}

.actions-column[b-7hqevtk7mq] {
    width: 140px;
    text-align: center;
}

.sortable-column[b-7hqevtk7mq] {
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

.sortable-column:hover[b-7hqevtk7mq] {
    background-color: #f1f3f4;
    color: #0073ea;
}

.column-header[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.sort-icon[b-7hqevtk7mq] {
    font-size: 0.8rem;
    opacity: 0.6;
}

/* Types de colonnes */
.boolean-column[b-7hqevtk7mq] {
    text-align: center;
    font-weight: bold;
}

.number-column[b-7hqevtk7mq] {
    text-align: right;
    font-family: 'Courier New', monospace;
}

.date-column[b-7hqevtk7mq] {
    white-space: nowrap;
}

.editable-column input[b-7hqevtk7mq] {
    border: none;
    background: transparent;
    padding: 0;
    font-size: inherit;
    width: 100%;
}

.editable-column input:focus[b-7hqevtk7mq] {
    background: #ffffff;
    border: 1px solid #2F4F4F;
    border-radius: 3px;
    padding: 0.25rem;
}

/* Pagination */
.grid-pagination[b-7hqevtk7mq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem;
    background: #fafbfc;
    border-top: 1px solid #e1e5e9;
}

.pagination-info[b-7hqevtk7mq] {
    color: #6c757d;
    font-size: 0.9rem;
}

.pagination-controls[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.page-info[b-7hqevtk7mq] {
    margin: 0 1rem;
    font-weight: 500;
}

/* Statistiques */
.grid-summary[b-7hqevtk7mq] {
    background: #FCF1E6;
    border-top: 1px solid #e9ecef;
    padding: 1rem;
}

.summary-item[b-7hqevtk7mq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.summary-label[b-7hqevtk7mq] {
    font-size: 0.8rem;
    color: #6c757d;
    margin-bottom: 0.25rem;
}

.summary-value[b-7hqevtk7mq] {
    font-size: 1.2rem;
    font-weight: bold;
    color: #495057;
}

/* Contrôles de vue */
.view-controls[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.view-select[b-7hqevtk7mq] {
    min-width: 150px;
}

/* Boutons d'action */
.action-buttons[b-7hqevtk7mq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.action-buttons .btn[b-7hqevtk7mq] {
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
}

.action-buttons .btn-outline-primary[b-7hqevtk7mq] {
    border-color: #0073ea;
    color: #0073ea;
}

.action-buttons .btn-outline-primary:hover[b-7hqevtk7mq] {
    background-color: #0073ea;
    border-color: #0073ea;
    color: white;
}

.selected-count[b-7hqevtk7mq] {
    font-size: 0.85rem;
    color: #6c757d;
    margin-right: 0.75rem;
    font-weight: 500;
}

/* Actions par ligne */
.btn-group-sm .btn[b-7hqevtk7mq] {
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem;
    border-radius: 6px;
    margin: 0 2px;
    transition: all 0.2s ease;
}

.btn-group-sm .btn-outline-primary[b-7hqevtk7mq] {
    border-color: #0073ea;
    color: #0073ea;
}

.btn-group-sm .btn-outline-primary:hover[b-7hqevtk7mq] {
    background-color: #0073ea;
    border-color: #0073ea;
    color: white;
    transform: translateY(-1px);
}

.btn-group-sm .btn-outline-secondary[b-7hqevtk7mq] {
    border-color: #6c757d;
    color: #6c757d;
}

.btn-group-sm .btn-outline-secondary:hover[b-7hqevtk7mq] {
    background-color: #6c757d;
    border-color: #6c757d;
    color: white;
    transform: translateY(-1px);
}

.btn-group-sm .btn-outline-danger[b-7hqevtk7mq] {
    border-color: #dc3545;
    color: #dc3545;
}

.btn-group-sm .btn-outline-danger:hover[b-7hqevtk7mq] {
    background-color: #dc3545;
    border-color: #dc3545;
    color: white;
    transform: translateY(-1px);
}

/* Responsive */
@media (max-width: 768px) {
    .grid-toolbar[b-7hqevtk7mq] {
        flex-direction: column;
        align-items: stretch;
    }
    
    .toolbar-left[b-7hqevtk7mq],
    .toolbar-right[b-7hqevtk7mq] {
        justify-content: center;
    }
    
    .search-container[b-7hqevtk7mq] {
        min-width: auto;
        width: 100%;
    }
    
    .column-list[b-7hqevtk7mq] {
        grid-template-columns: 1fr;
    }
    
    .grid-pagination[b-7hqevtk7mq] {
        flex-direction: column;
        gap: 1rem;
    }
    
    .pagination-controls[b-7hqevtk7mq] {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* Animations */
.grid-table tbody tr[b-7hqevtk7mq] {
    animation: fadeIn-b-7hqevtk7mq 0.3s ease-in-out;
}

@keyframes fadeIn-b-7hqevtk7mq {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* États de chargement */
.loading-skeleton[b-7hqevtk7mq] {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading-b-7hqevtk7mq 1.5s infinite;
}

@keyframes loading-b-7hqevtk7mq {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Améliorations d'accessibilité */
.sortable-column:focus[b-7hqevtk7mq] {
    outline: 2px solid #2F4F4F;
    outline-offset: -2px;
}

.grid-table tbody tr:focus-within[b-7hqevtk7mq] {
    background-color: #e3f2fd;
    outline: 2px solid #2F4F4F;
    outline-offset: -2px;
}

/* Améliorations supplémentaires */
.matrix-data-grid[b-7hqevtk7mq] {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.grid-table tbody tr:last-child[b-7hqevtk7mq] {
    border-bottom: none;
}

/* Amélioration des checkboxes */
.select-column input[type="checkbox"][b-7hqevtk7mq] {
    width: 16px;
    height: 16px;
    accent-color: #0073ea;
}

/* Amélioration des inputs d'édition */
.editable-column input[b-7hqevtk7mq] {
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 0.25rem 0.5rem;
    transition: all 0.2s ease;
}

.editable-column input:focus[b-7hqevtk7mq] {
    border-color: #0073ea;
    box-shadow: 0 0 0 2px rgba(0, 115, 234, 0.1);
    outline: none;
}

/* Amélioration des badges de statut */
.status-badge[b-7hqevtk7mq] {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-badge.active[b-7hqevtk7mq] {
    background-color: #d4edda;
    color: #155724;
}

.status-badge.inactive[b-7hqevtk7mq] {
    background-color: #f8d7da;
    color: #721c24;
}

.status-badge.pending[b-7hqevtk7mq] {
    background-color: #fff3cd;
    color: #856404;
}
/* /Components/Matrix_Grid.razor.rz.scp.css */
/* Styles pour Matrix_Grid */

/* Backdrop transparent pour fermer le dropdown en cliquant en dehors */
.matrix-dropdown-backdrop[b-y5l49uc50p] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

/* S'assurer que le dropdown est au-dessus du backdrop */
.matrix-view-controls .btn-group[b-y5l49uc50p] {
    position: relative;
    z-index: 1001;
}

/* Header de groupe (ligne fusionnée au-dessus des colonnes) */
[b-y5l49uc50p] .matrix-grid-group-cell {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.35rem 0.5rem;
}

[b-y5l49uc50p] .matrix-grid-group-header + tr th {
    padding-top: 0.25rem;
    font-size: 0.62rem;
}

.table-footer-aggregates[b-y5l49uc50p] {
    border-top: 2px solid var(--matrix-border-medium, #c1c7d0);
}

.table-footer-aggregates tr[b-y5l49uc50p] {
    background-color: var(--matrix-bg-hover, #f5f6f8) !important;
}

.table-footer-aggregates td[b-y5l49uc50p] {
    padding: 0.75rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #323338);
    border-top: 2px solid var(--matrix-border-medium, #c1c7d0);
}

/* /Components/Matrix_MultiSelect.razor.rz.scp.css */
/* ===================================================================
   Matrix_MultiSelect.razor.css - Composant de sélection multiple
   =================================================================== */

/* --- Container principal --- */
.matrix-multiselect[b-ifk75d2tqm] {
    position: relative;
    width: 100%;
}

/* --- Zone d'affichage cliquable --- */
.matrix-multiselect-display[b-ifk75d2tqm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    cursor: pointer;
    height: 36px;
    box-sizing: border-box;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.matrix-multiselect-display:hover[b-ifk75d2tqm] {
    border-color: var(--bs-primary, #0d6efd);
}

.matrix-multiselect.is-open .matrix-multiselect-display[b-ifk75d2tqm] {
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}

.matrix-multiselect-values[b-ifk75d2tqm] {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    overflow: hidden;
}

.matrix-multiselect-placeholder[b-ifk75d2tqm] {
    color: var(--bs-secondary, #6c757d);
    font-size: 0.875rem;
    line-height: 1.5;
}

.matrix-multiselect-tag[b-ifk75d2tqm] {
    display: inline-flex;
    align-items: center;
    background: var(--bs-primary, #0d6efd);
    color: white;
    padding: 0 0.375rem;
    border-radius: 0.1875rem;
    font-size: 0.75rem;
    line-height: 1.4;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.matrix-multiselect-count[b-ifk75d2tqm] {
    display: inline-flex;
    align-items: center;
    background: var(--bs-primary, #0d6efd);
    color: white;
    padding: 0 0.375rem;
    border-radius: 0.1875rem;
    font-size: 0.75rem;
    line-height: 1.4;
    font-weight: 500;
}

.matrix-multiselect-actions[b-ifk75d2tqm] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.matrix-multiselect-clear[b-ifk75d2tqm] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--bs-secondary, #6c757d);
    cursor: pointer;
    padding: 0;
    font-size: 0.875rem;
    transition: color 0.15s;
}

.matrix-multiselect-clear:hover[b-ifk75d2tqm] {
    color: var(--bs-danger, #dc3545);
}

.matrix-multiselect-chevron[b-ifk75d2tqm] {
    color: var(--bs-secondary, #6c757d);
    font-size: 0.625rem;
    transition: transform 0.15s;
}

/* --- Dropdown --- */
.matrix-multiselect-dropdown[b-ifk75d2tqm] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1050;
    max-height: 350px;
    display: flex;
    flex-direction: column;
}

/* --- Recherche --- */
.matrix-multiselect-search[b-ifk75d2tqm] {
    position: relative;
    padding: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.matrix-multiselect-search-input[b-ifk75d2tqm] {
    width: 100%;
    padding: 0.375rem 2rem 0.375rem 0.75rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    font-size: 0.875rem;
    outline: none;
}

.matrix-multiselect-search-input:focus[b-ifk75d2tqm] {
    border-color: var(--bs-primary, #0d6efd);
}

.matrix-multiselect-search-clear[b-ifk75d2tqm] {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--bs-secondary, #6c757d);
    cursor: pointer;
    padding: 0.25rem;
}

.matrix-multiselect-search-clear:hover[b-ifk75d2tqm] {
    color: var(--bs-dark);
}

/* --- Filtre par statut --- */
.matrix-multiselect-status-filter[b-ifk75d2tqm] {
    padding: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    background: var(--bs-light, #f8f9fa);
}

.matrix-multiselect-status-select[b-ifk75d2tqm] {
    width: 100%;
    height: 32px;
    min-height: 32px;
    padding: 0.375rem 2rem 0.375rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 0.25rem;
    background-color: var(--bs-body-bg, #fff);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 12px 9px;
    color: var(--matrix-text-primary, #333333);
    cursor: pointer;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.matrix-multiselect-status-select:hover[b-ifk75d2tqm] {
    border-color: var(--matrix-primary, #1E88E5);
}

.matrix-multiselect-status-select:focus[b-ifk75d2tqm] {
    border-color: var(--matrix-primary, #1E88E5);
    box-shadow: 0 0 0 0.2rem rgba(30, 136, 229, 0.15);
}

/* --- Actions groupées --- */
.matrix-multiselect-group-actions[b-ifk75d2tqm] {
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    background: var(--bs-light, #f8f9fa);
}

.matrix-multiselect-action-btn[b-ifk75d2tqm] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    font-size: 0.75rem;
    color: var(--bs-secondary, #6c757d);
    cursor: pointer;
    transition: all 0.15s;
}

.matrix-multiselect-action-btn:hover[b-ifk75d2tqm] {
    background: var(--bs-primary, #0d6efd);
    border-color: var(--bs-primary, #0d6efd);
    color: white;
}

/* --- Liste des items --- */
.matrix-multiselect-items[b-ifk75d2tqm] {
    flex: 1;
    overflow-y: auto;
    padding: 0.25rem 0;
}

.matrix-multiselect-item[b-ifk75d2tqm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: background-color 0.15s;
}

.matrix-multiselect-item:hover[b-ifk75d2tqm] {
    background: var(--bs-light, #f8f9fa);
}

.matrix-multiselect-item.is-selected[b-ifk75d2tqm] {
    background: rgba(13, 110, 253, 0.08);
}

.matrix-multiselect-item.is-selected:hover[b-ifk75d2tqm] {
    background: rgba(13, 110, 253, 0.12);
}

/* --- Checkbox custom --- */
.matrix-multiselect-checkbox[b-ifk75d2tqm] {
    position: relative;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.matrix-multiselect-checkbox input[b-ifk75d2tqm] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
    margin: 0;
}

.matrix-multiselect-checkmark[b-ifk75d2tqm] {
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    background: var(--bs-body-bg, #fff);
    border: 2px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.25rem;
    transition: all 0.15s;
}

.matrix-multiselect-item.is-selected .matrix-multiselect-checkmark[b-ifk75d2tqm] {
    background: var(--bs-primary, #0d6efd);
    border-color: var(--bs-primary, #0d6efd);
}

.matrix-multiselect-item.is-selected .matrix-multiselect-checkmark[b-ifk75d2tqm]::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.matrix-multiselect-item-text[b-ifk75d2tqm] {
    flex: 1;
    font-size: 0.875rem;
    color: var(--bs-body-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Badge de statut --- */
.matrix-multiselect-status-badge[b-ifk75d2tqm] {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.375rem;
    font-size: 0.6875rem;
    font-weight: 500;
    background: var(--bs-secondary-bg, #e9ecef);
    color: var(--bs-secondary, #6c757d);
    border-radius: 0.25rem;
    white-space: nowrap;
    flex-shrink: 0;
}

/* --- État vide --- */
.matrix-multiselect-empty[b-ifk75d2tqm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    color: var(--bs-secondary, #6c757d);
    font-size: 0.875rem;
}

.matrix-multiselect-empty i[b-ifk75d2tqm] {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

/* --- Overlay --- */
.matrix-multiselect-overlay[b-ifk75d2tqm] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
}

/* --- Responsive --- */
@media (max-width: 576px) {
    .matrix-multiselect-dropdown[b-ifk75d2tqm] {
        max-height: 280px;
    }

    .matrix-multiselect-group-actions[b-ifk75d2tqm] {
        flex-direction: column;
    }

    .matrix-multiselect-tag[b-ifk75d2tqm] {
        max-width: 150px;
    }
}
/* /Components/Matrix_TextBoxButton.razor.rz.scp.css */
/* Matrix_TextBoxButton : TextBox + bouton icône collés (même rendu que NumericTextBox + flèches) */
.matrix-textbox-button-group[b-fte3chpq1z] {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: var(--bs-border-radius, 0.375rem);
    overflow: hidden;
    background: var(--bs-body-bg, #fff);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.matrix-textbox-button-group:focus-within[b-fte3chpq1z] {
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}

/* Supprime les bordures du TextBox Telerik pour qu'il fusionne avec le groupe */
.matrix-textbox-button-group .matrix-textbox-button-input[b-fte3chpq1z],
.matrix-textbox-button-group .matrix-textbox-button-input .k-input[b-fte3chpq1z],
.matrix-textbox-button-group .matrix-textbox-button-input .k-input-inner[b-fte3chpq1z] {
    border: none !important;
    box-shadow: none !important;
    background: transparent;
    min-height: unset;
}

.matrix-textbox-button-group .matrix-textbox-button-input[b-fte3chpq1z] {
    flex: 1;
    min-width: 0;
}

/* Texte en gras et bien visible lorsque le champ est désactivé (lecture seule) */
[b-fte3chpq1z] .matrix-textbox-button-input.k-disabled,
[b-fte3chpq1z] .matrix-textbox-button-input.k-disabled .k-input-inner {
    color: #212529 !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #212529 !important;
}

.matrix-textbox-button-btn[b-fte3chpq1z] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.55rem;
    background: var(--bs-light, #f8f9fa);
    border: none;
    border-left: 1px solid var(--bs-border-color, #ced4da);
    color: var(--bs-secondary-color, #6c757d);
    cursor: pointer;
    font-size: 0.875rem;
    transition: background 0.15s, color 0.15s;
}

.matrix-textbox-button-btn:hover:not(:disabled)[b-fte3chpq1z] {
    background: var(--bs-secondary-bg, #e9ecef);
    color: var(--bs-body-color, #212529);
}

.matrix-textbox-button-btn:disabled[b-fte3chpq1z] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Components/PdfPreviewPanel.razor.rz.scp.css */
/* Styles pour le panneau d'aperçu PDF avec Telerik PdfViewer */
.pdf-preview-panel[b-ha3zjrjfi9] {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.pdf-preview-toolbar[b-ha3zjrjfi9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    flex-shrink: 0;
}

.pdf-preview-toolbar-left[b-ha3zjrjfi9] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pdf-preview-toolbar-right[b-ha3zjrjfi9] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pdf-preview-content[b-ha3zjrjfi9] {
    flex: 1;
    overflow: hidden;
    min-height: 0;
}
/* /Components/SalesCodeSearchPopup.razor.rz.scp.css */
/* SalesCodeSearchPopup – même principe que CountrySearchPopup */

.sales-code-search-popup[b-22h2spfdnt] {
    width: 480px;
    max-width: 95vw;
    height: 70vh;
    display: flex;
    flex-direction: column;
}

[b-22h2spfdnt] .matrix-modal-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 1rem 1.5rem;
}

.sales-code-none-option[b-22h2spfdnt] {
    flex-shrink: 0;
    margin-bottom: 0.75rem;
}

.sales-code-none-btn[b-22h2spfdnt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.55rem 0.85rem;
    border: 2px solid var(--bs-border-color, #dee2e6);
    border-radius: 8px;
    background: var(--bs-light, #f8f9fa);
    color: var(--bs-body-color, #212529);
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
}

.sales-code-none-btn:hover[b-22h2spfdnt] {
    background: var(--bs-secondary-bg, #e9ecef);
    border-color: var(--bs-secondary, #6c757d);
}

.sales-code-none-btn.is-selected[b-22h2spfdnt] {
    border-color: #0d6efd;
    background: linear-gradient(135deg, #f0f6ff 0%, #e8f0fe 100%);
    color: #0d6efd;
}

.sales-code-none-icon[b-22h2spfdnt] {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.sales-code-none-label[b-22h2spfdnt] {
    flex: 1;
}

.sales-code-search-bar[b-22h2spfdnt] {
    flex-shrink: 0;
    margin-bottom: 0.75rem;
}

.sales-code-search-input-wrapper[b-22h2spfdnt] {
    position: relative;
    display: flex;
    align-items: center;
}

.sales-code-search-icon[b-22h2spfdnt] {
    position: absolute;
    left: 0.75rem;
    color: #6c757d;
    font-size: 0.9rem;
    pointer-events: none;
}

.sales-code-search-input[b-22h2spfdnt] {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
}

.sales-code-search-clear[b-22h2spfdnt] {
    position: absolute;
    right: 0.5rem;
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 0.2rem;
    font-size: 0.9rem;
    transition: color 0.15s;
}

.sales-code-search-clear:hover[b-22h2spfdnt] {
    color: #dc3545;
}

.sales-code-search-results[b-22h2spfdnt] {
    flex: 1;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
}

.sales-code-search-item[b-22h2spfdnt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s;
    font-size: 0.95rem;
}

.sales-code-search-item:last-child[b-22h2spfdnt] {
    border-bottom: none;
}

.sales-code-search-item:hover[b-22h2spfdnt] {
    background-color: #FCF1E6;
}

.sales-code-search-item.is-selected[b-22h2spfdnt] {
    background-color: #cfe2ff;
}

.sales-code-badge[b-22h2spfdnt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    background-color: #e9ecef;
    color: #495057;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.sales-code-meta[b-22h2spfdnt] {
    flex: 1;
    min-width: 0;
}

.sales-code-currency[b-22h2spfdnt] {
    color: var(--bs-secondary, #6c757d);
    font-size: 0.85rem;
}
/* /Components/StyleManagementComponent.razor.rz.scp.css */
/* Styles pour le composant de gestion des styles */

:root[b-6z9wff5sbu] {
    --card-gap: 1.5rem;
    --input-group-gap: 0.5rem;
    --color-preview-height: 200px;
}

/* Grille responsive */
.matrix-cards-grid[b-6z9wff5sbu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--card-gap);
    margin-top: 2rem;
}

/* Cartes de couleurs */
.matrix-dashboard-card[b-6z9wff5sbu] {
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.matrix-dashboard-card:hover[b-6z9wff5sbu] {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* En-têtes avec icônes */
.matrix-card-title[b-6z9wff5sbu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.matrix-card-icon[b-6z9wff5sbu] {
    font-size: 1.5rem;
}

/* Groupes de formulaires */
.matrix-form-group[b-6z9wff5sbu] {
    margin-bottom: 1.5rem;
}

.matrix-form-group:last-child[b-6z9wff5sbu] {
    margin-bottom: 0;
}

/* Labels */
.matrix-form-label[b-6z9wff5sbu] {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
}

/* Groupe d'inputs avec color picker */
[style*="display: flex"][b-6z9wff5sbu] {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
}

/* Color picker */
input[type="color"][b-6z9wff5sbu] {
    cursor: pointer;
    border: none;
    border-radius: 4px;
    transition: all 0.2s ease;
}

input[type="color"]:hover[b-6z9wff5sbu] {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    transform: scale(1.05);
}

input[type="color"]:focus[b-6z9wff5sbu] {
    outline: 2px solid var(--matrix-primary);
    outline-offset: 2px;
}

/* Inputs texte */
.matrix-input[b-6z9wff5sbu] {
    flex: 1;
    min-width: 150px;
    font-family: 'Courier New', monospace;
    font-size: 0.9rem;
}

/* Boutons d'action */
.matrix-btn[b-6z9wff5sbu] {
    transition: all 0.3s ease;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}

.matrix-btn:hover:not(:disabled)[b-6z9wff5sbu] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.matrix-btn:active:not(:disabled)[b-6z9wff5sbu] {
    transform: translateY(0);
}

/* Conteneur des actions */
[style*="display: flex"][style*="justify-content: flex-end"][b-6z9wff5sbu] {
    display: flex !important;
    gap: 1rem;
    margin-top: 2rem;
}

/* Section d'aperçu */
.matrix-dashboard-card[style*="margin-top: 3rem"][b-6z9wff5sbu] {
    background: linear-gradient(135deg, rgba(44, 90, 160, 0.05) 0%, rgba(74, 158, 255, 0.05) 100%);
    border: 2px dashed var(--theme-border-color);
}

/* Grille d'aperçu des couleurs */
[style*="display: grid"][style*="grid-template-columns: repeat"][b-6z9wff5sbu] {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 1rem;
    padding: 1rem;
}

/* Cases d'aperçu */
[style*="padding: 1rem"][style*="border-radius: 8px"][b-6z9wff5sbu] {
    padding: 1.5rem !important;
    border-radius: 8px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-align: center;
    min-height: 80px;
    transition: all 0.3s ease;
    cursor: default;
    user-select: none;
}

[style*="padding: 1rem"][style*="border-radius: 8px"]:hover[b-6z9wff5sbu] {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Alertes */
.matrix-alert[b-6z9wff5sbu] {
    margin-bottom: 1.5rem;
    animation: slideInDown-b-6z9wff5sbu 0.3s ease-out;
}

@keyframes slideInDown-b-6z9wff5sbu {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Page header */
.matrix-page-header[b-6z9wff5sbu] {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--theme-border-color);
}

.matrix-page-title[b-6z9wff5sbu] {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.matrix-page-subtitle[b-6z9wff5sbu] {
    font-size: 1rem;
    color: var(--matrix-gray-500);
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .matrix-cards-grid[b-6z9wff5sbu] {
        grid-template-columns: 1fr;
    }
    
    [style*="display: flex"][style*="justify-content: flex-end"][b-6z9wff5sbu] {
        flex-direction: column;
    }
    
    [style*="display: flex"][style*="justify-content: flex-end"] .matrix-btn[b-6z9wff5sbu] {
        width: 100%;
    }
    
    .matrix-page-title[b-6z9wff5sbu] {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .matrix-dashboard-card[b-6z9wff5sbu] {
        padding: 1rem;
    }
    
    .matrix-form-label[b-6z9wff5sbu] {
        font-size: 0.85rem;
    }
    
    input[type="color"][b-6z9wff5sbu] {
        width: 60px !important;
        height: 36px !important;
    }
}

/* Animations fluides */
*[b-6z9wff5sbu] {
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Focus visible pour l'accessibilité */
:focus-visible[b-6z9wff5sbu] {
    outline: 2px solid var(--matrix-primary);
    outline-offset: 2px;
}

/* /Modules/BEManagement/Pages/BEManagement.razor.rz.scp.css */
.be-management-card-link[b-u8gig0iaud] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.be-management-card-link:hover[b-u8gig0iaud] {
    color: inherit;
    text-decoration: none;
}

.be-management-card-link .matrix-dashboard-card[b-u8gig0iaud] {
    cursor: pointer;
}

.be-management-card-link:hover .matrix-dashboard-card[b-u8gig0iaud] {
    transform: translateY(-4px);
}
/* /Modules/BEManagement/Pages/BEResource.razor.rz.scp.css */
.be-resource-card-link[b-3hhxcwutuq] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.be-resource-card-link:hover[b-3hhxcwutuq] {
    color: inherit;
    text-decoration: none;
}

.be-resource-card-link .matrix-dashboard-card[b-3hhxcwutuq] {
    cursor: pointer;
}

.be-resource-card-link:hover .matrix-dashboard-card[b-3hhxcwutuq] {
    transform: translateY(-4px);
}
/* /Modules/BEProject/Components/Financial/FinancialArchitectProfitability.razor.rz.scp.css */
/* ===== Container principal ===== */
.financial-archi-profitability[b-0tvnpvkpl8] {
    padding-left: 1rem;
}

/* ===== KPI ===== */
.archi-kpi-row[b-0tvnpvkpl8] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    margin-top: 1rem;
    margin-left: 0.5rem;
    max-width: 1100px;
}

.archi-kpi-card[b-0tvnpvkpl8] {
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    padding: 0.9rem;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.archi-kpi-card:hover[b-0tvnpvkpl8] {
    border-color: #a78bfa;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.09);
}

.archi-kpi-negative[b-0tvnpvkpl8] {
    border-color: #f87171;
    background: #fef2f2;
}

.archi-kpi-label[b-0tvnpvkpl8] {
    font-size: 0.8rem;
    color: #6b7280;
    font-weight: 500;
}

.archi-kpi-value[b-0tvnpvkpl8] {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}

/* ===== Chart ===== */
.archi-chart-container[b-0tvnpvkpl8] {
    max-width: 65%;
    margin-left: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    padding: 1rem 1.25rem;
}

.archi-chart-header[b-0tvnpvkpl8] {
    margin-bottom: 0.5rem;
}

.archi-chart-title[b-0tvnpvkpl8] {
    font-weight: 600;
    color: #1f2937;
}

/* ===== Table ===== */
.archi-table-container[b-0tvnpvkpl8] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    overflow: auto;
}

.archi-table[b-0tvnpvkpl8] {
    margin-bottom: 0;
}

.archi-table thead th[b-0tvnpvkpl8] {
    white-space: nowrap;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* ===== Modale règles ===== */
[b-0tvnpvkpl8] .archi-rules-modal {
    max-width: 680px;
}

.archi-rules-list[b-0tvnpvkpl8] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.archi-rules-list li[b-0tvnpvkpl8] {
    display: flex;
    align-items: flex-start;
    padding: 0.55rem 0;
    font-size: 0.88rem;
    color: #374151;
    border-bottom: 1px solid #f3f4f6;
}

.archi-rules-list li:last-child[b-0tvnpvkpl8] {
    border-bottom: none;
}

.archi-rules-list code[b-0tvnpvkpl8] {
    font-size: 0.8rem;
    background: #e5e7eb;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}

/* ===== Responsive ===== */
@media (max-width: 576px) {
    .financial-archi-profitability[b-0tvnpvkpl8] {
        padding-left: 0.5rem;
    }

    .archi-kpi-row[b-0tvnpvkpl8] {
        grid-template-columns: repeat(2, 1fr);
        margin-left: 0;
    }

    .archi-chart-container[b-0tvnpvkpl8] {
        max-width: 100%;
        margin-left: 0;
    }
}
/* /Modules/BEProject/Components/Financial/FinancialAvailability.razor.rz.scp.css */
/* ===== Container principal ===== */
.financial-availability[b-dwwh6vvgna] {
    padding-left: 1rem;
}

/* ===== Sections ===== */
.avail-section-title[b-dwwh6vvgna] {
    font-weight: 600;
    color: #1f2937;
    font-size: 1rem;
}

/* ===== KPI (style identique à Unbilled Phases) ===== */
.avail-kpi-row[b-dwwh6vvgna] {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.avail-kpi-card[b-dwwh6vvgna] {
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    padding: 0.75rem 1.1rem;
    text-align: left;
    flex: 0 1 auto;
    min-width: 0;
}

.avail-kpi-warning[b-dwwh6vvgna] {
    border-color: #f59e0b;
    background: #fffbeb;
}

.avail-kpi-negative[b-dwwh6vvgna] {
    border-color: #f87171;
    background: #fef2f2;
}

.avail-kpi-label[b-dwwh6vvgna] {
    font-size: 0.78rem;
    color: #6b7280;
    font-weight: 500;
    white-space: nowrap;
}

.avail-kpi-value[b-dwwh6vvgna] {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}

/* ===== Split layout 50/50 ===== */
.avail-split-layout[b-dwwh6vvgna] {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}

.avail-split-left[b-dwwh6vvgna] {
    flex: 1 1 50%;
    min-width: 0;
}

.avail-split-right[b-dwwh6vvgna] {
    flex: 1 1 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ===== Chart ===== */
.avail-chart-container[b-dwwh6vvgna] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    padding: 0.75rem 1rem;
}

.avail-chart-stacked[b-dwwh6vvgna] {
    max-width: 100%;
    margin-left: 0;
}

.avail-chart-title[b-dwwh6vvgna] {
    font-weight: 600;
    color: #1f2937;
    font-size: 0.85rem;
}

/* ===== Tables ===== */
.avail-table-container[b-dwwh6vvgna] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    overflow: auto;
}

.avail-table[b-dwwh6vvgna] {
    margin-bottom: 0;
}

.avail-table thead th[b-dwwh6vvgna] {
    white-space: nowrap;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.avail-table-compact td[b-dwwh6vvgna],
.avail-table-compact th[b-dwwh6vvgna] {
    padding: 0.45rem 0.6rem;
    font-size: 0.83rem;
    vertical-align: middle;
}

/* ===== Sortable headers ===== */
.avail-sortable[b-dwwh6vvgna] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.avail-sortable:hover[b-dwwh6vvgna] {
    background-color: rgba(26, 188, 156, 0.08);
}

.avail-sort-icon[b-dwwh6vvgna] {
    font-size: 0.65rem;
    opacity: 0.45;
    margin-left: 0.25rem;
    vertical-align: middle;
}

.avail-sortable:hover .avail-sort-icon[b-dwwh6vvgna] {
    opacity: 0.8;
}

/* ===== Progress bar (taux d'inoccupation) ===== */
.avail-progress-wrapper[b-dwwh6vvgna] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 120px;
}

.avail-progress-bar[b-dwwh6vvgna] {
    flex: 1;
    height: 8px;
    background: #e5e7eb;
    border-radius: 4px;
    overflow: hidden;
}

.avail-progress-fill[b-dwwh6vvgna] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.avail-bar-success[b-dwwh6vvgna] {
    background: #10b981;
}

.avail-bar-warning[b-dwwh6vvgna] {
    background: #f59e0b;
}

.avail-bar-danger[b-dwwh6vvgna] {
    background: #ef4444;
}

.avail-progress-label[b-dwwh6vvgna] {
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    min-width: 3.5rem;
    text-align: right;
}

/* ===== Modale règles ===== */
[b-dwwh6vvgna] .avail-rules-modal {
    max-width: 700px;
}

.avail-rules-list[b-dwwh6vvgna] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.avail-rules-list li[b-dwwh6vvgna] {
    display: flex;
    align-items: flex-start;
    padding: 0.55rem 0;
    font-size: 0.88rem;
    color: #374151;
    border-bottom: 1px solid #f3f4f6;
}

.avail-rules-list li:last-child[b-dwwh6vvgna] {
    border-bottom: none;
}

.avail-rules-list code[b-dwwh6vvgna] {
    font-size: 0.8rem;
    background: #e5e7eb;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}

/* ===== Responsive ===== */
@media (max-width: 1200px) {
    .avail-split-layout[b-dwwh6vvgna] {
        flex-direction: column;
    }

    .avail-split-left[b-dwwh6vvgna],
    .avail-split-right[b-dwwh6vvgna] {
        flex: 1 1 100%;
    }
}

@media (max-width: 768px) {
    .financial-availability[b-dwwh6vvgna] {
        padding-left: 0.5rem;
    }

    .avail-kpi-row[b-dwwh6vvgna] {
        flex-direction: column;
    }
}
/* /Modules/BEProject/Components/Financial/FinancialBilling.razor.rz.scp.css */
.billing-cards-grid[b-gq9mpsxe69] {
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) minmax(120px, 0.7fr) minmax(120px, 0.7fr);
    gap: 1rem;
    margin-top: 1rem;
    max-width: 820px;
}

/* Variante avec carte M-1 (4 colonnes), affichée uniquement en début de mois. */
.billing-cards-grid.billing-cards-grid--with-previous[b-gq9mpsxe69] {
    grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.5fr) minmax(120px, 0.7fr) minmax(120px, 0.7fr);
    max-width: 1000px;
}

@media (max-width: 1100px) {
    .billing-cards-grid.billing-cards-grid--with-previous[b-gq9mpsxe69] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .billing-cards-grid[b-gq9mpsxe69],
    .billing-cards-grid.billing-cards-grid--with-previous[b-gq9mpsxe69] {
        grid-template-columns: 1fr;
    }
}

/* Carte M-1 : teinte plus neutre pour la distinguer des cartes prévisionnelles. */
.billing-card.billing-card-previous[b-gq9mpsxe69] {
    background: #f8fafc;
    border-color: #cbd5e0;
}

.billing-card.billing-card-previous:hover[b-gq9mpsxe69] {
    border-color: #94a3b8;
    box-shadow: 0 8px 24px rgba(71, 85, 105, 0.12);
}

.billing-card.billing-card-previous .billing-card-title[b-gq9mpsxe69],
.billing-card.billing-card-previous .billing-card-detail-label[b-gq9mpsxe69] {
    color: #475569;
}

.billing-card.billing-card-previous .billing-card-detail-primary .billing-card-detail-value[b-gq9mpsxe69] {
    color: #1e293b;
}

.billing-card-badge-realized[b-gq9mpsxe69] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #475569;
    background: #e2e8f0;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    vertical-align: middle;
}

.billing-card[b-gq9mpsxe69] {
    margin: 0.5rem;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    padding: 0.9rem;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.billing-card:hover[b-gq9mpsxe69] {
    border-color: #98c1ff;
    box-shadow: 0 8px 24px rgba(0, 63, 136, 0.09);
    transform: translateY(-1px);
}

.billing-card-title[b-gq9mpsxe69] {
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.35rem;
}

.billing-card-amount[b-gq9mpsxe69] {
    font-size: 1.3rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}

.billing-card-triple-row[b-gq9mpsxe69] {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
}

.billing-card-triple-item[b-gq9mpsxe69] {
    flex: 1;
    min-width: 0;
}

.billing-card-triple-item .billing-card-label[b-gq9mpsxe69] {
    font-size: 0.8rem;
    color: #6b7280;
    font-weight: 500;
}

.billing-card-triple-item .billing-card-amount[b-gq9mpsxe69] {
    font-size: 1.1rem;
}

.billing-card-triple-item .billing-card-amount-sub[b-gq9mpsxe69] {
    font-size: 1rem;
    font-weight: 600;
}

.billing-card-detail-grid[b-gq9mpsxe69] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-top: 0.25rem;
}

.billing-card-detail-row[b-gq9mpsxe69] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}

.billing-card-detail-label[b-gq9mpsxe69] {
    font-size: 0.8rem;
    color: #6b7280;
    font-weight: 500;
}

.billing-card-detail-value[b-gq9mpsxe69] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
}

.billing-card-detail-primary[b-gq9mpsxe69] {
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.billing-card-detail-primary .billing-card-detail-label[b-gq9mpsxe69] {
    font-weight: 600;
    color: #1f2937;
}

.billing-card-detail-primary .billing-card-detail-value[b-gq9mpsxe69] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.billing-card-detail-remaining[b-gq9mpsxe69] {
    padding-top: 0.15rem;
    border-top: 1px dashed #d1d5db;
}

.billing-card-detail-remaining .billing-card-detail-value[b-gq9mpsxe69] {
    color: #d97706;
}

.billing-card-detail-total[b-gq9mpsxe69] {
    padding-top: 0.3rem;
    border-top: 2px solid #1e3a5f;
}

.billing-card-detail-total .billing-card-detail-label[b-gq9mpsxe69] {
    font-weight: 700;
    color: #1e3a5f;
}

.billing-card-detail-total .billing-card-detail-value[b-gq9mpsxe69] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e3a5f;
}

.billing-section-title[b-gq9mpsxe69] {
    font-weight: 600;
    color: #1e3a5f;
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid #e5e7eb;
}

.billing-summary-grid[b-gq9mpsxe69] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-width: 420px;
    margin-top: 0.5rem;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.billing-summary-row[b-gq9mpsxe69] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.9rem;
    color: #374151;
}

.billing-summary-row > span:last-child[b-gq9mpsxe69] {
    font-weight: 600;
    white-space: nowrap;
}

.billing-summary-primary[b-gq9mpsxe69] {
    font-weight: 600;
    color: #1f2937;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.billing-summary-primary > span:last-child[b-gq9mpsxe69] {
    font-size: 1.05rem;
    font-weight: 700;
}

.billing-summary-remaining[b-gq9mpsxe69] {
    padding-top: 0.2rem;
    border-top: 1px dashed #d1d5db;
}

.billing-summary-remaining > span:last-child[b-gq9mpsxe69] {
    color: #d97706;
}

.billing-summary-total[b-gq9mpsxe69] {
    padding-top: 0.3rem;
    border-top: 2px solid #1e3a5f;
    font-weight: 700;
    color: #1e3a5f;
}

.billing-summary-total > span:last-child[b-gq9mpsxe69] {
    font-size: 1.1rem;
}

/* Popup détail facturation : largeur élargie pour accueillir 9 colonnes + scroll dans le corps.
   On reprend la même largeur que la popup « CA détaillé » pour cohérence (95vw). */
.billing-detail-modal-dialog[b-gq9mpsxe69] {
    width: 95vw;
    max-width: 95vw;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    margin: 1rem auto;
}

.billing-detail-modal-dialog .mf-modal-content[b-gq9mpsxe69] {
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.billing-detail-modal-dialog .mf-modal-body[b-gq9mpsxe69] {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}

/* Tableau détail compacté pour rentrer dans la popup même sur écran ~1366px de large.
   Police légèrement plus petite + paddings serrés ; les libellés d'en-tête restent complets. */
.billing-detail-table[b-gq9mpsxe69] {
    font-size: 0.88rem;
}

.billing-detail-table th[b-gq9mpsxe69],
.billing-detail-table td[b-gq9mpsxe69] {
    padding: 0.3rem 0.4rem;
    vertical-align: middle;
}

.billing-detail-table thead th[b-gq9mpsxe69] {
    line-height: 1.15;
}

/* Colonne Projet + cellules à deux lignes dans la popup */
.billing-detail-table .billing-col-project[b-gq9mpsxe69] {
    min-width: 120px;
    width: 14%;
}

.billing-detail-cell-line[b-gq9mpsxe69] {
    line-height: 1.3;
}

.billing-detail-cell-line.billing-detail-cell-sub[b-gq9mpsxe69] {
    font-size: 0.85em;
    color: var(--bs-secondary-color, #6c757d);
    margin-top: 0.1rem;
}

.billing-col-action[b-gq9mpsxe69] {
    width: 1%;
    white-space: nowrap;
}

.billing-col-dates[b-gq9mpsxe69] {
    min-width: 95px;
    width: 9%;
    white-space: nowrap;
}

/* Colonnes monétaires unifiées (Budget / Factures antérieures / Factures du mois / Solde) */
.billing-col-amount[b-gq9mpsxe69] {
    min-width: 95px;
    width: 10%;
    white-space: nowrap;
}

/* Colonne « % à facturer ». Mise en évidence visuelle de la valeur saisie
   (échéancier prévisionnel) vs valeur dérivée (Solde / Budget). */
.billing-col-pct[b-gq9mpsxe69] {
    min-width: 80px;
    width: 8%;
    white-space: nowrap;
}

.billing-pct-expected[b-gq9mpsxe69] {
    color: #1e3a5f;
    font-weight: 600;
}

.billing-pct-derived[b-gq9mpsxe69] {
    color: #6b7280;
    font-style: italic;
}

/* Coloration discrète pour distinguer factures antérieures (gris) vs du mois (couleur primaire) */
.billing-col-prior[b-gq9mpsxe69] {
    color: #64748b;
}

.billing-col-current[b-gq9mpsxe69] {
    color: #1e3a5f;
}

.billing-row-budget[b-gq9mpsxe69] {
    border-top: 1px solid #dee2e6;
}

.billing-row-budget td[b-gq9mpsxe69] {
    font-weight: 500;
    vertical-align: top;
}

.billing-row-clickable[b-gq9mpsxe69] {
    cursor: pointer;
}

.billing-row-clickable:hover[b-gq9mpsxe69] {
    background-color: #f1f5f9;
}

.billing-row-invoice td[b-gq9mpsxe69] {
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.88em;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
    border-top: none;
    background-color: #fafbfc;
}

.billing-row-invoice-header td[b-gq9mpsxe69] {
    background-color: #f1f5f9;
    border-top: none;
    padding-top: 0.2rem;
    padding-bottom: 0.1rem;
}

.billing-invoice-label[b-gq9mpsxe69] {
    font-style: italic;
}

.billing-row-total th[b-gq9mpsxe69] {
    background-color: #e2e8f0;
    border-top: 2px solid #1f2937;
    font-size: 0.95em;
    color: #0f172a;
}

/* Solde positif sur mois passé/en cours = signal d'oubli de facturation */
.billing-solde-positive[b-gq9mpsxe69] {
    color: #b45309;
    font-weight: 600;
}

.billing-solde-negative[b-gq9mpsxe69] {
    color: #047857;
    font-weight: 600;
}

/* Avoir = montant négatif. Affiché en rouge subtil pour distinguer des factures normales. */
.billing-credit-note[b-gq9mpsxe69] {
    color: #b91c1c;
    font-weight: 600;
}

.billing-summary-invoiced > span:last-child[b-gq9mpsxe69] {
    color: #1e3a5f;
    font-size: 1.05rem;
    font-weight: 700;
}

/* Adaptations mobile / petites tablettes : on relâche les widths fixes pour laisser
   le scroll horizontal de .table-responsive prendre le relais sans tronquer. */
@media (max-width: 992px) {
    .billing-detail-table[b-gq9mpsxe69] {
        font-size: 0.82rem;
    }

    .billing-detail-table th[b-gq9mpsxe69],
    .billing-detail-table td[b-gq9mpsxe69] {
        padding: 0.25rem 0.3rem;
    }

    .billing-col-amount[b-gq9mpsxe69],
    .billing-col-dates[b-gq9mpsxe69] {
        min-width: 85px;
    }

    .billing-col-pct[b-gq9mpsxe69] {
        min-width: 70px;
    }
}

/* Graphique CA exercice — aligné sur la première card (Facturation mois en cours) */
.billing-chart-container[b-gq9mpsxe69] {
    max-width: 50%;
    margin-left: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    padding: 1rem 1.25rem;
}

.billing-chart-header[b-gq9mpsxe69] {
    margin-bottom: 0.5rem;
}

.billing-chart-title[b-gq9mpsxe69] {
    font-weight: 600;
    color: #1f2937;
}

.billing-chart-actions[b-gq9mpsxe69] {
    align-items: flex-end;
}

.billing-chart-action-button[b-gq9mpsxe69] {
    display: flex;
    align-items: flex-end;
    padding-bottom: 0.1rem;
}

.turnover-matrix-modal-dialog[b-gq9mpsxe69] {
    max-width: 95vw;
    width: 95vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

.turnover-matrix-modal-dialog .mf-modal-content[b-gq9mpsxe69] {
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.turnover-matrix-modal-dialog .mf-modal-body[b-gq9mpsxe69] {
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
}

.turnover-popup-toolbar[b-gq9mpsxe69] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    justify-content: space-between;
}

.turnover-popup-toolbar :deep(.matrix-dropdownlist-container)[b-gq9mpsxe69] {
    min-width: 190px;
}

.turnover-popup-export-actions[b-gq9mpsxe69] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.turnover-popup-layout[b-gq9mpsxe69] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(210px, 0.62fr);
    gap: 1rem;
    min-height: 58vh;
}

.turnover-popup-grid-panel[b-gq9mpsxe69],
.turnover-popup-detail-panel[b-gq9mpsxe69] {
    min-height: 0;
}

.turnover-popup-table-wrap[b-gq9mpsxe69] {
    max-height: 66vh;
    overflow: auto;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.turnover-popup-table[b-gq9mpsxe69] {
    font-size: 0.82rem;
}

.turnover-popup-table th[b-gq9mpsxe69],
.turnover-popup-table td[b-gq9mpsxe69] {
    padding: 0.22rem 0.35rem;
    white-space: nowrap;
}

.turnover-popup-table thead th[b-gq9mpsxe69] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8f9fa;
}

.turnover-popup-tfoot[b-gq9mpsxe69] {
    --tfoot-row-h: calc(0.44rem + 1.23rem + 1px);
}

.turnover-popup-tfoot td[b-gq9mpsxe69] {
    position: sticky;
    z-index: 2;
}

.turnover-col-type[b-gq9mpsxe69] {
    min-width: 100px;
}

.turnover-col-project[b-gq9mpsxe69] {
    min-width: 170px;
}

.turnover-col-month[b-gq9mpsxe69],
.turnover-col-total[b-gq9mpsxe69],
.turnover-col-late[b-gq9mpsxe69] {
    min-width: 82px;
}

.turnover-col-late[b-gq9mpsxe69] {
    background-color: rgba(230, 126, 34, 0.06);
}

.turnover-row-type td[b-gq9mpsxe69] {
    background-color: #f2ecfb;
    font-weight: 700;
}

.turnover-row-subtotal td[b-gq9mpsxe69] {
    background-color: #f7f3fc;
    font-weight: 700;
}

.turnover-row-global td[b-gq9mpsxe69] {
    background-color: #efe7fb;
    font-weight: 700;
    bottom: calc(2 * var(--tfoot-row-h));
}

.turnover-row-cumulative td[b-gq9mpsxe69] {
    background-color: #e3f0fd;
    font-weight: 700;
    border-top: 1px solid #b6d4f7;
    bottom: var(--tfoot-row-h);
}

.turnover-row-invoice-control td[b-gq9mpsxe69] {
    background-color: #fef7e0;
    font-weight: 700;
    border-top: 1px solid #f0dfa0;
    bottom: 0;
}

.turnover-control-ok[b-gq9mpsxe69] {
    display: block;
    text-align: center;
    color: #8fbc8f;
    font-size: 0.78rem;
    font-weight: 600;
    opacity: 0.7;
}

.turnover-cell-button.turnover-control-ok[b-gq9mpsxe69] {
    color: #8fbc8f;
    text-decoration: none;
}

.turnover-cell-button[b-gq9mpsxe69] {
    color: #111827;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 0.3rem;
    padding: 0.05rem 0.25rem;
}

.turnover-cell-button:hover[b-gq9mpsxe69] {
    border-color: #c7d2fe;
    background: #eef2ff;
}

.turnover-cell-selected[b-gq9mpsxe69] {
    border-color: #4f46e5;
    background: #e0e7ff;
    font-weight: 700;
}

.turnover-popup-table td.turnover-cell-success[b-gq9mpsxe69] {
    background: #dff3df;
}

.turnover-popup-table td.turnover-cell-warning[b-gq9mpsxe69] {
    background: #ffe5bf;
}

.turnover-popup-table .turnover-current-month-col[b-gq9mpsxe69] {
    border-left: 2px solid #dc2626 !important;
    border-right: 2px solid #dc2626 !important;
}

.turnover-popup-detail-panel[b-gq9mpsxe69] {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.75rem;
    overflow: auto;
    max-height: 66vh;
}

.turnover-detail-header[b-gq9mpsxe69] {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 0.75rem;
}

.turnover-detail-main-info[b-gq9mpsxe69] {
    font-size: 0.92rem;
    font-weight: 600;
    color: #111827;
}

.turnover-detail-period[b-gq9mpsxe69] {
    font-size: 0.88rem;
    font-weight: 500;
    color: #374151;
}

.turnover-rule-explanation[b-gq9mpsxe69] {
    border: 1px solid #e5e7eb;
    border-radius: 0.4rem;
    padding: 0.45rem 0.55rem;
    background: #fafafa;
}

.turnover-rule-metrics[b-gq9mpsxe69] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.83rem;
    color: #1f2937;
}

.turnover-detail-table th[b-gq9mpsxe69] {
    font-size: 0.8rem;
    white-space: nowrap;
}

.turnover-detail-table td[b-gq9mpsxe69] {
    font-size: 0.78rem;
}

.turnover-detail-table td.text-end[b-gq9mpsxe69] {
    font-size: 0.75rem;
}

@media (max-width: 1200px) {
    .turnover-popup-layout[b-gq9mpsxe69] {
        grid-template-columns: 1fr;
    }

    .turnover-popup-table-wrap[b-gq9mpsxe69],
    .turnover-popup-detail-panel[b-gq9mpsxe69] {
        max-height: 40vh;
    }
}
/* /Modules/BEProject/Components/Financial/FinancialCosts.razor.rz.scp.css */
/* ── KPI cards (alignés sur le graphe en dessous) ── */
.costs-kpi-row[b-vbpc9fb9q5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 1rem;
    margin-left: 0.5rem;
    max-width: 960px;
}

.costs-kpi-card[b-vbpc9fb9q5] {
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    padding: 0.9rem;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.costs-kpi-card:hover[b-vbpc9fb9q5] {
    border-color: #f87171;
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.09);
}

.costs-kpi-label[b-vbpc9fb9q5] {
    font-size: 0.8rem;
    color: #6b7280;
    font-weight: 500;
}

.costs-kpi-value[b-vbpc9fb9q5] {
    font-size: 1.3rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}

/* ── Chart containers (alignés sur la première card comme Facturation) ── */
.costs-chart-container[b-vbpc9fb9q5] {
    max-width: 50%;
    margin-left: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    padding: 1rem 1.25rem;
}

.costs-chart-header[b-vbpc9fb9q5] {
    margin-bottom: 0.5rem;
}

.costs-chart-title[b-vbpc9fb9q5] {
    font-weight: 600;
    color: #1f2937;
}
/* /Modules/BEProject/Components/Financial/FinancialMargin.razor.rz.scp.css */
/* ── KPI cards (alignés sur le graphe en dessous) ── */
.margin-kpi-row[b-4mrnzeqf9n] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    margin-top: 1rem;
    margin-left: 0.5rem;
    max-width: 1100px;
}

.margin-kpi-pct[b-4mrnzeqf9n] {
    font-size: 0.75rem;
    font-weight: 500;
    opacity: 0.8;
}

.margin-kpi-card[b-4mrnzeqf9n] {
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    padding: 0.9rem;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.margin-kpi-card:hover[b-4mrnzeqf9n] {
    border-color: #a78bfa;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.09);
}

.margin-kpi-negative[b-4mrnzeqf9n] {
    border-color: #f87171;
    background: #fef2f2;
}

.margin-kpi-label[b-4mrnzeqf9n] {
    font-size: 0.8rem;
    color: #6b7280;
    font-weight: 500;
}

.margin-kpi-value[b-4mrnzeqf9n] {
    font-size: 1.3rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
}

/* ── Chart containers (alignés sur la première card comme Facturation) ── */
.margin-chart-container[b-4mrnzeqf9n] {
    max-width: 50%;
    margin-left: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    padding: 1rem 1.25rem;
}

.margin-chart-header[b-4mrnzeqf9n] {
    margin-bottom: 0.5rem;
}

.margin-chart-title[b-4mrnzeqf9n] {
    font-weight: 600;
    color: #1f2937;
}
/* /Modules/BEProject/Components/Financial/FinancialMarginAnalysis.razor.rz.scp.css */
/* ============================================
   MARGIN ANALYSIS – Split-panel layout
   ============================================ */

.ma-wrapper[b-plnukrslsn] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ---------- Filters bar ---------- */

.ma-filters[b-plnukrslsn] {
    flex-shrink: 0;
    padding: 0.75rem 1rem;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--matrix-border-light, #e0e0e0);
}

/* ---------- Sub-tabs ---------- */

.ma-tabs[b-plnukrslsn] {
    flex-shrink: 0;
}

/* ---------- Body (split) ---------- */

.ma-body[b-plnukrslsn] {
    flex: 1;
    min-height: 0;
    display: flex;
    overflow: hidden;
}

.ma-list-panel[b-plnukrslsn] {
    flex: 1 1 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--matrix-border-light, #e0e0e0);
}

.ma-detail-panel[b-plnukrslsn] {
    flex: 1 1 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background-color: #fdfdfe;
}

/* ---------- Panel header / scroll ---------- */

.ma-panel-header[b-plnukrslsn] {
    flex-shrink: 0;
    min-height: 3rem;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--matrix-border-light, #e0e0e0);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.ma-panel-scroll[b-plnukrslsn] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: auto;
}

/* ---------- Tables ---------- */

.ma-table[b-plnukrslsn] {
    font-size: 0.85rem;
    margin-bottom: 0;
}

.ma-table thead[b-plnukrslsn] {
    position: sticky;
    top: 0;
    z-index: 1;
}

.ma-table tbody tr.ma-row-clickable[b-plnukrslsn] {
    cursor: pointer;
}

.ma-table tbody tr.ma-row-clickable:hover[b-plnukrslsn] {
    background-color: #eef2ff;
}

.ma-table tbody tr.ma-row-ni[b-plnukrslsn] {
    background-color: #DDEBF7;
    font-size: 0.75rem;
    line-height: 1.2;
}

.ma-table tbody tr.ma-row-ni td[b-plnukrslsn] {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

/* ---------- Project management row ---------- */

.ma-row-pm[b-plnukrslsn] {
    background-color: #fff3cd;
    font-style: italic;
    font-size: 0.78rem;
}

/* ---------- Detail placeholder ---------- */

.ma-detail-placeholder[b-plnukrslsn] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
    padding: 2rem;
    text-align: center;
}

.ma-detail-placeholder i[b-plnukrslsn] {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    opacity: 0.6;
}

/* ---------- Footer ---------- */

.ma-footer[b-plnukrslsn] {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border-top: 2px solid var(--matrix-border-light, #dee2e6);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    font-size: 0.85rem;
}

.ma-footer-totals[b-plnukrslsn] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.ma-footer-totals .ma-total-label[b-plnukrslsn] {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ma-footer-totals .ma-total-item[b-plnukrslsn] {
    white-space: nowrap;
}

.ma-footer-actions[b-plnukrslsn] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ---------- Cellules cliquables dans le tableau Synthèse ---------- */

.ma-table td.ma-cell-clickable[b-plnukrslsn] {
    cursor: pointer;
    transition: background-color 0.1s;
}

.ma-table td.ma-cell-clickable:hover[b-plnukrslsn] {
    background-color: #dde4ff;
    text-decoration: underline;
}

.ma-table td.ma-cell-active[b-plnukrslsn] {
    background-color: #c5cff7 !important;
    font-weight: 600;
}

/* ---------- CA detail table ---------- */

.ma-table-ca[b-plnukrslsn] {
    font-size: 0.78rem;
}

.ma-table-ca thead th[b-plnukrslsn] {
    font-size: 0.75rem;
    white-space: nowrap;
}

/* ---------- Phase cell (3 lines) ---------- */

.ma-phase-cell[b-plnukrslsn] {
    line-height: 1.3;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

.ma-phase-space[b-plnukrslsn] {
    font-weight: 600;
    font-size: 0.82rem;
}

.ma-phase-name[b-plnukrslsn] {
    font-size: 0.75rem;
    color: #6c757d;
}

.ma-phase-dates[b-plnukrslsn] {
    font-size: 0.72rem;
    color: #868e96;
    display: flex;
    align-items: center;
}

/* ---------- En-tête de groupe projet (Détail Budget Synthèse) ---------- */

.ma-budget-project-header[b-plnukrslsn] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.5rem;
    margin-top: 0.75rem;
    background-color: #e9ecef;
    border-left: 3px solid #495057;
    font-size: 0.82rem;
    font-weight: 600;
    color: #343a40;
    border-radius: 0 2px 2px 0;
}

.ma-budget-project-header:first-child[b-plnukrslsn] {
    margin-top: 0;
}

/* ---------- Loading / Empty states ---------- */

.ma-loading[b-plnukrslsn],
.ma-empty[b-plnukrslsn] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
}

/* ---------- Bandeau exercice fiscal (onglets prévisionnels) ---------- */

.ma-fiscal-info[b-plnukrslsn] {
    font-size: 0.72rem;
    color: #495057;
    padding: 0.1rem 0.25rem;
    line-height: 1.3;
}

.ma-fiscal-info strong[b-plnukrslsn] {
    color: #1a5276;
}

/* Bandeau spécifique à l'onglet « Estimation finale » (TOBEDONE) :
   l'indicateur n'est pas borné par l'exercice fiscal et n'utilise pas le profil de charge,
   on utilise donc un fond informatif distinct pour éviter toute confusion. */
.ma-fiscal-info-tobedone[b-plnukrslsn] {
    background: #fff8e1;
    border-left: 3px solid #f59e0b;
    border-radius: 0.25rem;
    padding: 0.3rem 0.5rem;
    margin-top: 0.2rem;
    color: #5b3a00;
}

.ma-fiscal-info-tobedone strong[b-plnukrslsn] {
    color: #92400e;
}

/* Bandeau spécifique à l'onglet « Life to go » (FORECAST défusionné) :
   reste-à-faire sur l'**ensemble du projet** (peut dépasser l'exercice fiscal).
   Distinct de RAF (« Reste à faire exercice ») borné à l'exercice fiscal. */
.ma-fiscal-info-lifetogo[b-plnukrslsn] {
    background: #e7f1ff;
    border-left: 3px solid #0d6efd;
    border-radius: 0.25rem;
    padding: 0.3rem 0.5rem;
    margin-top: 0.2rem;
    color: #084298;
}

.ma-fiscal-info-lifetogo strong[b-plnukrslsn] {
    color: #052c65;
}

/* ---------- Justification coûts : décomposition Réalisé / Prévisionnel ---------- */

/* Légende explicative au-dessus du tableau */
.ma-cost-legend[b-plnukrslsn] {
    background-color: #f1f3f5;
    border: 1px solid #dee2e6;
    border-left: 3px solid #495057;
    border-radius: 3px;
    padding: 0.45rem 0.6rem;
    font-size: 0.74rem;
    color: #495057;
}

.ma-cost-legend-title[b-plnukrslsn] {
    font-weight: 600;
    color: #343a40;
    margin-bottom: 0.25rem;
}

.ma-bullet[b-plnukrslsn] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: 0.4rem;
    vertical-align: middle;
}

.ma-bullet-realized[b-plnukrslsn] {
    background-color: #d4edda;
    border: 1px solid #a3d5b3;
}

.ma-bullet-planned[b-plnukrslsn] {
    background-color: #cce5ff;
    border: 1px solid #99caff;
}

/* Lignes Réalisé / Prévisionnel */
.ma-row-realized[b-plnukrslsn] {
    background-color: #f5fbf6;
}

.ma-row-realized:hover[b-plnukrslsn] {
    background-color: #e8f6ec;
}

.ma-row-planned[b-plnukrslsn] {
    background-color: #f6faff;
}

.ma-row-planned:hover[b-plnukrslsn] {
    background-color: #e8f1fc;
}

/* Badges « Source » dans la 2e colonne */
.ma-source-badge[b-plnukrslsn] {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.12rem 0.45rem;
    border-radius: 3px;
    white-space: nowrap;
}

.ma-source-realized[b-plnukrslsn] {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #a3d5b3;
}

.ma-source-planned[b-plnukrslsn] {
    background-color: #cce5ff;
    color: #004085;
    border: 1px solid #99caff;
}

.ma-source-pm[b-plnukrslsn] {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.ma-source-other[b-plnukrslsn] {
    background-color: #e2e3e5;
    color: #383d41;
    border: 1px solid #c6c8ca;
}

/* Badge Profil de charge sur la ligne Prévisionnel */
.ma-charge-profile-badge[b-plnukrslsn] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    background-color: #e7f1ff;
    color: #1a4f8a;
    border: 1px solid #c6dbf5;
    white-space: nowrap;
}

/* Badges informatifs (cumul global) sur la ligne descriptive */
.ma-badge-info[b-plnukrslsn] {
    font-size: 0.6rem;
    background-color: #f8f9fa;
    color: #495057;
    border: 1px solid #dee2e6;
    font-weight: 500;
}

/* §15 — Bouton "i" qui ouvre le panneau de justification du calcul */
.ma-justify-btn[b-plnukrslsn] {
    color: #6c757d;
    text-decoration: none;
    line-height: 1;
    vertical-align: baseline;
    transition: color 0.15s ease, transform 0.15s ease;
}

.ma-justify-btn:hover[b-plnukrslsn],
.ma-justify-btn:focus[b-plnukrslsn] {
    color: #0d6efd;
    transform: scale(1.15);
    text-decoration: none;
}

.ma-justify-btn i[b-plnukrslsn] {
    font-size: 0.85rem;
}
/* /Modules/BEProject/Components/Financial/FinancialUnbilledPhases.razor.rz.scp.css */
/* ===== Container principal ===== */
.financial-unbilled-phases[b-otsllg8mut] {
    padding-left: 1rem;
}

/* ===== Filtres ===== */
.unbilled-filters-row[b-otsllg8mut] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.unbilled-filter-item[b-otsllg8mut] {
    min-width: 200px;
    max-width: 280px;
    flex: 0 1 auto;
}

.unbilled-filter-project[b-otsllg8mut] {
    min-width: 280px;
    max-width: 380px;
}

/* ===== KPI ===== */
.unbilled-kpi-row[b-otsllg8mut] {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.unbilled-kpi-card[b-otsllg8mut] {
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fff;
    padding: 0.75rem 1.1rem;
    text-align: left;
    flex: 0 1 auto;
    min-width: 0;
}

.unbilled-kpi-label[b-otsllg8mut] {
    font-size: 0.78rem;
    color: #6b7280;
    font-weight: 500;
    white-space: nowrap;
}

.unbilled-kpi-value[b-otsllg8mut] {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}

/* ===== Table ===== */
.unbilled-table-container[b-otsllg8mut] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    overflow: auto;
}

.unbilled-table[b-otsllg8mut] {
    margin-bottom: 0;
}

.unbilled-table thead th[b-otsllg8mut] {
    white-space: nowrap;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* ===== Modale règles ===== */
[b-otsllg8mut] .unbilled-rules-modal {
    max-width: 620px;
}

.unbilled-rules-list[b-otsllg8mut] {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .unbilled-rules-list li[b-otsllg8mut] {
        display: flex;
        align-items: flex-start;
        padding: 0.55rem 0;
        font-size: 0.88rem;
        color: #374151;
        border-bottom: 1px solid #f3f4f6;
    }

        .unbilled-rules-list li:last-child[b-otsllg8mut] {
            border-bottom: none;
        }

    .unbilled-rules-list code[b-otsllg8mut] {
        font-size: 0.8rem;
        background: #e5e7eb;
        padding: 0.1rem 0.35rem;
        border-radius: 4px;
    }

/* ===== Colonne et bouton action ===== */
.unbilled-col-action[b-otsllg8mut] {
    width: 40px;
    min-width: 40px;
    padding: 0.25rem !important;
}

.unbilled-action-btn[b-otsllg8mut] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.92rem;
    background: none;
    color: #6b7280;
    border: none;
    cursor: pointer;
    transition: color 0.15s;
}

.unbilled-action-btn:hover[b-otsllg8mut] {
    color: #1a73e8;
}

/* ===== Responsive ===== */
@media (max-width: 576px) {
    .financial-unbilled-phases[b-otsllg8mut] {
        padding-left: 0.5rem;
    }

    .unbilled-filters-row[b-otsllg8mut] {
        flex-direction: column;
    }

    .unbilled-filter-item[b-otsllg8mut],
    .unbilled-filter-project[b-otsllg8mut] {
        max-width: 100%;
        min-width: 0;
    }

    .unbilled-kpi-row[b-otsllg8mut] {
        flex-direction: column;
    }
}
/* /Modules/BEProject/Components/Financial/Justification/PhaseCostJustificationPanel.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════════════════════
   Panneau de justification du calcul des jours prévisionnels
   Cf. PhaseCostJustificationPanel.razor + REGLES_FONDAMENTALES_PROJET §15
   ════════════════════════════════════════════════════════════════════════ */

[b-ndun1kv82w] .pcj-panel {
    width: 720px;
    max-width: 95vw;
    z-index: 1056;
    border-left: 1px solid #dee2e6;
    box-shadow: -8px 0 24px rgba(0, 0, 0, .08);
}

[b-ndun1kv82w] .pcj-backdrop {
    z-index: 1055;
}

/* ─── Header ───────────────────────────────────────────────────────── */
[b-ndun1kv82w] .pcj-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #eef2f7 100%);
    border-bottom: 1px solid #e0e6ed;
    padding: 1rem 1.25rem;
}

[b-ndun1kv82w] .pcj-header .offcanvas-title {
    margin: 0;
    color: #1a3a5c;
    font-size: 1.05rem;
    font-weight: 600;
}

[b-ndun1kv82w] .pcj-subtitle {
    display: block;
    margin-top: .25rem;
    color: #6c757d;
    font-size: .8rem;
}

/* ─── Body ─────────────────────────────────────────────────────────── */
[b-ndun1kv82w] .pcj-body {
    padding: 1.25rem;
    background: #fbfcfd;
}

/* ─── Bandeau résultat ─────────────────────────────────────────────── */
[b-ndun1kv82w] .pcj-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: linear-gradient(135deg, #fff8e1 0%, #fff3cd 100%);
    border: 1px solid #f0d68c;
    border-radius: .5rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

[b-ndun1kv82w] .pcj-result-value {
    font-size: 2rem;
    font-weight: 700;
    color: #b8860b;
    line-height: 1;
}

[b-ndun1kv82w] .pcj-result-label {
    font-size: .8rem;
    color: #8a6d3b;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-top: .25rem;
}

[b-ndun1kv82w] .pcj-result-side {
    text-align: right;
}

[b-ndun1kv82w] .pcj-result-cost {
    font-size: 1.15rem;
    font-weight: 600;
    color: #495057;
}

[b-ndun1kv82w] .pcj-result-period {
    font-size: .75rem;
    color: #6c757d;
    margin-top: .25rem;
    font-family: ui-monospace, "SFMono-Regular", monospace;
}

/* ─── Sections ─────────────────────────────────────────────────────── */
[b-ndun1kv82w] .pcj-section {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: .375rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

[b-ndun1kv82w] .pcj-section-title {
    margin: 0 0 .75rem 0;
    font-size: .85rem;
    font-weight: 600;
    color: #495057;
    text-transform: uppercase;
    letter-spacing: .3px;
}

[b-ndun1kv82w] .pcj-section-title i {
    color: #0d6efd;
    margin-right: .35rem;
}

/* ─── Formule ──────────────────────────────────────────────────────── */
[b-ndun1kv82w] .pcj-formula {
    display: block;
    background: #f1f5f9;
    border-left: 3px solid #0d6efd;
    padding: .75rem 1rem;
    font-size: .85rem;
    color: #1e293b;
    border-radius: 0 .25rem .25rem 0;
    white-space: normal;
    word-break: break-word;
}

/* ─── Liste de définitions (données d'entrée) ──────────────────────── */
[b-ndun1kv82w] .pcj-dl {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .35rem 1rem;
    margin: 0;
    font-size: .85rem;
}

[b-ndun1kv82w] .pcj-dl dt {
    font-weight: 400;
    color: #6c757d;
}

[b-ndun1kv82w] .pcj-dl dd {
    margin: 0;
    color: #212529;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ─── Tableau mensuel ──────────────────────────────────────────────── */
[b-ndun1kv82w] .pcj-table-wrapper {
    overflow-x: auto;
    margin: 0 -.25rem;
}

[b-ndun1kv82w] .pcj-monthly {
    margin-bottom: 0;
    font-size: .82rem;
}

[b-ndun1kv82w] .pcj-monthly th {
    font-weight: 600;
    color: #495057;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    white-space: nowrap;
}

[b-ndun1kv82w] .pcj-monthly td {
    vertical-align: middle;
    font-variant-numeric: tabular-nums;
}

[b-ndun1kv82w] .pcj-monthly tfoot th {
    background: #eef2f7;
    border-top: 2px solid #adb5bd;
}

[b-ndun1kv82w] .pcj-realized-col {
    color: #0d6efd;
    font-weight: 500;
}

[b-ndun1kv82w] .pcj-planned-col {
    color: #d97706;
    font-weight: 500;
}

[b-ndun1kv82w] .pcj-trace {
    font-size: .75rem;
    color: #475569;
    background: transparent;
    padding: 0;
    white-space: nowrap;
}

/* ─── Contrôles automatiques ───────────────────────────────────────── */
[b-ndun1kv82w] .pcj-checks {
    list-style: none;
    padding: 0;
    margin: 0;
}

[b-ndun1kv82w] .pcj-check {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .5rem .75rem;
    border-radius: .25rem;
    margin-bottom: .35rem;
    font-size: .85rem;
    line-height: 1.4;
}

[b-ndun1kv82w] .pcj-check:last-child {
    margin-bottom: 0;
}

[b-ndun1kv82w] .pcj-check i {
    flex-shrink: 0;
    margin-top: .15rem;
}

[b-ndun1kv82w] .pcj-check-ok {
    background: #d1f7e1;
    color: #0a4f2c;
    border-left: 3px solid #198754;
}

[b-ndun1kv82w] .pcj-check-info {
    background: #d6e9ff;
    color: #084298;
    border-left: 3px solid #0d6efd;
}

[b-ndun1kv82w] .pcj-check-warning {
    background: #fff3cd;
    color: #664d03;
    border-left: 3px solid #ffc107;
}

[b-ndun1kv82w] .pcj-check-error {
    background: #f8d7da;
    color: #58151c;
    border-left: 3px solid #dc3545;
}

/* ─── Badge profil + source ────────────────────────────────────────── */
[b-ndun1kv82w] .psb-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    padding: .65rem .75rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: .375rem;
}

[b-ndun1kv82w] .psb-profile {
    display: inline-flex;
    align-items: center;
    padding: .25rem .6rem;
    border-radius: .25rem;
    font-size: .8rem;
    font-weight: 600;
    background: #e7f1ff;
    color: #084298;
}

[b-ndun1kv82w] .psb-profile-fl { background: #fce4ec; color: #ad1457; }
[b-ndun1kv82w] .psb-profile-lm { background: #e0f2f1; color: #00695c; }
[b-ndun1kv82w] .psb-profile-li { background: #ede7f6; color: #4527a0; }

[b-ndun1kv82w] .psb-source {
    display: inline-flex;
    align-items: center;
    padding: .2rem .55rem;
    border-radius: .25rem;
    font-size: .75rem;
    font-weight: 500;
    cursor: help;
}

[b-ndun1kv82w] .psb-source-assignment {
    background: #d1f7e1;
    color: #0a4f2c;
}

[b-ndun1kv82w] .psb-source-budget {
    background: #d6e9ff;
    color: #084298;
}

[b-ndun1kv82w] .psb-source-default {
    background: #fff3cd;
    color: #664d03;
}

/* ─── Mini graphe SVG ──────────────────────────────────────────────── */
[b-ndun1kv82w] .smc-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
}

[b-ndun1kv82w] .smc-chart {
    width: 100%;
    max-width: 480px;
    height: auto;
}

[b-ndun1kv82w] .smc-axis {
    stroke: #cbd5e1;
    stroke-width: 1;
}

[b-ndun1kv82w] .smc-bar {
    transition: opacity .15s;
}

[b-ndun1kv82w] .smc-bar:hover {
    opacity: .8;
}

[b-ndun1kv82w] .smc-bar-realized {
    fill: #0d6efd;
}

[b-ndun1kv82w] .smc-bar-planned {
    fill: #d97706;
}

[b-ndun1kv82w] .smc-labels-row {
    display: flex;
    width: 100%;
    max-width: 480px;
    padding-left: var(--smc-left-pad, 12px);
    margin-top: -4px;
}

[b-ndun1kv82w] .smc-label-cell {
    width: var(--smc-bar-step, 50px);
    text-align: center;
    font-size: .7rem;
    line-height: 1.2;
    color: #475569;
}

[b-ndun1kv82w] .smc-label-value {
    font-weight: 600;
    color: #1e293b;
    min-height: .9rem;
}

[b-ndun1kv82w] .smc-label-month {
    color: #64748b;
    font-size: .65rem;
    text-transform: capitalize;
}

[b-ndun1kv82w] .smc-legend {
    display: flex;
    gap: 1.25rem;
    font-size: .78rem;
    color: #475569;
}

[b-ndun1kv82w] .smc-legend-item {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

[b-ndun1kv82w] .smc-swatch {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    display: inline-block;
}

[b-ndun1kv82w] .smc-swatch-realized { background: #0d6efd; }
[b-ndun1kv82w] .smc-swatch-planned  { background: #d97706; }

[b-ndun1kv82w] .smc-empty {
    text-align: center;
    padding: 1rem;
    font-size: .85rem;
}

/* ─── Responsive : panneau plein écran sur mobile ──────────────────── */
@media (max-width: 768px) {
    [b-ndun1kv82w] .pcj-panel {
        width: 100vw;
    }

    [b-ndun1kv82w] .pcj-result {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }

    [b-ndun1kv82w] .pcj-result-side {
        text-align: left;
    }
}
/* /Modules/BEProject/Components/Financial/Shared/ProjectPeriodBreakdownView.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════════════════════════
   ProjectPeriodBreakdownView — styles scopés Blazor.
   Source unique de rendu pour le drill-down financier (Analyse marge + Dashboard).
   Préfixe `pb-` (Period Breakdown) pour éviter toute collision avec les autres
   composants. Les styles ma-* historiques de FinancialMarginAnalysis restent en
   place pour la grille de synthèse (qui n'est pas concernée par ce composant).
   ════════════════════════════════════════════════════════════════════════════ */

/* ---------- Conteneurs ---------- */

.pb-tabs[b-2sqr2i272n] {
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    padding: 0 0.5rem;
    background-color: #f8f9fa;
}

.pb-scroll[b-2sqr2i272n] {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
}

.pb-loading[b-2sqr2i272n],
.pb-detail-placeholder[b-2sqr2i272n] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
    padding: 2rem;
    text-align: center;
}

.pb-detail-placeholder i[b-2sqr2i272n] {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    opacity: 0.6;
}

/* ---------- Tables ---------- */

.pb-table[b-2sqr2i272n] {
    font-size: 0.85rem;
    margin-bottom: 0;
}

.pb-table thead[b-2sqr2i272n] {
    position: sticky;
    top: 0;
    z-index: 1;
}

.pb-table-ca[b-2sqr2i272n] {
    font-size: 0.78rem;
}

.pb-table-ca thead th[b-2sqr2i272n] {
    font-size: 0.75rem;
    white-space: nowrap;
}

/* ---------- Cellule phase (3 lignes : espace / sous-phase / dates) ---------- */

.pb-phase-cell[b-2sqr2i272n] {
    line-height: 1.3;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

.pb-phase-space[b-2sqr2i272n] {
    font-weight: 600;
    font-size: 0.82rem;
}

.pb-phase-name[b-2sqr2i272n] {
    font-size: 0.75rem;
    color: #6c757d;
}

.pb-phase-dates[b-2sqr2i272n] {
    font-size: 0.72rem;
    color: #868e96;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.15rem;
}

/* ---------- Ligne Project Management ---------- */

.pb-row-pm[b-2sqr2i272n] {
    background-color: #fff3cd;
    font-style: italic;
    font-size: 0.78rem;
}

/* ---------- Légende coûts ---------- */

.pb-cost-legend[b-2sqr2i272n] {
    background-color: #f1f3f5;
    border: 1px solid #dee2e6;
    border-left: 3px solid #495057;
    border-radius: 3px;
    padding: 0.45rem 0.6rem;
    font-size: 0.74rem;
    color: #495057;
}

.pb-cost-legend-title[b-2sqr2i272n] {
    font-weight: 600;
    color: #343a40;
    margin-bottom: 0.25rem;
}

.pb-bullet[b-2sqr2i272n] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: 0.4rem;
    vertical-align: middle;
}

.pb-bullet-realized[b-2sqr2i272n] {
    background-color: #d4edda;
    border: 1px solid #a3d5b3;
}

.pb-bullet-planned[b-2sqr2i272n] {
    background-color: #cce5ff;
    border: 1px solid #99caff;
}

/* ---------- Lignes Réalisé / Prévisionnel ---------- */

.pb-row-realized[b-2sqr2i272n] {
    background-color: #f5fbf6;
}

.pb-row-realized:hover[b-2sqr2i272n] {
    background-color: #e8f6ec;
}

.pb-row-planned[b-2sqr2i272n] {
    background-color: #f6faff;
}

.pb-row-planned:hover[b-2sqr2i272n] {
    background-color: #e8f1fc;
}

/* ---------- Badges « Source » ---------- */

.pb-source-badge[b-2sqr2i272n] {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.12rem 0.45rem;
    border-radius: 3px;
    white-space: nowrap;
}

.pb-source-realized[b-2sqr2i272n] {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #a3d5b3;
}

.pb-source-planned[b-2sqr2i272n] {
    background-color: #cce5ff;
    color: #004085;
    border: 1px solid #99caff;
}

.pb-source-pm[b-2sqr2i272n] {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.pb-source-other[b-2sqr2i272n] {
    background-color: #e2e3e5;
    color: #383d41;
    border: 1px solid #c6c8ca;
}

/* ---------- Profil de charge ---------- */

.pb-charge-profile-badge[b-2sqr2i272n] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    background-color: #e7f1ff;
    color: #1a4f8a;
    border: 1px solid #c6dbf5;
    white-space: nowrap;
}

/* ---------- Badges informatifs (Cumul réalisé / planifié) ---------- */

.pb-badge-info[b-2sqr2i272n] {
    font-size: 0.6rem;
    background-color: #f8f9fa;
    color: #495057;
    border: 1px solid #dee2e6;
    font-weight: 500;
}

/* ---------- Bouton « justifier ce calcul » ---------- */

.pb-justify-btn[b-2sqr2i272n] {
    color: #6c757d;
    text-decoration: none;
    line-height: 1;
    vertical-align: baseline;
    transition: color 0.15s ease, transform 0.15s ease;
}

.pb-justify-btn:hover[b-2sqr2i272n],
.pb-justify-btn:focus[b-2sqr2i272n] {
    color: #0d6efd;
    transform: scale(1.15);
    background: transparent;
}

.pb-justify-btn i[b-2sqr2i272n] {
    font-size: 0.85rem;
}
/* /Modules/BEProject/Components/Identity/BEIdentityForm.razor.rz.scp.css */
.identity-form-container[b-z1k4zt5gfv] {
    padding: 1rem;
}

.identity-upload-wrapper[b-z1k4zt5gfv] {
    display: flex;
    align-items: center;
    position: relative;
}

.identity-empty-state[b-z1k4zt5gfv] {
    background: var(--matrix-bg-secondary, #f8f9fa);
    border-radius: 8px;
    border: 1px dashed var(--matrix-border-color, #dee2e6);
}

.identity-preview[b-z1k4zt5gfv] {
    border: 1px solid var(--matrix-border-color, #dee2e6);
    border-radius: 8px;
    overflow: hidden;
    background: var(--matrix-bg-secondary, #f8f9fa);
}

.identity-preview-pdf-wrapper[b-z1k4zt5gfv] {
    width: 100%;
    height: 85vh;
    min-height: 500px;
    border: 1px solid var(--matrix-border-color, #dee2e6);
    border-radius: 8px;
    overflow: hidden;
}

.identity-preview-image[b-z1k4zt5gfv] {
    display: block;
    max-width: 100%;
    height: auto;
    max-height: 80vh;
    margin: 0 auto;
    object-fit: contain;
    padding: 1rem;
}
/* /Modules/BEProject/Components/Invoice/BEInvoiceInformation.razor.rz.scp.css */
.be-invoice-information[b-hzmxi9vwge] {
    padding: 1.5rem;
    padding-bottom: 5rem;
    max-width: 1200px;
}

.be-invoice-info-sticky-footer[b-hzmxi9vwge] {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 0.75rem 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.be-invoice-info-grid[b-hzmxi9vwge] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.be-invoice-info-grid-2cols[b-hzmxi9vwge] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.be-invoice-info-section-header-with-action[b-hzmxi9vwge] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 992px) {
    .be-invoice-info-grid[b-hzmxi9vwge] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .be-invoice-info-grid[b-hzmxi9vwge],
    .be-invoice-info-grid-2cols[b-hzmxi9vwge] {
        grid-template-columns: 1fr;
    }

    .be-invoice-information[b-hzmxi9vwge] {
        padding: 1rem;
    }
}
/* /Modules/BEProject/Components/Invoice/BEInvoiceLineDetail.razor.rz.scp.css */
/* Panneau en flex : header + zone scrollable + sticky footer */
.be-invoice-line-panel.phasing-card[b-wm1i8ur53v] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Même hauteur que le header "Liste des lignes" (BEInvoiceLines) */
.be-invoice-line-panel .card-header[b-wm1i8ur53v] {
    --be-invoice-line-header-height: 80px;
    min-height: var(--be-invoice-line-header-height);
    height: var(--be-invoice-line-header-height);
}

.be-invoice-line-panel .phasing-card-body.scroll-auto[b-wm1i8ur53v] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

/* Sticky bar : toujours visible en bas du panneau */
.be-invoice-line-sticky-footer[b-wm1i8ur53v] {
    flex-shrink: 0;
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 0.75rem 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
}

/* ========== Grilles de formulaire ========== */
.be-invoice-line-grid-1col[b-wm1i8ur53v] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.be-invoice-line-grid-2cols[b-wm1i8ur53v] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.be-invoice-line-grid-4cols[b-wm1i8ur53v] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

/* Grille commentaire : textarea large + checkbox étroite */
.be-invoice-line-grid-comment[b-wm1i8ur53v] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: start;
}

/* ========== Responsive ========== */
@media (max-width: 992px) {
    .be-invoice-line-grid-4cols[b-wm1i8ur53v] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .be-invoice-line-grid-2cols[b-wm1i8ur53v],
    .be-invoice-line-grid-4cols[b-wm1i8ur53v] {
        grid-template-columns: 1fr;
    }

    .be-invoice-line-grid-comment[b-wm1i8ur53v] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/BEProject/Components/Invoice/BEInvoiceLines.razor.rz.scp.css */
/* Layout deux panneaux : liste à gauche, détail à droite (aligné sur QuoteLines) */
/* Hauteur fixe = espace disponible sous la barre (top bar + breadcrumb + info bar + onglets) */
.item-variants-wrapper[b-dx078z8twb] {
    --be-lines-area-offset: 260px;
    display: flex;
    flex-direction: column;
    height: calc(100vh - var(--be-lines-area-offset));
    min-height: 360px;
    overflow: hidden;
}

.item-variants-container[b-dx078z8twb] {
    display: flex;
    flex: 1;
    gap: 0;
    min-height: 0;
}

.item-variants-list-pane[b-dx078z8twb] {
    width: 750px;
    min-width: 700px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: visible;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.phasing-card.resource-list-card[b-dx078z8twb] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.phasing-card.resource-list-card .phasing-card-body[b-dx078z8twb] {
    flex: 1;
    min-height: 0;
}

/* Hauteur identique au header du détail (BEInvoiceLineDetail) */
.phasing-card .card-header[b-dx078z8twb] {
    --be-invoice-line-header-height: 80px;
    min-height: var(--be-invoice-line-header-height);
    height: var(--be-invoice-line-header-height);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.quote-lines-total-header[b-dx078z8twb] {
    background-color: var(--matrix-bg-primary, #ffffff);
    border-bottom: 2px solid var(--matrix-border-primary, #0073ea);
    padding: 0.75rem 1rem;
    border-top: 1px solid #dee2e6;
}

.quote-lines-total-content[b-dx078z8twb] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}

.quote-lines-total-content .total-label[b-dx078z8twb] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.9rem;
}

.quote-lines-total-content .total-value[b-dx078z8twb] {
    font-weight: 700;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 1rem;
}

.phasing-header-min-h[b-dx078z8twb] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Bouton Options (style aligné sur Matrix_Grid) */
.be-invoice-lines-options[b-dx078z8twb] {
    position: relative;
    z-index: 1050;
}

.be-invoice-lines-options .btn-group[b-dx078z8twb] {
    position: relative;
    z-index: 1051;
}

.be-invoice-lines-options .dropdown-menu.show[b-dx078z8twb] {
    z-index: 1052;
}

.be-invoice-lines-options .matrix-dropdown-backdrop[b-dx078z8twb] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

.resource-items-list[b-dx078z8twb] {
    padding: 0;
}

.resource-item[b-dx078z8twb] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-dx078z8twb] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-dx078z8twb] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-dx078z8twb] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resource-item .node-text[b-dx078z8twb] {
    flex-grow: 1;
}

.resource-item .node-label[b-dx078z8twb] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-dx078z8twb] {
    font-size: 0.8rem;
}

.quote-line-pricing-section[b-dx078z8twb] {
    margin-top: 0.5rem;
}

.quote-line-pricing-grid[b-dx078z8twb] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    align-items: center;
    justify-items: end;
}

.quote-line-pricing-grid .pricing-cell[b-dx078z8twb] {
    text-align: right;
    min-width: 0;
    white-space: nowrap;
}

.quote-line-pricing-grid .pricing-cell-total[b-dx078z8twb] {
    font-weight: 700;
}

.item-variants-detail-pane[b-dx078z8twb] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background-color: var(--matrix-bg-primary, #ffffff);
}

.item-variants-empty-state[b-dx078z8twb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

@media (max-width: 992px) {
    .item-variants-container[b-dx078z8twb] {
        flex-direction: column;
    }

    .item-variants-list-pane[b-dx078z8twb] {
        width: 100%;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .item-variants-detail-pane[b-dx078z8twb] {
        height: 60vh;
    }
}

/* Modal confirmation création avoir */
.be-invoice-creditnote-modal-overlay[b-dx078z8twb] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1060;
}

.be-invoice-creditnote-modal-content[b-dx078z8twb] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    min-width: 320px;
    max-width: 90%;
}

.be-invoice-creditnote-modal-header[b-dx078z8twb] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
}

.be-invoice-creditnote-modal-body[b-dx078z8twb] {
    padding: 1.25rem;
}

.be-invoice-creditnote-modal-footer[b-dx078z8twb] {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
/* /Modules/BEProject/Components/Phasing/MiniGantt.razor.rz.scp.css */
/* ============================================
   MINI-GANTT - Composant réutilisable
   Vue synthétique du planning projet
   ============================================ */

.mini-gantt-container[b-wm1dm2m2dv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: 12px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

/* État vide */
.mini-gantt-empty[b-wm1dm2m2dv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 200px;
    color: #6c757d;
    text-align: center;
}

/* === EN-TÊTE TIMELINE === */
.mini-gantt-header[b-wm1dm2m2dv] {
    display: flex;
    background: #f8f9fa;
    flex-shrink: 0;
}

/* Ligne des années */
.mini-gantt-header-years[b-wm1dm2m2dv] {
    border-bottom: 1px solid #dee2e6;
}

/* Ligne des mois */
.mini-gantt-header-months[b-wm1dm2m2dv] {
    border-bottom: 2px solid #dee2e6;
}

.mini-gantt-labels-header[b-wm1dm2m2dv] {
    width: 220px;
    min-width: 220px;
    font-weight: 600;
    color: #495057;
    border-right: 1px solid #dee2e6;
}

.mini-gantt-labels-header-year[b-wm1dm2m2dv] {
    padding: 6px 12px;
    font-size: 11px;
}

.mini-gantt-labels-header-month[b-wm1dm2m2dv] {
    padding: 4px 12px;
}

.mini-gantt-timeline-header[b-wm1dm2m2dv] {
    flex: 1;
    display: flex;
    overflow: hidden;
}

/* Cellules d'années */
.mini-gantt-year[b-wm1dm2m2dv] {
    padding: 6px 4px;
    text-align: center;
    font-weight: 700;
    color: #343a40;
    font-size: 12px;
    border-right: 1px solid #dee2e6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #e9ecef;
    letter-spacing: 0.5px;
}

.mini-gantt-year:last-child[b-wm1dm2m2dv] {
    border-right: none;
}

/* Cellules de mois */
.mini-gantt-month[b-wm1dm2m2dv] {
    padding: 5px 4px;
    text-align: center;
    font-weight: 500;
    color: #6c757d;
    border-right: 1px solid #e9ecef;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mini-gantt-month:last-child[b-wm1dm2m2dv] {
    border-right: none;
}

/* === CORPS DU GANTT === */
.mini-gantt-body[b-wm1dm2m2dv] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

.mini-gantt-row[b-wm1dm2m2dv] {
    display: flex;
    border-bottom: 1px solid #f0f0f0;
    min-height: 42px;
    transition: background-color 0.15s ease;
}

.mini-gantt-row:hover[b-wm1dm2m2dv] {
    background-color: #f8f9fa;
}

/* Styles par type de ligne */
.mini-gantt-row.row-subproject[b-wm1dm2m2dv] {
    background-color: #e3f2fd;
}

.mini-gantt-row.row-subproject:hover[b-wm1dm2m2dv] {
    background-color: #bbdefb;
}

.mini-gantt-row.row-space[b-wm1dm2m2dv] {
    background-color: #f1f8e9;
}

.mini-gantt-row.row-space:hover[b-wm1dm2m2dv] {
    background-color: #dcedc8;
}

.mini-gantt-row.row-phase[b-wm1dm2m2dv] {
    background-color: #fff;
}

/* === COLONNE LABELS === */
.mini-gantt-label[b-wm1dm2m2dv] {
    width: 220px;
    min-width: 220px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 8px;
    border-right: 1px solid #e9ecef;
    overflow: hidden;
}

.mini-gantt-type-icon[b-wm1dm2m2dv] {
    font-size: 10px;
    flex-shrink: 0;
}

.row-subproject .mini-gantt-type-icon[b-wm1dm2m2dv] {
    color: #1565c0;
}

.row-space .mini-gantt-type-icon[b-wm1dm2m2dv] {
    color: #2e7d32;
}

.row-phase .mini-gantt-type-icon[b-wm1dm2m2dv] {
    color: #e65100;
}

.mini-gantt-label-text[b-wm1dm2m2dv] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #212529;
}

.row-subproject .mini-gantt-label-text[b-wm1dm2m2dv] {
    font-weight: 600;
}

.row-space .mini-gantt-label-text[b-wm1dm2m2dv] {
    font-weight: 500;
}

/* === COLONNE TIMELINE === */
.mini-gantt-timeline[b-wm1dm2m2dv] {
    flex: 1;
    position: relative;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent calc(100% / 12 - 1px),
        #f0f0f0 calc(100% / 12 - 1px),
        #f0f0f0 calc(100% / 12)
    );
}

/* === BARRES DU GANTT === */
.mini-gantt-bar[b-wm1dm2m2dv] {
    position: absolute;
    top: 4px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: default;
    overflow: hidden;
}

.mini-gantt-bar:hover[b-wm1dm2m2dv] {
    opacity: 0.85;
    z-index: 1;
}

.mini-gantt-bar.bar-clickable[b-wm1dm2m2dv] {
    cursor: pointer;
}

.mini-gantt-bar.bar-clickable:hover[b-wm1dm2m2dv] {
    opacity: 0.75;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

/* Couleurs des barres par type - style plat */
.mini-gantt-bar.bar-subproject[b-wm1dm2m2dv] {
    background-color: #1976d2;
}

.mini-gantt-bar.bar-space[b-wm1dm2m2dv] {
    background-color: #43a047;
}

.mini-gantt-bar.bar-phase[b-wm1dm2m2dv] {
    background-color: #fb8c00;
}

.mini-gantt-bar-label[b-wm1dm2m2dv] {
    color: #000;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    padding: 0 6px;
}

/* Quand le texte est tronqué, masquer le label blanc interne */
.mini-gantt-bar.bar-truncated .mini-gantt-bar-label[b-wm1dm2m2dv] {
    visibility: hidden;
}

/* === LABEL OVERFLOW (texte en noir à droite de la barre) === */
.mini-gantt-overflow-label[b-wm1dm2m2dv] {
    position: absolute;
    top: 14px;
    transform: translateY(-50%);
    margin-left: 6px;
    color: #000;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    pointer-events: none;
    display: none;
}

/* Afficher le label noir uniquement quand la barre est trop étroite */
.mini-gantt-bar.bar-truncated ~ .mini-gantt-overflow-label[b-wm1dm2m2dv] {
    display: inline;
}

/* === CODES RESSOURCES (sous la barre) === */
.mini-gantt-resource-codes[b-wm1dm2m2dv] {
    position: absolute;
    top: 26px;
    font-size: 10px;
    font-weight: 600;
    color: #000;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
    pointer-events: none;
    letter-spacing: 0.2px;
}

/* === LÉGENDE === */
.mini-gantt-legend[b-wm1dm2m2dv] {
    display: flex;
    gap: 24px;
    justify-content: center;
    padding: 12px;
    border-top: 1px solid #dee2e6;
    background: #f8f9fa;
    flex-shrink: 0;
}

.mini-gantt-legend-item[b-wm1dm2m2dv] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: #6c757d;
}

.mini-gantt-legend-bar[b-wm1dm2m2dv] {
    width: 24px;
    height: 12px;
}

.mini-gantt-legend-bar.bar-subproject[b-wm1dm2m2dv] {
    background-color: #1976d2;
}

.mini-gantt-legend-bar.bar-space[b-wm1dm2m2dv] {
    background-color: #43a047;
}

.mini-gantt-legend-bar.bar-phase[b-wm1dm2m2dv] {
    background-color: #fb8c00;
}

/* /Modules/BEProject/Components/Phasing/MiniGanttModal.razor.rz.scp.css */
/* ============================================
   MINI-GANTT MODAL - Large modal réutilisable
   ============================================ */

.mini-gantt-modal-overlay[b-dly66nkuzm] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    backdrop-filter: blur(2px);
    animation: fadeIn-b-dly66nkuzm 0.2s ease;
}

@keyframes fadeIn-b-dly66nkuzm {
    from { opacity: 0; }
    to { opacity: 1; }
}

.mini-gantt-modal-dialog[b-dly66nkuzm] {
    width: 90vw;
    max-width: 1400px;
    height: 85vh;
    max-height: 900px;
    display: flex;
    flex-direction: column;
    animation: slideIn-b-dly66nkuzm 0.25s ease;
}

@keyframes slideIn-b-dly66nkuzm {
    from { 
        opacity: 0;
        transform: scale(0.95) translateY(-10px);
    }
    to { 
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.mini-gantt-modal-content[b-dly66nkuzm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

/* Header */
.mini-gantt-modal-header[b-dly66nkuzm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    flex-shrink: 0;
}

.mini-gantt-modal-header .text-primary[b-dly66nkuzm] {
    color: #fff !important;
}

.mini-gantt-modal-title[b-dly66nkuzm] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
}

.mini-gantt-modal-close[b-dly66nkuzm] {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.mini-gantt-modal-close:hover[b-dly66nkuzm] {
    background: rgba(255, 255, 255, 0.3);
}

/* Body */
.mini-gantt-modal-body[b-dly66nkuzm] {
    flex: 1;
    overflow: hidden;
    padding: 0;
}

.mini-gantt-modal-body > *[b-dly66nkuzm] {
    height: 100%;
}

/* Footer */
.mini-gantt-modal-footer[b-dly66nkuzm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    background: #f8f9fa;
    border-top: 1px solid #dee2e6;
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .mini-gantt-modal-dialog[b-dly66nkuzm] {
        width: 98vw;
        height: 95vh;
        margin: 10px;
    }

    .mini-gantt-modal-header[b-dly66nkuzm] {
        padding: 12px 16px;
    }

    .mini-gantt-modal-footer[b-dly66nkuzm] {
        padding: 10px 16px;
        flex-direction: column;
        gap: 8px;
    }
}

/* /Modules/BEProject/Components/Phasing/MoveNodeModal.razor.rz.scp.css */
.move-node-list-container[b-jzbly6rn0n] {
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 4px;
}

.move-node-list-item[b-jzbly6rn0n] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s ease;
}

.move-node-list-item:last-child[b-jzbly6rn0n] {
    border-bottom: none;
}

.move-node-list-item:hover[b-jzbly6rn0n] {
    background-color: #f0f7ff;
}

.move-node-list-item.selected[b-jzbly6rn0n] {
    background-color: #e0edff;
    border-left: 3px solid #0d6efd;
    font-weight: 600;
}
/* /Modules/BEProject/Components/Phasing/PhaseDetails.razor.rz.scp.css */
.phase-details-header[b-fws0ujzxj1] {
    position: relative;
    margin-left: auto;
    margin-right: 0;
}

.phase-info-btn[b-fws0ujzxj1] {
    font-size: 1.1rem;
    transition: color 0.2s ease;
}

.phase-info-btn:hover[b-fws0ujzxj1] {
    color: var(--matrix-text-primary, #1F2023) !important;
}

.phase-debug-info[b-fws0ujzxj1] {
    font-family: 'Courier New', monospace;
    max-width: 300px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 10;
    margin-top: 0.5rem;
}

.phase-debug-info div[b-fws0ujzxj1] {
    margin-bottom: 0.25rem;
}

.phase-debug-info div:last-child[b-fws0ujzxj1] {
    margin-bottom: 0;
}

.btn-icon-only[b-fws0ujzxj1] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-fws0ujzxj1] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-fws0ujzxj1] {
    outline: none;
    box-shadow: none;
}

/* Style pour les champs readonly qui conservent leur apparence normale */
[b-fws0ujzxj1] .readonly-transparent .k-input,
[b-fws0ujzxj1] .readonly-transparent.k-input {
    background-color: var(--kendo-input-bg, #fff) !important;
    opacity: 1 !important;
    cursor: default;
}

/* Groupe combo + bouton calculateur sur une seule ligne */
.time-calc-group[b-fws0ujzxj1] {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
}

.time-calc-group .time-dropdown-wrapper[b-fws0ujzxj1] {
    flex: 1;
    min-width: 0;
}

/* Supprimer le border-radius droit du combo pour coller au bouton */
.time-calc-group[b-fws0ujzxj1]  .k-input,
.time-calc-group[b-fws0ujzxj1]  .k-picker {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Style du bouton calculateur - aspect intégré au composant Telerik */
.time-calc-group[b-fws0ujzxj1]  .time-calc-button {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    min-width: 40px;
    /* Hauteur identique aux composants Telerik */
    height: 30px;
    line-height: 1;
    /* Couleurs cohérentes avec Telerik */
    background-color: #f8f9fa !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-left: none !important;
    color: #495057;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.time-calc-group[b-fws0ujzxj1]  .time-calc-button:hover:not(:disabled) {
    background-color: #e9ecef !important;
    color: #0d6efd;
}

.time-calc-group[b-fws0ujzxj1]  .time-calc-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Conteneur pour afficher deux champs côte à côte dans une seule cellule de grille */
.days-dual-field[b-fws0ujzxj1] {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.days-dual-field .days-field-item[b-fws0ujzxj1] {
    flex: 1;
    min-width: 0;
}

.days-dual-field .days-field-item .form-label[b-fws0ujzxj1] {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Modules/BEProject/Components/Phasing/PhaseDetailsPanel.razor.rz.scp.css */
.phase-details-panel[b-i32ms9lgq9] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.phase-details-panel .card-header[b-i32ms9lgq9] {
    flex-shrink: 0;
}

.phase-details-panel .phasing-card-body.scroll-auto[b-i32ms9lgq9] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    max-height: none;
}

.phase-details-panel .card-body[b-i32ms9lgq9] {
    padding: 1.25rem;
}
/* /Modules/BEProject/Components/Phasing/PhaseExpectedSchedule.razor.rz.scp.css */
/* ─── Bandeau d'en-tête ────────────────────────────────────────────────────
   Comme les CSS de PhaseInvoices / PhaseTimeSpent / PhaseResources sont
   *isolés par composant Blazor*, on doit redéclarer ici les classes qu'on
   réutilise pour qu'elles soient effectivement appliquées au composant
   PhaseExpectedSchedule. Couleurs/bordures alignées avec « Validation des
   phases » et « Temps passé ». */

.phase-section-header[b-p8fq7e4zha] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.invoice-amount-total[b-p8fq7e4zha] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    padding: 0.25rem 0.75rem;
    background-color: #f0f0f0;
    border-radius: 12px;
    white-space: nowrap;
}

.phase-invoices-grid-wrapper[b-p8fq7e4zha] {
    overflow-x: auto;
}

.phase-invoices-grid[b-p8fq7e4zha] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.9rem;
}

.phase-invoices-grid thead th[b-p8fq7e4zha] {
    text-align: left;
    padding: 0.5rem 0.75rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6B7280);
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
}

.phase-invoices-grid tbody td[b-p8fq7e4zha] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--matrix-border-light, #E9ECEF);
    vertical-align: middle;
}

.phase-invoice-row:hover[b-p8fq7e4zha] {
    background-color: #f8f9fa;
}

.btn-icon-only[b-p8fq7e4zha] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-p8fq7e4zha] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-p8fq7e4zha] {
    outline: none;
    box-shadow: none;
}

/* ─── Ajustements propres à l'échéancier ─────────────────────────────────── */

.phase-expected-grid th[b-p8fq7e4zha],
.phase-expected-grid td[b-p8fq7e4zha] {
    /* Espace horizontal entre les cellules (indépendant des paddings du grid) */
    padding-right: 1.5rem;
    vertical-align: middle;
}

.phase-expected-grid th:last-child[b-p8fq7e4zha],
.phase-expected-grid td:last-child[b-p8fq7e4zha] {
    /* La dernière colonne (Actions) ne pousse rien à droite */
    padding-right: 0;
}

/* Largeurs minimales pour éviter que les colonnes ne se compriment */
.phase-expected-grid .col-expected-date[b-p8fq7e4zha] {
    min-width: 180px;
    width: 180px;
}

.phase-expected-grid .col-expected-pct[b-p8fq7e4zha] {
    min-width: 140px;
    width: 140px;
}

.phase-expected-grid .col-expected-amount[b-p8fq7e4zha] {
    min-width: 160px;
    width: 160px;
    font-weight: 500;
}

.phase-expected-grid .col-actions[b-p8fq7e4zha] {
    min-width: 60px;
    width: 60px;
}

/* Le bouton de suppression utilise déjà btn-icon-only de PhaseInvoices,
   mais on lui donne une couleur d'accent (rouge) pour signifier la suppression. */
.phase-expected-grid .col-actions .matrix-button i.bi-trash3[b-p8fq7e4zha] {
    color: var(--bs-danger, #dc3545);
}

.phase-expected-grid .col-actions .matrix-button:hover i.bi-trash3[b-p8fq7e4zha] {
    color: var(--bs-danger, #b02a37);
}
/* /Modules/BEProject/Components/Phasing/PhaseInvoices.razor.rz.scp.css */
.phase-invoices-section[b-wrx0w32nlg] {
    /* Styles similaires à phase-resources-section */
}

.tracking-sheet-workflow-status-readonly[b-wrx0w32nlg] {
    padding: 0.35rem 0.5rem;
    background-color: var(--bs-light, #f8f9fa);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 4px;
    font-weight: 500;
    color: var(--bs-body-color);
}

.phase-section-header[b-wrx0w32nlg] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 4px;
    padding: 0.5rem 1rem;
}

.phase-invoices-grid-wrapper[b-wrx0w32nlg] {
    overflow-x: auto;
}

.phase-invoices-grid[b-wrx0w32nlg] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.9rem;
}

.phase-invoices-grid thead th[b-wrx0w32nlg] {
    text-align: left;
    padding: 0.5rem 0.75rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6B7280);
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
}

.phase-invoices-grid thead th.col-amount[b-wrx0w32nlg] {
    text-align: right;
}

.phase-invoices-grid thead th.col-achieved[b-wrx0w32nlg] {
    text-align: right;
}

.phase-invoices-grid tbody td[b-wrx0w32nlg] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--matrix-border-light, #E9ECEF);
    vertical-align: middle;
}

.phase-invoice-row:hover[b-wrx0w32nlg] {
    background-color: #f8f9fa;
}

.phase-invoice-row.editing[b-wrx0w32nlg] {
    background-color: #f0f7ff;
}

/* Colonnes alignées en grille */
.phase-invoices-grid .col-achieved[b-wrx0w32nlg] {
    width: 5rem;
    white-space: nowrap;
    text-align: right;
}

.phase-invoices-grid .col-amount[b-wrx0w32nlg] {
    width: 5.5rem;
    white-space: nowrap;
    text-align: right;
}

.phase-invoices-grid .col-name[b-wrx0w32nlg] {
    min-width: 8rem;
}

.phase-invoices-grid .col-invoiceno[b-wrx0w32nlg] {
    width: 7rem;
}

.phase-invoices-grid .col-docdate[b-wrx0w32nlg] {
    width: 5.5rem;
    white-space: nowrap;
}

.phase-invoices-grid .col-status[b-wrx0w32nlg] {
    width: 9rem;
}

.phase-invoices-grid .col-actions[b-wrx0w32nlg] {
    width: 6rem;
    text-align: right;
}

.phase-invoices-grid td.col-actions[b-wrx0w32nlg] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.1rem;
}

.phase-invoice-status-badge[b-wrx0w32nlg] {
    background-color: #e9ecef;
    color: #495057;
    font-weight: 500;
}

.phase-invoice-edit-row td[b-wrx0w32nlg] {
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    padding: 0;
    vertical-align: top;
}

.invoice-amount-total[b-wrx0w32nlg] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    padding: 0.25rem 0.75rem;
    background-color: #f0f0f0;
    border-radius: 12px;
    white-space: nowrap;
}

.phase-invoice-edit-form[b-wrx0w32nlg] {
    padding: 1rem;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
    margin-top: 0.5rem;
    border-radius: 0 0 4px 4px;
}

.tracking-sheet-form-grid[b-wrx0w32nlg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}

.btn-icon-only[b-wrx0w32nlg] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-wrx0w32nlg] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-wrx0w32nlg] {
    outline: none;
    box-shadow: none;
}

/* /Modules/BEProject/Components/Phasing/PhaseResources.razor.rz.scp.css */
.phase-section-header[b-ropd99yqar] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.phase-resources-list[b-ropd99yqar] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.phase-resource-item[b-ropd99yqar] {
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.phase-resource-item:hover[b-ropd99yqar] {
    background-color: #f8f9fa;
}

.phase-resource-item .node-line[b-ropd99yqar] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.phase-resource-item .node-leading[b-ropd99yqar] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    width: 2.5rem;
}

.phase-resource-item .expand-placeholder[b-ropd99yqar] {
    display: inline-block;
    width: 0.85rem;
}

.phase-resource-item .node-label[b-ropd99yqar] {
    font-weight: 600;
    font-size: 0.95rem;
}

.phase-resource-item .node-sub[b-ropd99yqar] {
    font-size: 0.8rem;
}

.phase-resource-item .node-dates[b-ropd99yqar] {
    font-weight: 600;
}

.phase-resource-actions[b-ropd99yqar] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.resource-days-badge[b-ropd99yqar] {
    margin-right: 0.25rem;
}

.resource-actual-days-badge[b-ropd99yqar] {
    margin-right: 0.5rem;
    font-size: 0.78rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.resource-days-actual-total[b-ropd99yqar] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #0c7a92;
    padding: 0.25rem 0.75rem;
    background-color: #e0f2fe;
    border-radius: 12px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.phase-resource-item .node-badges[b-ropd99yqar] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 110px;
}

.phase-resource-item .node-badges .badge[b-ropd99yqar] {
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.phase-resource-edit-form[b-ropd99yqar] {
    padding: 1rem;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
    margin-top: 0.5rem;
    border-radius: 0 0 4px 4px;
}

.resource-days-total[b-ropd99yqar] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    padding: 0.25rem 0.75rem;
    background-color: #f0f0f0;
    border-radius: 12px;
    white-space: nowrap;
}

.resource-days-total.exceeded[b-ropd99yqar] {
    background-color: #dc2626;
    color: #ffffff;
    font-weight: 600;
}

/* ─── Avertissement écart jours assignés vs planifiés ─── */
.days-mismatch-warning[b-ropd99yqar] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #b45309;
    background-color: #fef3c7;
    border: 1px solid #fcd34d;
    border-radius: 12px;
    padding: 0.2rem 0.65rem;
    white-space: nowrap;
    animation: mismatch-pulse-b-ropd99yqar 2s ease-in-out 1;
}

.days-mismatch-warning i[b-ropd99yqar] {
    font-size: 0.8rem;
    color: #d97706;
}

@keyframes mismatch-pulse-b-ropd99yqar {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.btn-icon-only[b-ropd99yqar] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-ropd99yqar] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-ropd99yqar] {
    outline: none;
    box-shadow: none;
}

/* /Modules/BEProject/Components/Phasing/PhaseTimeSpent.razor.rz.scp.css */
.phase-section-header[b-pdldkhekpi] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.phase-timespent-list[b-pdldkhekpi] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.phase-timespent-item[b-pdldkhekpi] {
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.phase-timespent-item:hover[b-pdldkhekpi] {
    background-color: #f8f9fa;
}

.phase-timespent-item.unassigned[b-pdldkhekpi] {
    border-left-color: #f59e0b;
    background-color: #fffbeb;
}

.phase-timespent-item.unassigned:hover[b-pdldkhekpi] {
    background-color: #fef3c7;
}

.phase-timespent-item .node-line[b-pdldkhekpi] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.phase-timespent-item .node-leading[b-pdldkhekpi] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    width: 2.5rem;
}

.phase-timespent-item .expand-placeholder[b-pdldkhekpi] {
    display: inline-block;
    width: 0.85rem;
}

.phase-timespent-item .node-label[b-pdldkhekpi] {
    font-weight: 600;
    font-size: 0.95rem;
}

.phase-timespent-item .node-sub[b-pdldkhekpi] {
    font-size: 0.8rem;
}

.phase-timespent-badges[b-pdldkhekpi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.timespent-days-badge[b-pdldkhekpi] {
    font-size: 0.78rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.timespent-days-total[b-pdldkhekpi] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    padding: 0.25rem 0.75rem;
    background-color: #f0f0f0;
    border-radius: 12px;
    white-space: nowrap;
}

.timespent-unassigned-warning[b-pdldkhekpi] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #b45309;
    background-color: #fef3c7;
    border: 1px solid #fcd34d;
    border-radius: 12px;
    padding: 0.2rem 0.65rem;
    white-space: nowrap;
}

.timespent-unassigned-warning i[b-pdldkhekpi] {
    font-size: 0.8rem;
    color: #d97706;
}
/* /Modules/BEProject/Components/Phasing/PhaseTree.razor.rz.scp.css */
.phasing-card[b-b2bgfpcfcq] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.card-header[b-b2bgfpcfcq] {
    flex-shrink: 0;
}

.phasing-card-body.scroll-auto[b-b2bgfpcfcq] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    max-height: none;
    padding: 0;
}

.phase-tree-list[b-b2bgfpcfcq] {
    padding: 0.5rem 0;
}

.btn-icon-only[b-b2bgfpcfcq] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-b2bgfpcfcq] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-b2bgfpcfcq] {
    outline: none;
    box-shadow: none;
}

/* Recherche */
.search-container[b-b2bgfpcfcq] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 250px;
    margin-right: 1rem;
}

.search-input[b-b2bgfpcfcq] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-b2bgfpcfcq] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-b2bgfpcfcq] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-b2bgfpcfcq] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-b2bgfpcfcq] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Dropdown Options */
.options-dropdown-backdrop[b-b2bgfpcfcq] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

.options-dropdown-wrapper[b-b2bgfpcfcq] {
    position: relative;
    display: inline-flex;
}

.options-dropdown-menu[b-b2bgfpcfcq] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1001;
    min-width: 220px;
    padding: 0.35rem 0;
    margin: 0.25rem 0 0;
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    list-style: none;
}

.options-dropdown-item[b-b2bgfpcfcq] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5rem 1rem;
    border: none;
    background: transparent;
    color: #333;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
    text-align: left;
}

.options-dropdown-item:hover:not(:disabled)[b-b2bgfpcfcq] {
    background: #f0f4ff;
    color: #0d6efd;
}

.options-dropdown-item:disabled[b-b2bgfpcfcq] {
    opacity: 0.5;
    cursor: not-allowed;
}

.options-dropdown-item i[b-b2bgfpcfcq] {
    font-size: 1rem;
}

.options-dropdown-divider[b-b2bgfpcfcq] {
    height: 0;
    margin: 0.25rem 0;
    overflow: hidden;
    border-top: 1px solid #e9ecef;
}

.btn-icon-only.active[b-b2bgfpcfcq] {
    color: #0d6efd;
}

/* /Modules/BEProject/Components/Phasing/PhaseTreeNodeItem.razor.rz.scp.css */
.phase-tree-node[b-si73cf5zw2] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 3px solid transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.phase-tree-node:hover[b-si73cf5zw2] {
    background-color: #f8f9fa;
}

.phase-tree-node.is-selected[b-si73cf5zw2] {
    background-color: #eef5ff;
}

/* ─── 1. Bande de couleur latérale par type ─── */
.phase-tree-node.node-type-subproject[b-si73cf5zw2] {
    border-left-color: #0dcaf0;
}

.phase-tree-node.node-type-space[b-si73cf5zw2] {
    border-left-color: #fd7e14;
}

.phase-tree-node.node-type-phase[b-si73cf5zw2] {
    border-left-color: #198754;
}

/* Sélection : on garde la bande du type mais on intensifie */
.phase-tree-node.node-type-subproject.is-selected[b-si73cf5zw2] {
    border-left-color: #0aa2c0;
    background-color: #e8f9fd;
}

.phase-tree-node.node-type-space.is-selected[b-si73cf5zw2] {
    border-left-color: #d56a10;
    background-color: #fff5ec;
}

.phase-tree-node.node-type-phase.is-selected[b-si73cf5zw2] {
    border-left-color: #146c43;
    background-color: #ecf8f1;
}

/* ─── 3. Fond teinté très subtil par type ─── */
.phase-tree-node.node-type-subproject[b-si73cf5zw2] {
    background-color: #f4fcfe;
}

.phase-tree-node.node-type-space[b-si73cf5zw2] {
    background-color: #fffaf5;
}

.phase-tree-node.node-type-phase[b-si73cf5zw2] {
    background-color: transparent;
}

.phase-tree-node.node-type-subproject:hover[b-si73cf5zw2] {
    background-color: #e4f5fa;
}

.phase-tree-node.node-type-space:hover[b-si73cf5zw2] {
    background-color: #fff0e0;
}

.phase-tree-node.node-type-phase:hover[b-si73cf5zw2] {
    background-color: #f0faf4;
}

/* ─── Layout ─── */
.phase-tree-node .node-line[b-si73cf5zw2] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.phase-tree-node .node-leading[b-si73cf5zw2] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    width: 1.4rem;
}

.phase-tree-node .expand-toggle[b-si73cf5zw2] {
    border: none;
    background: transparent;
    color: #495057;
    padding: 0;
    line-height: 1;
    cursor: pointer;
}

.phase-tree-node .expand-toggle:focus[b-si73cf5zw2] {
    outline: none;
}

.phase-tree-node .expand-placeholder[b-si73cf5zw2] {
    display: inline-block;
    width: 0.85rem;
}

/* ─── 2. Badges de type (SP / ESP / PH) ─── */
.type-badge[b-si73cf5zw2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.1rem 0.4rem;
    border-radius: 0.2rem;
    margin-right: 0.4rem;
    vertical-align: middle;
    line-height: 1.2;
    text-transform: uppercase;
}

.type-badge-subproject[b-si73cf5zw2] {
    background-color: #0dcaf0;
    color: #fff;
}

.type-badge-space[b-si73cf5zw2] {
    background-color: #fd7e14;
    color: #fff;
}

.type-badge-phase[b-si73cf5zw2] {
    background-color: #198754;
    color: #fff;
}

/* ─── 4. Hiérarchie typographique ─── */
.phase-tree-node .node-label[b-si73cf5zw2] {
    font-weight: 600;
    font-size: 0.95rem;
}

/* Sous-projet : poids visuel le plus fort */
.phase-tree-node.node-type-subproject .node-label[b-si73cf5zw2] {
    font-weight: 700;
    font-size: 1.02rem;
}

/* Espace : poids intermédiaire */
.phase-tree-node.node-type-space .node-label[b-si73cf5zw2] {
    font-weight: 600;
    font-size: 0.95rem;
}

/* Phase : même poids que les espaces pour le nom de la phase */
.phase-tree-node.node-type-phase .node-label[b-si73cf5zw2] {
    font-weight: 600;
    font-size: 0.95rem;
}

.phase-tree-node .node-sub[b-si73cf5zw2] {
    font-size: 0.8rem;
}

.phase-tree-node .node-dates[b-si73cf5zw2] {
    font-weight: 600;
}

.phase-tree-node .node-badges[b-si73cf5zw2] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 110px;
}

.phase-tree-node .node-badges .badge[b-si73cf5zw2] {
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.btn-icon-only[b-si73cf5zw2] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-si73cf5zw2] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-si73cf5zw2] {
    outline: none;
    box-shadow: none;
}

.node-financials[b-si73cf5zw2] {
    margin-top: 0.4rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.8rem;
}

.financial-item[b-si73cf5zw2] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
}

.financial-separator[b-si73cf5zw2] {
    color: #adb5bd;
    font-weight: 300;
    margin: 0 0.2rem;
}

.financial-label[b-si73cf5zw2] {
    color: #6c757d;
    font-weight: 500;
    font-size: 0.75rem;
}

.financial-value[b-si73cf5zw2] {
    font-weight: 600;
    white-space: nowrap;
}

.financial-value.cost[b-si73cf5zw2] {
    color: #dc3545;
}

.financial-value.profit-positive[b-si73cf5zw2] {
    color: #198754;
}

.financial-value.profit-negative[b-si73cf5zw2] {
    color: #dc3545;
}

.financial-value.margin-excellent[b-si73cf5zw2] {
    color: #198754;
}

.financial-value.margin-good[b-si73cf5zw2] {
    color: #0d6efd;
}

.financial-value.margin-ok[b-si73cf5zw2] {
    color: #ffc107;
}

.financial-value.margin-negative[b-si73cf5zw2] {
    color: #dc3545;
}

.financial-status-badge[b-si73cf5zw2] {
    display: inline-flex;
    align-items: center;
}

.financial-status-badge .badge[b-si73cf5zw2] {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
}

.phase-tree-invoiced-badge[b-si73cf5zw2] {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
}

/* Responsive : sur mobile, permettre le retour à la ligne */
@media (max-width: 576px) {
    .node-financials[b-si73cf5zw2] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.3rem;
    }
    
    .financial-separator[b-si73cf5zw2] {
        display: none;
    }
    
    .financial-item[b-si73cf5zw2] {
        width: 100%;
        justify-content: space-between;
    }
}

/* /Modules/BEProject/Components/Phasing/ProjectPhaseTemplateSettings.razor.rz.scp.css */
.phasing-page-wrapper[b-xuq7uikasp] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.phasing-container[b-xuq7uikasp] {
    display: flex;
    min-height: 520px;
}

.tree-pane[b-xuq7uikasp] {
    width: 50%;
    min-width: 280px;
}

.phase-row[b-xuq7uikasp] {
    cursor: pointer;
}

.selected-row[b-xuq7uikasp] {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.btn-order[b-xuq7uikasp] {
    padding: 0.125rem 0.35rem;
}

@media (max-width: 992px) {
    .phasing-container[b-xuq7uikasp] {
        flex-direction: column;
    }

    .tree-pane[b-xuq7uikasp] {
        width: 100%;
    }
}
/* /Modules/BEProject/Components/Phasing/ProjectPhasing.razor.rz.scp.css */
.phasing-page-wrapper[b-z4280h44uf] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.phasing-container[b-z4280h44uf] {
    display: flex;
    flex-direction: row;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.tree-pane[b-z4280h44uf] {
    width: 50%;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.details-pane[b-z4280h44uf] {
    width: 50%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.phasing-footer[b-z4280h44uf] {
    flex-shrink: 0;
    border-top: 1px solid var(--matrix-border-light, #E0E0E0);
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    min-height: 2.25rem;
}

.border-dashed[b-z4280h44uf] {
    border: 1px dashed #ced4da;
}

@media (max-width: 992px) {
    .phasing-container[b-z4280h44uf] {
        flex-direction: column;
    }

    .tree-pane[b-z4280h44uf],
    .details-pane[b-z4280h44uf] {
        width: 100%;
    }
}
/* /Modules/BEProject/Components/Phasing/ResourceSelector.razor.rz.scp.css */
.resource-selector-list[b-l67mzh5k5p] {
    max-height: 400px;
    overflow-y: auto;
    padding: 0.5rem 0;
}

.resource-selector-item[b-l67mzh5k5p] {
    padding: 0.75rem 1rem;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    margin-bottom: 0.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.resource-selector-item:hover[b-l67mzh5k5p] {
    background-color: #f8f9fa;
    border-color: #0d6efd;
}

.resource-selector-item.selected[b-l67mzh5k5p] {
    background-color: #eef5ff;
    border-color: #0d6efd;
}

.resource-item-content[b-l67mzh5k5p] {
    flex: 1;
    min-width: 0;
}

.resource-name[b-l67mzh5k5p] {
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
}

.resource-details[b-l67mzh5k5p] {
    font-size: 0.85rem;
}

.resource-item-right[b-l67mzh5k5p] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.resource-team-badge[b-l67mzh5k5p] {
    font-size: 0.95rem;
    font-weight: 400;
    padding: 0.5rem 0.85rem;
    background-color: #6c757d !important;
    color: #ffffff !important;
    border-radius: 6px;
}

/* /Modules/BEProject/Components/Phasing/TrackingSheetModal.razor.rz.scp.css */
.tsm-two-cols[b-7pupg2tfjq] {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 768px) {
    .tsm-two-cols[b-7pupg2tfjq] {
        grid-template-columns: 1fr;
    }
}

.tsm-tracking-col[b-7pupg2tfjq] {
    min-width: 0;
}

.tsm-billing-col[b-7pupg2tfjq] {
    padding: 1rem;
    background-color: var(--bs-light, #f8f9fa);
    border-radius: 8px;
    border: 1px solid var(--bs-border-color, #dee2e6);
}

.tsm-billing-fields[b-7pupg2tfjq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.tsm-billing-field[b-7pupg2tfjq] {
    min-width: 0;
}

.tsm-billing-field-full[b-7pupg2tfjq] {
    grid-column: 1 / -1;
}

.tsm-billing-actions[b-7pupg2tfjq] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-top: 0.25rem;
}

.tracking-sheet-form-grid[b-7pupg2tfjq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}

.tracking-sheet-workflow-status-readonly[b-7pupg2tfjq] {
    padding: 0.35rem 0.5rem;
    background-color: var(--bs-light, #f8f9fa);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 4px;
    font-weight: 500;
    color: var(--bs-body-color);
}

.invoice-selector-table tbody tr.cursor-pointer[b-7pupg2tfjq] {
    cursor: pointer;
}

.invoice-selector-table tbody tr.cursor-pointer:hover td[b-7pupg2tfjq] {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}
/* /Modules/BEProject/Components/Planning/PlanningByTeamGantt.razor.rz.scp.css */
/* ===================================================================
   PlanningByTeamGantt.razor.css - Styles du Gantt planning par équipe
   =================================================================== */

/* Réutilise les mêmes styles que PlanningGantt */
.planning-gantt-wrapper[b-oh6mzoq9hk] {
    width: calc(100vw - 280px);
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 4px;
    box-sizing: border-box;
}

[b-oh6mzoq9hk] .k-gantt {
    height: 100%;
    border: none;
    flex: 1;
    min-height: 0;
}

[b-oh6mzoq9hk] .k-gantt .k-gantt-rows,
[b-oh6mzoq9hk] .k-gantt .k-gantt-treelist .k-grid-content {
    overflow-y: auto;
}

.planning-gantt-wrapper[b-oh6mzoq9hk]::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.planning-gantt-wrapper[b-oh6mzoq9hk]::-webkit-scrollbar-track {
    background: var(--bs-light, #f8f9fa);
}

.planning-gantt-wrapper[b-oh6mzoq9hk]::-webkit-scrollbar-thumb {
    background: var(--bs-secondary, #6c757d);
    border-radius: 6px;
    border: 2px solid var(--bs-light, #f8f9fa);
}

[b-oh6mzoq9hk] .k-gantt-treelist {
    border-right: 1px solid var(--bs-border-color);
}

[b-oh6mzoq9hk] .k-gantt-treelist .k-grid-header th {
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--bs-secondary);
}

[b-oh6mzoq9hk] .k-gantt-treelist td {
    font-size: 0.875rem;
    padding: 0.375rem 0.5rem;
}

[b-oh6mzoq9hk] .k-gantt-treelist tr.k-treelist-group td:first-child,
[b-oh6mzoq9hk] .k-gantt-treelist tr[aria-expanded] td:first-child,
[b-oh6mzoq9hk] .k-gantt-treelist tr:has(.k-icon-plus) td:first-child,
[b-oh6mzoq9hk] .k-gantt-treelist tr:has(.k-icon-minus) td:first-child {
    font-weight: 700;
}

[b-oh6mzoq9hk] .k-task-single {
    background: transparent !important;
    height: 100% !important;
}

[b-oh6mzoq9hk] .k-task-wrap,
[b-oh6mzoq9hk] .k-task-content {
    height: 100% !important;
}

[b-oh6mzoq9hk] .gantt-task-custom {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 4px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    box-sizing: border-box;
    overflow: hidden;
}

[b-oh6mzoq9hk] .gantt-task-custom.gantt-task-clickable {
    cursor: pointer;
}

[b-oh6mzoq9hk] .k-gantt-toolbar .k-button-group .k-button,
[b-oh6mzoq9hk] .k-gantt .k-toolbar .k-button-group .k-button {
    background-color: #FCF1E6 !important;
    border-color: #e0d4c8 !important;
    color: #212529 !important;
}

[b-oh6mzoq9hk] .k-gantt-toolbar .k-button-group .k-button.k-selected,
[b-oh6mzoq9hk] .k-gantt .k-toolbar .k-button-group .k-button.k-selected {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

[b-oh6mzoq9hk] .gantt-no-tooltip + .k-animation-container .k-tooltip,
[b-oh6mzoq9hk] .k-gantt-tooltip {
    display: none !important;
}

[b-oh6mzoq9hk] .be-planning-today-line {
    position: absolute;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #dc3545;
    z-index: 100;
    pointer-events: none;
}
/* /Modules/BEProject/Components/Planning/PlanningGantt.razor.rz.scp.css */
/* ===================================================================
   PlanningGantt.razor.css - Styles du composant Gantt Planning BE
   =================================================================== */

/* --- Wrapper du Gantt avec scroll horizontal --- */
.planning-gantt-wrapper[b-pi0o1hksal] {
    width: calc(100vw - 280px);
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 4px;
    box-sizing: border-box;
}

[b-pi0o1hksal] .k-gantt {
    height: 100%;
    border: none;
    flex: 1;
    min-height: 0;
}

[b-pi0o1hksal] .k-gantt .k-gantt-rows,
[b-pi0o1hksal] .k-gantt .k-gantt-treelist .k-grid-content {
    overflow-y: auto;
}

/* Scrollbars du wrapper */
.planning-gantt-wrapper[b-pi0o1hksal]::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.planning-gantt-wrapper[b-pi0o1hksal]::-webkit-scrollbar-track {
    background: var(--bs-light, #f8f9fa);
}

.planning-gantt-wrapper[b-pi0o1hksal]::-webkit-scrollbar-thumb {
    background: var(--bs-secondary, #6c757d);
    border-radius: 6px;
    border: 2px solid var(--bs-light, #f8f9fa);
}

.planning-gantt-wrapper[b-pi0o1hksal]::-webkit-scrollbar-thumb:hover {
    background: var(--bs-dark, #212529);
}

/* --- Gantt treelist --- */
[b-pi0o1hksal] .k-gantt-treelist {
    border-right: 1px solid var(--bs-border-color);
}

[b-pi0o1hksal] .k-gantt-treelist .k-grid-header {
    background: var(--bs-light);
}

[b-pi0o1hksal] .k-gantt-treelist .k-grid-header th {
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--bs-secondary);
}

[b-pi0o1hksal] .k-gantt-treelist td {
    font-size: 0.875rem;
    padding: 0.375rem 0.5rem;
}

/* Lignes parentes en gras */
[b-pi0o1hksal] .k-gantt-treelist tr.k-treelist-group td:first-child,
[b-pi0o1hksal] .k-gantt-treelist tr[aria-expanded] td:first-child,
[b-pi0o1hksal] .k-gantt-treelist tr:has(.k-icon-plus) td:first-child,
[b-pi0o1hksal] .k-gantt-treelist tr:has(.k-icon-minus) td:first-child,
[b-pi0o1hksal] .k-gantt-treelist tr:has(.k-svg-i-caret-alt-right) td:first-child,
[b-pi0o1hksal] .k-gantt-treelist tr:has(.k-svg-i-caret-alt-down) td:first-child {
    font-weight: 700;
}

/* --- Gantt timeline --- */
[b-pi0o1hksal] .k-gantt-timeline .k-gantt-header {
    background: var(--bs-light);
}

/* --- Tâches --- */
[b-pi0o1hksal] .k-task,
[b-pi0o1hksal] .k-task-complete {
    border-radius: 4px;
}

[b-pi0o1hksal] .k-task-single {
    background: transparent !important;
    background-color: transparent !important;
    height: 100% !important;
}

[b-pi0o1hksal] .k-task-wrap,
[b-pi0o1hksal] .k-task-content {
    height: 100% !important;
}

[b-pi0o1hksal] .k-task-single .k-task-complete {
    display: none !important;
}

[b-pi0o1hksal] .k-task-summary {
    background-color: #6c757d !important;
    height: 8px !important;
    align-self: center;
}

[b-pi0o1hksal] .k-task-summary-complete {
    background-color: #495057 !important;
}

/* Tâches personnalisées */
[b-pi0o1hksal] .gantt-task-custom {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 4px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

[b-pi0o1hksal] .gantt-task-custom .gantt-task-title {
    flex: 1;
    min-width: 0;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

[b-pi0o1hksal] .gantt-task-custom.gantt-task-clickable {
    cursor: pointer;
    transition: filter 0.15s ease, transform 0.15s ease;
}

[b-pi0o1hksal] .gantt-task-custom.gantt-task-clickable:hover {
    filter: brightness(1.1);
}

[b-pi0o1hksal] .gantt-task-resource-codes {
    margin-left: auto;
    padding-left: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #000000 !important;
    white-space: nowrap;
    flex-shrink: 0;
}

/* --- Boutons de vue (Semaine/Mois/Année) --- */
[b-pi0o1hksal] .k-gantt-toolbar .k-button-group .k-button,
[b-pi0o1hksal] .k-gantt .k-toolbar .k-button-group .k-button {
    background-color: #FCF1E6 !important;
    border-color: #e0d4c8 !important;
    color: #212529 !important;
}

[b-pi0o1hksal] .k-gantt-toolbar .k-button-group .k-button:hover,
[b-pi0o1hksal] .k-gantt .k-toolbar .k-button-group .k-button:hover {
    background-color: #f5e4d4 !important;
}

[b-pi0o1hksal] .k-gantt-toolbar .k-button-group .k-button.k-selected,
[b-pi0o1hksal] .k-gantt .k-toolbar .k-button-group .k-button.k-selected,
[b-pi0o1hksal] .k-gantt-toolbar .k-button-group .k-button:active,
[b-pi0o1hksal] .k-gantt .k-toolbar .k-button-group .k-button:active {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

/* --- Masquer le tooltip --- */
[b-pi0o1hksal] .gantt-no-tooltip + .k-animation-container .k-tooltip,
[b-pi0o1hksal] .k-gantt-tooltip {
    display: none !important;
}

/* --- Ligne du jour --- */
[b-pi0o1hksal] .be-planning-today-line {
    position: absolute;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #dc3545;
    z-index: 100;
    pointer-events: none;
}

[b-pi0o1hksal] .be-planning-today-line::before {
    content: '';
    position: absolute;
    top: 0;
    left: -4px;
    width: 10px;
    height: 10px;
    background-color: #dc3545;
    border-radius: 50%;
}
/* /Modules/BEProject/Components/Planning/ProjectPlanningTimeline.razor.rz.scp.css */
/* ===================================================================
   ProjectPlanningTimeline.razor.css
   Vue projet avec TreeView + timeline par mois.
   Les colonnes info (couleur, arbo, dates, durée) sont figées à gauche
   (frozen columns) : seule la zone timeline scrolle horizontalement.
   =================================================================== */

/* --- Conteneur principal --- */
.project-planning-timeline-container[b-tac33szovq] {
    border: 1px solid #dee2e6;
    border-radius: 0;
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
    width: 100%;
}

/* Zone scrollable (vertical ET horizontal) */
.project-planning-body[b-tac33szovq] {
    flex: 1;
    overflow: auto;
    min-height: 0;
}

/* --- En-tête (sticky vertical + largeur étendue pour scroll horizontal) --- */
.project-planning-header[b-tac33szovq] {
    display: flex;
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    font-weight: 600;
    font-size: 0.85rem;
    position: sticky;
    top: 0;
    z-index: 10;
    flex-shrink: 0;
    min-width: fit-content;
}

/* ===================================================================
   COLONNES FIGÉES (frozen) — position: sticky; left: Xpx
   Cumul des largeurs : couleur(12) + arbo(420) + début(80) + fin(80) + durée(60)
   =================================================================== */

/* Colonne couleur projet (bande verticale) */
.project-planning-color-header[b-tac33szovq] {
    width: 12px;
    min-width: 12px;
    border-right: 1px solid #dee2e6;
    position: sticky;
    left: 0;
    z-index: 4;
    background-color: #f8f9fa;
}

.project-planning-color-cell[b-tac33szovq] {
    width: 12px;
    min-width: 12px;
    padding: 0;
    border-right: 1px solid #dee2e6;
    position: sticky;
    left: 0;
    z-index: 2;
    background-color: inherit;
}

.project-color-strip[b-tac33szovq] {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
}

/* Colonne arborescence (TreeView) */
.project-planning-tree-header[b-tac33szovq] {
    width: 420px;
    min-width: 420px;
    padding: 0.5rem 0.75rem;
    border-right: 1px solid #dee2e6;
    position: sticky;
    left: 12px;
    z-index: 4;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tree-header-label[b-tac33szovq] {
    flex: 1;
}

.tree-header-actions[b-tac33szovq] {
    display: flex;
    gap: 2px;
    flex-shrink: 0;
}

.tree-header-btn[b-tac33szovq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: #fff;
    color: #495057;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}

.tree-header-btn:hover[b-tac33szovq] {
    background-color: #e9ecef;
    color: #212529;
    border-color: #adb5bd;
}

.project-planning-tree-cell[b-tac33szovq] {
    width: 420px;
    min-width: 420px;
    padding: 0.5rem;
    border-right: 1px solid #dee2e6;
    background-color: inherit;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    position: sticky;
    left: 12px;
    z-index: 2;
}

/* Colonne Date de début */
.project-planning-start-header[b-tac33szovq] {
    width: 80px;
    min-width: 80px;
    padding: 0.75rem 0.5rem;
    border-right: 1px solid #dee2e6;
    text-align: center;
    font-size: 0.8rem;
    position: sticky;
    left: 432px; /* 12 + 420 */
    z-index: 4;
    background-color: #f8f9fa;
}

/* Colonne Date de fin */
.project-planning-end-header[b-tac33szovq] {
    width: 80px;
    min-width: 80px;
    padding: 0.75rem 0.5rem;
    border-right: 1px solid #dee2e6;
    text-align: center;
    font-size: 0.8rem;
    position: sticky;
    left: 512px; /* 12 + 420 + 80 */
    z-index: 4;
    background-color: #f8f9fa;
}

/* Colonne Durée */
.project-planning-duration-header[b-tac33szovq] {
    width: 60px;
    min-width: 60px;
    padding: 0.75rem 0.5rem;
    border-right: 1px solid #dee2e6;
    text-align: center;
    font-size: 0.8rem;
    position: sticky;
    left: 592px; /* 12 + 420 + 80 + 80 */
    z-index: 4;
    background-color: #f8f9fa;
}

/* Cellules date (début et fin) — figées */
.project-planning-date-cell[b-tac33szovq] {
    width: 80px;
    min-width: 80px;
    padding: 0.5rem;
    border-right: 1px solid #dee2e6;
    background-color: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    color: #212529;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    z-index: 2;
}

.date-start-cell[b-tac33szovq] {
    left: 432px;
}

.date-end-cell[b-tac33szovq] {
    left: 512px;
}

/* Cellule durée — figée */
.project-planning-duration-cell[b-tac33szovq] {
    width: 60px;
    min-width: 60px;
    padding: 0.5rem 0.25rem;
    border-right: 1px solid #dee2e6;
    background-color: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    color: #495057;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    left: 592px;
    z-index: 2;
}

/* ===================================================================
   ZONE TIMELINE DES MOIS (scrolle horizontalement)
   =================================================================== */

/* En-têtes des mois — flex: 1 pour remplir l'espace, min-width (inline) pour forcer le scroll si beaucoup de mois */
.project-planning-months-header[b-tac33szovq] {
    flex: 1;
    display: flex;
    flex-shrink: 0;
}

.project-planning-month-header[b-tac33szovq] {
    padding: 0.75rem 0.5rem;
    text-align: center;
    border-right: 1px solid #e9ecef;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.project-planning-month-header.current-month[b-tac33szovq] {
    background-color: rgba(13, 110, 253, 0.1);
    font-weight: 700;
}

/* Zone timeline de chaque ligne — flex: 1 pour remplir l'espace, min-width (inline) pour forcer le scroll */
.project-planning-timeline-cell[b-tac33szovq] {
    flex: 1;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
}

.timeline-container[b-tac33szovq] {
    position: relative;
    min-height: 36px;
    flex: 1;
    padding: 0;
}

/* Hauteur plus grande pour les lignes phase (place pour les ressources sous la barre) */
.project-planning-row.phase-row .timeline-container[b-tac33szovq] {
    min-height: 48px;
}

.timeline-grid[b-tac33szovq] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
}

.timeline-month-grid[b-tac33szovq] {
    border-right: 1px solid #e9ecef;
}

.timeline-month-grid.current-month[b-tac33szovq] {
    background-color: rgba(13, 110, 253, 0.05);
}

.timeline-phases[b-tac33szovq] {
    position: relative;
    height: 100%;
}

/* ===================================================================
   LIGNES
   =================================================================== */

.project-planning-row[b-tac33szovq] {
    display: flex;
    border-bottom: none;
    background-color: #fff;
    min-width: fit-content;
}

.project-planning-row.group-row[b-tac33szovq] {
    background-color: #f8f9fa;
}

.project-planning-row:hover[b-tac33szovq] {
    background-color: #f0f0f0;
}

/* ===================================================================
   ARBORESCENCE (TreeView)
   =================================================================== */

.tree-toggle[b-tac33szovq] {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #495057;
    text-decoration: none;
    border-radius: 4px;
}

.tree-toggle:hover[b-tac33szovq] {
    background-color: rgba(0, 0, 0, 0.06);
    color: #212529;
}

.tree-toggle-placeholder[b-tac33szovq] {
    display: inline-block;
    width: 24px;
    margin-right: 4px;
}

.tree-label[b-tac33szovq] {
    font-size: 0.85rem;
    color: #495057;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tree-label-project[b-tac33szovq] {
    font-weight: 600;
    color: #212529;
}

.tree-child-count[b-tac33szovq] {
    font-size: 0.8rem;
    color: #6c757d;
    font-weight: normal;
    margin-left: 4px;
}

.identity-download-btn[b-tac33szovq] {
    font-size: 0.85rem;
    color: #217346;
    line-height: 1;
    vertical-align: middle;
    opacity: 0.6;
    transition: opacity 0.15s;
}

.identity-download-btn:hover[b-tac33szovq] {
    opacity: 1;
    color: #185a30;
}

/* ===================================================================
   BARRES DE PHASES, JALONS ET BARRES RÉCAPITULATIVES
   =================================================================== */

/* Barre récapitulative (nœuds de regroupement) */
.summary-bar[b-tac33szovq] {
    position: absolute;
    height: 8px;
    top: 12px;
    border-radius: 0;
    opacity: 0.65;
}

/* Flèches aux extrémités (style Gantt) */
.summary-bar[b-tac33szovq]::before,
.summary-bar[b-tac33szovq]::after {
    content: '';
    position: absolute;
    top: 100%;
    width: 0;
    height: 0;
    border-style: solid;
}

.summary-bar[b-tac33szovq]::before {
    left: 0;
    border-width: 6px 5px 0 0;
    border-color: currentColor transparent transparent transparent;
}

.summary-bar[b-tac33szovq]::after {
    right: 0;
    border-width: 6px 0 0 5px;
    border-color: currentColor transparent transparent transparent;
}

/* Losange (jalon : phase d'1 jour) */
.milestone-diamond[b-tac33szovq] {
    position: absolute;
    width: 14px;
    height: 14px;
    top: 10px;
    background-color: #9e9e9e;
    transform: translateX(-50%) rotate(45deg);
    cursor: pointer;
    transition: transform 0.1s, box-shadow 0.1s;
}

.milestone-diamond:hover[b-tac33szovq] {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    z-index: 100;
}

/* Label texte affiché à droite du losange jalon */
.milestone-label[b-tac33szovq] {
    position: absolute;
    top: 5px;
    white-space: nowrap;
    font-size: 0.8rem;
    font-weight: 700;
    color: #212529;
    padding-left: 16px;
    pointer-events: none;
}

/* Barre de phase */
.phase-bar[b-tac33szovq] {
    position: absolute;
    height: 28px;
    border-radius: 4px;
    border-left: 4px solid #6c757d;
    padding: 2px 6px;
    font-size: 0.8rem;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.1s, box-shadow 0.1s;
    overflow: hidden;
    top: 2px;
}

.phase-bar:hover[b-tac33szovq] {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    z-index: 100;
}

.phase-label[b-tac33szovq] {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 100%;
    font-size: 0.8rem;
    max-width: 100%;
}

.phase-name[b-tac33szovq] {
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 1;
    min-width: 20px;
}

/* Label de débordement : affiché juste après la barre quand celle-ci est trop étroite.
   Masqué par défaut. Le JS bascule la classe .text-overflow sur .timeline-phases. */
.phase-overflow-label[b-tac33szovq] {
    position: absolute;
    top: 5px;
    white-space: nowrap;
    font-size: 0.8rem;
    font-weight: 700;
    color: #212529;
    padding-left: 6px;
    pointer-events: none;
    display: none;
}

/* Quand le texte déborde : afficher le label à droite et masquer celui à l'intérieur */
.timeline-phases.text-overflow .phase-overflow-label[b-tac33szovq] {
    display: inline;
}

.timeline-phases.text-overflow .phase-bar .phase-label[b-tac33szovq] {
    visibility: hidden;
}

.phase-resources[b-tac33szovq] {
    font-size: 0.65rem;
    opacity: 0.9;
    flex-shrink: 0;
}

/* Ressources sous la barre de phase (sur une seule ligne) */
.phase-resources-list[b-tac33szovq] {
    position: absolute;
    top: 32px;
    display: flex;
    flex-direction: row;
    gap: 6px;
    pointer-events: none;
    white-space: nowrap;
}

.phase-resource-name[b-tac33szovq] {
    font-size: 0.65rem;
    font-weight: 700;
    color: #343a40;
    line-height: 1.1;
}

/* ===================================================================
   DRAG & DROP
   =================================================================== */

/* Barre en cours de déplacement */
.phase-bar.dragging[b-tac33szovq] {
    opacity: 0.75;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 200;
    cursor: grabbing;
    transition: none; /* pas de transition pendant le drag */
}

.milestone-diamond.dragging[b-tac33szovq] {
    opacity: 0.75;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 200;
    cursor: grabbing;
    transition: none;
}

/* Curseur grab sur les barres draggables */
.phase-bar[b-tac33szovq] {
    cursor: grab;
}

.milestone-diamond[b-tac33szovq] {
    cursor: grab;
}

/* Dates mises en surbrillance pendant le drag */
.drag-date-highlight[b-tac33szovq] {
    color: #0d6efd;
    font-weight: 700;
}

/* Indicateur de drag (bandeau en bas) */
.drag-indicator[b-tac33szovq] {
    position: fixed;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #212529;
    color: #fff;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    z-index: 2147483647;
    pointer-events: none;
    white-space: nowrap;
}

.drag-indicator-snap[b-tac33szovq] {
    font-weight: 400;
    opacity: 0.6;
    margin-left: 6px;
    font-size: 0.75rem;
}

/* Empêcher la sélection de texte pendant le drag */
.project-planning-timeline-container:active[b-tac33szovq] {
    user-select: none;
}

/* ===================================================================
   TOOLTIP (position fixed, hors du flux DOM) – fond quasi noir, contraste fort
   =================================================================== */

.phase-tooltip-fixed[b-tac33szovq] {
    position: fixed;
    min-width: 280px;
    max-width: 420px;
    background: #1c1c1e;
    color: #e9ecef;
    border: 1px solid #3a3a3c;
    border-radius: 8px;
    padding: 12px 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    z-index: 2147483647;
    font-size: 0.8rem;
    line-height: 1.4;
    white-space: normal;
    pointer-events: none;
    transform: translateY(-100%) translateX(-10px);
}

.phase-tooltip-fixed .tooltip-row[b-tac33szovq] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.phase-tooltip-fixed .tooltip-separator[b-tac33szovq] {
    color: #86868b;
    font-weight: 300;
}

.phase-tooltip-fixed .tooltip-value[b-tac33szovq] {
    color: #d1d5db;
}

.phase-tooltip-fixed .tooltip-value.primary[b-tac33szovq] {
    font-weight: 600;
    font-size: 0.9rem;
    color: #ffffff;
}

.phase-tooltip-fixed .tooltip-value.highlight[b-tac33szovq] {
    color: #64b5f6;
    font-weight: 500;
}

.phase-tooltip-fixed .tooltip-divider[b-tac33szovq] {
    height: 1px;
    background: #3a3a3c;
    margin: 8px 0;
}

.phase-tooltip-fixed .tooltip-details[b-tac33szovq] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: #b0b0b5;
}

.phase-tooltip-fixed .tooltip-badge[b-tac33szovq] {
    background: rgba(100, 181, 246, 0.2);
    color: #64b5f6;
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.7rem;
}

.phase-tooltip-fixed .tooltip-badge.secondary[b-tac33szovq] {
    background: rgba(174, 182, 191, 0.2);
    color: #aeb6bf;
}

.phase-tooltip-fixed .tooltip-badge-success[b-tac33szovq] {
    background: rgba(105, 219, 124, 0.2);
    color: #69db7c;
}

.phase-tooltip-fixed .tooltip-badge-info[b-tac33szovq] {
    background: rgba(100, 181, 246, 0.2);
    color: #64b5f6;
}

.phase-tooltip-fixed .tooltip-badge-danger[b-tac33szovq] {
    background: rgba(248, 113, 113, 0.25);
    color: #f87171;
    font-weight: 700;
}

.phase-tooltip-fixed .tooltip-badge-warning[b-tac33szovq] {
    background: rgba(255, 193, 7, 0.25);
    color: #ffc107;
    font-weight: 700;
}

.phase-tooltip-fixed .tooltip-risk-alert[b-tac33szovq] {
    background: rgba(248, 113, 113, 0.1);
    border: 1px solid rgba(248, 113, 113, 0.3);
    border-radius: 6px;
    padding: 6px 10px;
}

.phase-tooltip-fixed .tooltip-risk-detail[b-tac33szovq] {
    font-size: 0.7rem;
    color: #fca5a5;
}

.phase-tooltip-fixed .tooltip-risk-warning[b-tac33szovq] {
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 6px;
    padding: 6px 10px;
}

.phase-tooltip-fixed .tooltip-risk-detail-warning[b-tac33szovq] {
    font-size: 0.7rem;
    color: #fde68a;
}

/* Bouton info indicateurs de charge */
.risk-info-btn[b-tac33szovq] {
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 0 4px;
    font-size: 0.85rem;
    vertical-align: middle;
    transition: color 0.15s;
}

.risk-info-btn:hover[b-tac33szovq] {
    color: #0d6efd;
}

.risk-info-close-btn[b-tac33szovq] {
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 4px 6px;
    font-size: 1rem;
    line-height: 1;
    border-radius: 4px;
    transition: background-color 0.15s, color 0.15s;
}

.risk-info-close-btn:hover[b-tac33szovq] {
    background-color: #f1f3f5;
    color: #212529;
}

/* Popup info risque de charge */
.risk-info-content[b-tac33szovq] {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #212529;
}

.risk-info-intro[b-tac33szovq] {
    margin-bottom: 1rem;
}

.risk-info-level[b-tac33szovq] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 0.8rem;
    padding: 8px 10px;
    border-radius: 6px;
    background: #f8f9fa;
}

.risk-info-swatch[b-tac33szovq] {
    display: inline-block;
    width: 28px;
    min-width: 28px;
    height: 28px;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    margin-top: 2px;
}

.risk-info-footer[b-tac33szovq] {
    margin-top: 1rem;
    padding: 8px 12px;
    background: #e7f1ff;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #0d6efd;
}

/* ===================================================================
   MARQUEUR AUJOURD'HUI
   =================================================================== */

.today-marker[b-tac33szovq] {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #dc3545;
    z-index: 5;
}

.today-marker[b-tac33szovq]::before {
    content: 'Aujourd\'hui';
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.65rem;
    color: #dc3545;
    white-space: nowrap;
}

/* ===================================================================
   FALLBACK (vue plate, ancien comportement)
   =================================================================== */

.project-planning-separator[b-tac33szovq] {
    background: linear-gradient(135deg, #495057 0%, #6c757d 100%);
    color: #fff;
    padding: 0.5rem 1rem;
    font-weight: 600;
    font-size: 0.9rem;
    border-bottom: 2px solid #343a40;
    position: sticky;
    top: 0;
    z-index: 5;
}

.project-name[b-tac33szovq] {
    display: flex;
    align-items: center;
}

.project-phase-count[b-tac33szovq] {
    font-weight: normal;
    opacity: 0.8;
    margin-left: 0.5rem;
    font-size: 0.85rem;
}

.project-planning-project-cell[b-tac33szovq] {
    width: 220px;
    min-width: 220px;
    padding: 0.5rem;
    border-right: 1px solid #dee2e6;
    background-color: transparent;
    display: flex;
    align-items: center;
}

.project-color-dot[b-tac33szovq] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 6px;
}

.project-name-text[b-tac33szovq] {
    font-size: 0.85rem;
    color: #495057;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.project-planning-phase-cell[b-tac33szovq] {
    width: 240px;
    min-width: 240px;
    padding: 0.5rem;
    border-right: 1px solid #dee2e6;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.phase-label-text[b-tac33szovq] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.phase-resources-inline[b-tac33szovq] {
    font-size: 0.75rem;
    color: #6c757d;
}
/* /Modules/BEProject/Components/ProjectContacts/ProjectContactList.razor.rz.scp.css */
/* Même design que ResourceList (be-teams) */
.resource-list-card.contact-list-card[b-7uwl9aabyw] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.contact-list-card .card-header[b-7uwl9aabyw] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.search-container[b-7uwl9aabyw] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 250px;
    margin-right: 1rem;
}

.search-input[b-7uwl9aabyw] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-7uwl9aabyw] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-7uwl9aabyw] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-7uwl9aabyw] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-7uwl9aabyw] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Boutons d'action avec contraste visible en permanence */
.contact-action-buttons[b-7uwl9aabyw] {
    display: inline-flex;
    gap: 0.25rem;
}

.contact-action-btn[b-7uwl9aabyw] {
    border: 1px solid #b6d4fe;
    background: #e7f1ff;
    color: #0d6efd;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.contact-action-btn:hover[b-7uwl9aabyw] {
    background: #cfe2ff;
    color: #0a58ca;
    border-color: #0d6efd;
}

.contact-action-btn:focus[b-7uwl9aabyw] {
    outline: none;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.25);
}

.btn-icon-only[b-7uwl9aabyw] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-7uwl9aabyw] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-7uwl9aabyw] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-7uwl9aabyw] {
    padding: 0;
}

.resource-item[b-7uwl9aabyw] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-7uwl9aabyw] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-7uwl9aabyw] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-7uwl9aabyw] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-7uwl9aabyw] {
    flex-grow: 1;
}

.resource-item .node-label[b-7uwl9aabyw] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .contact-badge[b-7uwl9aabyw] {
    font-size: 0.7rem;
    font-weight: 500;
    vertical-align: middle;
}

.resource-item .node-sub[b-7uwl9aabyw] {
    font-size: 0.8rem;
}

.resource-item .node-badges[b-7uwl9aabyw] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 110px;
}

.resource-avatar[b-7uwl9aabyw] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    flex-shrink: 0;
}

.resource-dot[b-7uwl9aabyw] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #6c757d;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* /Modules/BEProject/Components/ProjectContacts/ProjectContacts.razor.rz.scp.css */
/* Même disposition que be-teams : liste à gauche, détail à droite */
.resource-management-wrapper[b-ri5sssmxse] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.resource-management-container[b-ri5sssmxse] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.resource-list-pane[b-ri5sssmxse] {
    width: 50%;
    min-width: 300px;
    border-right: 1px solid #dee2e6;
    overflow-y: auto;
    background-color: #f8f9fa;
}

.resource-detail-pane[b-ri5sssmxse] {
    width: 50%;
    overflow-y: auto;
    background-color: #ffffff;
}

.resource-card[b-ri5sssmxse] {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
}

.border-dashed[b-ri5sssmxse] {
    border: 1px dashed #ced4da !important;
}

/* Même hauteur pour les headers liste et détail */
[b-ri5sssmxse] .contact-list-card .card-header,
[b-ri5sssmxse] .resource-detail-card .card-header {
    min-height: 60px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

@media (max-width: 992px) {
    .resource-management-container[b-ri5sssmxse] {
        flex-direction: column;
    }

    .resource-list-pane[b-ri5sssmxse],
    .resource-detail-pane[b-ri5sssmxse] {
        width: 100%;
        min-height: 300px;
    }
}
/* /Modules/BEProject/Components/Resources/ResourceDetail.razor.rz.scp.css */
.resource-detail-card[b-2o3zmiezof] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
}

.resource-detail-card .card-header[b-2o3zmiezof] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.btn-icon-only[b-2o3zmiezof] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-2o3zmiezof] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-2o3zmiezof] {
    outline: none;
    box-shadow: none;
}

.resource-detail-content[b-2o3zmiezof] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.resource-detail-content .matrix-tab-content[b-2o3zmiezof] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding: 1.5rem;
}

.resource-detail-card .card-body[b-2o3zmiezof] {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
}
/* /Modules/BEProject/Components/Resources/ResourceList.razor.rz.scp.css */
.resource-list-card[b-den7qz2sjh] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-den7qz2sjh] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

/* Recherche - même style que PhaseTree */
.search-container[b-den7qz2sjh] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 250px;
    margin-right: 1rem;
}

.search-input[b-den7qz2sjh] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-den7qz2sjh] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-den7qz2sjh] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-den7qz2sjh] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-den7qz2sjh] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Filtre statut */
.status-filter-container[b-den7qz2sjh] {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.status-filter-select[b-den7qz2sjh] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 150px;
}

.status-filter-select:focus[b-den7qz2sjh] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-den7qz2sjh] {
    background: #FCF1E6;
    color: #0073ea;
}

/* Boutons icônes - même style que PhaseTree */
.btn-icon-only[b-den7qz2sjh] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-den7qz2sjh] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-den7qz2sjh] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-den7qz2sjh] {
    padding: 0;
}

.resource-item[b-den7qz2sjh] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-den7qz2sjh] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-den7qz2sjh] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-den7qz2sjh] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-den7qz2sjh] {
    flex-grow: 1;
}

.resource-item .node-label[b-den7qz2sjh] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-den7qz2sjh] {
    font-size: 0.8rem;
}

.resource-item .node-badges[b-den7qz2sjh] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 110px;
}

/* Avatar avec initiales */
.resource-avatar[b-den7qz2sjh] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    flex-shrink: 0;
}

/* Petit rond pour équipe et email */
.resource-dot[b-den7qz2sjh] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #6c757d;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* /Modules/BEProject/Components/Settings/DiversSettings.razor.rz.scp.css */
/* Largeur standard pour un champ numérique (ex. nombre de jours) */
.divers-settings-field[b-aun4b84krp] {
    max-width: 120px;
}
/* /Modules/BEProject/Components/Settings/PhasingTemplateSettings.razor.rz.scp.css */
.phasing-template-settings[b-mk6kmjq1uj] {
    height: calc(100vh - 245px);
    min-height: 520px;
    display: flex;
    flex-direction: column;
}

.phasing-settings-container[b-mk6kmjq1uj] {
    display: flex;
    gap: 1rem;
    flex: 1;
    min-height: 0;
}

.left-pane[b-mk6kmjq1uj],
.right-pane[b-mk6kmjq1uj] {
    width: 50%;
    border: 1px solid var(--matrix-border-color, #dee2e6);
    border-radius: 6px;
    background-color: var(--matrix-card-bg, #fff);
}

.left-pane[b-mk6kmjq1uj] {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    min-height: 0;
}

.right-pane[b-mk6kmjq1uj] {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    min-height: 0;
}

.left-pane-header[b-mk6kmjq1uj] {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 0.75rem;
}

.filter-group[b-mk6kmjq1uj] {
    flex: 1;
}

.group-grid-scroll[b-mk6kmjq1uj] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.phase-row[b-mk6kmjq1uj] {
    cursor: pointer;
}

.selected-row[b-mk6kmjq1uj] {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}

.btn-icon-only[b-mk6kmjq1uj] {
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
    color: var(--bs-secondary, #6c757d);
    transition: color 0.15s ease;
}

.btn-icon-only:hover[b-mk6kmjq1uj] {
    color: var(--bs-primary, #0d6efd);
}

.btn-icon-only:disabled[b-mk6kmjq1uj] {
    opacity: 0.35;
    cursor: not-allowed;
}

.btn-order[b-mk6kmjq1uj] {
    padding: 0.125rem 0.35rem;
}

.detail-header[b-mk6kmjq1uj] {
    border-bottom: 1px solid var(--matrix-border-color, #dee2e6);
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
}

.detail-body[b-mk6kmjq1uj] {
    flex: 1;
    overflow: auto;
}

.empty-detail[b-mk6kmjq1uj] {
    min-height: 320px;
    border: 1px dashed #ced4da;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    color: var(--matrix-text-muted, #6c757d);
    padding: 1rem;
}

@media (max-width: 992px) {
    .phasing-template-settings[b-mk6kmjq1uj] {
        height: auto;
        min-height: 0;
    }

    .phasing-settings-container[b-mk6kmjq1uj] {
        flex-direction: column;
    }

    .left-pane[b-mk6kmjq1uj],
    .right-pane[b-mk6kmjq1uj] {
        width: 100%;
    }
}
/* /Modules/BEProject/Components/TimeSpent/TimeSpentEntryModal.razor.rz.scp.css */
/* ===================== */
/* Modal d'entrée        */
/* ===================== */

.entry-modal-content[b-ozxrtpextz] {
    display: flex;
    gap: 1.5rem;
    min-height: 400px;
}

.entry-form-section[b-ozxrtpextz] {
    flex: 1;
    min-width: 320px;
}

.entry-form-fields[b-ozxrtpextz] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-field-row[b-ozxrtpextz] {
    width: 100%;
}

.readonly-entry-message[b-ozxrtpextz] {
    padding: 1rem;
    text-align: center;
}

.readonly-entry-message .alert[b-ozxrtpextz] {
    margin-bottom: 0;
}

/* Section info projet dans le formulaire */
.project-info-section[b-ozxrtpextz] {
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 8px;
    margin-top: 0.5rem;
}

.project-info-section .form-label[b-ozxrtpextz] {
    font-weight: 600;
    font-size: 0.875rem;
    color: #495057;
    margin-bottom: 0.5rem;
    display: block;
}

.selected-project-info[b-ozxrtpextz] {
    background: #fff;
    padding: 0.75rem;
    border-radius: 6px;
    border: 1px solid #dee2e6;
}

.selected-project-info .info-line[b-ozxrtpextz] {
    font-size: 0.85rem;
    color: #495057;
    margin-bottom: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.selected-project-info .info-line i[b-ozxrtpextz] {
    color: #6c757d;
    width: 16px;
}

.selected-project-info .info-line strong[b-ozxrtpextz] {
    color: #212529;
}

.selected-project-info .phase-highlight[b-ozxrtpextz] {
    background: #e7f1ff;
    padding: 0.5rem;
    border-radius: 4px;
    margin-top: 0.5rem;
}

.selected-project-info .phase-highlight i[b-ozxrtpextz] {
    color: #0d6efd;
}

.no-project-selected[b-ozxrtpextz] {
    font-size: 0.875rem;
    padding: 0.5rem 0;
}

.project-actions[b-ozxrtpextz] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.project-actions .btn[b-ozxrtpextz] {
    font-weight: 600;
    border-width: 2px;
}

.project-actions .btn-outline-primary[b-ozxrtpextz] {
    color: #0d6efd;
    border-color: #0d6efd;
    background-color: rgba(13, 110, 253, 0.1);
}

.project-actions .btn-outline-primary:hover[b-ozxrtpextz] {
    color: #fff;
    background-color: #0d6efd;
}

.project-actions .btn-outline-secondary[b-ozxrtpextz] {
    color: #6c757d;
    border-color: #6c757d;
    background-color: rgba(108, 117, 125, 0.1);
}

.project-actions .btn-outline-secondary:hover[b-ozxrtpextz] {
    color: #fff;
    background-color: #6c757d;
}

/* ===================== */
/* Sélecteur de projets  */
/* ===================== */

.project-selector-section[b-ozxrtpextz] {
    flex: 1;
    min-width: 320px;
    max-width: 500px;
    border-left: 1px solid #dee2e6;
    padding-left: 1.5rem;
    display: flex;
    flex-direction: column;
    transition: opacity 0.3s, background-color 0.3s;
}

.project-selector-section.active[b-ozxrtpextz] {
    opacity: 1;
    background-color: transparent;
}

.project-selector-section.frozen[b-ozxrtpextz] {
    background-color: #f8f9fa;
    border-radius: 8px;
    margin-left: 1rem;
    padding: 1.5rem;
}

.project-selector-frozen-content[b-ozxrtpextz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 300px;
    text-align: center;
    color: #6c757d;
}

.frozen-icon[b-ozxrtpextz] {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.frozen-text[b-ozxrtpextz] {
    font-size: 0.9rem;
    max-width: 200px;
    line-height: 1.4;
}

.project-selector-header[b-ozxrtpextz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.project-selector-header h6[b-ozxrtpextz] {
    margin: 0;
    font-weight: 600;
    color: #212529;
}

.btn-close-selector[b-ozxrtpextz] {
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 4px;
    transition: all 0.2s;
}

.btn-close-selector:hover[b-ozxrtpextz] {
    background: #e9ecef;
    color: #dc3545;
}

.project-filters[b-ozxrtpextz] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.my-projects-filter[b-ozxrtpextz] {
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 6px;
}

.project-list[b-ozxrtpextz] {
    flex: 1;
    overflow-y: auto;
    max-height: 350px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
}

.project-item[b-ozxrtpextz] {
    padding: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background 0.2s;
}

.project-item:last-child[b-ozxrtpextz] {
    border-bottom: none;
}

.project-item:hover[b-ozxrtpextz] {
    background: #f8f9fa;
}

.project-item.selected[b-ozxrtpextz] {
    background: #e7f1ff;
    border-left: 3px solid #0d6efd;
}

.project-item-header[b-ozxrtpextz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.25rem;
}

/* Fil d'Ariane de sélection */
.selection-breadcrumb[b-ozxrtpextz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.5rem;
    background: #e9ecef;
    border-radius: 6px;
    margin-bottom: 0.75rem;
    font-size: 0.8rem;
}

.breadcrumb-item[b-ozxrtpextz] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: #495057;
}

.breadcrumb-item.clickable[b-ozxrtpextz] {
    cursor: pointer;
    color: #0d6efd;
}

.breadcrumb-item.clickable:hover[b-ozxrtpextz] {
    text-decoration: underline;
}

.breadcrumb-separator[b-ozxrtpextz] {
    color: #6c757d;
    margin: 0 0.25rem;
}

/* Items de hiérarchie */
.hierarchy-item[b-ozxrtpextz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background 0.2s;
}

.hierarchy-item:last-child[b-ozxrtpextz] {
    border-bottom: none;
}

.hierarchy-item:hover[b-ozxrtpextz] {
    background: #f8f9fa;
}

.hierarchy-item.selected[b-ozxrtpextz] {
    background: #e7f1ff;
    border-left: 3px solid #0d6efd;
}

.hierarchy-item-content[b-ozxrtpextz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}

.item-icon[b-ozxrtpextz] {
    color: #6c757d;
    flex-shrink: 0;
}

.item-name[b-ozxrtpextz] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #212529;
    cursor: default;
}

.project-status[b-ozxrtpextz] {
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
    flex-shrink: 0;
    margin-left: 0.5rem;
}

/* Liste des phases */
.phase-list[b-ozxrtpextz] {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #dee2e6;
}

.phase-item[b-ozxrtpextz] {
    padding: 0.4rem 0.6rem;
    margin: 0.25rem 0;
    font-size: 0.8rem;
    color: #495057;
    background: #f8f9fa;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.phase-item:hover[b-ozxrtpextz] {
    background: #e9ecef;
}

.phase-item.selected[b-ozxrtpextz] {
    background: #198754;
    color: #fff;
}

.phase-item i[b-ozxrtpextz] {
    margin-right: 0.4rem;
}

/* Responsive */
@media (max-width: 800px) {
    .entry-modal-content[b-ozxrtpextz] {
        flex-direction: column;
    }

    .project-selector-section[b-ozxrtpextz] {
        border-left: none;
        border-top: 1px solid #dee2e6;
        padding-left: 0;
        padding-top: 1rem;
        max-width: none;
    }
}
/* /Modules/BEProject/Components/VictoriaAI/ProjectVictoriaAiPanel.razor.rz.scp.css */
.victoria-ai-json-modal .modal-header[b-t729fnbwx6] {
    background-color: #1f2933;
    color: #fff;
}

.victoria-ai-json-modal .modal-title[b-t729fnbwx6] {
    color: #fff;
}

.victoria-ai-json-modal .btn-close[b-t729fnbwx6] {
    filter: invert(1);
}

.victoria-ai-json-content[b-t729fnbwx6] {
    background-color: #0f172a;
    color: #e2e8f0;
    border: 1px solid rgba(226, 232, 240, 0.12);
    border-radius: 0.5rem;
    padding: 1rem;
    max-height: 60vh;
    overflow: auto;
}

.victoria-ai-settings-modal .modal-header[b-t729fnbwx6] {
    background-color: #0f172a;
    color: #fff;
}

.victoria-ai-settings-modal .modal-title[b-t729fnbwx6] {
    color: #fff;
}

.victoria-ai-settings-modal .btn-close[b-t729fnbwx6] {
    filter: invert(1);
}

.victoria-ai-call-panel-inline[b-t729fnbwx6]  .call-ai-config {
    display: none !important;
}

.victoria-ai-settings-modal[b-t729fnbwx6]  .call-ai-config {
    display: block;
}

/* /Modules/BEProject/Pages/BEDashboard.razor.rz.scp.css */
/* Tableau de bord général : scroll sur toute la page (pas de zone de scroll interne) */

.be-dashboard-general.matrix-container[b-pmz2m27wc4] {
    height: auto;
    min-height: calc(100vh - var(--matrix-top-bar-height, 60px));
    overflow: visible;
}

.be-dashboard-general .matrix-scrollable-content[b-pmz2m27wc4] {
    flex: none;
    overflow: visible;
}

.be-dashboard-general .dashboard-section[b-pmz2m27wc4] {
    margin-bottom: 2rem;
}

.be-dashboard-general .dashboard-section-title[b-pmz2m27wc4] {
    font-size: 1.15rem;
    font-weight: 600;
    color: #212529;
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
}

.be-dashboard-general .dashboard-inline-loader[b-pmz2m27wc4] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #6c757d;
    font-size: 0.9rem;
}

/* Tracking sheet en cours – décalage à droite (comme be-resource-dashboard) */
.be-dashboard-general .dashboard-section-tracking[b-pmz2m27wc4] {
    margin-left: 0.5rem;
}

.be-dashboard-general .resource-dashboard-ts-grid[b-pmz2m27wc4] {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.be-dashboard-general .resource-dashboard-ts-card[b-pmz2m27wc4] {
    cursor: pointer;
}

.be-dashboard-general .resource-dashboard-ts-open-btn[b-pmz2m27wc4] {
    background-color: var(--bs-primary, #0d6efd);
    color: #fff;
    border: 1px solid var(--bs-primary, #0d6efd);
}

.be-dashboard-general .resource-dashboard-ts-open-btn:hover[b-pmz2m27wc4] {
    background-color: var(--bs-primary, #0b5ed7);
    color: #fff;
    border-color: var(--bs-primary, #0b5ed7);
}

/* Time Spent incomplets */
.be-dashboard-general .dashboard-section-timespent[b-pmz2m27wc4] {
    margin-left: 0.5rem;
}

.be-dashboard-general .incomplete-ts-table[b-pmz2m27wc4] {
    font-size: 0.85rem;
    margin-bottom: 0;
}

.be-dashboard-general .incomplete-ts-table thead th[b-pmz2m27wc4] {
    border-bottom-width: 2px;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6c757d;
    font-weight: 600;
}

.be-dashboard-general .ts-resource-col[b-pmz2m27wc4] {
    width: 120px;
    white-space: nowrap;
    vertical-align: middle;
}

.be-dashboard-general .ts-months-list[b-pmz2m27wc4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.be-dashboard-general .ts-month-badge[b-pmz2m27wc4] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.6rem;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.be-dashboard-general .ts-month-rate[b-pmz2m27wc4] {
    font-weight: 700;
    font-size: 0.8rem;
    opacity: 0.8;
    margin-left: 0.1rem;
}

.be-dashboard-general .ts-badge-over[b-pmz2m27wc4] {
    background-color: #f8d7da;
    color: #842029;
}

.be-dashboard-general .ts-badge-partial[b-pmz2m27wc4] {
    background-color: #fff3cd;
    color: #664d03;
}

.be-dashboard-general .ts-badge-low[b-pmz2m27wc4] {
    background-color: #ffe0b2;
    color: #e65100;
}

.be-dashboard-general .ts-badge-empty[b-pmz2m27wc4] {
    background-color: #e9ecef;
    color: #495057;
}

/* Alertes charge – décalage à droite (comme be-resource-dashboard) */
.be-dashboard-general .charge-risk-section[b-pmz2m27wc4] {
    margin-left: 0.5rem;
}

/* Alertes charge – phases à risque */
.be-dashboard-general .charge-risk-section .dashboard-section-title .badge[b-pmz2m27wc4] {
    font-size: 0.7rem;
    padding: 0.25em 0.55em;
    vertical-align: middle;
}

.be-dashboard-general .charge-risk-grid[b-pmz2m27wc4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.6rem;
}

.be-dashboard-general .charge-risk-card[b-pmz2m27wc4] {
    background: #fff;
    border-radius: 8px;
    padding: 0.7rem 0.9rem;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
    border-left: 4px solid transparent;
    transition: transform 0.15s, box-shadow 0.15s;
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
}

.be-dashboard-general .charge-risk-card:hover[b-pmz2m27wc4] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.be-dashboard-general .charge-risk-card.risk-critical[b-pmz2m27wc4] {
    border-left-color: #dc3545;
    background: linear-gradient(135deg, #fff5f5 0%, #ffffff 40%);
}

.be-dashboard-general .charge-risk-card.risk-warning[b-pmz2m27wc4] {
    border-left-color: #ffc107;
    background: linear-gradient(135deg, #fffbeb 0%, #ffffff 40%);
}

.be-dashboard-general .risk-card-header[b-pmz2m27wc4] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.3rem;
}

.be-dashboard-general .risk-card-project[b-pmz2m27wc4] {
    font-weight: 600;
    font-size: 0.85rem;
    color: #212529;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.be-dashboard-general .risk-badge[b-pmz2m27wc4] {
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15em 0.45em;
    border-radius: 3px;
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

.be-dashboard-general .risk-badge-critical[b-pmz2m27wc4] {
    background-color: #f8d7da;
    color: #842029;
}

.be-dashboard-general .risk-badge-warning[b-pmz2m27wc4] {
    background-color: #fff3cd;
    color: #664d03;
}

.be-dashboard-general .risk-card-phase[b-pmz2m27wc4] {
    font-weight: 500;
    font-size: 0.82rem;
    color: #495057;
    margin-bottom: 0.15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.be-dashboard-general .risk-card-hierarchy[b-pmz2m27wc4] {
    font-size: 0.75rem;
    color: #6c757d;
    margin-bottom: 0.3rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.be-dashboard-general .risk-card-dates[b-pmz2m27wc4] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: #495057;
    margin-bottom: 0.3rem;
}

.be-dashboard-general .risk-card-status[b-pmz2m27wc4] {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 500;
    color: #6c757d;
    background: #f0f0f0;
    padding: 0.1em 0.4em;
    border-radius: 3px;
    flex-shrink: 0;
}

.be-dashboard-general .risk-card-metrics[b-pmz2m27wc4] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0.3rem;
}

.be-dashboard-general .risk-metric[b-pmz2m27wc4] {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.be-dashboard-general .risk-metric .metric-label[b-pmz2m27wc4] {
    font-size: 0.65rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.be-dashboard-general .risk-metric .metric-value[b-pmz2m27wc4] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #212529;
}

.be-dashboard-general .risk-card-alert-detail[b-pmz2m27wc4] {
    margin-top: 0.25rem;
    padding: 0.2rem 0.4rem;
    background-color: #f8d7da;
    color: #842029;
    border-radius: 3px;
    font-size: 0.68rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

.be-dashboard-general .risk-card-open-btn[b-pmz2m27wc4] {
    background: none;
    border: none;
    color: #0d6efd;
    cursor: pointer;
    padding: 0.15rem;
    font-size: 0.85rem;
    line-height: 1;
    border-radius: 3px;
    transition: color 0.15s, background-color 0.15s;
    flex-shrink: 0;
}

.be-dashboard-general .risk-card-open-btn:hover[b-pmz2m27wc4] {
    color: #0a58ca;
    background-color: rgba(13, 110, 253, 0.1);
}

.be-dashboard-general .project-color-dot[b-pmz2m27wc4] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 0.5rem;
    vertical-align: middle;
    flex-shrink: 0;
}
/* /Modules/BEProject/Pages/BEFiggo.razor.rz.scp.css */
.figgo-card[b-rrf0sbufrz] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.figgo-card-header[b-rrf0sbufrz] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f1f5f9;
}

.figgo-card-body[b-rrf0sbufrz] {
    padding: 1rem 1.25rem;
}

.figgo-kpi-row[b-rrf0sbufrz] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.figgo-kpi[b-rrf0sbufrz] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
}

.figgo-loader[b-rrf0sbufrz] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: #334155;
    font-weight: 500;
}
/* /Modules/BEProject/Pages/BEMyPlanning.razor.rz.scp.css */
/* Identique à BEResourceDashboard : section "Accès non autorisé" */
.resource-dashboard-container[b-vwiploymrb] {
    padding: 1rem;
}

.resource-dashboard-container .alert[b-vwiploymrb] {
    margin-bottom: 0;
}
/* /Modules/BEProject/Pages/BEPlanning.razor.rz.scp.css */
/* ===================================================================
   BEPlanning.razor.css - Styles spécifiques à la page Planning BE
   =================================================================== */

/* --- Section des filtres --- */
.planning-filters[b-enuy2k1tbn] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1rem;
    padding: 0.5rem 0;
}

.filter-item[b-enuy2k1tbn] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.filter-item-project[b-enuy2k1tbn] {
    min-width: 280px;
    flex-grow: 1;
    max-width: 400px;
}

.filter-item-today[b-enuy2k1tbn] {
    display: flex;
    align-items: flex-end;
}

.btn-today[b-enuy2k1tbn] {
    min-height: 32px;
    height: 32px;
    width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.875rem;
}

.filter-item-actions[b-enuy2k1tbn] {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

/* Backdrop pour fermer le dropdown Options en cliquant en dehors (comme Matrix_Grid) */
.planning-dropdown-backdrop[b-enuy2k1tbn] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

.filter-item-actions .btn-group[b-enuy2k1tbn] {
    position: relative;
    z-index: 1001;
}

/* --- Conteneur du planning --- */
.planning-container[b-enuy2k1tbn] {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

/* Wrapper spécifique au planning projet (TreeView + timeline) :
   doit prendre toute la hauteur restante pour que le scroll interne fonctionne */
.project-planning-wrapper[b-enuy2k1tbn] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.planning-content-with-overlay[b-enuy2k1tbn] {
    position: relative;
}

.planning-overlay-loader[b-enuy2k1tbn] {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(1px);
}

.planning-overlay-loader-content[b-enuy2k1tbn] {
    text-align: center;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

/* --- État vide --- */
.planning-empty[b-enuy2k1tbn] {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    min-height: 300px;
    background: var(--bs-light, #f8f9fa);
}

.planning-empty-content[b-enuy2k1tbn] {
    text-align: center;
    padding: 2rem;
    max-width: 400px;
}

.planning-empty-icon[b-enuy2k1tbn] {
    font-size: 3rem;
    color: var(--bs-secondary);
    opacity: 0.5;
    margin-bottom: 1rem;
}

.planning-empty-title[b-enuy2k1tbn] {
    color: var(--bs-dark);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.planning-empty-text[b-enuy2k1tbn] {
    color: var(--bs-secondary);
    margin-bottom: 1rem;
}

/* Note: Les styles du Gantt sont dans PlanningGantt.razor.css */

/* --- Mode plein écran --- */

/* Le bouton "Quitter le plein écran" est masqué par défaut */
.btn-exit-fullscreen[b-enuy2k1tbn] {
    display: none;
}

/* Quand le conteneur est en fullscreen natif (page planning ou onglet projet) */
#be-planning-container:fullscreen[b-enuy2k1tbn],
#be-project-planning-container:fullscreen[b-enuy2k1tbn] {
    background-color: #ffffff;
    padding: 1rem;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

/* Vendor prefixes pour Safari et anciens navigateurs */
#be-planning-container:-webkit-full-screen[b-enuy2k1tbn],
#be-project-planning-container:-webkit-full-screen[b-enuy2k1tbn] {
    background-color: #ffffff;
    padding: 1rem;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

/* En fullscreen, masquer le breadcrumb pour gagner de la place */
#be-planning-container:fullscreen[b-enuy2k1tbn]  .matrix-header-bar,
#be-project-planning-container:fullscreen[b-enuy2k1tbn]  .matrix-header-bar {
    display: none;
}

#be-planning-container:-webkit-full-screen[b-enuy2k1tbn]  .matrix-header-bar,
#be-project-planning-container:-webkit-full-screen[b-enuy2k1tbn]  .matrix-header-bar {
    display: none;
}

/* En fullscreen, le planning occupe tout l'espace */
#be-planning-container:fullscreen .project-planning-wrapper[b-enuy2k1tbn],
#be-project-planning-container:fullscreen .project-planning-wrapper[b-enuy2k1tbn] {
    flex: 1;
    min-height: 0;
}

#be-planning-container:-webkit-full-screen .project-planning-wrapper[b-enuy2k1tbn],
#be-project-planning-container:-webkit-full-screen .project-planning-wrapper[b-enuy2k1tbn] {
    flex: 1;
    min-height: 0;
}

/* Afficher le bouton "Quitter" uniquement en fullscreen */
#be-planning-container:fullscreen .btn-exit-fullscreen[b-enuy2k1tbn],
#be-project-planning-container:fullscreen .btn-exit-fullscreen[b-enuy2k1tbn] {
    display: flex;
    align-items: center;
    gap: 6px;
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 2147483647;
    background: #212529;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

#be-planning-container:-webkit-full-screen .btn-exit-fullscreen[b-enuy2k1tbn],
#be-project-planning-container:-webkit-full-screen .btn-exit-fullscreen[b-enuy2k1tbn] {
    display: flex;
    align-items: center;
    gap: 6px;
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 2147483647;
    background: #212529;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

#be-planning-container:fullscreen .btn-exit-fullscreen:hover[b-enuy2k1tbn],
#be-project-planning-container:fullscreen .btn-exit-fullscreen:hover[b-enuy2k1tbn] {
    opacity: 1;
}

#be-planning-container:-webkit-full-screen .btn-exit-fullscreen:hover[b-enuy2k1tbn],
#be-project-planning-container:-webkit-full-screen .btn-exit-fullscreen:hover[b-enuy2k1tbn] {
    opacity: 1;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .planning-filters[b-enuy2k1tbn] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-item[b-enuy2k1tbn] {
        width: 100%;
    }

    .filter-item-project[b-enuy2k1tbn] {
        max-width: none;
    }

    .filter-item-actions[b-enuy2k1tbn] {
        margin-left: 0;
        margin-top: 0.5rem;
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .planning-placeholder[b-enuy2k1tbn] {
        min-height: 300px;
    }

    .planning-placeholder-icon[b-enuy2k1tbn] {
        font-size: 3rem;
    }

    .planning-placeholder-params[b-enuy2k1tbn] {
        padding: 0.75rem 1rem;
    }

    .param-item[b-enuy2k1tbn] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
}
/* /Modules/BEProject/Pages/BEPlanningByTeam.razor.rz.scp.css */
/* ===================================================================
   BEPlanningByTeam.razor.css - Styles spécifiques à la page Planning par équipe BE
   =================================================================== */

/* --- Section des filtres --- */
.planning-filters[b-jqdpn2830t] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1rem;
    padding: 0.5rem 0;
}

.filter-item[b-jqdpn2830t] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.filter-item-project[b-jqdpn2830t] {
    min-width: 200px;
    flex-grow: 1;
    max-width: 350px;
}

.filter-item-actions[b-jqdpn2830t] {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

/* --- Conteneur du Gantt --- */
.planning-container[b-jqdpn2830t] {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

/* --- État vide --- */
.planning-empty[b-jqdpn2830t] {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    min-height: 300px;
    background: var(--bs-light, #f8f9fa);
}

.planning-empty-content[b-jqdpn2830t] {
    text-align: center;
    padding: 2rem;
    max-width: 400px;
}

.planning-empty-icon[b-jqdpn2830t] {
    font-size: 3rem;
    color: var(--bs-secondary);
    opacity: 0.5;
    margin-bottom: 1rem;
}

.planning-empty-title[b-jqdpn2830t] {
    color: var(--bs-dark);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.planning-empty-text[b-jqdpn2830t] {
    color: var(--bs-secondary);
    margin-bottom: 1rem;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .planning-filters[b-jqdpn2830t] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-item[b-jqdpn2830t] {
        width: 100%;
    }

    .filter-item-project[b-jqdpn2830t] {
        max-width: none;
    }

    .filter-item-actions[b-jqdpn2830t] {
        margin-left: 0;
        margin-top: 0.5rem;
        flex-direction: row;
        flex-wrap: nowrap;
    }
}
/* /Modules/BEProject/Pages/BEProjectInvoices.razor.rz.scp.css */
/* Référence facture en gros dans la popup Date de règlement */
.be-payment-modal-docno[b-qrnfrylzbh] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--bs-body-color, #212529);
}

/* Champ date de règlement : largeur standard (ne pas occuper toute la popup) */
.be-payment-modal-date-wrap[b-qrnfrylzbh] {
    max-width: 14rem;
}

/* Échéance dépassée et facture non réglée (status != 81) : fond rouge vif sur toute la cellule */
/* ::deep() nécessaire car la cellule est rendue dans Matrix_Grid */
[b-qrnfrylzbh](.be-invoice-maturity-overdue) {
    display: block;
    padding: 0.35rem 0.5rem;
    margin: -0.35rem -0.5rem;
    min-height: 1.8em;
    background-color: #dc3545;
    color: #fff;
    font-weight: 600;
}
/* /Modules/BEProject/Pages/BEResourceDashboard.razor.rz.scp.css */
/* Container principal */
.resource-dashboard-container[b-2vkkxwkyhh] {
    padding: 1rem;
}

/* Sections (pavés) */
.dashboard-section[b-2vkkxwkyhh] {
    margin-bottom: 2rem;
}

.dashboard-section-title[b-2vkkxwkyhh] {
    font-size: 1.15rem;
    font-weight: 600;
    color: #212529;
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
}

/* Ligne de cartes mois (format Planning Ressources en plus grand) */
.dashboard-cards-row[b-2vkkxwkyhh] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: stretch;
}

.month-stat-dashboard[b-2vkkxwkyhh] {
    min-width: 100px;
    min-height: 90px;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    flex: 1;
    max-width: 140px;
}

/* Cartes feuille de temps cliquables (liens) */
a.month-stat-dashboard[b-2vkkxwkyhh] {
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s, box-shadow 0.15s;
}

a.month-stat-dashboard:hover[b-2vkkxwkyhh] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.month-stat-dashboard .stat-period[b-2vkkxwkyhh] {
    font-size: 0.8rem;
    font-weight: 600;
    opacity: 0.9;
    line-height: 1.2;
}

.month-stat-dashboard .stat-percent[b-2vkkxwkyhh] {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.month-stat-dashboard .stat-days[b-2vkkxwkyhh] {
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.2;
}

/* Couleurs occupation : 0% gray, < 75% yellow, 75-100% green, > 100% red */
.month-stat-dashboard.occupation-gray[b-2vkkxwkyhh] {
    background-color: rgba(108, 117, 125, 0.12);
    color: #6c757d;
}

.month-stat-dashboard.occupation-yellow[b-2vkkxwkyhh] {
    background-color: rgba(255, 193, 7, 0.2);
    color: #856404;
}

.month-stat-dashboard.occupation-green[b-2vkkxwkyhh] {
    background-color: rgba(25, 135, 84, 0.15);
    color: #198754;
}

.month-stat-dashboard.occupation-red[b-2vkkxwkyhh] {
    background-color: rgba(220, 53, 69, 0.15);
    color: #dc3545;
}

/* Ligne du haut : Time spent accolé à Planning (une seule ligne de cartes) */
.dashboard-top-row[b-2vkkxwkyhh] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 1.5rem;
    margin-bottom: 2rem;
}

.dashboard-top-col[b-2vkkxwkyhh] {
    min-width: 0;
}

.dashboard-top-timespent[b-2vkkxwkyhh] {
    flex: 0 0 auto;
}

.dashboard-top-timespent .dashboard-section-title[b-2vkkxwkyhh] {
    margin-bottom: 0.5rem;
}

.dashboard-top-timespent .dashboard-cards-row[b-2vkkxwkyhh] {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
}

.dashboard-top-planning[b-2vkkxwkyhh] {
    flex: 0 0 auto;
}

.dashboard-top-planning .dashboard-section-title[b-2vkkxwkyhh] {
    margin-bottom: 0.5rem;
}

.dashboard-top-planning .dashboard-cards-row[b-2vkkxwkyhh] {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
}

@media (max-width: 768px) {
    .dashboard-top-row[b-2vkkxwkyhh] {
        flex-direction: column;
    }
    .dashboard-top-timespent .dashboard-cards-row[b-2vkkxwkyhh],
    .dashboard-top-planning .dashboard-cards-row[b-2vkkxwkyhh] {
        flex-wrap: wrap;
    }
}

/* Time spent cette semaine : header + grille de cards par jour */
.dashboard-week-header[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-bottom: 0.75rem;
}

.dashboard-week-cards[b-2vkkxwkyhh] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem;
}

.dashboard-day-card[b-2vkkxwkyhh] {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    min-height: 100px;
}

.dashboard-day-card.weekend[b-2vkkxwkyhh] {
    background: #f8f9fa;
    opacity: 0.85;
}

.dashboard-day-card .day-card-header[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid #eee;
    flex-wrap: wrap;
}

.dashboard-day-card .day-card-number[b-2vkkxwkyhh] {
    font-weight: 700;
    font-size: 1rem;
    min-width: 1.4em;
}

.dashboard-day-card .day-card-name[b-2vkkxwkyhh] {
    font-size: 0.7rem;
    color: #6c757d;
    text-transform: capitalize;
    flex: 1;
    min-width: 0;
}

.dashboard-day-card .day-card-buttons[b-2vkkxwkyhh] {
    display: flex;
    gap: 2px;
}

.btn-day-action[b-2vkkxwkyhh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: none;
    border-radius: 4px;
    background: #f0f0f0;
    color: #495057;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
    font-size: 0.9rem;
}

.btn-day-action:hover[b-2vkkxwkyhh] {
    background: #0d6efd;
    color: #fff;
}

.dashboard-day-card .day-card-entries[b-2vkkxwkyhh] {
    flex: 1;
    padding: 0.35rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-height: 2rem;
}

.dashboard-day-card .day-card-entry[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.25rem 0.4rem;
    border-radius: 4px;
    font-size: 0.75rem;
    line-height: 1.2;
}

.dashboard-day-card .day-card-entry-text[b-2vkkxwkyhh] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-day-card .day-card-entry-percent[b-2vkkxwkyhh] {
    flex-shrink: 0;
    font-size: 0.65rem;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.1);
    padding: 0.1rem 0.25rem;
    border-radius: 2px;
}

.dashboard-day-card .day-card-no-entry[b-2vkkxwkyhh] {
    font-size: 0.8rem;
}

@media (max-width: 992px) {
    .dashboard-week-cards[b-2vkkxwkyhh] {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 576px) {
    .dashboard-week-cards[b-2vkkxwkyhh] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Popup d'ajout d'activité depuis le dashboard */
/* Alertes charge – phases à risque */
.charge-risk-section .dashboard-section-title .badge[b-2vkkxwkyhh] {
    font-size: 0.7rem;
    padding: 0.25em 0.55em;
    vertical-align: middle;
}

.charge-risk-grid[b-2vkkxwkyhh] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.6rem;
}

.charge-risk-card[b-2vkkxwkyhh] {
    background: #fff;
    border-radius: 8px;
    padding: 0.7rem 0.9rem;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
    border-left: 4px solid transparent;
    transition: transform 0.15s, box-shadow 0.15s;
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
}

.charge-risk-card:hover[b-2vkkxwkyhh] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.charge-risk-card.risk-critical[b-2vkkxwkyhh] {
    border-left-color: #dc3545;
    background: linear-gradient(135deg, #fff5f5 0%, #ffffff 40%);
}

.charge-risk-card.risk-warning[b-2vkkxwkyhh] {
    border-left-color: #ffc107;
    background: linear-gradient(135deg, #fffbeb 0%, #ffffff 40%);
}

.risk-card-header[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.3rem;
}

.risk-card-project[b-2vkkxwkyhh] {
    font-weight: 600;
    font-size: 0.85rem;
    color: #212529;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.risk-badge[b-2vkkxwkyhh] {
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15em 0.45em;
    border-radius: 3px;
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

.risk-badge-critical[b-2vkkxwkyhh] {
    background-color: #f8d7da;
    color: #842029;
}

.risk-badge-warning[b-2vkkxwkyhh] {
    background-color: #fff3cd;
    color: #664d03;
}

.risk-card-phase[b-2vkkxwkyhh] {
    font-weight: 500;
    font-size: 0.82rem;
    color: #495057;
    margin-bottom: 0.15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.risk-card-hierarchy[b-2vkkxwkyhh] {
    font-size: 0.75rem;
    color: #6c757d;
    margin-bottom: 0.3rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.risk-card-metrics[b-2vkkxwkyhh] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0.3rem;
}

.risk-metric[b-2vkkxwkyhh] {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.risk-metric .metric-label[b-2vkkxwkyhh] {
    font-size: 0.65rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.risk-metric .metric-value[b-2vkkxwkyhh] {
    font-size: 0.88rem;
    font-weight: 600;
    color: #212529;
}

.risk-card-dates[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: #495057;
    margin-bottom: 0.3rem;
}

.risk-card-status[b-2vkkxwkyhh] {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 500;
    color: #6c757d;
    background: #f0f0f0;
    padding: 0.1em 0.4em;
    border-radius: 3px;
    flex-shrink: 0;
}

.risk-card-alert-detail[b-2vkkxwkyhh] {
    margin-top: 0.25rem;
    padding: 0.2rem 0.4rem;
    background-color: #f8d7da;
    color: #842029;
    border-radius: 3px;
    font-size: 0.68rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

.risk-card-open-btn[b-2vkkxwkyhh] {
    background: none;
    border: none;
    color: #0d6efd;
    cursor: pointer;
    padding: 0.15rem;
    font-size: 0.85rem;
    line-height: 1;
    border-radius: 3px;
    transition: color 0.15s, background-color 0.15s;
    flex-shrink: 0;
}

.risk-card-open-btn:hover[b-2vkkxwkyhh] {
    color: #0a58ca;
    background-color: rgba(13, 110, 253, 0.1);
}

/* Prochaines phases : tableau 4 semaines */
.upcoming-phases-section[b-2vkkxwkyhh] {
    margin-bottom: 2rem;
}

.upcoming-phases-header[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.upcoming-phases-table-wrapper[b-2vkkxwkyhh] {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow-x: auto;
}

.upcoming-phases-table[b-2vkkxwkyhh] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.upcoming-phases-table th[b-2vkkxwkyhh],
.upcoming-phases-table td[b-2vkkxwkyhh] {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
}

.upcoming-phases-table thead th[b-2vkkxwkyhh] {
    background: #f8f9fa;
    font-weight: 600;
    color: #495057;
}

.upcoming-col-project[b-2vkkxwkyhh] {
    min-width: 120px;
    vertical-align: top;
}

.upcoming-col-space[b-2vkkxwkyhh] {
    min-width: 100px;
}

.upcoming-col-space .upcoming-space-main[b-2vkkxwkyhh] {
    display: block;
    font-weight: 500;
}

.upcoming-col-space .upcoming-space-sub[b-2vkkxwkyhh] {
    display: block;
    font-size: 0.8rem;
    color: #6c757d;
}

.upcoming-col-days[b-2vkkxwkyhh] {
    min-width: 60px;
    text-align: center;
}

.upcoming-col-risk[b-2vkkxwkyhh] {
    min-width: 90px;
}

.upcoming-risk-ok[b-2vkkxwkyhh] {
    font-size: 0.8rem;
    color: #495057;
}

.upcoming-col-timeline[b-2vkkxwkyhh] {
    min-width: 320px;
    width: 40%;
}

.gantt-timeline-header[b-2vkkxwkyhh] {
    display: flex;
    justify-content: space-between;
    padding: 0 0.25rem;
}

.gantt-week-label[b-2vkkxwkyhh] {
    flex: 1;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
}

.gantt-timeline-cell[b-2vkkxwkyhh] {
    position: relative;
    height: 32px;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent calc(25% - 1px),
        #e0e0e0 calc(25% - 1px),
        #e0e0e0 25%
    );
}

.gantt-phase-bar[b-2vkkxwkyhh] {
    position: absolute;
    top: 4px;
    height: 24px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    padding: 0 6px;
    min-width: 2px;
    box-sizing: border-box;
}

.gantt-phase-name[b-2vkkxwkyhh] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.upcoming-phases-empty[b-2vkkxwkyhh] {
    text-align: center;
    color: #6c757d;
    font-style: italic;
    padding: 1.5rem !important;
}

.project-color-dot[b-2vkkxwkyhh] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 0.5rem;
    vertical-align: middle;
    flex-shrink: 0;
}

.project-name-text[b-2vkkxwkyhh] {
    vertical-align: middle;
    font-weight: 500;
    color: #212529;
}

/* Time spent cette semaine – présentation type be-time-spent-global */
.resource-dashboard-timespent-week-card[b-2vkkxwkyhh] {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid #e9ecef;
    overflow: hidden;
}

.resource-dashboard-timespent-week-card .card-header[b-2vkkxwkyhh] {
    background-color: var(--matrix-bg-secondary, #f5f5f5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.resource-dashboard-timespent-open-btn[b-2vkkxwkyhh] {
    flex-shrink: 0;
    font-weight: 600;
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.resource-dashboard-timespent-open-btn:hover[b-2vkkxwkyhh] {
    background-color: #0b5ed7;
    border-color: #0a58ca;
    color: #fff;
}

.resource-dashboard-timespent-week-card .phasing-card-body[b-2vkkxwkyhh] {
    padding: 0.75rem;
}

.resource-dashboard-week-calendar .calendar-list[b-2vkkxwkyhh] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.resource-dashboard-week-calendar .calendar-day-row[b-2vkkxwkyhh] {
    display: flex;
    align-items: stretch;
    min-height: 36px;
    border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    transition: background-color 0.15s ease;
}

.resource-dashboard-week-calendar .calendar-day-row:hover[b-2vkkxwkyhh] {
    background-color: #f8f9fa;
}

.resource-dashboard-week-calendar .calendar-day-row.weekend[b-2vkkxwkyhh] {
    background-color: #f8f9fa;
    opacity: 0.7;
}

.resource-dashboard-week-calendar .calendar-day-row.has-entries[b-2vkkxwkyhh] {
    border-left: 3px solid #0d6efd;
}

.resource-dashboard-week-calendar .day-info[b-2vkkxwkyhh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    flex-shrink: 0;
    padding: 0.5rem 0.75rem;
    border-right: 1px solid #e9ecef;
    background-color: #f8f9fa;
}

.resource-dashboard-week-calendar .day-number[b-2vkkxwkyhh] {
    font-weight: 600;
    font-size: 0.95rem;
    width: 24px;
    min-width: 24px;
    text-align: right;
    flex-shrink: 0;
}

.resource-dashboard-week-calendar .day-name[b-2vkkxwkyhh] {
    font-size: 0.8rem;
    color: #6c757d;
    text-transform: capitalize;
}

.resource-dashboard-week-calendar .day-entries[b-2vkkxwkyhh] {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.35rem 0.5rem;
    align-items: center;
}

.resource-dashboard-week-calendar .day-entry[b-2vkkxwkyhh] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
    max-width: 100%;
}

.resource-dashboard-week-calendar .entry-text[b-2vkkxwkyhh] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 250px;
}

.resource-dashboard-week-calendar .entry-percent[b-2vkkxwkyhh] {
    background-color: rgba(0, 0, 0, 0.1);
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 600;
    flex-shrink: 0;
}

.resource-dashboard-week-calendar .no-entry[b-2vkkxwkyhh] {
    font-size: 0.85rem;
}

/* Tracking sheet en cours – grille et cartes */
.resource-dashboard-ts-grid[b-2vkkxwkyhh] {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.resource-dashboard-ts-card[b-2vkkxwkyhh] {
    cursor: pointer;
}

/* Bouton "Ouvrir la tracking sheet" : contraste garanti, visible en permanence */
.resource-dashboard-ts-open-btn[b-2vkkxwkyhh] {
    background-color: var(--bs-primary, #0d6efd);
    color: #fff;
    border: 1px solid var(--bs-primary, #0d6efd);
}

.resource-dashboard-ts-open-btn:hover[b-2vkkxwkyhh] {
    background-color: var(--bs-primary, #0b5ed7);
    color: #fff;
    border-color: var(--bs-primary, #0b5ed7);
}

/* Message accès non autorisé */
.resource-dashboard-container .alert[b-2vkkxwkyhh] {
    margin-bottom: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .dashboard-cards-row[b-2vkkxwkyhh] {
        justify-content: flex-start;
    }

    .month-stat-dashboard[b-2vkkxwkyhh] {
        min-width: 85px;
        max-width: 110px;
        min-height: 80px;
        padding: 0.6rem 0.75rem;
    }

    .month-stat-dashboard .stat-percent[b-2vkkxwkyhh] {
        font-size: 1.15rem;
    }

}
/* /Modules/BEProject/Pages/BETeams.razor.rz.scp.css */
.resource-management-wrapper[b-7xpimrlc8a] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.resource-management-container[b-7xpimrlc8a] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 120px);
}

.resource-list-pane[b-7xpimrlc8a] {
    width: 50%;
    min-width: 300px;
    border-right: 1px solid #dee2e6;
    overflow-y: auto;
    background-color: #f8f9fa;
}

.resource-detail-pane[b-7xpimrlc8a] {
    width: 50%;
    overflow-y: auto;
    background-color: #ffffff;
}

.resource-card[b-7xpimrlc8a] {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
}

.border-dashed[b-7xpimrlc8a] {
    border: 1px dashed #ced4da !important;
}

@media (max-width: 992px) {
    .resource-management-container[b-7xpimrlc8a] {
        flex-direction: column;
    }

    .resource-list-pane[b-7xpimrlc8a],
    .resource-detail-pane[b-7xpimrlc8a] {
        width: 100%;
        height: 50vh;
    }
}
/* /Modules/BEProject/Pages/BETimeSpent.razor.rz.scp.css */
/* Container principal */
.timespent-container[b-9apgpoyixc] {
    padding: 1rem;
}

/* En-tête : nom ressource (gauche) | période (centre) | taux d'occupation (droite) */
.timespent-header[b-9apgpoyixc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: #fff;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.timespent-header-center[b-9apgpoyixc] {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 200px;
}

.timespent-title[b-9apgpoyixc] {
    font-size: 1.35rem;
    font-weight: 600;
    color: #212529;
    margin: 0;
}

/* Bloc taux d'occupation (même ligne, plus gros) */
.timespent-occupation-block[b-9apgpoyixc] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.timespent-occupation-tag[b-9apgpoyixc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    font-size: 1.05rem;
}

.timespent-occupation-tag .occupation-label[b-9apgpoyixc] {
    color: #6c757d;
}

.timespent-occupation-tag .occupation-sep[b-9apgpoyixc] {
    opacity: 0.6;
    color: #6c757d;
}

.timespent-occupation-tag .occupation-value[b-9apgpoyixc] {
    font-weight: 600;
    color: #212529;
}

/* Carte carrée pour le taux d'occupation (plus gros) */
.occupation-rate-card[b-9apgpoyixc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    min-height: 100px;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.occupation-rate-card .occupation-rate-label[b-9apgpoyixc] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    opacity: 0.95;
    margin-bottom: 0.25rem;
}

.occupation-rate-card .occupation-rate-value[b-9apgpoyixc] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

/* Couleurs de la carte selon le taux (REGLES_TAUX_OCCUPATION) */
.occupation-rate-card.bg-danger[b-9apgpoyixc] {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    color: #fff;
}

.occupation-rate-card.bg-success[b-9apgpoyixc] {
    background: linear-gradient(135deg, #198754 0%, #157347 100%);
    color: #fff;
}

.occupation-rate-card.bg-warning[b-9apgpoyixc] {
    background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
    color: #212529;
}

.occupation-rate-card.bg-secondary[b-9apgpoyixc] {
    background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
    color: #fff;
}

/* Navigation du mois (dans l'en-tête, au centre) */
.month-navigation[b-9apgpoyixc] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0.35rem 0.75rem;
    margin: 0;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #dee2e6;
}

.month-label[b-9apgpoyixc] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #212529;
    min-width: 180px;
    text-align: center;
}

/* Conteneur du calendrier */
.calendar-container[b-9apgpoyixc] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    width: 100%;
}

/* En-têtes des jours */
.calendar-header[b-9apgpoyixc] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    background: linear-gradient(135deg, #495057 0%, #6c757d 100%);
    width: 100%;
}

.calendar-day-header[b-9apgpoyixc] {
    padding: 0.75rem;
    text-align: center;
    font-weight: 600;
    color: #fff;
    font-size: 0.9rem;
    width: 100%;
    box-sizing: border-box;
}

.calendar-day-header.weekend[b-9apgpoyixc] {
    background-color: rgba(0, 0, 0, 0.1);
}

/* Corps du calendrier */
.calendar-body[b-9apgpoyixc] {
    display: flex;
    flex-direction: column;
    background-color: #e9ecef;
    gap: 1px;
    width: 100%;
}

/* Ligne de semaine */
.calendar-week[b-9apgpoyixc] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    width: 100%;
}

/* Cellules du calendrier */
.calendar-cell[b-9apgpoyixc] {
    min-height: 100px;
    background: #fff;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    height: auto;
}

.calendar-cell.cell-empty[b-9apgpoyixc] {
    background: #f8f9fa;
}

.calendar-cell.cell-weekend[b-9apgpoyixc] {
    background: #f0f0f0;
}

.calendar-cell.cell-day:hover[b-9apgpoyixc] {
    background: #f8f9fa;
}

/* En-tête de cellule */
.cell-header[b-9apgpoyixc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.25rem;
}

.cell-header-buttons[b-9apgpoyixc] {
    display: flex;
    align-items: center;
    gap: 2px;
}

/* Numéro du jour */
.cell-day-number[b-9apgpoyixc] {
    font-weight: 600;
    font-size: 0.85rem;
    color: #495057;
}

.cell-weekend .cell-day-number[b-9apgpoyixc] {
    color: #6c757d;
}

/* Bouton d'ajout */
.btn-add-entry[b-9apgpoyixc],
.btn-copy-prev[b-9apgpoyixc] {
    background: none;
    border: none;
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6c757d;
    border-radius: 4px;
    transition: all 0.2s;
    opacity: 0;
}

.calendar-cell:hover .btn-add-entry[b-9apgpoyixc],
.calendar-cell:hover .btn-copy-prev[b-9apgpoyixc] {
    opacity: 1;
}

.btn-add-entry:hover[b-9apgpoyixc] {
    background: #e9ecef;
    color: #0d6efd;
}

.btn-add-entry i[b-9apgpoyixc] {
    font-size: 0.85rem;
    font-weight: bold;
}

.btn-copy-prev:hover[b-9apgpoyixc] {
    background: #e9ecef;
    color: #0d6efd;
}

/* Entrées dans la cellule */
.cell-entries[b-9apgpoyixc] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    overflow-y: auto;
    min-width: 0;
}

.cell-entry[b-9apgpoyixc] {
    padding: 0.3rem 0.5rem;
    border-radius: 4px;
    font-size: 0.7rem;
    color: #212529;
    cursor: pointer;
    transition: opacity 0.2s;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    position: relative;
}

.cell-entry:hover[b-9apgpoyixc] {
    opacity: 0.85;
}

/* Icône "non validé" sur une entrée de temps */
.entry-not-validated-icon[b-9apgpoyixc] {
    position: absolute;
    top: 6px;
    right: 10px;
    font-size: 0.85rem;
    color: #dc3545;
    opacity: 0.9;
    pointer-events: none;
    line-height: 1;
}

.entry-not-validated-icon i[b-9apgpoyixc] {
    font-size: inherit;
}

/* Style commun pour les lignes d'entrée */
.entry-lib[b-9apgpoyixc],
.entry-project[b-9apgpoyixc],
.entry-phase[b-9apgpoyixc],
.entry-activity[b-9apgpoyixc] {
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.entry-text[b-9apgpoyixc] {
    font-weight: 600;
}

/* Tag de pourcentage */
.entry-percent-tag[b-9apgpoyixc] {
    display: inline-block;
    margin-top: 0.25rem;
    padding: 0.15rem 0.4rem;
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.2;
}

/* Responsive */
@media (max-width: 992px) {
    .calendar-cell[b-9apgpoyixc] {
        min-height: 80px;
        padding: 0.35rem;
    }

    .cell-day-number[b-9apgpoyixc] {
        font-size: 0.75rem;
    }

    .cell-entry[b-9apgpoyixc] {
        font-size: 0.65rem;
        padding: 0.15rem 0.35rem;
    }
}

@media (max-width: 768px) {
    .month-navigation[b-9apgpoyixc] {
        gap: 0.75rem;
    }

    .month-label[b-9apgpoyixc] {
        font-size: 0.95rem;
        min-width: 140px;
    }

    .calendar-day-header[b-9apgpoyixc] {
        padding: 0.5rem 0.25rem;
        font-size: 0.75rem;
    }

    .calendar-cell[b-9apgpoyixc] {
        min-height: 60px;
        padding: 0.25rem;
    }

    .cell-day-number[b-9apgpoyixc] {
        font-size: 0.7rem;
    }

    .cell-entry[b-9apgpoyixc] {
        font-size: 0.6rem;
        padding: 0.1rem 0.25rem;
    }

    .btn-add-entry[b-9apgpoyixc],
    .btn-copy-prev[b-9apgpoyixc] {
        opacity: 1;
        width: 16px;
        height: 16px;
    }
}

/* /Modules/BEProject/Pages/BETimeSpentGlobal.razor.rz.scp.css */
/* ============================================
   BETimeSpentGlobal - Styles
   ============================================ */

/* Header : navigation mois à gauche, taux d'occupation global à droite */
.matrix-search-section-time-spent[b-gi1v5e64cb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.global-occupation-header[b-gi1v5e64cb] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    min-width: 120px;
}

.global-occupation-label[b-gi1v5e64cb] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.global-occupation-value[b-gi1v5e64cb] {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
}

.global-occupation-days[b-gi1v5e64cb] {
    font-size: 0.75rem;
    font-weight: 500;
    opacity: 0.85;
}

/* Container principal */
.time-spent-wrapper[b-gi1v5e64cb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.time-spent-container[b-gi1v5e64cb] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 180px);
}

/* Panneaux 50/50 */
.time-spent-list-pane[b-gi1v5e64cb] {
    width: 50%;
    min-width: 300px;
    border-right: 1px solid #dee2e6;
    overflow-y: auto;
    background-color: #f8f9fa;
}

.time-spent-detail-pane[b-gi1v5e64cb] {
    width: 50%;
    overflow-y: auto;
    background-color: #f8f9fa;
}

/* Uniformiser les headers gauche/droite */
.time-spent-list-pane .card-header[b-gi1v5e64cb],
.time-spent-detail-pane .card-header[b-gi1v5e64cb] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    min-height: 72px;
}

/* Card de la liste */
.resource-list-card[b-gi1v5e64cb] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-gi1v5e64cb] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

/* Recherche */
.search-container[b-gi1v5e64cb] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 250px;
    margin-right: 1rem;
}

.search-input[b-gi1v5e64cb] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-gi1v5e64cb] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-gi1v5e64cb] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-gi1v5e64cb] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-gi1v5e64cb] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Filtre statut/équipe */
.status-filter-container[b-gi1v5e64cb] {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.status-filter-select[b-gi1v5e64cb] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 150px;
}

.status-filter-select:focus[b-gi1v5e64cb] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-gi1v5e64cb] {
    background: #FCF1E6;
    color: #0073ea;
}

/* Liste des ressources */
.resource-items-list[b-gi1v5e64cb] {
    padding: 0;
}

.resource-item[b-gi1v5e64cb] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-gi1v5e64cb] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-gi1v5e64cb] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-gi1v5e64cb] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-gi1v5e64cb] {
    flex-grow: 1;
}

.resource-item .node-occupation[b-gi1v5e64cb] {
    display: flex;
    align-items: center;
    padding-left: 0.5rem;
}

/* Panel d'occupation dans la liste (même design que le header) */
.occupation-badge-panel[b-gi1v5e64cb] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.6rem;
    border-radius: 6px;
    white-space: nowrap;
}

.occupation-badge-label[b-gi1v5e64cb] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.occupation-badge-rate[b-gi1v5e64cb] {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
}

.occupation-badge-days[b-gi1v5e64cb] {
    font-size: 0.65rem;
    font-weight: 500;
    opacity: 0.85;
}

.resource-item .node-label[b-gi1v5e64cb] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-gi1v5e64cb] {
    font-size: 0.8rem;
}

/* Avatar avec initiales */
.resource-avatar[b-gi1v5e64cb] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    flex-shrink: 0;
}

/* Petit rond pour équipe et email */
.resource-dot[b-gi1v5e64cb] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #6c757d;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/* Bordure en pointillés pour le panneau vide */
.border-dashed[b-gi1v5e64cb] {
    border: 1px dashed #ced4da !important;
}

/* ============================================
   Calendrier en mode liste (une ligne par jour)
   ============================================ */

.calendar-list[b-gi1v5e64cb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.calendar-day-row[b-gi1v5e64cb] {
    display: flex;
    align-items: stretch;
    min-height: 36px;
    border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    transition: background-color 0.15s ease;
}

.calendar-day-row:hover[b-gi1v5e64cb] {
    background-color: #f8f9fa;
}

.calendar-day-row.weekend[b-gi1v5e64cb] {
    background-color: #f8f9fa;
    opacity: 0.7;
}

.calendar-day-row.has-entries[b-gi1v5e64cb] {
    border-left: 3px solid #0d6efd;
}

.day-info[b-gi1v5e64cb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 80px;
    padding: 0.5rem 0.75rem;
    border-right: 1px solid #e9ecef;
    background-color: #f8f9fa;
}

.day-number[b-gi1v5e64cb] {
    font-weight: 600;
    font-size: 0.95rem;
    min-width: 24px;
    text-align: right;
}

.day-name[b-gi1v5e64cb] {
    font-size: 0.8rem;
    color: #6c757d;
    text-transform: capitalize;
}

.day-entries[b-gi1v5e64cb] {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.35rem 0.5rem;
    align-items: center;
}

.day-entry[b-gi1v5e64cb] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
    max-width: 100%;
}

.entry-text[b-gi1v5e64cb] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 250px;
}

.entry-percent[b-gi1v5e64cb] {
    background-color: rgba(0, 0, 0, 0.1);
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 600;
    flex-shrink: 0;
}

.no-entry[b-gi1v5e64cb] {
    font-size: 0.85rem;
}

.btn-add-timespent-day[b-gi1v5e64cb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px dashed #adb5bd;
    border-radius: 4px;
    background-color: #f8f9fa;
    color: #6c757d;
    font-size: 1rem;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.btn-add-timespent-day:hover[b-gi1v5e64cb] {
    background-color: #e9ecef;
    border-color: #0d6efd;
    color: #0d6efd;
}

/* ============================================
   Indicateur de taux d'occupation
   ============================================ */

.occupation-indicator[b-gi1v5e64cb] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
}

.occupation-label[b-gi1v5e64cb] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.occupation-values[b-gi1v5e64cb] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.occupation-rate[b-gi1v5e64cb] {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
}

.occupation-days[b-gi1v5e64cb] {
    font-size: 0.75rem;
    font-weight: 500;
    opacity: 0.85;
}

/* Couleurs selon le taux : 0% gray, < 75% yellow, 75-100% green, > 100% red */
.occupation-gray[b-gi1v5e64cb] {
    background-color: rgba(108, 117, 125, 0.1);
    color: #6c757d;
}

.occupation-yellow[b-gi1v5e64cb] {
    background-color: rgba(255, 193, 7, 0.2);
    color: #856404;
}

.occupation-green[b-gi1v5e64cb] {
    background-color: rgba(25, 135, 84, 0.15);
    color: #198754;
}

.occupation-red[b-gi1v5e64cb] {
    background-color: rgba(220, 53, 69, 0.15);
    color: #dc3545;
}

/* Responsive */
@media (max-width: 992px) {
    .time-spent-container[b-gi1v5e64cb] {
        flex-direction: column;
    }

    .time-spent-list-pane[b-gi1v5e64cb],
    .time-spent-detail-pane[b-gi1v5e64cb] {
        width: 100%;
        height: 50vh;
    }

    .entry-text[b-gi1v5e64cb] {
        max-width: 150px;
    }
}

/* Entrée cliquable pour ouvrir le détail */
.day-entry.clickable[b-gi1v5e64cb] {
    cursor: pointer;
}

.day-entry.clickable:hover[b-gi1v5e64cb] {
    opacity: 0.9;
    filter: brightness(0.98);
}

/* ==================== */
/* Popup détail entrée  */
/* ==================== */

.entry-detail-modal[b-gi1v5e64cb] {
    padding: 0.5rem 0;
}

.entry-detail-modal .entry-form-fields[b-gi1v5e64cb] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.entry-detail-modal .form-field-row[b-gi1v5e64cb] {
    width: 100%;
}

.entry-detail-modal .form-label[b-gi1v5e64cb] {
    font-weight: 600;
    font-size: 0.875rem;
    color: #495057;
    margin-bottom: 0.35rem;
    display: block;
}

.entry-detail-modal .detail-value[b-gi1v5e64cb] {
    font-size: 0.95rem;
    color: #212529;
    min-height: 1.5rem;
}

.entry-detail-modal .project-info-section[b-gi1v5e64cb] {
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 8px;
}

.entry-detail-modal .selected-project-info[b-gi1v5e64cb] {
    background: #fff;
    padding: 0.75rem;
    border-radius: 6px;
    border: 1px solid #dee2e6;
}

.entry-detail-modal .selected-project-info .info-line[b-gi1v5e64cb] {
    font-size: 0.85rem;
    color: #495057;
    margin-bottom: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.entry-detail-modal .selected-project-info .info-line i[b-gi1v5e64cb] {
    color: #6c757d;
    width: 16px;
}

.entry-detail-modal .selected-project-info .info-line strong[b-gi1v5e64cb] {
    color: #212529;
}

.entry-detail-modal .selected-project-info .phase-highlight[b-gi1v5e64cb] {
    background: #e7f1ff;
    padding: 0.5rem;
    border-radius: 4px;
    margin-top: 0.5rem;
}

.entry-detail-modal .selected-project-info .phase-highlight i[b-gi1v5e64cb] {
    color: #0d6efd;
}

/* ============================================
   Menu « Outils » : actions transverses
   (export saisies sans phase, etc.)
   ============================================ */
.ts-tools-wrapper[b-gi1v5e64cb] {
    position: relative;
    display: inline-block;
}

/* Badge orange affiché en haut à droite du bouton « Outils » lorsqu'il existe
   des saisies sans phase à corriger dans l'historique. */
.ts-tools-badge[b-gi1v5e64cb] {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: #e67e22;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 0 0 2px #fff;
    pointer-events: none;
}

/* Overlay transparent : capture les clics « hors menu » pour le refermer. */
.ts-tools-overlay[b-gi1v5e64cb] {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: transparent;
}

/* Menu déroulant lui-même */
.ts-tools-menu[b-gi1v5e64cb] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1000;
    min-width: 280px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    padding: 4px;
}

.ts-tools-menu-item[b-gi1v5e64cb] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 0.875rem;
    border-radius: 4px;
    cursor: pointer;
    color: #212529;
}

.ts-tools-menu-item:hover:not([disabled])[b-gi1v5e64cb] {
    background: #f1f3f5;
}

.ts-tools-menu-item[disabled][b-gi1v5e64cb] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Mini badge à droite de l'item de menu (rappel du nombre d'orphelins) */
.ts-tools-menu-badge[b-gi1v5e64cb] {
    margin-left: auto;
    background: #e67e22;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
}
/* /Modules/BEProject/Pages/BETrackingSheets.razor.rz.scp.css */
/* Montant en retard (facture échue, statut 80) */
.tracking-sheet-amount-overdue[b-skh2lw7adb] {
    background-color: #f97316;
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 500;
}

/* Popup deux colonnes : gauche Feuille de suivi, droite Facturation */
.tracking-sheet-modal-two-cols .mf-modal-body[b-skh2lw7adb] {
    min-height: 320px;
}

/* Popup trois colonnes : Feuille de suivi | Facturation | Validations phase */
.tracking-sheet-modal-three-cols .mf-modal-body[b-skh2lw7adb] {
    min-height: 360px;
}

.tracking-sheet-modal-grid[b-skh2lw7adb] {
    display: grid;
    grid-template-columns: 1fr 380px 300px;
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 1200px) {
    .tracking-sheet-modal-grid[b-skh2lw7adb] {
        grid-template-columns: 1fr 380px;
    }
}

@media (max-width: 768px) {
    .tracking-sheet-modal-grid[b-skh2lw7adb] {
        grid-template-columns: 1fr;
    }
}

/* Bloc liste des validations de la phase (cards) */
.tracking-sheet-validations-block[b-skh2lw7adb] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    background-color: var(--bs-light, #f8f9fa);
    border-radius: 8px;
    border: 1px solid var(--bs-border-color, #dee2e6);
}

.tracking-sheet-validations-list[b-skh2lw7adb] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-y: auto;
    max-height: 420px;
}

.tracking-sheet-validation-card[b-skh2lw7adb] {
    background: #fff;
    border-radius: 6px;
    border: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.075));
    padding: 0.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.tracking-sheet-validation-card-current[b-skh2lw7adb] {
    border-color: var(--bs-primary, #0d6efd);
    border-width: 2px;
    background: var(--bs-primary-bg-subtle, #cfe2ff);
}

.tracking-sheet-validation-card-header[b-skh2lw7adb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}

.tracking-sheet-validation-card-title[b-skh2lw7adb] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--bs-body-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.tracking-sheet-validation-card-body[b-skh2lw7adb] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.tracking-sheet-validation-card-row[b-skh2lw7adb] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.8rem;
}

.tracking-sheet-validation-card-row .label[b-skh2lw7adb] {
    color: var(--bs-secondary-color, #6c757d);
    flex-shrink: 0;
}

.tracking-sheet-validation-card-row .value[b-skh2lw7adb] {
    font-weight: 500;
    text-align: right;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tracking-sheet-billing-block[b-skh2lw7adb] {
    padding: 1rem;
    background-color: var(--bs-light, #f8f9fa);
    border-radius: 8px;
    border: 1px solid var(--bs-border-color, #dee2e6);
}

.tracking-sheet-billing-fields[b-skh2lw7adb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

.tracking-sheet-billing-field[b-skh2lw7adb] {
    min-width: 0;
}


.tracking-sheet-billing-field-full[b-skh2lw7adb] {
    grid-column: 1 / -1;
}

.tracking-sheet-billing-actions[b-skh2lw7adb] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.tracking-sheet-form-block[b-skh2lw7adb] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.tracking-sheet-workflow-status-readonly[b-skh2lw7adb] {
    padding: 0.35rem 0.5rem;
    background-color: var(--bs-light, #f8f9fa);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 4px;
    font-weight: 500;
    color: var(--bs-body-color);
}

.tracking-sheet-validation-response-actions[b-skh2lw7adb] {
    margin-top: 0.75rem;
    margin-bottom: 0.25rem;
}

.tracking-sheet-form-actions[b-skh2lw7adb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
}

/* Popup sélection facture : lignes cliquables */
.invoice-selector-table tbody tr.cursor-pointer[b-skh2lw7adb] {
    cursor: pointer;
}

.invoice-selector-table tbody tr.cursor-pointer:hover td[b-skh2lw7adb] {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
}
/* /Modules/CustomerManagement/Components/ContactDetail/ContactDetail.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   ContactDetail – Panneau de détail du contact
   ══════════════════════════════════════════════════════════════ */

.contact-detail[b-9v91fu03ur] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   En-tête du détail (synchronisé avec le header de la liste)
   ────────────────────────────────────────────────── */

.contact-detail-header[b-9v91fu03ur] {
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    flex-shrink: 0;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.contact-detail-header h6[b-9v91fu03ur] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.contact-detail-header-actions[b-9v91fu03ur] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.contact-detail-header-actions .badge[b-9v91fu03ur] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

.contact-delete-btn[b-9v91fu03ur] {
    color: #6c757d;
    transition: color 0.2s ease;
}

.contact-delete-btn:hover:not(:disabled)[b-9v91fu03ur] {
    color: #dc3545;
}

.contact-delete-btn:disabled[b-9v91fu03ur] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Liste des références bloquantes (modal suppression) */
.contact-ref-list[b-9v91fu03ur] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    max-height: 240px;
    overflow-y: auto;
}

.contact-ref-item[b-9v91fu03ur] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
}

.contact-ref-item:last-child[b-9v91fu03ur] {
    border-bottom: none;
}

.contact-ref-item:hover[b-9v91fu03ur] {
    background: #f0f4f8;
}

.phasing-header-min-h[b-9v91fu03ur] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Icône type dans le header */
.contact-detail-type-icon[b-9v91fu03ur] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 8px;
    font-size: 1.1rem;
    background-color: #e8f0fe;
    color: #1a73e8;
}

.contact-detail-type-icon.contact-detail-type-new[b-9v91fu03ur] {
    background-color: #d4edda;
    color: #155724;
}

/* ──────────────────────────────────────────────────
   Onglets : ne pas réduire
   ────────────────────────────────────────────────── */

[b-9v91fu03ur] .matrix-tabs {
    flex-shrink: 0;
}

/* ──────────────────────────────────────────────────
   Contenu des onglets : prend toute la hauteur restante
   ────────────────────────────────────────────────── */

.contact-detail-content[b-9v91fu03ur] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.contact-detail-content .matrix-tab-content[b-9v91fu03ur] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
/* /Modules/CustomerManagement/Components/ContactDetail/ContactGeneralInfo.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   ContactGeneralInfo – Formulaire d'informations générales
   ══════════════════════════════════════════════════════════════ */

.contact-general-wrapper[b-cs5imchp66] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   Zone scrollable : contenu du formulaire
   ────────────────────────────────────────────────── */

.contact-general-scrollable[b-cs5imchp66] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 1rem 1.25rem;
    padding-bottom: 0.5rem;
}

/* ──────────────────────────────────────────────────
   Sticky bar : boutons d'action en bas de l'écran
   ────────────────────────────────────────────────── */

.contact-general-stickybar[b-cs5imchp66] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

/* ──────────────────────────────────────────────────
   Séparateur de section
   ────────────────────────────────────────────────── */

.contact-form-separator[b-cs5imchp66] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    margin: 0.5rem 0 0.15rem 0;
    background-color: #2C3E50;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: 4px;
    grid-column: 1 / -1;
}

.contact-form-separator i[b-cs5imchp66] {
    font-size: 0.85rem;
    opacity: 0.85;
}

/* ──────────────────────────────────────────────────
   Métadonnées (historique, lecture seule)
   ────────────────────────────────────────────────── */

.contact-metadata[b-cs5imchp66] {
    padding: 0.5rem 0;
    grid-column: 1 / -1;
}

/* ──────────────────────────────────────────────────
   field-span-full : occuper toute la largeur de la grille
   ────────────────────────────────────────────────── */

.field-span-full[b-cs5imchp66] {
    grid-column: 1 / -1;
}
/* /Modules/CustomerManagement/Components/ContactDetail/ContactLinkedCustomers.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   ContactLinkedCustomers – Comptes liés au contact
   Styles partagés avec CustomerLinkedContacts (pattern linked-items)
   ══════════════════════════════════════════════════════════════ */

.linked-items-wrapper[b-oeu9f8hmfu] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.linked-items-toolbar[b-oeu9f8hmfu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

.linked-items-count[b-oeu9f8hmfu] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
}

.linked-items-search[b-oeu9f8hmfu] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    max-width: 200px;
}

.linked-items-search i[b-oeu9f8hmfu] {
    color: #6c757d;
    font-size: 0.85rem;
}

.linked-items-search input[b-oeu9f8hmfu] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.linked-items-search:focus-within[b-oeu9f8hmfu] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.1);
}

.btn-icon-only[b-oeu9f8hmfu] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-oeu9f8hmfu] {
    color: #0d6efd;
}

/* Tableau */
.linked-items-table-wrapper[b-oeu9f8hmfu] {
    flex: 1;
    overflow-y: auto;
    overflow-x: auto;
    min-height: 0;
}

.linked-items-table[b-oeu9f8hmfu] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.linked-items-table thead[b-oeu9f8hmfu] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.linked-items-table thead tr[b-oeu9f8hmfu] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.linked-items-table th[b-oeu9f8hmfu] {
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
    background-color: #f8f9fa;
}

.th-sort-btn[b-oeu9f8hmfu] {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.15s;
}

.th-sort-btn:hover[b-oeu9f8hmfu] {
    color: #0d6efd;
}

.linked-items-table td[b-oeu9f8hmfu] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #212529;
    vertical-align: middle;
}

.linked-item-row[b-oeu9f8hmfu] {
    transition: background-color 0.15s;
}

.linked-item-row:hover[b-oeu9f8hmfu] {
    background-color: #f0f4f8;
}

.col-name[b-oeu9f8hmfu] {
    min-width: 160px;
}

.col-city[b-oeu9f8hmfu],
.col-country[b-oeu9f8hmfu] {
    min-width: 100px;
    white-space: nowrap;
}

.col-phone[b-oeu9f8hmfu] {
    min-width: 110px;
    white-space: nowrap;
}

.col-email[b-oeu9f8hmfu] {
    min-width: 150px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.linked-item-link[b-oeu9f8hmfu] {
    font-weight: 600;
    color: #0d6efd;
}

.col-actions[b-oeu9f8hmfu] {
    width: 72px;
    white-space: nowrap;
    vertical-align: middle;
}

/*
 * Même bouton que « Supprimer le contact » (ContactDetail header) :
 * classes btn-icon-only + contact-delete-btn + icône bi-trash fs-5
 * Spécificité > .btn-icon-only:hover (bleu) pour garder gris → rouge au survol
 */
.linked-items-wrapper .btn-icon-only.contact-delete-btn[b-oeu9f8hmfu] {
    color: #6c757d;
    transition: color 0.2s ease;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn i[b-oeu9f8hmfu] {
    color: inherit;
    display: inline-block;
    vertical-align: middle;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn:hover:not(:disabled)[b-oeu9f8hmfu] {
    color: #dc3545;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn:disabled[b-oeu9f8hmfu] {
    opacity: 0.5;
    cursor: not-allowed;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn:focus-visible[b-oeu9f8hmfu] {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* Modale : liste d'erreurs de validation */
.create-validation-list[b-oeu9f8hmfu] {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0;
}

.create-validation-list li[b-oeu9f8hmfu] {
    padding: 0.4rem 0;
    font-size: 0.88rem;
    color: #495057;
    border-bottom: 1px solid #f0f0f0;
}

.create-validation-list li:last-child[b-oeu9f8hmfu] {
    border-bottom: none;
}

/* Modale : aperçu du compte à créer */
.create-preview[b-oeu9f8hmfu] {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.75rem 1rem;
    margin-top: 0.5rem;
}

.create-preview-row[b-oeu9f8hmfu] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.3rem 0;
    font-size: 0.88rem;
}

.create-preview-row + .create-preview-row[b-oeu9f8hmfu] {
    border-top: 1px solid #e9ecef;
}

.create-preview-label[b-oeu9f8hmfu] {
    color: #6c757d;
    font-weight: 500;
    flex-shrink: 0;
    margin-right: 1rem;
}

.create-preview-value[b-oeu9f8hmfu] {
    color: #212529;
    font-weight: 600;
    text-align: right;
    word-break: break-word;
}

@media (max-width: 768px) {
    .linked-items-toolbar[b-oeu9f8hmfu] {
        flex-direction: column;
        align-items: stretch;
    }

    .linked-items-search[b-oeu9f8hmfu] {
        max-width: 100%;
    }

    .create-preview-row[b-oeu9f8hmfu] {
        flex-direction: column;
        gap: 0.15rem;
    }

    .create-preview-value[b-oeu9f8hmfu] {
        text-align: left;
    }
}
/* /Modules/CustomerManagement/Components/ContactList/ContactList.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   ContactList – Layout à 2 panneaux (liste + détail)
   Basé sur le pattern CustomerList, adapté pour les contacts
   ══════════════════════════════════════════════════════════════ */

/* Container principal */
.contact-list-wrapper[b-45ikzk02mv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    align-self: flex-start;
    min-height: 0;
}

.contact-list-container[b-45ikzk02mv] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 0;
}

/* ──────────────────────────────────────────────────
   Panneau gauche : Liste des contacts (40%)
   ────────────────────────────────────────────────── */

.contact-list-pane[b-45ikzk02mv] {
    flex: 0 0 40%;
    max-width: 40%;
    min-width: 0;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.contact-list-card[b-45ikzk02mv] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.contact-list-card .phasing-card-body.scroll-auto[b-45ikzk02mv] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
}

.contact-list-card .phasing-card-body .text-center p[b-45ikzk02mv],
.contact-list-card .phasing-card-body .text-center .btn-link[b-45ikzk02mv] {
    font-size: 1rem;
}

/* En-tête de la liste */
.contact-list-card .card-header.contact-list-card-header[b-45ikzk02mv] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

/* ──────────────────────────────────────────────────
   Recherche
   ────────────────────────────────────────────────── */

.search-container[b-45ikzk02mv] {
    display: flex;
    align-items: center;
    min-width: 150px;
    max-width: 180px;
}

.search-input[b-45ikzk02mv] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex: 1;
    width: 100%;
}

.search-input:focus[b-45ikzk02mv] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-45ikzk02mv] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.4rem 0.6rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 1rem;
}

.search-btn:hover:not(:disabled)[b-45ikzk02mv] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-45ikzk02mv] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* ──────────────────────────────────────────────────
   Dropdown Options
   ────────────────────────────────────────────────── */

.contact-dropdown-backdrop[b-45ikzk02mv] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

.contact-options-group[b-45ikzk02mv] {
    position: relative;
    z-index: 1001;
}

.contact-options-group .dropdown-toggle[b-45ikzk02mv] {
    font-size: 0.85rem;
    padding: 0.35rem 0.65rem;
    border-color: #dee2e6;
    color: #495057;
    background: #ffffff;
    transition: all 0.2s ease;
}

.contact-options-group .dropdown-toggle:hover[b-45ikzk02mv],
.contact-options-group .dropdown-toggle.show[b-45ikzk02mv] {
    background: #FCF1E6;
    color: #0073ea;
    border-color: #e1e5e9;
}

.contact-options-group .dropdown-menu[b-45ikzk02mv] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    padding: 0.35rem 0;
    min-width: 220px;
}

.contact-options-group .dropdown-item[b-45ikzk02mv] {
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
    color: #212529;
    transition: all 0.15s ease;
}

.contact-options-group .dropdown-item:hover[b-45ikzk02mv] {
    background-color: #f0f4f8;
    color: #0073ea;
}

.contact-options-group .dropdown-item i[b-45ikzk02mv] {
    font-size: 1rem;
}

/* ──────────────────────────────────────────────────
   Boutons icône
   ────────────────────────────────────────────────── */

.btn-icon-only[b-45ikzk02mv] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-45ikzk02mv] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-45ikzk02mv] {
    outline: none;
    box-shadow: none;
}

/* ──────────────────────────────────────────────────
   Liste des contacts
   ────────────────────────────────────────────────── */

.contact-items-list[b-45ikzk02mv] {
    padding: 0;
}

.contact-item[b-45ikzk02mv] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.contact-item:hover[b-45ikzk02mv] {
    background-color: #e9ecef;
}

.contact-item.is-selected[b-45ikzk02mv] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.contact-line[b-45ikzk02mv] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

/* Contenu du contact */
.contact-content[b-45ikzk02mv] {
    flex-grow: 1;
    min-width: 0;
}

.contact-header[b-45ikzk02mv] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.contact-name[b-45ikzk02mv] {
    font-weight: 600;
    color: #1a1d21;
    font-size: 0.95rem;
    flex: 1 1 0%;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.contact-function[b-45ikzk02mv] {
    font-size: 0.875rem;
    color: #343a40;
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.contact-meta[b-45ikzk02mv] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.contact-location[b-45ikzk02mv],
.contact-email[b-45ikzk02mv],
.contact-phone[b-45ikzk02mv],
.contact-language[b-45ikzk02mv],
.contact-date[b-45ikzk02mv] {
    display: inline-flex;
    align-items: center;
}

/* ──────────────────────────────────────────────────
   Icone type de contact (à gauche du contenu)
   ────────────────────────────────────────────────── */

.contact-type-icon[b-45ikzk02mv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 6px;
    font-size: 1rem;
    margin-top: 2px;
}

.contact-type-icon.contact-type-person[b-45ikzk02mv] {
    background-color: #e8f0fe;
    color: #1a73e8;
}

/* ──────────────────────────────────────────────────
   Badges (colonne droite)
   ────────────────────────────────────────────────── */

.contact-badges[b-45ikzk02mv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-end;
    min-width: 80px;
}

.contact-badges .badge[b-45ikzk02mv] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

/* ──────────────────────────────────────────────────
   Panneau droit : Détail du contact (60%)
   ────────────────────────────────────────────────── */

.contact-detail-pane[b-45ikzk02mv] {
    flex: 0 0 60%;
    max-width: 60%;
    min-width: 0;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.contact-empty-state[b-45ikzk02mv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.contact-empty-state p[b-45ikzk02mv] {
    font-size: 1.1rem;
}

.contact-empty-state .bi[b-45ikzk02mv] {
    font-size: 3rem;
}

/* ══════════════════════════════════════════════════════════════
   Responsive
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 1200px) {
    .contact-list-pane[b-45ikzk02mv] {
        flex: 0 0 45%;
        max-width: 45%;
    }

    .contact-detail-pane[b-45ikzk02mv] {
        flex: 0 0 55%;
        max-width: 55%;
    }
}

@media (max-width: 992px) {
    .contact-list-container[b-45ikzk02mv] {
        flex-direction: column;
    }

    .contact-list-pane[b-45ikzk02mv] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
        height: 50vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .contact-detail-pane[b-45ikzk02mv] {
        flex: 1 1 auto;
        max-width: 100%;
        height: 50vh;
        min-height: 200px;
    }

    .search-container[b-45ikzk02mv] {
        min-width: 120px;
        max-width: 150px;
    }
}

@media (max-width: 768px) {
    .contact-list-card .card-header[b-45ikzk02mv] {
        padding: 0.75rem;
    }

    .contact-item[b-45ikzk02mv] {
        padding: 0.5rem 0.75rem;
    }

    .contact-badges[b-45ikzk02mv] {
        flex-direction: row;
        min-width: auto;
    }
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerDetail.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerDetail – Panneau de détail du compte
   ══════════════════════════════════════════════════════════════ */

.customer-detail[b-pyd805z2lx] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   En-tête du détail (synchronisé avec le header de la liste)
   ────────────────────────────────────────────────── */

.customer-detail-header[b-pyd805z2lx] {
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    flex-shrink: 0;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.customer-detail-header h6[b-pyd805z2lx] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.customer-detail-header-actions[b-pyd805z2lx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.customer-detail-header-actions .badge[b-pyd805z2lx] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

.customer-delete-btn[b-pyd805z2lx] {
    color: #6c757d;
    transition: color 0.2s ease;
}

.customer-delete-btn:hover:not(:disabled)[b-pyd805z2lx] {
    color: #dc3545;
}

.customer-delete-btn:disabled[b-pyd805z2lx] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Liste des références bloquantes (modal suppression) */
.customer-ref-list[b-pyd805z2lx] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    max-height: 240px;
    overflow-y: auto;
}

.customer-ref-item[b-pyd805z2lx] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
}

.customer-ref-item:last-child[b-pyd805z2lx] {
    border-bottom: none;
}

.phasing-header-min-h[b-pyd805z2lx] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Icône type dans le header */
.customer-detail-type-icon[b-pyd805z2lx] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 8px;
    font-size: 1.1rem;
}

.customer-detail-type-trade[b-pyd805z2lx] {
    background-color: #e8f4fd;
    color: #0c5ea8;
}

.customer-detail-type-private[b-pyd805z2lx] {
    background-color: #fdf2e9;
    color: #a8600c;
}

.customer-detail-type-new[b-pyd805z2lx] {
    background-color: #d4edda;
    color: #155724;
}

.customer-detail-type-other[b-pyd805z2lx] {
    background-color: #e9ecef;
    color: #495057;
}

/* ──────────────────────────────────────────────────
   Onglets : ne pas réduire
   ────────────────────────────────────────────────── */

[b-pyd805z2lx] .matrix-tabs {
    flex-shrink: 0;
}

/* ──────────────────────────────────────────────────
   Contenu des onglets : prend toute la hauteur restante
   Le scroll est géré par chaque composant enfant
   ────────────────────────────────────────────────── */

.customer-detail-content[b-pyd805z2lx] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.customer-detail-content .matrix-tab-content[b-pyd805z2lx] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerGeneralInfo.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerGeneralInfo – Formulaire d'informations générales
   ══════════════════════════════════════════════════════════════ */

/* Container principal : flex column, prend 100% de la hauteur disponible */
.customer-general-wrapper[b-eqwvpmshfy] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   Zone scrollable : contenu du formulaire
   ────────────────────────────────────────────────── */

.customer-general-scrollable[b-eqwvpmshfy] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 1rem 1.25rem;
    padding-bottom: 0.5rem;
}

/* ──────────────────────────────────────────────────
   Sticky bar : boutons d'action en bas de l'écran
   ────────────────────────────────────────────────── */

.customer-general-stickybar[b-eqwvpmshfy] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

/* ──────────────────────────────────────────────────
   Séparateur de section (barre pleine colorée)
   Inspiré du pattern bg-group1 de l'ancienne app VB.NET
   ────────────────────────────────────────────────── */

.customer-form-separator[b-eqwvpmshfy] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    margin: 0.5rem 0 0.15rem 0;
    background-color: #2C3E50;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: 4px;
    grid-column: 1 / -1;
}

.customer-form-separator i[b-eqwvpmshfy] {
    font-size: 0.85rem;
    opacity: 0.85;
}

/* ──────────────────────────────────────────────────
   Métadonnées (historique, lecture seule)
   ────────────────────────────────────────────────── */

.customer-metadata[b-eqwvpmshfy] {
    padding: 0.5rem 0;
    grid-column: 1 / -1;
}

/* ──────────────────────────────────────────────────
   field-span-full : occuper toute la largeur de la grille
   ────────────────────────────────────────────────── */

.field-span-full[b-eqwvpmshfy] {
    grid-column: 1 / -1;
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerInvoices.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerInvoices – Liste des factures du compte
   ══════════════════════════════════════════════════════════════ */

.customer-invoices-wrapper[b-926igzy6sl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   Barre d'outils (compteur + recherche)
   ────────────────────────────────────────────────── */

.customer-invoices-toolbar[b-926igzy6sl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

.customer-invoices-count[b-926igzy6sl] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
}

.customer-invoices-total[b-926igzy6sl] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #198754;
    padding: 0.15rem 0.5rem;
    background-color: #e8f5e9;
    border-radius: 4px;
}

.customer-invoices-search[b-926igzy6sl] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    max-width: 200px;
}

.customer-invoices-search i[b-926igzy6sl] {
    color: #6c757d;
    font-size: 0.85rem;
}

.customer-invoices-search input[b-926igzy6sl] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.customer-invoices-search:focus-within[b-926igzy6sl] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.1);
}

.btn-icon-only[b-926igzy6sl] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-926igzy6sl] {
    color: #0d6efd;
}

/* ──────────────────────────────────────────────────
   Tableau des factures
   ────────────────────────────────────────────────── */

.customer-invoices-table-wrapper[b-926igzy6sl] {
    flex: 1;
    overflow-y: auto;
    overflow-x: auto;
    min-height: 0;
}

.customer-invoices-table[b-926igzy6sl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.customer-invoices-table thead[b-926igzy6sl] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.customer-invoices-table thead tr[b-926igzy6sl] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.customer-invoices-table th[b-926igzy6sl] {
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
    background-color: #f8f9fa;
}

.th-sort-btn[b-926igzy6sl] {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.15s;
}

.th-sort-btn:hover[b-926igzy6sl] {
    color: #0d6efd;
}

.customer-invoices-table td[b-926igzy6sl] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #212529;
    vertical-align: middle;
}

.customer-invoice-row[b-926igzy6sl] {
    transition: background-color 0.15s;
}

.customer-invoice-row:hover[b-926igzy6sl] {
    background-color: #f0f4f8;
}

.col-docno[b-926igzy6sl] {
    min-width: 120px;
}

.col-date[b-926igzy6sl],
.col-echeance[b-926igzy6sl] {
    min-width: 110px;
    white-space: nowrap;
}

.col-status[b-926igzy6sl] {
    min-width: 90px;
}

.col-total[b-926igzy6sl] {
    min-width: 90px;
    text-align: right !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.col-note[b-926igzy6sl] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6c757d;
    font-size: 0.82rem;
}

.invoice-docno[b-926igzy6sl] {
    font-weight: 600;
    color: #0d6efd;
}

.invoice-status-badge[b-926igzy6sl] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    background-color: #6B7280;
    color: #ffffff;
    border-radius: 4px;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .customer-invoices-toolbar[b-926igzy6sl] {
        flex-direction: column;
        align-items: stretch;
    }

    .customer-invoices-search[b-926igzy6sl] {
        max-width: 100%;
    }
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerLinkedContacts.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerLinkedContacts – Contacts liés au compte
   Styles partagés (pattern linked-items)
   ══════════════════════════════════════════════════════════════ */

.linked-items-wrapper[b-0lc6hi8o4j] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.linked-items-toolbar[b-0lc6hi8o4j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

.linked-items-count[b-0lc6hi8o4j] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
}

.linked-items-search[b-0lc6hi8o4j] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    max-width: 200px;
}

.linked-items-search i[b-0lc6hi8o4j] {
    color: #6c757d;
    font-size: 0.85rem;
}

.linked-items-search input[b-0lc6hi8o4j] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.linked-items-search:focus-within[b-0lc6hi8o4j] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.1);
}

.btn-icon-only[b-0lc6hi8o4j] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-0lc6hi8o4j] {
    color: #0d6efd;
}

.linked-items-table-wrapper[b-0lc6hi8o4j] {
    flex: 1;
    overflow-y: auto;
    overflow-x: auto;
    min-height: 0;
}

.linked-items-table[b-0lc6hi8o4j] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.linked-items-table thead[b-0lc6hi8o4j] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.linked-items-table thead tr[b-0lc6hi8o4j] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.linked-items-table th[b-0lc6hi8o4j] {
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
    background-color: #f8f9fa;
}

.th-sort-btn[b-0lc6hi8o4j] {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.15s;
}

.th-sort-btn:hover[b-0lc6hi8o4j] {
    color: #0d6efd;
}

.linked-items-table td[b-0lc6hi8o4j] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #212529;
    vertical-align: middle;
}

.linked-item-row[b-0lc6hi8o4j] {
    transition: background-color 0.15s;
}

.linked-item-row:hover[b-0lc6hi8o4j] {
    background-color: #f0f4f8;
}

.col-name[b-0lc6hi8o4j] {
    min-width: 160px;
}

.col-function[b-0lc6hi8o4j] {
    min-width: 120px;
    color: #6c757d;
}

.col-city[b-0lc6hi8o4j],
.col-country[b-0lc6hi8o4j] {
    min-width: 100px;
    white-space: nowrap;
}

.col-phone[b-0lc6hi8o4j] {
    min-width: 110px;
    white-space: nowrap;
}

.col-email[b-0lc6hi8o4j] {
    min-width: 150px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.col-vip[b-0lc6hi8o4j] {
    min-width: 60px;
    text-align: center;
}

.linked-item-link[b-0lc6hi8o4j] {
    font-weight: 600;
    color: #0d6efd;
}

.col-actions[b-0lc6hi8o4j] {
    width: 72px;
    white-space: nowrap;
    vertical-align: middle;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn[b-0lc6hi8o4j] {
    color: #6c757d;
    transition: color 0.2s ease;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn i[b-0lc6hi8o4j] {
    color: inherit;
    display: inline-block;
    vertical-align: middle;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn:hover:not(:disabled)[b-0lc6hi8o4j] {
    color: #dc3545;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn:disabled[b-0lc6hi8o4j] {
    opacity: 0.5;
    cursor: not-allowed;
}

.linked-items-wrapper .btn-icon-only.contact-delete-btn:focus-visible[b-0lc6hi8o4j] {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

@media (max-width: 768px) {
    .linked-items-toolbar[b-0lc6hi8o4j] {
        flex-direction: column;
        align-items: stretch;
    }

    .linked-items-search[b-0lc6hi8o4j] {
        max-width: 100%;
    }
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerOrders.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerOrders – Liste des commandes du compte
   ══════════════════════════════════════════════════════════════ */

.customer-orders-wrapper[b-nb7awflgsp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   Barre d'outils (compteur + recherche)
   ────────────────────────────────────────────────── */

.customer-orders-toolbar[b-nb7awflgsp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

.customer-orders-count[b-nb7awflgsp] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
}

.customer-orders-total[b-nb7awflgsp] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #198754;
    padding: 0.15rem 0.5rem;
    background-color: #e8f5e9;
    border-radius: 4px;
}

.customer-orders-search[b-nb7awflgsp] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    max-width: 200px;
}

.customer-orders-search i[b-nb7awflgsp] {
    color: #6c757d;
    font-size: 0.85rem;
}

.customer-orders-search input[b-nb7awflgsp] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.customer-orders-search:focus-within[b-nb7awflgsp] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.1);
}

/* ──────────────────────────────────────────────────
   Bouton icône (actualiser)
   ────────────────────────────────────────────────── */

.btn-icon-only[b-nb7awflgsp] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-nb7awflgsp] {
    color: #0d6efd;
}

/* ──────────────────────────────────────────────────
   Tableau des commandes
   ────────────────────────────────────────────────── */

.customer-orders-table-wrapper[b-nb7awflgsp] {
    flex: 1;
    overflow-y: auto;
    overflow-x: auto;
    min-height: 0;
}

.customer-orders-table[b-nb7awflgsp] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

/* En-têtes */
.customer-orders-table thead[b-nb7awflgsp] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.customer-orders-table thead tr[b-nb7awflgsp] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.customer-orders-table th[b-nb7awflgsp] {
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
    background-color: #f8f9fa;
}

.th-sort-btn[b-nb7awflgsp] {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.15s;
}

.th-sort-btn:hover[b-nb7awflgsp] {
    color: #0d6efd;
}

/* Cellules */
.customer-orders-table td[b-nb7awflgsp] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #212529;
    vertical-align: middle;
}

/* Lignes */
.customer-order-row[b-nb7awflgsp] {
    transition: background-color 0.15s;
}

.customer-order-row:hover[b-nb7awflgsp] {
    background-color: #f0f4f8;
}

/* Colonnes */
.col-docno[b-nb7awflgsp] {
    min-width: 120px;
}

.col-date[b-nb7awflgsp],
.col-delivery[b-nb7awflgsp] {
    min-width: 110px;
    white-space: nowrap;
}

.col-status[b-nb7awflgsp] {
    min-width: 90px;
}

.col-total[b-nb7awflgsp] {
    min-width: 90px;
    text-align: right !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.col-note[b-nb7awflgsp] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6c757d;
    font-size: 0.82rem;
}

/* Numéro de commande */
.order-docno-link[b-nb7awflgsp] {
    font-weight: 600;
    color: #0d6efd;
}

/* Badge statut */
.order-status-badge[b-nb7awflgsp] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    background-color: #6B7280;
    color: #ffffff;
    border-radius: 4px;
    white-space: nowrap;
}

/* ──────────────────────────────────────────────────
   Responsive
   ────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .customer-orders-toolbar[b-nb7awflgsp] {
        flex-direction: column;
        align-items: stretch;
    }

    .customer-orders-search[b-nb7awflgsp] {
        max-width: 100%;
    }
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerPurchasedItems.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerPurchasedItems – Articles achetes du compte
   ══════════════════════════════════════════════════════════════ */

.customer-items-wrapper[b-8qpk7bg1ah] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.customer-items-toolbar[b-8qpk7bg1ah] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

.customer-items-count[b-8qpk7bg1ah] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
}

.customer-items-total[b-8qpk7bg1ah] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #198754;
    padding: 0.15rem 0.5rem;
    background-color: #e8f5e9;
    border-radius: 4px;
}

.customer-items-search[b-8qpk7bg1ah] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    max-width: 240px;
}

.customer-items-search i[b-8qpk7bg1ah] {
    color: #6c757d;
    font-size: 0.85rem;
}

.customer-items-search input[b-8qpk7bg1ah] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.customer-items-search:focus-within[b-8qpk7bg1ah] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.1);
}

.btn-icon-only[b-8qpk7bg1ah] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-8qpk7bg1ah] {
    color: #0d6efd;
}

.customer-items-table-wrapper[b-8qpk7bg1ah] {
    flex: 1;
    overflow-y: auto;
    overflow-x: auto;
    min-height: 0;
}

.customer-items-table[b-8qpk7bg1ah] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.customer-items-table thead[b-8qpk7bg1ah] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.customer-items-table thead tr[b-8qpk7bg1ah] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.customer-items-table th[b-8qpk7bg1ah] {
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
    background-color: #f8f9fa;
}

.th-sort-btn[b-8qpk7bg1ah] {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.15s;
}

.th-sort-btn:hover[b-8qpk7bg1ah] {
    color: #0d6efd;
}

.customer-items-table td[b-8qpk7bg1ah] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #212529;
    vertical-align: middle;
}

.customer-item-row:hover[b-8qpk7bg1ah] {
    background-color: #f0f4f8;
}

.col-itemcode[b-8qpk7bg1ah] {
    min-width: 120px;
}

.col-variant[b-8qpk7bg1ah] {
    min-width: 90px;
}

.col-name[b-8qpk7bg1ah] {
    min-width: 220px;
}

.col-qty[b-8qpk7bg1ah],
.col-total[b-8qpk7bg1ah] {
    min-width: 120px;
    text-align: right !important;
    font-variant-numeric: tabular-nums;
}

.col-invoices[b-8qpk7bg1ah] {
    min-width: 100px;
    text-align: center;
}

.col-last[b-8qpk7bg1ah] {
    min-width: 120px;
    white-space: nowrap;
}

.item-code[b-8qpk7bg1ah] {
    font-weight: 600;
    color: #0d6efd;
}

@media (max-width: 768px) {
    .customer-items-toolbar[b-8qpk7bg1ah] {
        flex-direction: column;
        align-items: stretch;
    }

    .customer-items-search[b-8qpk7bg1ah] {
        max-width: 100%;
    }
}
/* /Modules/CustomerManagement/Components/CustomerDetail/CustomerQuotes.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerQuotes – Liste des devis du compte
   ══════════════════════════════════════════════════════════════ */

.customer-quotes-wrapper[b-a3a5w98cdg] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ──────────────────────────────────────────────────
   Barre d'outils (compteur + recherche)
   ────────────────────────────────────────────────── */

.customer-quotes-toolbar[b-a3a5w98cdg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    flex-shrink: 0;
}

.customer-quotes-count[b-a3a5w98cdg] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
}

.customer-quotes-total[b-a3a5w98cdg] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #198754;
    padding: 0.15rem 0.5rem;
    background-color: #e8f5e9;
    border-radius: 4px;
}

.customer-quotes-search[b-a3a5w98cdg] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 0.3rem 0.6rem;
    background: #ffffff;
    max-width: 200px;
}

.customer-quotes-search i[b-a3a5w98cdg] {
    color: #6c757d;
    font-size: 0.85rem;
}

.customer-quotes-search input[b-a3a5w98cdg] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    min-width: 0;
}

.customer-quotes-search:focus-within[b-a3a5w98cdg] {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.1);
}

/* ──────────────────────────────────────────────────
   Bouton icône (actualiser)
   ────────────────────────────────────────────────── */

.btn-icon-only[b-a3a5w98cdg] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-a3a5w98cdg] {
    color: #0d6efd;
}

/* ──────────────────────────────────────────────────
   Tableau des devis
   ────────────────────────────────────────────────── */

.customer-quotes-table-wrapper[b-a3a5w98cdg] {
    flex: 1;
    overflow-y: auto;
    overflow-x: auto;
    min-height: 0;
}

.customer-quotes-table[b-a3a5w98cdg] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

/* En-têtes */
.customer-quotes-table thead[b-a3a5w98cdg] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.customer-quotes-table thead tr[b-a3a5w98cdg] {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.customer-quotes-table th[b-a3a5w98cdg] {
    padding: 0.55rem 0.75rem;
    font-weight: 600;
    color: #495057;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
    background-color: #f8f9fa;
}

.th-sort-btn[b-a3a5w98cdg] {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    padding: 0;
    display: inline-flex;
    align-items: center;
    transition: color 0.15s;
}

.th-sort-btn:hover[b-a3a5w98cdg] {
    color: #0d6efd;
}

/* Cellules */
.customer-quotes-table td[b-a3a5w98cdg] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #212529;
    vertical-align: middle;
}

/* Lignes */
.customer-quote-row[b-a3a5w98cdg] {
    cursor: pointer;
    transition: background-color 0.15s;
}

.customer-quote-row:hover[b-a3a5w98cdg] {
    background-color: #f0f4f8;
}

/* Colonnes */
.col-docno[b-a3a5w98cdg] {
    min-width: 110px;
}

.col-date[b-a3a5w98cdg],
.col-validuntil[b-a3a5w98cdg] {
    min-width: 100px;
    white-space: nowrap;
}

.col-status[b-a3a5w98cdg] {
    min-width: 80px;
}

.col-total[b-a3a5w98cdg] {
    min-width: 90px;
    text-align: right !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.col-note[b-a3a5w98cdg] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #6c757d;
    font-size: 0.82rem;
}

.col-actions[b-a3a5w98cdg] {
    width: 40px;
    text-align: center;
}

/* Lien du numéro de devis */
.quote-docno-link[b-a3a5w98cdg] {
    font-weight: 600;
    color: #0d6efd;
    cursor: pointer;
}

.quote-docno-link:hover[b-a3a5w98cdg] {
    text-decoration: underline;
}

/* Badge statut */
.quote-status-badge[b-a3a5w98cdg] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    background-color: #6B7280;
    color: #ffffff;
    border-radius: 4px;
    white-space: nowrap;
}

/* ──────────────────────────────────────────────────
   Responsive
   ────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .customer-quotes-toolbar[b-a3a5w98cdg] {
        flex-direction: column;
        align-items: stretch;
    }

    .customer-quotes-search[b-a3a5w98cdg] {
        max-width: 100%;
    }
}
/* /Modules/CustomerManagement/Components/CustomerList/CustomerList.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   CustomerList – Layout à 2 panneaux (liste + détail)
   Basé sur le pattern LeadList, adapté pour 2 colonnes
   ══════════════════════════════════════════════════════════════ */

/* Container principal */
.customer-list-wrapper[b-zqaga8fimz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    align-self: flex-start;
    min-height: 0;
}

.customer-list-container[b-zqaga8fimz] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 0;
}

/* ──────────────────────────────────────────────────
   Panneau gauche : Liste des comptes (40%)
   ────────────────────────────────────────────────── */

.customer-list-pane[b-zqaga8fimz] {
    flex: 0 0 40%;
    max-width: 40%;
    min-width: 0;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.customer-list-card[b-zqaga8fimz] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.customer-list-card .phasing-card-body.scroll-auto[b-zqaga8fimz] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
}

.customer-list-card .phasing-card-body .text-center p[b-zqaga8fimz],
.customer-list-card .phasing-card-body .text-center .btn-link[b-zqaga8fimz] {
    font-size: 1rem;
}

/* En-tête de la liste */
.customer-list-card .card-header.customer-list-card-header[b-zqaga8fimz] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

/* ──────────────────────────────────────────────────
   Recherche
   ────────────────────────────────────────────────── */

.search-container[b-zqaga8fimz] {
    display: flex;
    align-items: center;
    min-width: 150px;
    max-width: 180px;
}

.search-input[b-zqaga8fimz] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex: 1;
    width: 100%;
}

.search-input:focus[b-zqaga8fimz] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-zqaga8fimz] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.4rem 0.6rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 1rem;
}

.search-btn:hover:not(:disabled)[b-zqaga8fimz] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-zqaga8fimz] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* ──────────────────────────────────────────────────
   Dropdown Options
   ────────────────────────────────────────────────── */

.customer-dropdown-backdrop[b-zqaga8fimz] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

.customer-options-group[b-zqaga8fimz] {
    position: relative;
    z-index: 1001;
}

.customer-options-group .dropdown-toggle[b-zqaga8fimz] {
    font-size: 0.85rem;
    padding: 0.35rem 0.65rem;
    border-color: #dee2e6;
    color: #495057;
    background: #ffffff;
    transition: all 0.2s ease;
}

.customer-options-group .dropdown-toggle:hover[b-zqaga8fimz],
.customer-options-group .dropdown-toggle.show[b-zqaga8fimz] {
    background: #FCF1E6;
    color: #0073ea;
    border-color: #e1e5e9;
}

.customer-options-group .dropdown-menu[b-zqaga8fimz] {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    padding: 0.35rem 0;
    min-width: 220px;
}

.customer-options-group .dropdown-item[b-zqaga8fimz] {
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
    color: #212529;
    transition: all 0.15s ease;
}

.customer-options-group .dropdown-item:hover[b-zqaga8fimz] {
    background-color: #f0f4f8;
    color: #0073ea;
}

.customer-options-group .dropdown-item i[b-zqaga8fimz] {
    font-size: 1rem;
}

/* ──────────────────────────────────────────────────
   Bouton filtres avancés – alignement dans le header
   ────────────────────────────────────────────────── */

/* ──────────────────────────────────────────────────
   Boutons icône
   ────────────────────────────────────────────────── */

.btn-icon-only[b-zqaga8fimz] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-zqaga8fimz] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-zqaga8fimz] {
    outline: none;
    box-shadow: none;
}

/* ──────────────────────────────────────────────────
   Liste des comptes
   ────────────────────────────────────────────────── */

.customer-items-list[b-zqaga8fimz] {
    padding: 0;
}

.customer-item[b-zqaga8fimz] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.customer-item:hover[b-zqaga8fimz] {
    background-color: #e9ecef;
}

.customer-item.is-selected[b-zqaga8fimz] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.customer-line[b-zqaga8fimz] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

/* Contenu du compte */
.customer-content[b-zqaga8fimz] {
    flex-grow: 1;
    min-width: 0;
}

.customer-header[b-zqaga8fimz] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.customer-name[b-zqaga8fimz] {
    font-weight: 600;
    color: #1a1d21;
    font-size: 0.95rem;
    flex: 1 1 0%;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.customer-contact[b-zqaga8fimz] {
    font-size: 0.875rem;
    color: #343a40;
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.customer-meta[b-zqaga8fimz] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.customer-location[b-zqaga8fimz],
.customer-email[b-zqaga8fimz],
.customer-phone[b-zqaga8fimz],
.customer-salesperson[b-zqaga8fimz],
.customer-date[b-zqaga8fimz],
.customer-last-purchase[b-zqaga8fimz] {
    display: inline-flex;
    align-items: center;
}

/* ──────────────────────────────────────────────────
   Icone type de compte (à gauche du contenu)
   ────────────────────────────────────────────────── */

.customer-type-icon[b-zqaga8fimz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 6px;
    font-size: 1rem;
    margin-top: 2px;
}

/* TRADE (Entreprise) */
.customer-type-icon.customer-type-trade[b-zqaga8fimz] {
    background-color: #e8f4fd;
    color: #0c5ea8;
}

/* PRIVATE (Personne) */
.customer-type-icon.customer-type-private[b-zqaga8fimz] {
    background-color: #fdf2e9;
    color: #a8600c;
}

/* Autre type */
.customer-type-icon.customer-type-other[b-zqaga8fimz] {
    background-color: #e9ecef;
    color: #495057;
}

/* ──────────────────────────────────────────────────
   Badges + CA (colonne droite)
   ────────────────────────────────────────────────── */

.customer-badges[b-zqaga8fimz] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-end;
    min-width: 80px;
}

.customer-badges .badge[b-zqaga8fimz] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

.customer-turnover[b-zqaga8fimz] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #198754;
    white-space: nowrap;
}

/* ──────────────────────────────────────────────────
   Panneau droit : Détail du compte (60%)
   ────────────────────────────────────────────────── */

.customer-detail-pane[b-zqaga8fimz] {
    flex: 0 0 60%;
    max-width: 60%;
    min-width: 0;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.customer-empty-state[b-zqaga8fimz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.customer-empty-state p[b-zqaga8fimz] {
    font-size: 1.1rem;
}

.customer-empty-state .bi[b-zqaga8fimz] {
    font-size: 3rem;
}

/* ══════════════════════════════════════════════════════════════
   Responsive
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 1200px) {
    .customer-list-pane[b-zqaga8fimz] {
        flex: 0 0 45%;
        max-width: 45%;
    }

    .customer-detail-pane[b-zqaga8fimz] {
        flex: 0 0 55%;
        max-width: 55%;
    }
}

@media (max-width: 992px) {
    .customer-list-container[b-zqaga8fimz] {
        flex-direction: column;
    }

    .customer-list-pane[b-zqaga8fimz] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 auto;
        height: 50vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .customer-detail-pane[b-zqaga8fimz] {
        flex: 1 1 auto;
        max-width: 100%;
        height: 50vh;
        min-height: 200px;
    }

    .search-container[b-zqaga8fimz] {
        min-width: 120px;
        max-width: 150px;
    }
}

@media (max-width: 768px) {
    .customer-list-card .card-header[b-zqaga8fimz] {
        padding: 0.75rem;
    }

    .customer-item[b-zqaga8fimz] {
        padding: 0.5rem 0.75rem;
    }

    .customer-badges[b-zqaga8fimz] {
        flex-direction: row;
        min-width: auto;
    }
}
/* /Modules/CustomerManagement/Pages/ContactListPage.razor.rz.scp.css */
.matrix-no-scrollable-content .matrix-content[b-kuhxin3liq] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.matrix-no-scrollable-content[b-kuhxin3liq] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* /Modules/CustomerManagement/Pages/CustomerListPage.razor.rz.scp.css */
/* Assurer que matrix-content prend toute la hauteur */
.matrix-no-scrollable-content .matrix-content[b-xwottbl1h3] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.matrix-no-scrollable-content[b-xwottbl1h3] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* /Modules/CustomerManagement/Pages/CustomerManagement.razor.rz.scp.css */
.customer-management-card-link[b-fkw88ytors] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.customer-management-card-link:hover[b-fkw88ytors] {
    color: inherit;
    text-decoration: none;
}

.customer-management-card-link .matrix-dashboard-card[b-fkw88ytors] {
    cursor: pointer;
}

.customer-management-card-link:hover .matrix-dashboard-card[b-fkw88ytors] {
    transform: translateY(-4px);
}
/* /Modules/InvoiceFee/Components/InvoiceFeeDocuments.razor.rz.scp.css */
.invoice-documents-container[b-osglgfdeem] {
    display: flex;
    gap: 0;
    height: calc(100vh - 200px);
    min-height: 400px;
}

.invoice-documents-list-pane[b-osglgfdeem] {
    width: 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.invoice-documents-preview-pane[b-osglgfdeem] {
    width: 50%;
    min-width: 0;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #fff);
    display: flex;
    flex-direction: column;
}

.invoice-documents-header[b-osglgfdeem] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: var(--matrix-card-header-bg, #fafafa);
}

    .invoice-documents-header h6[b-osglgfdeem] {
        font-weight: 600;
        font-size: 0.95rem;
    }

.invoice-documents-upload-btn[b-osglgfdeem] {
    cursor: pointer;
    margin: 0;
}

.invoice-documents-uploading[b-osglgfdeem] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
}

.invoice-documents-empty[b-osglgfdeem] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .invoice-documents-empty i[b-osglgfdeem] {
        font-size: 2rem;
    }

.invoice-documents-table-wrap[b-osglgfdeem] {
    flex: 1;
    overflow-y: auto;
}

.invoice-documents-table[b-osglgfdeem] {
    font-size: 0.85rem;
}

    .invoice-documents-table thead th[b-osglgfdeem] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
        position: sticky;
        top: 0;
        background: #f8f9fa;
        z-index: 1;
    }

    .invoice-documents-table tbody td[b-osglgfdeem] {
        vertical-align: middle;
    }

    .invoice-documents-table tbody tr.table-active[b-osglgfdeem] {
        background-color: #e8f0fe !important;
    }

.doc-name-cell[b-osglgfdeem] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .doc-name-cell i[b-osglgfdeem] {
        margin-right: 0.35rem;
    }

.doc-comment-cell[b-osglgfdeem] {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
    font-size: 0.8rem;
}

.col-doc-actions[b-osglgfdeem] {
    width: 130px;
}

.doc-actions-group[b-osglgfdeem] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: flex-end;
}

.invoice-documents-list-pane .btn-icon-only[b-osglgfdeem] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .invoice-documents-list-pane .btn-icon-only:hover[b-osglgfdeem] {
        color: #0d6efd;
    }

    .invoice-documents-list-pane .btn-icon-only.text-danger:hover[b-osglgfdeem] {
        color: #dc3545;
    }

    .invoice-documents-list-pane .btn-icon-only:focus[b-osglgfdeem] {
        outline: none;
        box-shadow: none;
    }

.invoice-documents-preview-empty[b-osglgfdeem] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #aaa;
}

.invoice-documents-preview-content[b-osglgfdeem] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.preview-toolbar[b-osglgfdeem] {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: #fafafa;
    font-size: 0.85rem;
}

.preview-filename[b-osglgfdeem] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .preview-filename i[b-osglgfdeem] {
        margin-right: 0.35rem;
    }

.preview-image-container[b-osglgfdeem] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow: auto;
    background: #f5f5f5;
}

.preview-image[b-osglgfdeem] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 0.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.preview-pdf-content[b-osglgfdeem] {
    overflow: hidden;
}

    .preview-pdf-content[b-osglgfdeem]  .k-pdf-viewer {
        border: none;
    }

@media (max-width: 992px) {
    .invoice-documents-container[b-osglgfdeem] {
        flex-direction: column;
        height: auto;
    }

    .invoice-documents-list-pane[b-osglgfdeem] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
        max-height: 50vh;
    }

    .invoice-documents-preview-pane[b-osglgfdeem] {
        width: 100%;
        min-height: 300px;
    }
}
/* /Modules/InvoiceFee/Components/InvoiceFeeInformation.razor.rz.scp.css */
.invoice-information[b-6khssl1fvo] {
    padding: 1.5rem;
    padding-bottom: 5rem;
    max-width: 1200px;
}

.invoice-info-sticky-footer[b-6khssl1fvo] {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 0.75rem 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.invoice-info-grid[b-6khssl1fvo] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.invoice-info-grid-2cols[b-6khssl1fvo] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.invoice-info-section-header-with-action[b-6khssl1fvo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 992px) {
    .invoice-info-grid[b-6khssl1fvo] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .invoice-info-grid[b-6khssl1fvo],
    .invoice-info-grid-2cols[b-6khssl1fvo] {
        grid-template-columns: 1fr;
    }

    .invoice-information[b-6khssl1fvo] {
        padding: 1rem;
    }
}
/* /Modules/InvoiceFee/Components/InvoiceFeeLineDetail.razor.rz.scp.css */
.invoiceline-detail-wrapper[b-31zvv4c4l5] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.invoiceline-detail-header[b-31zvv4c4l5] {
    flex-shrink: 0;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.invoiceline-detail-header-titles[b-31zvv4c4l5] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.invoiceline-detail-header h6[b-31zvv4c4l5] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.invoiceline-detail-header-actions[b-31zvv4c4l5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.btn-header-action[b-31zvv4c4l5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #ffffff;
    color: #495057;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
    flex-shrink: 0;
}

.btn-header-action:hover[b-31zvv4c4l5] {
    background-color: #e9ecef;
    border-color: #adb5bd;
    color: #0d6efd;
}

.invoiceline-debug-container[b-31zvv4c4l5] {
    position: relative;
}

.invoiceline-debug-backdrop[b-31zvv4c4l5] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
}

.invoiceline-debug-popup[b-31zvv4c4l5] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1001;
    min-width: 220px;
    padding: 0.5rem 0.75rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.invoiceline-detail-scrollable[b-31zvv4c4l5] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 0.15rem 0.35rem;
    padding-bottom: 0.15rem;
}

.invoiceline-detail-stickybar[b-31zvv4c4l5] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

.invoiceline-form-separator[b-31zvv4c4l5] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    margin: 0.5rem 0 0.15rem 0;
    background-color: #2C3E50;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: 4px;
    grid-column: 1 / -1;
}

.invoiceline-form-separator i[b-31zvv4c4l5] {
    font-size: 0.85rem;
    opacity: 0.85;
}

.field-span-full[b-31zvv4c4l5] {
    grid-column: 1 / -1;
}

[b-31zvv4c4l5] .field-span-full {
    grid-column: 1 / -1;
}

[b-31zvv4c4l5] .readonly-visible.k-disabled,
[b-31zvv4c4l5] .readonly-visible .k-disabled,
[b-31zvv4c4l5] .readonly-visible.k-input.k-disabled,
[b-31zvv4c4l5] .readonly-visible .k-input.k-disabled {
    opacity: 1;
    color: #212529;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    -webkit-text-fill-color: #212529;
}
/* /Modules/InvoiceFee/Components/InvoiceFeeLines.razor.rz.scp.css */
.item-variants-wrapper[b-6gum01dfa9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.item-variants-container[b-6gum01dfa9] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.item-variants-list-pane[b-6gum01dfa9] {
    width: 750px;
    min-width: 700px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.resource-list-card[b-6gum01dfa9] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-6gum01dfa9] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    overflow: visible;
    position: relative;
    z-index: 10;
}

.search-container[b-6gum01dfa9] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 280px;
}

.search-input[b-6gum01dfa9] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-6gum01dfa9] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-6gum01dfa9] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-6gum01dfa9] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-6gum01dfa9] {
    cursor: not-allowed;
    opacity: 0.6;
}

.quote-lines-total-header[b-6gum01dfa9] {
    background-color: var(--matrix-bg-primary, #ffffff);
    border-bottom: 2px solid var(--matrix-border-primary, #0073ea);
    padding: 0.5rem 1rem;
    border-top: 1px solid #dee2e6;
}

.quote-lines-total-content[b-6gum01dfa9] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.quote-lines-total-content .total-item[b-6gum01dfa9] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.quote-lines-total-content .total-label[b-6gum01dfa9] {
    font-weight: 500;
    color: var(--matrix-text-secondary, #6B6D70);
    font-size: 0.82rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value[b-6gum01dfa9] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.88rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value-discount[b-6gum01dfa9] {
    color: #d9534f;
}

.quote-lines-total-content .total-item-main[b-6gum01dfa9] {
    padding-left: 0.75rem;
    border-left: 2px solid var(--matrix-border-primary, #0073ea);
}

.quote-lines-total-content .total-value-main[b-6gum01dfa9] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--matrix-text-primary, #1F2023);
}

.phasing-header-min-h[b-6gum01dfa9] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.btn-icon-only[b-6gum01dfa9] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-6gum01dfa9] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-6gum01dfa9] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-6gum01dfa9] {
    padding: 0;
}

.resource-item[b-6gum01dfa9] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:nth-child(even)[b-6gum01dfa9] {
    background-color: #f1f3f5;
}

.resource-item:hover[b-6gum01dfa9] {
    background-color: #e8ecf0;
}

.resource-item.is-selected[b-6gum01dfa9] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-6gum01dfa9] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-6gum01dfa9] {
    flex-grow: 1;
}

.resource-item .node-label[b-6gum01dfa9] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-6gum01dfa9] {
    font-size: 0.8rem;
}

.ql-line-grid[b-6gum01dfa9] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

.ql-line-info[b-6gum01dfa9] {
    flex: 1 1 0;
    min-width: 0;
}

.ql-line-col[b-6gum01dfa9] {
    flex: 0 0 auto;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ql-pricing-cell[b-6gum01dfa9] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 0.85rem;
}

.ql-pricing-label[b-6gum01dfa9] {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    text-transform: lowercase;
}

.ql-pricing-value[b-6gum01dfa9] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    text-align: right;
}

.ql-pricing-cell-total .ql-pricing-value[b-6gum01dfa9] {
    font-weight: 700;
}

.item-variants-detail-pane[b-6gum01dfa9] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
    position: relative;
    min-height: 0;
}

.item-variants-empty-state[b-6gum01dfa9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.invoice-lines-options[b-6gum01dfa9] {
    position: relative;
}

.invoice-lines-options .btn-group[b-6gum01dfa9] {
    position: relative;
    z-index: 1001;
}

.invoice-lines-options .dropdown-menu[b-6gum01dfa9] {
    min-width: 220px;
    position: absolute;
    right: 0;
    z-index: 1050;
}

[b-6gum01dfa9] .matrix-dropdown-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

@media (max-width: 992px) {
    .item-variants-container[b-6gum01dfa9] {
        flex-direction: column;
    }

    .item-variants-list-pane[b-6gum01dfa9] {
        width: 100%;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .item-variants-detail-pane[b-6gum01dfa9] {
        height: 60vh;
    }
}
/* /Modules/InvoiceFee/Components/InvoiceFeePayments.razor.rz.scp.css */
.invoice-payments[b-nox5qvgwho] {
    padding: 1.5rem;
    max-width: 1200px;
}

.invoice-payments-content[b-nox5qvgwho] {
    max-width: 50%;
    min-width: 400px;
}

.invoice-payments-toolbar[b-nox5qvgwho] {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0.75rem;
}

.invoice-payments-add-form[b-nox5qvgwho] {
    margin-bottom: 1rem;
}

.invoice-payments-form-grid[b-nox5qvgwho] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.invoice-payments-table[b-nox5qvgwho] {
    font-size: 0.85rem;
}

    .invoice-payments-table thead th[b-nox5qvgwho] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
    }

    .invoice-payments-table tbody td[b-nox5qvgwho] {
        vertical-align: middle;
    }

    .invoice-payments-table tfoot th[b-nox5qvgwho] {
        font-weight: 700;
        background-color: #f8f9fa;
    }

    .invoice-payments-table .col-actions[b-nox5qvgwho] {
        width: 2.5rem;
    }

.invoice-payments-content .btn-icon-only[b-nox5qvgwho] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .invoice-payments-content .btn-icon-only:hover[b-nox5qvgwho] {
        color: #0d6efd;
    }

    .invoice-payments-content .btn-icon-only.text-danger:hover[b-nox5qvgwho] {
        color: #dc3545;
    }

    .invoice-payments-content .btn-icon-only:focus[b-nox5qvgwho] {
        outline: none;
        box-shadow: none;
    }

.invoice-payments-empty[b-nox5qvgwho] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .invoice-payments-empty i[b-nox5qvgwho] {
        font-size: 2rem;
    }

@media (max-width: 992px) {
    .invoice-payments-content[b-nox5qvgwho] {
        max-width: 75%;
    }

    .invoice-payments-form-grid[b-nox5qvgwho] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .invoice-payments[b-nox5qvgwho] {
        padding: 1rem;
    }

    .invoice-payments-content[b-nox5qvgwho] {
        max-width: 100%;
        min-width: 0;
    }

    .invoice-payments-form-grid[b-nox5qvgwho] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/Invoice/Components/InvoiceDetail/InvoiceInformation.razor.rz.scp.css */
.invoice-information[b-dze72khlam] {
    padding: 1.5rem;
    padding-bottom: 5rem;
    max-width: 1200px;
}

.invoice-info-sticky-footer[b-dze72khlam] {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 0.75rem 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.invoice-info-grid[b-dze72khlam] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.invoice-info-grid-2cols[b-dze72khlam] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.invoice-info-section-header-with-action[b-dze72khlam] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 992px) {
    .invoice-info-grid[b-dze72khlam] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .invoice-info-grid[b-dze72khlam],
    .invoice-info-grid-2cols[b-dze72khlam] {
        grid-template-columns: 1fr;
    }

    .invoice-information[b-dze72khlam] {
        padding: 1rem;
    }
}
/* /Modules/Invoice/Components/InvoiceDocument/InvoiceDocuments.razor.rz.scp.css */
.invoice-documents-container[b-fr9rruxpjg] {
    display: flex;
    gap: 0;
    height: calc(100vh - 200px);
    min-height: 400px;
}

.invoice-documents-list-pane[b-fr9rruxpjg] {
    width: 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.invoice-documents-preview-pane[b-fr9rruxpjg] {
    width: 50%;
    min-width: 0;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #fff);
    display: flex;
    flex-direction: column;
}

.invoice-documents-header[b-fr9rruxpjg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: var(--matrix-card-header-bg, #fafafa);
}

    .invoice-documents-header h6[b-fr9rruxpjg] {
        font-weight: 600;
        font-size: 0.95rem;
    }

.invoice-documents-upload-btn[b-fr9rruxpjg] {
    cursor: pointer;
    margin: 0;
}

.invoice-documents-uploading[b-fr9rruxpjg] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
}

.invoice-documents-empty[b-fr9rruxpjg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .invoice-documents-empty i[b-fr9rruxpjg] {
        font-size: 2rem;
    }

.invoice-documents-table-wrap[b-fr9rruxpjg] {
    flex: 1;
    overflow-y: auto;
}

.invoice-documents-table[b-fr9rruxpjg] {
    font-size: 0.85rem;
}

    .invoice-documents-table thead th[b-fr9rruxpjg] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
        position: sticky;
        top: 0;
        background: #f8f9fa;
        z-index: 1;
    }

    .invoice-documents-table tbody td[b-fr9rruxpjg] {
        vertical-align: middle;
    }

    .invoice-documents-table tbody tr.table-active[b-fr9rruxpjg] {
        background-color: #e8f0fe !important;
    }

.doc-name-cell[b-fr9rruxpjg] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .doc-name-cell i[b-fr9rruxpjg] {
        margin-right: 0.35rem;
    }

.doc-comment-cell[b-fr9rruxpjg] {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
    font-size: 0.8rem;
}

.col-doc-actions[b-fr9rruxpjg] {
    width: 130px;
}

.doc-actions-group[b-fr9rruxpjg] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: flex-end;
}

.invoice-documents-list-pane .btn-icon-only[b-fr9rruxpjg] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .invoice-documents-list-pane .btn-icon-only:hover[b-fr9rruxpjg] {
        color: #0d6efd;
    }

    .invoice-documents-list-pane .btn-icon-only.text-danger:hover[b-fr9rruxpjg] {
        color: #dc3545;
    }

    .invoice-documents-list-pane .btn-icon-only:focus[b-fr9rruxpjg] {
        outline: none;
        box-shadow: none;
    }

.invoice-documents-preview-empty[b-fr9rruxpjg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #aaa;
}

.invoice-documents-preview-content[b-fr9rruxpjg] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.preview-toolbar[b-fr9rruxpjg] {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: #fafafa;
    font-size: 0.85rem;
}

.preview-filename[b-fr9rruxpjg] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .preview-filename i[b-fr9rruxpjg] {
        margin-right: 0.35rem;
    }

.preview-image-container[b-fr9rruxpjg] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow: auto;
    background: #f5f5f5;
}

.preview-image[b-fr9rruxpjg] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 0.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.preview-pdf-content[b-fr9rruxpjg] {
    overflow: hidden;
}

    .preview-pdf-content[b-fr9rruxpjg]  .k-pdf-viewer {
        border: none;
    }

@media (max-width: 992px) {
    .invoice-documents-container[b-fr9rruxpjg] {
        flex-direction: column;
        height: auto;
    }

    .invoice-documents-list-pane[b-fr9rruxpjg] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
        max-height: 50vh;
    }

    .invoice-documents-preview-pane[b-fr9rruxpjg] {
        width: 100%;
        min-height: 300px;
    }
}
/* /Modules/Invoice/Components/InvoiceLines/InvoiceLineDetail.razor.rz.scp.css */
.invoiceline-detail-wrapper[b-z6ajcglp2i] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.invoiceline-detail-header[b-z6ajcglp2i] {
    flex-shrink: 0;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.invoiceline-detail-header-titles[b-z6ajcglp2i] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.invoiceline-detail-header-titles h6[b-z6ajcglp2i] {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.invoiceline-detail-header h6[b-z6ajcglp2i] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.invoiceline-header-subcategory[b-z6ajcglp2i] {
    font-size: 0.8rem;
    font-weight: 400;
    color: #6c757d;
}

.invoiceline-header-codes[b-z6ajcglp2i] {
    font-size: 0.85rem;
    font-weight: 500;
    color: #495057;
    flex-shrink: 0;
    white-space: nowrap;
}

.invoiceline-detail-header-actions[b-z6ajcglp2i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.btn-header-action[b-z6ajcglp2i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #ffffff;
    color: #495057;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
    flex-shrink: 0;
}

.btn-header-action:hover[b-z6ajcglp2i] {
    background-color: #e9ecef;
    border-color: #adb5bd;
    color: #0d6efd;
}

.btn-header-action:disabled[b-z6ajcglp2i] {
    opacity: 0.6;
    cursor: not-allowed;
}

.invoiceline-debug-container[b-z6ajcglp2i] {
    position: relative;
}

.invoiceline-debug-backdrop[b-z6ajcglp2i] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
}

.invoiceline-debug-popup[b-z6ajcglp2i] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1001;
    min-width: 220px;
    padding: 0.5rem 0.75rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.invoiceline-detail-scrollable[b-z6ajcglp2i] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 0.15rem 0.35rem;
    padding-bottom: 0.15rem;
}

.invoiceline-detail-stickybar[b-z6ajcglp2i] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

.invoiceline-form-separator[b-z6ajcglp2i] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    margin: 0.5rem 0 0.15rem 0;
    background-color: #2C3E50;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: 4px;
    grid-column: 1 / -1;
}

.invoiceline-form-separator i[b-z6ajcglp2i] {
    font-size: 0.85rem;
    opacity: 0.85;
}

.field-span-full[b-z6ajcglp2i] {
    grid-column: 1 / -1;
}

[b-z6ajcglp2i] .field-span-full {
    grid-column: 1 / -1;
}

[b-z6ajcglp2i] .readonly-visible.k-disabled,
[b-z6ajcglp2i] .readonly-visible .k-disabled,
[b-z6ajcglp2i] .readonly-visible.k-input.k-disabled,
[b-z6ajcglp2i] .readonly-visible .k-input.k-disabled {
    opacity: 1;
    color: #212529;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    -webkit-text-fill-color: #212529;
}

.invoiceline-article-top[b-z6ajcglp2i] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.invoiceline-article-fields[b-z6ajcglp2i] {
    flex: 1;
    min-width: 0;
}

.invoiceline-article-image-panel[b-z6ajcglp2i] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.invoiceline-article-image[b-z6ajcglp2i] {
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background-color: #ffffff;
    overflow: hidden;
}

[b-z6ajcglp2i] .invoiceline-article-photo {
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
}

.invoiceline-logistics-row[b-z6ajcglp2i] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.invoiceline-logistics-field[b-z6ajcglp2i] {
    flex: 1;
    min-width: 120px;
}

.variant-detail-overlay[b-z6ajcglp2i] {
    z-index: 1060;
}

.variant-detail-popup[b-z6ajcglp2i] {
    display: flex;
    flex-direction: column;
    width: 94vw;
    height: 92vh;
    max-width: 1400px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.25);
    overflow: hidden;
}

.variant-detail-popup-header[b-z6ajcglp2i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
    flex-shrink: 0;
}

.variant-detail-popup-body[b-z6ajcglp2i] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}
/* /Modules/Invoice/Components/InvoiceLines/InvoiceLineReorderModal.razor.rz.scp.css */
.reorder-modal-dialog[b-gq4hxrktm1] {
    max-width: 680px;
    width: calc(100% - 2rem);
}

.reorder-modal-body[b-gq4hxrktm1] {
    max-height: 60vh;
    overflow-y: auto;
    padding: 1rem;
}

.reorder-deselect-btn[b-gq4hxrktm1] {
    white-space: nowrap;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.reorder-list[b-gq4hxrktm1] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.reorder-item[b-gq4hxrktm1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid transparent;
    border-bottom: 1px solid #eee;
    background-color: #ffffff;
    cursor: grab;
    transition: background-color 0.15s ease, opacity 0.15s ease;
    user-select: none;
    position: relative;
}

.reorder-item:active[b-gq4hxrktm1] {
    cursor: grabbing;
}

.reorder-item:hover[b-gq4hxrktm1] {
    background-color: #f8f9fa;
}

[b-gq4hxrktm1] .reorder-item.is-dragging {
    opacity: 0.3;
    background-color: #f0f0f0;
}

[b-gq4hxrktm1] .reorder-item.drop-above {
    border-top: 2.5px solid #0d6efd;
}

[b-gq4hxrktm1] .reorder-item.drop-below {
    border-bottom: 2.5px solid #0d6efd;
}

.reorder-checkbox[b-gq4hxrktm1] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: #0d6efd;
}

.reorder-grip[b-gq4hxrktm1] {
    color: #adb5bd;
    font-size: 1.1rem;
    flex-shrink: 0;
    cursor: grab;
}

.reorder-grip:active[b-gq4hxrktm1] {
    cursor: grabbing;
}

.reorder-line-order[b-gq4hxrktm1] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
    min-width: 1.5rem;
    text-align: center;
    flex-shrink: 0;
}

.reorder-line-type[b-gq4hxrktm1] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    white-space: nowrap;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

[b-gq4hxrktm1] .line-type-badge-article {
    background-color: #d1ecf1;
    color: #0c5460;
}

[b-gq4hxrktm1] .line-type-badge-comment {
    background-color: #e2e3e5;
    color: #383d41;
}

[b-gq4hxrktm1] .line-type-badge-fee {
    background-color: #fff3cd;
    color: #856404;
}

[b-gq4hxrktm1] .line-type-badge-offcollection {
    background-color: #f8d7da;
    color: #721c24;
}

.reorder-line-info[b-gq4hxrktm1] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
}

.reorder-line-label[b-gq4hxrktm1] {
    font-size: 0.87rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--matrix-text-primary, #1F2023);
}

.reorder-line-price[b-gq4hxrktm1] {
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
    color: var(--matrix-text-primary, #1F2023);
    flex-shrink: 0;
    min-width: 5rem;
    text-align: right;
}

@media (max-width: 576px) {
    .reorder-modal-dialog[b-gq4hxrktm1] {
        max-width: 100%;
        margin: 0.5rem;
    }

    .reorder-modal-body[b-gq4hxrktm1] {
        max-height: 50vh;
    }

    .reorder-line-price[b-gq4hxrktm1] {
        display: none;
    }
}
/* /Modules/Invoice/Components/InvoiceLines/InvoiceLines.razor.rz.scp.css */
.item-variants-wrapper[b-zs9g3c1jrv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.item-variants-container[b-zs9g3c1jrv] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.item-variants-list-pane[b-zs9g3c1jrv] {
    width: 750px;
    min-width: 700px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.resource-list-card[b-zs9g3c1jrv] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-zs9g3c1jrv] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    overflow: visible;
    position: relative;
    z-index: 10;
}

.search-container[b-zs9g3c1jrv] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 280px;
}

.search-input[b-zs9g3c1jrv] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-zs9g3c1jrv] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-zs9g3c1jrv] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-zs9g3c1jrv] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-zs9g3c1jrv] {
    cursor: not-allowed;
    opacity: 0.6;
}

.quote-lines-total-header[b-zs9g3c1jrv] {
    background-color: var(--matrix-bg-primary, #ffffff);
    border-bottom: 2px solid var(--matrix-border-primary, #0073ea);
    padding: 0.5rem 1rem;
    border-top: 1px solid #dee2e6;
}

.quote-lines-total-content[b-zs9g3c1jrv] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.quote-lines-total-content .total-item[b-zs9g3c1jrv] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.quote-lines-total-content .total-label[b-zs9g3c1jrv] {
    font-weight: 500;
    color: var(--matrix-text-secondary, #6B6D70);
    font-size: 0.82rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value[b-zs9g3c1jrv] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.88rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value-discount[b-zs9g3c1jrv] {
    color: #d9534f;
}

.quote-lines-total-content .total-item-main[b-zs9g3c1jrv] {
    padding-left: 0.75rem;
    border-left: 2px solid var(--matrix-border-primary, #0073ea);
}

.quote-lines-total-content .total-value-main[b-zs9g3c1jrv] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--matrix-text-primary, #1F2023);
}

.phasing-header-min-h[b-zs9g3c1jrv] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.status-filter-container[b-zs9g3c1jrv] {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.status-filter-select[b-zs9g3c1jrv] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 150px;
}

.status-filter-select:focus[b-zs9g3c1jrv] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-zs9g3c1jrv] {
    background: #FCF1E6;
    color: #0073ea;
}

.btn-icon-only[b-zs9g3c1jrv] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-zs9g3c1jrv] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-zs9g3c1jrv] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-zs9g3c1jrv] {
    padding: 0;
}

.resource-item[b-zs9g3c1jrv] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:nth-child(even)[b-zs9g3c1jrv] {
    background-color: #f1f3f5;
}

.resource-item:hover[b-zs9g3c1jrv] {
    background-color: #e8ecf0;
}

.resource-item.is-selected[b-zs9g3c1jrv] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item.line-type-comment[b-zs9g3c1jrv] {
    background-color: #f0f0f0;
    border-left-color: #6c757d;
}

.resource-item.line-type-comment.is-selected[b-zs9g3c1jrv] {
    background-color: #e0e0e0;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-zs9g3c1jrv] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-zs9g3c1jrv] {
    flex-grow: 1;
}

.resource-item .node-label[b-zs9g3c1jrv] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-zs9g3c1jrv] {
    font-size: 0.8rem;
}

.ql-line-grid[b-zs9g3c1jrv] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

.ql-line-info[b-zs9g3c1jrv] {
    flex: 1 1 0;
    min-width: 0;
}

.ql-line-col[b-zs9g3c1jrv] {
    flex: 0 0 auto;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ql-line-col.ql-line-col-narrow[b-zs9g3c1jrv] {
    min-width: 5.5rem;
}

.ql-pricing-cell[b-zs9g3c1jrv] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 0.85rem;
}

.ql-pricing-label[b-zs9g3c1jrv] {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    text-transform: lowercase;
}

.ql-pricing-value[b-zs9g3c1jrv] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    text-align: right;
}

.ql-pricing-cell-total .ql-pricing-value[b-zs9g3c1jrv] {
    font-weight: 700;
}

.ql-serial-location[b-zs9g3c1jrv] {
    font-style: italic;
}

.item-variants-detail-pane[b-zs9g3c1jrv] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
    position: relative;
    min-height: 0;
}

.item-variants-empty-state[b-zs9g3c1jrv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.invoice-lines-options[b-zs9g3c1jrv] {
    position: relative;
}

.invoice-lines-options .btn-group[b-zs9g3c1jrv] {
    position: relative;
    z-index: 1001;
}

.invoice-lines-options .dropdown-menu[b-zs9g3c1jrv] {
    min-width: 220px;
    position: absolute;
    right: 0;
    z-index: 1050;
}

[b-zs9g3c1jrv] .matrix-dropdown-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

[b-zs9g3c1jrv] .comment-line-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-zs9g3c1jrv] .comment-line-header .node-label {
    flex: 1;
    min-width: 0;
}

[b-zs9g3c1jrv] .comment-tags {
    display: flex;
    gap: 0.4rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}

[b-zs9g3c1jrv] .comment-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 0.3rem;
    line-height: 1.4;
    border: 1px solid;
}

[b-zs9g3c1jrv] .tag-newpage {
    background-color: #d0e2ff;
    color: #0043ce;
    border-color: #a6c8ff;
}

[b-zs9g3c1jrv] .tag-subtotal {
    background-color: #ffe0b2;
    color: #bf360c;
    border-color: #ffcc80;
}

[b-zs9g3c1jrv] .ql-line-title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-zs9g3c1jrv] .ql-variant-type-tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    line-height: 1.3;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: 1px solid;
    flex-shrink: 0;
}

[b-zs9g3c1jrv] .ql-variant-type-s {
    background-color: #e3f2fd;
    color: #1565c0;
    border-color: #90caf9;
}

[b-zs9g3c1jrv] .ql-variant-type-c {
    background-color: #fce4ec;
    color: #c62828;
    border-color: #ef9a9a;
}

[b-zs9g3c1jrv] .ql-variant-type-u {
    background-color: #f3e5f5;
    color: #6a1b9a;
    border-color: #ce93d8;
}

[b-zs9g3c1jrv] .ql-variant-type-offcollection {
    background-color: #fff3e0;
    color: #e65100;
    border-color: #ffcc80;
}

@media (max-width: 992px) {
    .item-variants-container[b-zs9g3c1jrv] {
        flex-direction: column;
    }

    .item-variants-list-pane[b-zs9g3c1jrv] {
        width: 100%;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .item-variants-detail-pane[b-zs9g3c1jrv] {
        height: 60vh;
    }
}
/* /Modules/Invoice/Components/InvoiceLines/InvoiceLineUpholstery.razor.rz.scp.css */
.ql-upholstery-grid[b-1aexl9rnq9] {
    width: 100%;
}

.ql-upholstery-actions[b-1aexl9rnq9] {
    justify-content: flex-start;
}

.ql-upholstery-table[b-1aexl9rnq9] {
    font-size: 0.85rem;
}

.ql-upholstery-table thead th[b-1aexl9rnq9] {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #6c757d;
    font-weight: 600;
    white-space: nowrap;
}

.ql-upholstery-table tbody td[b-1aexl9rnq9] {
    vertical-align: middle;
}

.ql-upholstery-table tfoot th[b-1aexl9rnq9] {
    font-weight: 700;
    background-color: #f8f9fa;
}

.ql-upholstery-grid .btn-icon-only[b-1aexl9rnq9] {
    border: none;
    background: transparent;
    padding: 0.15rem;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    color: #495057;
    transition: color 0.2s ease;
}

.ql-upholstery-grid .btn-icon-only:hover[b-1aexl9rnq9] {
    color: #0d6efd;
}

.ql-upholstery-grid .btn-icon-only.text-danger:hover[b-1aexl9rnq9] {
    color: #dc3545;
}

.ql-material-modal[b-1aexl9rnq9] {
    max-width: 800px;
}

.ql-edit-line-modal[b-1aexl9rnq9] {
    max-width: 560px;
}

[b-1aexl9rnq9] .material-search-results {
    height: 400px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

[b-1aexl9rnq9] .material-search-results table {
    margin-bottom: 0 !important;
    font-size: 0.925rem;
}

[b-1aexl9rnq9] .material-search-results thead {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8f9fa;
}
/* /Modules/Invoice/Components/InvoicePayment/InvoicePayments.razor.rz.scp.css */
.invoice-payments[b-31ck74183x] {
    padding: 1.5rem;
    max-width: 1200px;
}

.invoice-payments-content[b-31ck74183x] {
    max-width: 50%;
    min-width: 400px;
}

.invoice-payments-toolbar[b-31ck74183x] {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0.75rem;
}

.invoice-payments-add-form[b-31ck74183x] {
    margin-bottom: 1rem;
}

.invoice-payments-form-grid[b-31ck74183x] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.invoice-payments-table[b-31ck74183x] {
    font-size: 0.85rem;
}

    .invoice-payments-table thead th[b-31ck74183x] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
    }

    .invoice-payments-table tbody td[b-31ck74183x] {
        vertical-align: middle;
    }

    .invoice-payments-table tfoot th[b-31ck74183x] {
        font-weight: 700;
        background-color: #f8f9fa;
    }

    .invoice-payments-table .col-actions[b-31ck74183x] {
        width: 2.5rem;
    }

.invoice-payments-content .btn-icon-only[b-31ck74183x] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .invoice-payments-content .btn-icon-only:hover[b-31ck74183x] {
        color: #0d6efd;
    }

    .invoice-payments-content .btn-icon-only.text-danger:hover[b-31ck74183x] {
        color: #dc3545;
    }

    .invoice-payments-content .btn-icon-only:focus[b-31ck74183x] {
        outline: none;
        box-shadow: none;
    }

.invoice-payments-empty[b-31ck74183x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .invoice-payments-empty i[b-31ck74183x] {
        font-size: 2rem;
    }

@media (max-width: 992px) {
    .invoice-payments-content[b-31ck74183x] {
        max-width: 75%;
    }

    .invoice-payments-form-grid[b-31ck74183x] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .invoice-payments[b-31ck74183x] {
        padding: 1rem;
    }

    .invoice-payments-content[b-31ck74183x] {
        max-width: 100%;
        min-width: 0;
    }

    .invoice-payments-form-grid[b-31ck74183x] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/Invoice/Pages/InvoiceDetail.razor.rz.scp.css */
/* ── Menu Options dropdown ── */
.invoice-detail-options[b-sfkbazkyzm] {
    position: relative;
}

/* ══════════════════════════════════════════════════════
   Modale Avoir : dimensionnement responsive + scroll
   ══════════════════════════════════════════════════════ */

.credit-note-modal-dialog[b-sfkbazkyzm] {
    position: relative;
    width: 90vw;
    max-width: 960px;
    max-height: 90vh;
    margin: 1.5rem auto;
    pointer-events: none;
    display: flex;
    flex-direction: column;
}

.credit-note-modal-content[b-sfkbazkyzm] {
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    pointer-events: auto;
    overflow: hidden;
}

/* ── Header fixe (infos facture + toolbar) ── */

.credit-note-modal-fixed-header[b-sfkbazkyzm] {
    flex: 0 0 auto;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

/* Barre d'infos facture */
.credit-note-info-bar[b-sfkbazkyzm] {
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    padding: 0.75rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

.credit-note-info-grid[b-sfkbazkyzm] {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.credit-note-info-item[b-sfkbazkyzm] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.credit-note-info-label[b-sfkbazkyzm] {
    font-size: 0.75rem;
    color: var(--matrix-text-muted, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.credit-note-info-value[b-sfkbazkyzm] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

/* Toolbar : localisation + bouton */
.credit-note-toolbar[b-sfkbazkyzm] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    padding: 0.75rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: #fff;
    flex-wrap: wrap;
}

.credit-note-toolbar-location[b-sfkbazkyzm] {
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}

.credit-note-toolbar-actions[b-sfkbazkyzm] {
    flex: 0 0 auto;
    padding-bottom: 2px;
}

/* ── Corps scrollable ── */
.credit-note-modal-body[b-sfkbazkyzm] {
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
    padding: 0;
}

/* ── Lignes : réutilisation du format ql-line-grid de InvoiceLines ── */

[b-sfkbazkyzm] .resource-items-list {
    padding: 0;
}

[b-sfkbazkyzm] .resource-item {
    cursor: default;
    padding: 0.5rem 1rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

[b-sfkbazkyzm] .resource-item:nth-child(even) {
    background-color: #f1f3f5;
}

[b-sfkbazkyzm] .resource-item:hover {
    background-color: #e8ecf0;
}

[b-sfkbazkyzm] .resource-item.is-selected {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

[b-sfkbazkyzm] .resource-item .node-line {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

[b-sfkbazkyzm] .resource-item .node-text {
    flex-grow: 1;
}

[b-sfkbazkyzm] .resource-item .node-label {
    font-weight: 600;
    font-size: 0.95rem;
}

[b-sfkbazkyzm] .resource-item .node-sub {
    font-size: 0.8rem;
}

[b-sfkbazkyzm] .ql-line-grid {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

[b-sfkbazkyzm] .ql-line-info {
    flex: 1 1 0;
    min-width: 0;
}

[b-sfkbazkyzm] .ql-line-title-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

[b-sfkbazkyzm] .ql-line-col {
    flex: 0 0 auto;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

[b-sfkbazkyzm] .ql-line-col.ql-line-col-narrow {
    min-width: 5.5rem;
}

[b-sfkbazkyzm] .ql-pricing-cell {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 0.85rem;
}

[b-sfkbazkyzm] .ql-pricing-label {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    text-transform: lowercase;
}

[b-sfkbazkyzm] .ql-pricing-value {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    text-align: right;
}

[b-sfkbazkyzm] .ql-pricing-cell-total .ql-pricing-value {
    font-weight: 700;
}

[b-sfkbazkyzm] .ql-serial-location {
    font-style: italic;
}

[b-sfkbazkyzm] .ql-variant-type-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
}

[b-sfkbazkyzm] .ql-variant-type-offcollection {
    background-color: #fff3cd;
    color: #856404;
}

/* ── Colonne quantité à créditer (compacte) ── */
[b-sfkbazkyzm] .cn-credit-col {
    flex: 0 0 auto;
    min-width: 5.5rem;
    max-width: 6.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    align-items: stretch;
}

[b-sfkbazkyzm] .cn-numeric-input {
    width: 100%;
    padding: 0.2rem 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: right;
    border: 1px solid #ced4da;
    border-radius: 4px;
    color: var(--matrix-text-primary, #1F2023);
    background-color: #fff;
    transition: border-color 0.15s ease;
    line-height: 1.4;
}

[b-sfkbazkyzm] .cn-numeric-input:focus {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.15);
}

[b-sfkbazkyzm] .cn-numeric-input.cn-qty-invalid {
    border-color: #dc3545;
    background-color: #fff5f5;
}

/* ══════════════════════════════════════════════════════
   Responsive
   ══════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .credit-note-modal-dialog[b-sfkbazkyzm] {
        width: 95vw;
        max-height: 92vh;
        margin: 0.75rem auto;
    }

    .credit-note-modal-content[b-sfkbazkyzm] {
        max-height: 92vh;
    }

    .credit-note-info-grid[b-sfkbazkyzm] {
        gap: 1rem;
    }

    .credit-note-toolbar[b-sfkbazkyzm] {
        flex-direction: column;
        align-items: stretch;
    }

    .credit-note-toolbar-location[b-sfkbazkyzm] {
        max-width: 100%;
    }

    [b-sfkbazkyzm] .ql-line-col {
        min-width: 6rem;
    }
}

@media (max-width: 576px) {
    .credit-note-modal-dialog[b-sfkbazkyzm] {
        width: 100vw;
        max-height: 95vh;
        margin: 0.25rem auto;
        border-radius: 8px;
    }

    .credit-note-modal-content[b-sfkbazkyzm] {
        max-height: 95vh;
    }

    .credit-note-info-bar[b-sfkbazkyzm],
    .credit-note-toolbar[b-sfkbazkyzm] {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    [b-sfkbazkyzm] .resource-item {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}
/* /Modules/ItemManagement/Components/CatalogDocumentList/CatalogDocumentList.razor.rz.scp.css */
.resource-list-card[b-8kp1n3x3vi] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.catalog-pane-header[b-8kp1n3x3vi] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    flex-shrink: 0;
}

.phasing-header-min-h[b-8kp1n3x3vi] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.catalog-pane-body[b-8kp1n3x3vi] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}
/* /Modules/ItemManagement/Components/ProductItemInfo/ProductItemInfo.razor.rz.scp.css */
.price-line-break[b-dk10sr4pmk] {
    grid-column: 1 / -1;
    height: 0;
    margin: 0;
    padding: 0;
}

.checkbox-actions-row[b-dk10sr4pmk] {
    grid-column: 1 / -1;
}

.product-item-detail-layout[b-dk10sr4pmk] {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 1.5rem;
    align-items: start;
}

.product-item-detail-left[b-dk10sr4pmk] {
    min-width: 0;
}

.product-item-detail-right[b-dk10sr4pmk] {
    position: sticky;
    top: 1rem;
}

.product-item-image-card[b-dk10sr4pmk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.product-item-image-wrapper[b-dk10sr4pmk] {
    width: 360px;
    height: 360px;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-item-image-wrapper img[b-dk10sr4pmk] {
    object-fit: contain !important;
    max-width: 360px !important;
    max-height: 360px !important;
}

.product-item-image-source-info[b-dk10sr4pmk] {
    margin-top: 0.75rem;
    margin-bottom: 0;
    font-size: 1rem;
}

.product-item-image-upload[b-dk10sr4pmk] {
    width: 100%;
}

.product-item-image-upload .k-upload[b-dk10sr4pmk] {
    border: none;
    background: transparent;
}

.product-item-image[b-dk10sr4pmk] {
    width: 360px;
    height: 360px;
    object-fit: contain;
}

@media (max-width: 1200px) {
    .product-item-detail-layout[b-dk10sr4pmk] {
        grid-template-columns: 1fr;
    }

    .product-item-detail-right[b-dk10sr4pmk] {
        position: relative;
        top: 0;
    }
}
/* /Modules/ItemManagement/Components/ProductItemMovements/ProductItemMovements.razor.rz.scp.css */
.movements-scroll-container[b-faty406xrw] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}
/* /Modules/ItemManagement/Components/ProductItemPhoto/ProductItemPhoto.razor.rz.scp.css */
.product-item-photo-tab[b-5jeahjpgw1] {
    display: flex;
}

.product-item-image-card[b-5jeahjpgw1] {
    width: 50%;
    min-width: 320px;
    max-width: 600px;
}
/* /Modules/ItemManagement/Components/ProductItemStock/ProductItemStock.razor.rz.scp.css */
.btn-icon-only[b-8fkwgcuzmp] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
}

.btn-icon-only:hover[b-8fkwgcuzmp] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-8fkwgcuzmp] {
    outline: none;
    box-shadow: none;
}
/* /Modules/ItemManagement/Components/ProductItemUpholstery/ProductItemUpholstery.razor.rz.scp.css */
.product-item-upholstery-grid[b-10h310wsmq] {
    width: 100%;
}

.product-item-upholstery-actions[b-10h310wsmq] {
    justify-content: flex-start;
}

.product-item-upholstery-grid .btn-icon-only[b-10h310wsmq] {
    color: #000 !important;
    font-size: 1.2rem;
    line-height: 1;
}

.product-item-upholstery-grid .btn-icon-only:hover[b-10h310wsmq],
.product-item-upholstery-grid .btn-icon-only:focus[b-10h310wsmq] {
    color: #000 !important;
}

.product-item-material-modal[b-10h310wsmq] {
    max-width: 800px;
}

.material-search-results[b-10h310wsmq] {
    height: 400px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.material-search-results table[b-10h310wsmq] {
    margin-bottom: 0 !important;
    font-size: 0.925rem;
}

.material-search-results thead[b-10h310wsmq] {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8f9fa;
}

.product-item-material-modal .matrix-modal-body[b-10h310wsmq] {
    font-size: 0.925rem;
}

.product-item-upholstery-grid tfoot th[b-10h310wsmq] {
    font-weight: 700;
    background-color: #f8f9fa;
}

.product-item-edit-line-modal[b-10h310wsmq] {
    max-width: 560px;
}
/* /Modules/ItemManagement/Pages/Catalog.razor.rz.scp.css */
.catalog-three-pane-container[b-il3ezrout1] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

/* ═══ Panneau gauche : catégories + articles ═══ */
.catalog-list-pane[b-il3ezrout1] {
    width: 420px;
    min-width: 360px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

/* ═══ Panneau central : paramètres ═══ */
.catalog-params-pane[b-il3ezrout1] {
    width: 380px;
    min-width: 320px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    display: flex;
    flex-direction: column;
}

/* ═══ Panneau droit : documents générés ═══ */
.catalog-docs-pane[b-il3ezrout1] {
    flex: 1;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    display: flex;
    flex-direction: column;
}

/* ═══ Header uniforme pour les 3 panneaux ═══ */
.catalog-pane-header[b-il3ezrout1] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    flex-shrink: 0;
}

/* ═══ Body uniforme pour les 3 panneaux ═══ */
.catalog-pane-body[b-il3ezrout1] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* ═══ Cards internes ═══ */
.resource-list-card[b-il3ezrout1] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.phasing-header-min-h[b-il3ezrout1] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.btn-icon-only[b-il3ezrout1] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-il3ezrout1] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-il3ezrout1] {
    outline: none;
    box-shadow: none;
}

/* ═══ Liste des catégories / articles ═══ */
.resource-items-list[b-il3ezrout1] {
    padding: 0;
}

.resource-item[b-il3ezrout1] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-il3ezrout1] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-il3ezrout1] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-il3ezrout1] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resource-item .node-text[b-il3ezrout1] {
    flex-grow: 1;
}

.resource-item .node-label[b-il3ezrout1] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-il3ezrout1] {
    font-size: 0.8rem;
}

.resource-item .node-badges[b-il3ezrout1] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 80px;
    align-items: center;
}

/* Badge compteur uniforme (même taille que le nombre soit 0 ou N) */
.resource-item .node-badges .badge[b-il3ezrout1] {
    min-width: 24px;
    text-align: center;
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
}

/* ═══ Chevron expand/collapse catégorie ═══ */
.category-chevron[b-il3ezrout1] {
    font-size: 0.75rem;
    color: #6c757d;
    flex-shrink: 0;
    width: 16px;
    text-align: center;
    transition: transform 0.15s ease;
}

/* ═══ Articles enfants dans l'arborescence ═══ */
.resource-item-child[b-il3ezrout1] {
    padding-left: 2.25rem;
    font-size: 0.9rem;
    background-color: #fafbfc;
    border-left: 2px solid #e9ecef;
}

.resource-item-child:hover[b-il3ezrout1] {
    background-color: #f0f4f8;
}

.resource-item-child .node-label[b-il3ezrout1] {
    font-weight: 400;
}

/* ═══ Grille checkboxes 2 colonnes ═══ */
.catalog-checkboxes-grid[b-il3ezrout1] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 1rem;
}

/* ═══ Responsive ═══ */
@@media (max-width: 1200px) {
    .catalog-three-pane-container[b-il3ezrout1] {
        flex-direction: column;
        height: auto;
    }

    .catalog-list-pane[b-il3ezrout1] {
        width: 100%;
        min-width: auto;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .catalog-params-pane[b-il3ezrout1] {
        width: 100%;
        min-width: auto;
        height: auto;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .catalog-docs-pane[b-il3ezrout1] {
        height: 40vh;
    }

    .catalog-checkboxes-grid[b-il3ezrout1] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/ItemManagement/Pages/CatalogMaintenance.razor.rz.scp.css */
.catalog-maintenance-layout[b-ozwzm6nc0c] {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    height: 100%;
    min-height: 0;
}

.catalog-maintenance-nav[b-ozwzm6nc0c] {
    width: 320px;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-y: auto;
}

.catalog-maintenance-content[b-ozwzm6nc0c] {
    flex: 1;
    background: var(--theme-card-bg);
    border-radius: 12px;
    border: 1px solid var(--theme-border-color);
    padding: 1.5rem;
    overflow-y: auto;
    min-height: 0;
}

/* ── Cards de navigation ── */

.maintenance-card[b-ozwzm6nc0c] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--theme-card-bg);
    border: 1px solid var(--theme-border-color);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.maintenance-card:hover[b-ozwzm6nc0c] {
    transform: translateY(-2px);
    box-shadow: var(--theme-shadow-lg);
}

.maintenance-card.active[b-ozwzm6nc0c] {
    border-color: var(--matrix-primary);
    background: var(--theme-hover-bg);
    box-shadow: 0 0 0 1px var(--matrix-primary);
}

.maintenance-card-icon[b-ozwzm6nc0c] {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
}

.maintenance-card-icon.danger[b-ozwzm6nc0c] {
    background: linear-gradient(135deg, var(--matrix-danger) 0%, #ff6b6b 100%);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

.maintenance-card-icon.warning[b-ozwzm6nc0c] {
    background: linear-gradient(135deg, var(--matrix-warning) 0%, #ffcc02 100%);
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}

.maintenance-card-icon.purple[b-ozwzm6nc0c] {
    background: linear-gradient(135deg, var(--matrix-purple) 0%, #a855f7 100%);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.maintenance-card-icon.teal[b-ozwzm6nc0c] {
    background: linear-gradient(135deg, var(--matrix-teal) 0%, #2dd4bf 100%);
    box-shadow: 0 4px 12px rgba(20, 184, 166, 0.3);
}

.maintenance-card-icon.pink[b-ozwzm6nc0c] {
    background: linear-gradient(135deg, var(--matrix-pink) 0%, #f472b6 100%);
    box-shadow: 0 4px 12px rgba(236, 72, 153, 0.3);
}

.maintenance-card-body[b-ozwzm6nc0c] {
    flex: 1;
    position: relative;
}

.maintenance-card-title[b-ozwzm6nc0c] {
    font-size: 15px;
    font-weight: 600;
    color: var(--theme-text-color);
    margin-bottom: 0.25rem;
}

.maintenance-card-description[b-ozwzm6nc0c] {
    font-size: 13px;
    color: var(--matrix-gray-500);
    margin-bottom: 0;
    line-height: 1.4;
}

.maintenance-badge[b-ozwzm6nc0c] {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--matrix-danger);
    color: white;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 12px;
    min-width: 24px;
    text-align: center;
}

/* ── Placeholder ── */

.maintenance-placeholder[b-ozwzm6nc0c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 300px;
}

/* ── Styles partagés des composants de maintenance ── */

[b-ozwzm6nc0c] .maintenance-section {
    animation: fadeIn-b-ozwzm6nc0c 0.3s ease-out;
}

[b-ozwzm6nc0c] .maintenance-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    gap: 1rem;
}

[b-ozwzm6nc0c] .maintenance-section-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

[b-ozwzm6nc0c] .maintenance-section-subtitle {
    font-size: 13px;
    color: var(--matrix-gray-500);
    margin-bottom: 0;
    line-height: 1.5;
    max-width: 600px;
}

[b-ozwzm6nc0c] .maintenance-results-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

[b-ozwzm6nc0c] .maintenance-table {
    font-size: 13px;
}

[b-ozwzm6nc0c] .maintenance-table th {
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--matrix-gray-500);
    border-bottom-width: 2px;
    white-space: nowrap;
}

[b-ozwzm6nc0c] .maintenance-table td {
    vertical-align: middle;
}

[b-ozwzm6nc0c] .maintenance-table code {
    font-size: 12px;
    padding: 2px 6px;
    background: var(--theme-hover-bg);
    border-radius: 4px;
}

/* ── Doublons ── */

[b-ozwzm6nc0c] .duplicate-group {
    border: 1px solid var(--theme-border-color);
    border-radius: 8px;
    overflow: hidden;
}

[b-ozwzm6nc0c] .duplicate-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--theme-hover-bg);
    border-bottom: 1px solid var(--theme-border-color);
}

/* ── Fusion ── */

[b-ozwzm6nc0c] .merge-form {
    padding: 1rem;
    background: var(--theme-hover-bg);
    border-radius: 8px;
    border: 1px solid var(--theme-border-color);
}

[b-ozwzm6nc0c] .merge-impact-card {
    padding: 1.25rem;
    border: 1px solid var(--theme-border-color);
    border-radius: 8px;
    background: var(--theme-card-bg);
}

[b-ozwzm6nc0c] .impact-item {
    display: flex;
    flex-direction: column;
    padding: 0.75rem;
    background: var(--theme-hover-bg);
    border-radius: 6px;
    text-align: center;
}

[b-ozwzm6nc0c] .impact-label {
    font-size: 12px;
    color: var(--matrix-gray-500);
    margin-bottom: 0.25rem;
}

[b-ozwzm6nc0c] .impact-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--theme-text-color);
}

[b-ozwzm6nc0c] .merge-summary {
    font-size: 13px;
}

/* ── Incohérences ── */

[b-ozwzm6nc0c] .inconsistent-group {
    border: 1px solid var(--theme-border-color);
    border-radius: 8px;
    overflow: hidden;
    padding: 1rem;
}

/* ── Badges couleur ── */

[b-ozwzm6nc0c] .bg-purple {
    background-color: var(--matrix-purple) !important;
}

[b-ozwzm6nc0c] .bg-pink {
    background-color: var(--matrix-pink) !important;
}

[b-ozwzm6nc0c] .bg-teal {
    background-color: var(--matrix-teal) !important;
}

[b-ozwzm6nc0c] .btn-teal {
    background-color: var(--matrix-teal);
    border-color: var(--matrix-teal);
    color: white;
}

[b-ozwzm6nc0c] .btn-teal:hover {
    background-color: #0d9488;
    border-color: #0d9488;
    color: white;
}

[b-ozwzm6nc0c] .text-purple {
    color: var(--matrix-purple) !important;
}

[b-ozwzm6nc0c] .text-pink {
    color: var(--matrix-pink) !important;
}

[b-ozwzm6nc0c] .text-teal {
    color: var(--matrix-teal) !important;
}

/* ── Spinner animation ── */

[b-ozwzm6nc0c] .spin {
    animation: spin-b-ozwzm6nc0c 1s linear infinite;
}

@keyframes spin-b-ozwzm6nc0c {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes fadeIn-b-ozwzm6nc0c {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ── Responsive ── */

@media (max-width: 992px) {
    .catalog-maintenance-layout[b-ozwzm6nc0c] {
        flex-direction: column;
    }

    .catalog-maintenance-nav[b-ozwzm6nc0c] {
        width: 100%;
        min-width: unset;
        flex-direction: row;
        overflow-x: auto;
        gap: 0.5rem;
    }

    .maintenance-card[b-ozwzm6nc0c] {
        min-width: 200px;
        flex-shrink: 0;
    }
}
/* /Modules/ItemManagement/Pages/CatalogUS.razor.rz.scp.css */
.catalog-three-pane-container[b-zzafeppb8t] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.catalog-list-pane[b-zzafeppb8t] {
    width: 420px;
    min-width: 360px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.catalog-params-pane[b-zzafeppb8t] {
    width: 380px;
    min-width: 320px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    display: flex;
    flex-direction: column;
}

.catalog-docs-pane[b-zzafeppb8t] {
    flex: 1;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    display: flex;
    flex-direction: column;
}

.catalog-pane-header[b-zzafeppb8t] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    flex-shrink: 0;
}

.catalog-pane-body[b-zzafeppb8t] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.resource-list-card[b-zzafeppb8t] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.phasing-header-min-h[b-zzafeppb8t] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.btn-icon-only[b-zzafeppb8t] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-zzafeppb8t] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-zzafeppb8t] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-zzafeppb8t] {
    padding: 0;
}

.resource-item[b-zzafeppb8t] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-zzafeppb8t] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-zzafeppb8t] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-zzafeppb8t] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resource-item .node-text[b-zzafeppb8t] {
    flex-grow: 1;
}

.resource-item .node-label[b-zzafeppb8t] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-zzafeppb8t] {
    font-size: 0.8rem;
}

.resource-item .node-badges[b-zzafeppb8t] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 80px;
    align-items: center;
}

.resource-item .node-badges .badge[b-zzafeppb8t] {
    min-width: 24px;
    text-align: center;
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
}

.category-chevron[b-zzafeppb8t] {
    font-size: 0.75rem;
    color: #6c757d;
    flex-shrink: 0;
    width: 16px;
    text-align: center;
    transition: transform 0.15s ease;
}

.resource-item-child[b-zzafeppb8t] {
    padding-left: 2.25rem;
    font-size: 0.9rem;
    background-color: #fafbfc;
    border-left: 2px solid #e9ecef;
}

.resource-item-child:hover[b-zzafeppb8t] {
    background-color: #f0f4f8;
}

.resource-item-child .node-label[b-zzafeppb8t] {
    font-weight: 400;
}

.catalog-item-thumb[b-zzafeppb8t] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    overflow: hidden;
    background-color: #f8f9fa;
}

.catalog-item-thumb img[b-zzafeppb8t] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.catalog-checkboxes-grid[b-zzafeppb8t] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 1rem;
}

@@media (max-width: 1200px) {
    .catalog-three-pane-container[b-zzafeppb8t] {
        flex-direction: column;
        height: auto;
    }

    .catalog-list-pane[b-zzafeppb8t] {
        width: 100%;
        min-width: auto;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .catalog-params-pane[b-zzafeppb8t] {
        width: 100%;
        min-width: auto;
        height: auto;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .catalog-docs-pane[b-zzafeppb8t] {
        height: 40vh;
    }

    .catalog-checkboxes-grid[b-zzafeppb8t] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/ItemManagement/Pages/FinishedProductDetail.razor.rz.scp.css */
.matrix-tab-content[b-wgoglyrhqx] {
    padding: 0.75rem 0.5rem;
}

@media (max-width: 992px) {
    .matrix-tab-content[b-wgoglyrhqx] {
        padding: 0.5rem 0;
    }
}
/* /Modules/ItemManagement/Pages/FinishedProducts.razor.rz.scp.css */
/* ── Colonne Localisation — tags par emplacement ── */

[b-xd8rhdoofi] .fp-location-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 2px 0;
}

[b-xd8rhdoofi] .fp-location-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 7px 2px 6px;
    border-radius: 4px;
    background-color: #e3f2fd;
    border: 1px solid #90caf9;
    font-size: 0.72rem;
    white-space: nowrap;
}

[b-xd8rhdoofi] .fp-location-tag-name {
    color: #1565c0;
    font-weight: 500;
}

[b-xd8rhdoofi] .fp-location-tag-qty {
    background-color: #1565c0;
    color: #fff;
    font-weight: 700;
    font-size: 0.68rem;
    padding: 1px 5px;
    border-radius: 3px;
    min-width: 18px;
    text-align: center;
}
/* /Modules/ItemManagement/Pages/ItemManagement.razor.rz.scp.css */
.item-management-card-link[b-im9qcgp2eh] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.item-management-card-link:hover[b-im9qcgp2eh] {
    color: inherit;
    text-decoration: none;
}

.item-management-card-link .matrix-dashboard-card[b-im9qcgp2eh] {
    cursor: pointer;
}

.item-management-card-link:hover .matrix-dashboard-card[b-im9qcgp2eh] {
    transform: translateY(-4px);
}
/* /Modules/ItemManagement/Pages/SalesPrices.razor.rz.scp.css */
/* ========================================
   SalesPrices - Layout principal (3 colonnes)
   ======================================== */

.sp-header-actions[b-kdjyfeol5c] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-left: auto;
}

.sp-container[b-kdjyfeol5c] {
    display: flex;
    gap: 0;
    height: calc(100vh - 200px);
    min-height: 520px;
}

/* Spécifique : 3 colonnes (Articles | Variantes | Tarifs) */
.sp-container-3col[b-kdjyfeol5c] {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr) minmax(420px, 1.4fr);
    gap: 0;
}

/* ========================================
   Panneau liste générique (colonnes 1 & 2)
   ======================================== */

.sp-list-pane[b-kdjyfeol5c] {
    width: 100%;
    min-width: 0;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.sp-items-pane[b-kdjyfeol5c],
.sp-variants-pane[b-kdjyfeol5c] {
    width: 100%;
}

.sp-list-card[b-kdjyfeol5c] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sp-list-card .card-header[b-kdjyfeol5c] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0.75rem 1rem;
}

.sp-header-row[b-kdjyfeol5c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
}

/* ========================================
   Recherche & filtres
   ======================================== */

.sp-search-input[b-kdjyfeol5c] {
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    font-size: 0.85rem;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.sp-search-input:focus[b-kdjyfeol5c] {
    border-color: #86b7fe;
    outline: none;
    background: #fff;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}

.sp-search-input[b-kdjyfeol5c]::placeholder {
    color: #adb5bd;
}

.sp-filter-container[b-kdjyfeol5c] {
    display: flex;
    align-items: center;
    flex: 1;
}

.sp-filter-select[b-kdjyfeol5c] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 0;
    width: 100%;
}

.sp-filter-select:focus[b-kdjyfeol5c] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.sp-filter-select:hover[b-kdjyfeol5c] {
    background: #FCF1E6;
    color: #0073ea;
}

/* Grille des 4 filtres MULTI-CHOIX de la colonne Articles (Famille / Catégorie / Vendeur / Statut).
   Les composants Matrix_MultiSelect occupent chacun une cellule sur 2 colonnes. */
.sp-filters-grid[b-kdjyfeol5c] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

/* Compactage des Matrix_FormField intégrés dans la grille pour optimiser
   la verticalité du panneau Articles (header déjà chargé : titre, recherche, filtres). */
.sp-filters-grid[b-kdjyfeol5c]  .matrix-form-field {
    margin-bottom: 0;
}

.sp-filters-grid[b-kdjyfeol5c]  .matrix-form-field-label {
    font-size: 0.72rem;
    margin-bottom: 0.15rem;
    color: #6c757d;
    font-weight: 500;
}

.sp-filters-grid[b-kdjyfeol5c]  .matrix-multiselect-display {
    min-height: 32px;
    padding: 0.3rem 0.5rem;
    font-size: 0.8rem;
}

/* Conteneur des boutons d'action de la zone filtres (Effacer / Sauvegarder). */
.sp-filters-actions[b-kdjyfeol5c] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.sp-clear-filters-btn[b-kdjyfeol5c] {
    background: transparent;
    border: none;
    color: #6c757d;
    font-size: 0.78rem;
    padding: 0.2rem 0.4rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    align-self: flex-start;
    transition: color 0.15s ease;
}

/* Bouton "Sauvegarder mes filtres" : déclencheur manuel + diagnostic.
   Visuellement légèrement plus marqué que "Effacer" pour inviter l'utilisateur à l'utiliser
   en cas de doute sur la persistance. */
.sp-save-filters-btn[b-kdjyfeol5c] {
    background: transparent;
    border: 1px solid #cfd6dc;
    color: #495057;
    font-size: 0.78rem;
    padding: 0.25rem 0.55rem;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    margin-left: auto;
}

.sp-save-filters-btn:hover[b-kdjyfeol5c] {
    background: #FCF1E6;
    border-color: #f0a85c;
    color: #b96a14;
}

/* Petit compteur de clics affiché à côté du bouton : sert au diagnostic
   pour vérifier que l'événement @onclick atteint bien le code C#. */
.sp-save-filters-counter[b-kdjyfeol5c] {
    margin-left: 0.25rem;
    font-weight: 600;
    color: #b96a14;
    font-size: 0.72rem;
}

/* Statut du dernier clic (OK / KO / Exception) affiché sous le bouton. */
.sp-save-filters-status[b-kdjyfeol5c] {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    font-style: italic;
}

.sp-clear-filters-btn:hover[b-kdjyfeol5c] {
    color: var(--matrix-primary, #0d6efd);
}

/* ========================================
   Items / Variantes
   ======================================== */

.sp-items-list[b-kdjyfeol5c] {
    padding: 0;
}

.sp-item[b-kdjyfeol5c] {
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    border-left: 3px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.sp-item + .sp-item[b-kdjyfeol5c] {
    border-top: 1px solid var(--matrix-border-light, #f1f3f5);
}

.sp-item:hover[b-kdjyfeol5c] {
    background-color: #f8f9fa;
}

.sp-item.is-selected[b-kdjyfeol5c] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

/* Article touché : marqueur visuel discret pour suivre la progression. */
.sp-item.is-touched[b-kdjyfeol5c] {
    background-color: #f4fbf6;
}

.sp-item.is-touched.is-selected[b-kdjyfeol5c] {
    background-color: #e8f4ff;
}

.sp-item-touched-icon[b-kdjyfeol5c] {
    color: #198754;
    font-size: 0.85rem;
    margin-right: 0.35rem;
}

.sp-item-line[b-kdjyfeol5c] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.sp-item-text[b-kdjyfeol5c] {
    flex-grow: 1;
    min-width: 0;
}

.sp-item-label[b-kdjyfeol5c] {
    font-weight: 600;
    font-size: 0.92rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    overflow: hidden;
    min-width: 0;
}

/* Préfixe catégorie : libellé compact, légèrement effacé devant le nom */
.sp-item-cat-prefix[b-kdjyfeol5c] {
    font-weight: 500;
    font-size: 0.82rem;
    color: #6b7280;
    white-space: nowrap;
    flex-shrink: 0;
}

.sp-item-cat-sep[b-kdjyfeol5c] {
    color: #c5cad1;
    font-weight: 400;
    flex-shrink: 0;
}

/* Le nom doit pouvoir se tronquer, pas la catégorie / sous-catégorie. */
.sp-item-name[b-kdjyfeol5c] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1 1 auto;
}

/* Sous-catégorie : badge discret aligné à droite du nom */
.sp-item-subcat[b-kdjyfeol5c] {
    margin-left: auto;
    padding: 0.1rem 0.45rem;
    border-radius: 10px;
    background-color: #eef2f6;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
}

.sp-item-sub[b-kdjyfeol5c] {
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 0.15rem;
}

.sp-item-meta[b-kdjyfeol5c] {
    display: flex;
    gap: 0.4rem;
    margin-top: 0.3rem;
    flex-wrap: wrap;
}

.sp-item-badge[b-kdjyfeol5c] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.12rem 0.45rem;
    border-radius: 12px;
    background-color: #eef2f6;
    color: #495057;
}

.sp-item-badge i[b-kdjyfeol5c] {
    font-size: 0.7rem;
}

.sp-item-badge-date[b-kdjyfeol5c] {
    background-color: #fff3e0;
    color: #b06d00;
}

.sp-item-price[b-kdjyfeol5c] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #198754;
    white-space: nowrap;
    flex-shrink: 0;
}

.sp-item-missing[b-kdjyfeol5c] {
    color: #d97706;
    font-size: 0.95rem;
    flex-shrink: 0;
}

/* ========================================
   Panneau droit : tarifs
   ======================================== */

.sp-detail-pane[b-kdjyfeol5c] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
    padding: 1rem 1.5rem;
}

.sp-empty-state[b-kdjyfeol5c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

/* ========================================
   Tags SalesCode
   ======================================== */

.sp-tags[b-kdjyfeol5c] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    align-items: center;
    padding: 0.5rem 0;
    margin-bottom: 0.75rem;
}

.sp-tag[b-kdjyfeol5c] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 2px solid var(--matrix-border-light, #D1D5DB);
    background-color: #FFFFFF;
    color: var(--matrix-text-secondary, #6B7280);
    cursor: pointer;
    transition: all 0.2s ease;
}

.sp-tag:hover[b-kdjyfeol5c] {
    border-color: var(--matrix-primary, #007bff);
    color: var(--matrix-primary, #007bff);
    background-color: rgba(0, 123, 255, 0.05);
}

.sp-tag.active[b-kdjyfeol5c] {
    border-color: var(--matrix-primary, #007bff);
    background-color: var(--matrix-primary, #007bff);
    color: #FFFFFF;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

.sp-tag-count[b-kdjyfeol5c] {
    font-size: 0.7rem;
    font-weight: 700;
    opacity: 0.7;
}

.sp-tag-add[b-kdjyfeol5c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px dashed var(--matrix-border-light, #D1D5DB);
    background: transparent;
    color: var(--matrix-text-secondary, #6B7280);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.85rem;
    margin-left: 0.25rem;
}

.sp-tag-add:hover[b-kdjyfeol5c] {
    border-color: var(--matrix-primary, #007bff);
    color: var(--matrix-primary, #007bff);
    background-color: rgba(0, 123, 255, 0.05);
}

.sp-tag-add:disabled[b-kdjyfeol5c] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ========================================
   Table des tarifs
   ======================================== */

.sp-table thead th[b-kdjyfeol5c] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6c757d;
    border-bottom-width: 2px;
    white-space: nowrap;
    padding: 0.5rem 0.5rem;
}

.sp-table tbody td[b-kdjyfeol5c] {
    font-size: 0.88rem;
    padding: 0.45rem 0.5rem;
    vertical-align: middle;
}

.sp-table tbody tr[b-kdjyfeol5c] {
    transition: background-color 0.15s ease;
}

/* ========================================
   Row status
   ======================================== */

.sp-row-expired[b-kdjyfeol5c] {
    opacity: 0.5;
}

.sp-row-future[b-kdjyfeol5c] {
    background-color: rgba(13, 202, 240, 0.06);
}

/* ========================================
   Actions (icônes sans cadre, côte à côte)
   ======================================== */

.sp-row-actions[b-kdjyfeol5c] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
}

.sp-action-icon[b-kdjyfeol5c] {
    cursor: pointer;
    font-size: 0.95rem;
    transition: color 0.15s ease, transform 0.15s ease;
    padding: 0.15rem;
}

.sp-action-edit[b-kdjyfeol5c] {
    color: #6c757d;
}

.sp-action-edit:hover[b-kdjyfeol5c] {
    color: var(--matrix-primary, #0d6efd);
    transform: scale(1.15);
}

.sp-action-delete[b-kdjyfeol5c] {
    color: #6c757d;
}

.sp-action-delete:hover[b-kdjyfeol5c] {
    color: #dc3545;
    transform: scale(1.15);
}

.sp-action-confirm[b-kdjyfeol5c] {
    color: #198754;
    font-size: 1.05rem;
}

.sp-action-confirm:hover[b-kdjyfeol5c] {
    color: #157347;
    transform: scale(1.2);
}

.sp-action-cancel[b-kdjyfeol5c] {
    color: #6c757d;
    font-size: 1.05rem;
}

.sp-action-cancel:hover[b-kdjyfeol5c] {
    color: #dc3545;
    transform: scale(1.2);
}

/* ========================================
   Responsive
   ======================================== */

/* Tablette : repli sur 2 colonnes (Articles+Variantes empilés / Tarifs à droite). */
@media (max-width: 1280px) {
    .sp-container-3col[b-kdjyfeol5c] {
        grid-template-columns: minmax(280px, 1fr) minmax(420px, 1.5fr);
    }

    .sp-items-pane[b-kdjyfeol5c] {
        grid-column: 1;
        grid-row: 1;
        height: 50%;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .sp-variants-pane[b-kdjyfeol5c] {
        grid-column: 1;
        grid-row: 2;
        height: 50%;
    }

    .sp-detail-pane[b-kdjyfeol5c] {
        grid-column: 2;
        grid-row: 1 / 3;
    }
}

/* Mobile : empilement vertical complet. */
@media (max-width: 768px) {
    .sp-container-3col[b-kdjyfeol5c] {
        grid-template-columns: 1fr;
        height: auto;
    }

    .sp-items-pane[b-kdjyfeol5c],
    .sp-variants-pane[b-kdjyfeol5c] {
        grid-column: 1;
        grid-row: auto;
        height: 35vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .sp-detail-pane[b-kdjyfeol5c] {
        grid-column: 1;
        grid-row: auto;
        height: 60vh;
        padding: 0.75rem;
    }

    .sp-table thead th[b-kdjyfeol5c],
    .sp-table tbody td[b-kdjyfeol5c] {
        font-size: 0.78rem;
        padding: 0.35rem 0.3rem;
    }
}
/* /Modules/ItemManagement/Pages/VariantDescriptions.razor.rz.scp.css */
/* ========================================
   VariantDescriptions - Layout principal
   ======================================== */

.variant-desc-search-bar[b-x3kyxemk8b] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    background: var(--matrix-bg-secondary, #f8f9fa);
}

.variant-desc-container[b-x3kyxemk8b] {
    display: flex;
    gap: 0;
    height: calc(100vh - 200px);
    min-height: 520px;
}

/* ========================================
   Panneau gauche : liste des variantes
   ======================================== */

.variant-desc-list-pane[b-x3kyxemk8b] {
    width: 500px;
    min-width: 400px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.variant-desc-list-card[b-x3kyxemk8b] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.variant-desc-list-card .card-header[b-x3kyxemk8b] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.variant-desc-header-row[b-x3kyxemk8b] {
    min-height: 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.variant-desc-search-input[b-x3kyxemk8b] {
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    font-size: 0.85rem;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.variant-desc-search-input:focus[b-x3kyxemk8b] {
    border-color: #86b7fe;
    outline: none;
    background: #fff;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}

.variant-desc-search-input[b-x3kyxemk8b]::placeholder {
    color: #adb5bd;
}

/* ========================================
   Filtres (type, statut)
   ======================================== */

.variant-desc-filter-container[b-x3kyxemk8b] {
    display: flex;
    align-items: center;
}

.variant-desc-filter-select[b-x3kyxemk8b] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 110px;
    max-width: 130px;
    width: 100%;
}

.variant-desc-filter-select:focus[b-x3kyxemk8b] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.variant-desc-filter-select:hover[b-x3kyxemk8b] {
    background: #FCF1E6;
    color: #0073ea;
}

/* ========================================
   Liste des variantes (items)
   ======================================== */

.variant-desc-items-list[b-x3kyxemk8b] {
    padding: 0;
}

.variant-desc-item[b-x3kyxemk8b] {
    cursor: pointer;
    padding: 0.4rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.variant-desc-item:hover[b-x3kyxemk8b] {
    background-color: #f8f9fa;
}

.variant-desc-item.is-selected[b-x3kyxemk8b] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.variant-desc-item-line[b-x3kyxemk8b] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.variant-desc-item-text[b-x3kyxemk8b] {
    flex-grow: 1;
    min-width: 0;
}

.variant-desc-item-label[b-x3kyxemk8b] {
    font-weight: 600;
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.variant-desc-item-sub[b-x3kyxemk8b] {
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ========================================
   Panneau droit : détail
   ======================================== */

.variant-desc-detail-pane[b-x3kyxemk8b] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
    padding: 1.5rem;
}

.variant-desc-empty-state[b-x3kyxemk8b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

/* ========================================
   Sections FR / ENU
   ======================================== */

.variant-desc-section[b-x3kyxemk8b] {
    border: 1px solid var(--matrix-border-light, #dee2e6);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.variant-desc-section-header[b-x3kyxemk8b] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
}

.variant-desc-section-header h6[b-x3kyxemk8b] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.variant-desc-section-header i[b-x3kyxemk8b] {
    font-size: 1.1rem;
    color: var(--matrix-primary, #0d6efd);
}

/* ========================================
   Boutons d'actions à droite de Description
   ======================================== */

.variant-desc-field-with-actions[b-x3kyxemk8b] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    grid-column: span 2;
}

.variant-desc-field-area[b-x3kyxemk8b] {
    flex: 1;
    min-width: 0;
}

.variant-desc-field-actions[b-x3kyxemk8b] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-top: 1.75rem;
}

.variant-desc-action-btn[b-x3kyxemk8b] {
    border: 1px solid #dee2e6;
    background: #ffffff;
    border-radius: 6px;
    padding: 0.4rem 0.55rem;
    cursor: pointer;
    color: #495057;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.variant-desc-action-btn:hover[b-x3kyxemk8b] {
    background: #eef5ff;
    border-color: #0d6efd;
    color: #0d6efd;
}

.variant-desc-action-btn:active[b-x3kyxemk8b] {
    background: #dbe9ff;
}

/* ========================================
   Modal : Résultats de recherche article
   ======================================== */

.variant-desc-search-results[b-x3kyxemk8b] {
    max-height: 350px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

.variant-desc-search-result-item[b-x3kyxemk8b] {
    padding: 0.6rem 0.85rem;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s ease;
}

.variant-desc-search-result-item:last-child[b-x3kyxemk8b] {
    border-bottom: none;
}

.variant-desc-search-result-item:hover[b-x3kyxemk8b] {
    background-color: #eef5ff;
}

.variant-desc-search-result-categories[b-x3kyxemk8b] {
    display: flex;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 992px) {
    .variant-desc-container[b-x3kyxemk8b] {
        flex-direction: column;
    }

    .variant-desc-list-pane[b-x3kyxemk8b] {
        width: 100%;
        min-width: unset;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .variant-desc-detail-pane[b-x3kyxemk8b] {
        height: 60vh;
        padding: 1rem;
    }
}

@media (max-width: 576px) {
    .variant-desc-search-bar[b-x3kyxemk8b] {
        padding: 0.5rem;
    }

    .variant-desc-detail-pane[b-x3kyxemk8b] {
        padding: 0.75rem;
    }

    .variant-desc-section[b-x3kyxemk8b] {
        padding: 0.75rem;
        margin-bottom: 1rem;
    }
}
/* /Modules/Item/Components/ItemDataSheet/ItemDataSheet.razor.rz.scp.css */
/* ===== Layout principal (même pattern que ItemVariants) ===== */
.datasheet-wrapper[b-xjqvvkuoiq] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.datasheet-container[b-xjqvvkuoiq] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

/* ===== Panneau gauche : Options (20%) ===== */
.datasheet-options-pane[b-xjqvvkuoiq] {
    width: 20%;
    min-width: 220px;
    max-width: 320px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.datasheet-options-pane .resource-list-card[b-xjqvvkuoiq] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.datasheet-options-pane .card-header[b-xjqvvkuoiq] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.phasing-header-min-h[b-xjqvvkuoiq] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.datasheet-options-content[b-xjqvvkuoiq] {
    padding: 1rem;
}

.datasheet-field-group[b-xjqvvkuoiq] {
    margin-bottom: 1rem;
}

.datasheet-actions[b-xjqvvkuoiq] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

/* ===== Panneau droit : Prévisualisation (80%) ===== */
.datasheet-preview-pane[b-xjqvvkuoiq] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
}

/* Prévisualisation HTML */
.datasheet-preview[b-xjqvvkuoiq] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.datasheet-preview-header[b-xjqvvkuoiq] {
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.datasheet-preview-frame[b-xjqvvkuoiq] {
    flex: 1;
    width: 100%;
    border: none;
    background-color: #ffffff;
}

/* Viewer PDF Telerik */
.datasheet-pdf-viewer[b-xjqvvkuoiq] {
    flex: 1;
    overflow: hidden;
}

/* État vide (même pattern que item-variants-empty-state) */
.datasheet-empty-state[b-xjqvvkuoiq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

/* ===== Responsive ===== */
@media (max-width: 992px) {
    .datasheet-container[b-xjqvvkuoiq] {
        flex-direction: column;
    }

    .datasheet-options-pane[b-xjqvvkuoiq] {
        width: 100%;
        max-width: none;
        height: auto;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .datasheet-preview-pane[b-xjqvvkuoiq] {
        height: 60vh;
    }
}
/* /Modules/Item/Components/ItemPictures/ItemPictures.razor.rz.scp.css */
.item-pictures-section[b-87o2sqa8kx] {
    padding: 1rem;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.item-pictures-section h5[b-87o2sqa8kx] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    margin-bottom: 1rem;
}

.item-pictures-list[b-87o2sqa8kx] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

@media (max-width: 1199.98px) {
    .item-pictures-list[b-87o2sqa8kx] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767.98px) {
    .item-pictures-list[b-87o2sqa8kx] {
        grid-template-columns: 1fr;
    }
}

.item-picture-card[b-87o2sqa8kx] {
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    padding: 1rem;
    background-color: var(--matrix-bg-primary, #FFFFFF);
}

.item-picture-header[b-87o2sqa8kx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.item-picture-title[b-87o2sqa8kx] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    margin: 0;
}

.item-picture-badge[b-87o2sqa8kx] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-radius: 4px;
    color: var(--matrix-text-secondary, #6B7280);
    font-weight: 500;
}

.item-picture-actions[b-87o2sqa8kx] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.item-picture-actions label.btn[b-87o2sqa8kx] {
    cursor: pointer;
    font-size: 0.8rem;
}

.item-picture-actions label.btn[disabled="true"][b-87o2sqa8kx] {
    pointer-events: none;
    opacity: 0.65;
}

.item-picture-info[b-87o2sqa8kx] {
    margin-bottom: 0.75rem;
}

.item-picture-container[b-87o2sqa8kx] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 150px;
    max-height: 280px;
    background-color: #FFFFFF;
    border-radius: 4px;
    padding: 0.5rem;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    width: 100%;
    overflow: hidden;
}

.item-picture-container img[b-87o2sqa8kx] {
    max-width: 100%;
    max-height: 260px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.item-picture-container.item-picture-icon[b-87o2sqa8kx] {
    min-height: 64px;
}

.item-picture-container.item-picture-icon img[b-87o2sqa8kx] {
    max-width: 64px;
    max-height: 64px;
    width: auto;
}

.item-picture-placeholder[b-87o2sqa8kx] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 150px;
    max-height: 280px;
    background-color: #FFFFFF;
    border-radius: 4px;
    color: var(--matrix-text-secondary, #6B7280);
    gap: 0.5rem;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

.item-picture-placeholder.item-picture-icon[b-87o2sqa8kx] {
    min-height: 64px;
}

.item-picture-placeholder i[b-87o2sqa8kx] {
    font-size: 2rem;
    opacity: 0.5;
}

.item-picture-placeholder span[b-87o2sqa8kx] {
    font-size: 0.875rem;
}
/* /Modules/Item/Components/ItemSelector/ItemSelector.razor.rz.scp.css */
/* ========================================
   ItemSelector - Overlay & Modal
   ======================================== */

.item-selector-overlay[b-fyh5l92gz5] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.item-selector-overlay.visible[b-fyh5l92gz5] {
    opacity: 1;
    visibility: visible;
}

.item-selector-content[b-fyh5l92gz5] {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 1400px;
    height: 80vh;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ========================================
   Header
   ======================================== */

.item-selector-header[b-fyh5l92gz5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    flex-shrink: 0;
    gap: 1rem;
}

.item-selector-title[b-fyh5l92gz5] {
    margin: 0;
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--matrix-text-primary, #1F2023);
    flex: 1;
}

.item-selector-header-actions[b-fyh5l92gz5] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.mode-selector-header[b-fyh5l92gz5] {
    display: flex;
    align-items: center;
}

.mode-selector-header .btn-group-sm .btn[b-fyh5l92gz5] {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    font-weight: 600;
    border-width: 2px;
    transition: all 0.2s ease;
}

.mode-selector-header .btn-group-sm .btn.btn-primary[b-fyh5l92gz5] {
    background-color: var(--matrix-primary, #007bff);
    border-color: var(--matrix-primary, #007bff);
    color: #FFFFFF;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

.mode-selector-header .btn-group-sm .btn.btn-outline-primary[b-fyh5l92gz5] {
    background-color: #FFFFFF;
    border-color: var(--matrix-primary, #007bff);
    color: var(--matrix-primary, #007bff);
    font-weight: 600;
}

.mode-selector-header .btn-group-sm .btn.btn-outline-primary:hover[b-fyh5l92gz5] {
    background-color: var(--matrix-primary, #007bff);
    color: #FFFFFF;
}

.item-selector-header .btn-close[b-fyh5l92gz5] {
    opacity: 1;
    background-color: transparent;
    border: 2px solid var(--matrix-text-primary, #1F2023);
    padding: 0;
    margin: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.item-selector-header .btn-close:hover[b-fyh5l92gz5] {
    background-color: var(--matrix-text-primary, #1F2023);
    border-color: var(--matrix-text-primary, #1F2023);
    transform: scale(1.1);
}

.item-selector-header .btn-close[b-fyh5l92gz5]::before {
    content: "\00d7";
    font-size: 1.5rem;
    line-height: 1;
    color: var(--matrix-text-primary, #1F2023);
    font-weight: 700;
    transition: color 0.2s ease;
}

.item-selector-header .btn-close:hover[b-fyh5l92gz5]::before {
    color: #FFFFFF;
}

/* ========================================
   Body
   ======================================== */

.item-selector-body[b-fyh5l92gz5] {
    flex: 1;
    padding: 0.75rem 1.5rem;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #FFFFFF);
}

.item-selector-body .matrix-form[b-fyh5l92gz5] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.item-selector-body .matrix-form-section[b-fyh5l92gz5] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 1rem;
    padding-top: 0;
}

/* ========================================
   Footer
   ======================================== */

.item-selector-footer[b-fyh5l92gz5] {
    display: flex;
    justify-content: flex-end;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    flex-shrink: 0;
}

.item-selector-footer .mf-form-actions[b-fyh5l92gz5] {
    display: flex;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

/* ========================================
   Expert Mode
   ======================================== */

.expert-mode[b-fyh5l92gz5] {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    min-height: 0;
}

.expert-filters[b-fyh5l92gz5] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    flex-shrink: 0;
}

.expert-search-box[b-fyh5l92gz5] {
    flex: 1;
    min-width: 200px;
}

.expert-category-filter[b-fyh5l92gz5] {
    min-width: 200px;
    max-width: 300px;
}

/* ========================================
   Standard Mode
   ======================================== */

.standard-mode[b-fyh5l92gz5] {
    padding-top: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ========================================
   Category & Item Cards (120x120)
   ======================================== */

.categories-grid[b-fyh5l92gz5] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    padding-top: 4px;
    flex: 1;
    overflow-y: auto;
    align-content: flex-start;
}

.categories-grid-card[b-fyh5l92gz5] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    padding-top: 4px;
}

.category-card[b-fyh5l92gz5] {
    flex: 0 0 120px;
    width: 120px;
    height: 120px;
    border: 2px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    background: var(--matrix-bg-primary, #FFFFFF);
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-card:hover[b-fyh5l92gz5] {
    border-color: var(--matrix-primary, #007bff);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.2);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
}

.category-card-content[b-fyh5l92gz5] {
    text-align: center;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.category-card-name[b-fyh5l92gz5] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--matrix-text-primary, #1F2023);
    word-break: break-word;
}

.items-grid[b-fyh5l92gz5] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 4px;
}

.items-grid-card[b-fyh5l92gz5] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    padding-top: 4px;
}

.item-card[b-fyh5l92gz5] {
    flex: 0 0 120px;
    width: 120px;
    height: 120px;
    border: 2px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    background: var(--matrix-bg-primary, #FFFFFF);
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.item-card:hover[b-fyh5l92gz5] {
    border-color: var(--matrix-primary, #007bff);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.2);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    z-index: 10;
    position: relative;
}

.item-card.selected[b-fyh5l92gz5] {
    border-color: var(--matrix-primary, #007bff);
    background-color: rgba(0, 123, 255, 0.1);
}

.item-card-content[b-fyh5l92gz5] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0.5rem;
}

.item-card-image[b-fyh5l92gz5] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.25rem;
    min-height: 70px;
}

.item-card-image img[b-fyh5l92gz5] {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.item-card-placeholder[b-fyh5l92gz5] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9CA3AF;
    font-size: 1.5rem;
}

.item-card-name[b-fyh5l92gz5] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--matrix-text-primary, #1F2023);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ========================================
   Items List (Expert Mode)
   ======================================== */

.items-list[b-fyh5l92gz5] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.resource-items-list[b-fyh5l92gz5] {
    padding: 0;
    background-color: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

.resource-item[b-fyh5l92gz5] {
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    border-left: 3px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
}

.resource-item:last-child[b-fyh5l92gz5] {
    border-bottom: none;
}

.resource-item:hover[b-fyh5l92gz5] {
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.resource-item.is-selected[b-fyh5l92gz5] {
    background-color: rgba(0, 123, 255, 0.1);
    border-left-color: var(--matrix-primary, #0d6efd);
}

.resource-item .node-line[b-fyh5l92gz5] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resource-item .node-text[b-fyh5l92gz5] {
    flex-grow: 1;
}

.resource-item .node-label[b-fyh5l92gz5] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--matrix-text-primary, #1F2023);
}

.resource-item .node-sub[b-fyh5l92gz5] {
    font-size: 0.8rem;
    color: var(--matrix-text-secondary, #6B7280);
}

.resource-item .node-badges[b-fyh5l92gz5] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.resource-item .item-icon-small[b-fyh5l92gz5] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.resource-item .item-icon-small img[b-fyh5l92gz5] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 768px) {
    .item-selector-content[b-fyh5l92gz5] {
        width: 95%;
        height: 90vh;
    }

    .category-card[b-fyh5l92gz5],
    .item-card[b-fyh5l92gz5] {
        flex: 0 0 100px;
        width: 100px;
        height: 100px;
    }
}
/* /Modules/Item/Components/ItemTranslation/ItemTranslation.razor.rz.scp.css */
.item-translation-layout[b-vwtkyjnjfc] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.item-translation-header-row[b-vwtkyjnjfc] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.item-translation-column-title[b-vwtkyjnjfc] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    margin-bottom: 0;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
}

.item-translation-column-title-spacer[b-vwtkyjnjfc] {
    /* Espace vide pour la colonne centrale */
}

.item-translation-row[b-vwtkyjnjfc] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
    align-items: start;
    margin-bottom: 1rem;
}

.item-translation-field-wrapper[b-vwtkyjnjfc] {
    display: flex;
    flex-direction: column;
}

.item-translation-button-wrapper[b-vwtkyjnjfc] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1.5rem; /* Aligner avec le début du champ (après le label) */
    min-height: 40px;
}

.item-translation-button[b-vwtkyjnjfc] {
    min-width: auto;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .item-translation-header-row[b-vwtkyjnjfc],
    .item-translation-row[b-vwtkyjnjfc] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .item-translation-button-wrapper[b-vwtkyjnjfc] {
        padding-top: 0;
        min-height: auto;
    }
}
/* /Modules/Item/Components/ItemVariants/ItemVariantDetail.razor.rz.scp.css */
.item-variant-detail[b-2uk17xuc3u] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.item-variant-detail-header[b-2uk17xuc3u] {
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.item-variant-detail-header--create[b-2uk17xuc3u] {
    border-left: 3px solid var(--bs-primary, #0d6efd);
}

.item-variant-detail-content--create[b-2uk17xuc3u] {
    padding-top: 1rem;
}

.item-variant-detail-header h6[b-2uk17xuc3u] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.item-variant-detail-content[b-2uk17xuc3u] {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
    padding-bottom: 2rem;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.item-variant-detail-content .matrix-tab-content[b-2uk17xuc3u] {
    flex: 1;
    min-height: 0;
    padding-bottom: 1rem;
}

/* Quand le tab-content contient un composant avec sa propre sticky bar,
   le parent ne doit pas scroller ni ajouter de padding superflu. */
.item-variant-detail-content--create[b-2uk17xuc3u],
.item-variant-detail-content--stickybar[b-2uk17xuc3u] {
    overflow: hidden;
    padding: 0;
}

.item-variant-detail-content--create .matrix-tab-content[b-2uk17xuc3u],
.item-variant-detail-content--stickybar .matrix-tab-content--stickybar[b-2uk17xuc3u] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
}

.phasing-header-min-h[b-2uk17xuc3u] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.item-variant-detail-title-row[b-2uk17xuc3u] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.item-variant-origin-tag[b-2uk17xuc3u] {
    font-size: 0.75rem;
    font-weight: 500;
    background-color: var(--matrix-badge-muted-bg, #6c757d) !important;
    color: var(--matrix-badge-muted-text, #fff);
    max-width: 100%;
    white-space: normal;
    word-break: break-all;
    text-align: left;
}
/* /Modules/Item/Components/ItemVariants/ItemVariantInformation.razor.rz.scp.css */
/* Container principal : flex column, prend 100% de la hauteur disponible */
.variant-info-wrapper[b-cx9ggwz8b9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* Zone scrollable : contenu du formulaire */
.variant-info-scrollable[b-cx9ggwz8b9] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 1rem 1.25rem;
    padding-bottom: 0.5rem;
}

/* Sticky bar : boutons d'action en bas de l'écran */
.variant-info-stickybar[b-cx9ggwz8b9] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}
/* /Modules/Item/Components/ItemVariants/ItemVariantPhotos.razor.rz.scp.css */
/* Styles pour ItemVariantPhotos - Réutilise les styles de ItemPictures */
.item-pictures-section[b-u14ucjydsz] {
    padding: 1rem;
}

.item-pictures-section h5[b-u14ucjydsz] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    margin-bottom: 1rem;
}

.item-pictures-list[b-u14ucjydsz] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .item-pictures-list[b-u14ucjydsz] {
        grid-template-columns: 1fr;
    }
}

.item-picture-card[b-u14ucjydsz] {
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    padding: 1rem;
    background-color: var(--matrix-bg-primary, #FFFFFF);
}

.item-picture-header[b-u14ucjydsz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.item-picture-title[b-u14ucjydsz] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    margin: 0;
}

.item-picture-container[b-u14ucjydsz] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    background-color: #FFFFFF;
    border-radius: 4px;
    padding: 0.5rem;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    width: 100%;
}

.item-picture-container img[b-u14ucjydsz] {
    max-width: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.item-picture-placeholder[b-u14ucjydsz] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    background-color: #FFFFFF;
    border-radius: 4px;
    color: var(--matrix-text-secondary, #6B7280);
    gap: 0.5rem;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

.item-picture-placeholder i[b-u14ucjydsz] {
    font-size: 2rem;
    opacity: 0.5;
}

.item-picture-placeholder span[b-u14ucjydsz] {
    font-size: 0.875rem;
}
/* /Modules/Item/Components/ItemVariants/ItemVariantPricing.razor.rz.scp.css */
/* Styles pour ItemVariantPricing - Réutilise les styles de ItemVariantInformation */
.scroll-auto[b-wx9xpnpvv4] {
    max-height: calc(100vh - 400px);
    overflow-y: auto;
    padding: 0;
    padding-bottom: 1rem;
}

.matrix-form[b-wx9xpnpvv4] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.matrix-form-section[b-wx9xpnpvv4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    padding-bottom: 1rem;
}

.pricing-section[b-wx9xpnpvv4] {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background-color: #FCF1E6;
    border-radius: 8px;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

.pricing-section:last-child[b-wx9xpnpvv4] {
    margin-bottom: 0;
}

.pricing-section-sales .matrix-form-grid[b-wx9xpnpvv4] {
    max-width: 600px;
    margin: 0;
}

.pricing-section-kit-detail[b-wx9xpnpvv4] {
    margin-top: 1.5rem;
}

.kit-detail-table-wrapper[b-wx9xpnpvv4] {
    width: 100%;
}

.kit-detail-table[b-wx9xpnpvv4] {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    overflow: hidden;
    margin: 0;
}

.kit-detail-table thead[b-wx9xpnpvv4] {
    background-color: rgba(252, 241, 230, 0.8);
}

.kit-detail-table th[b-wx9xpnpvv4] {
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.75rem 0.5rem;
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
}

.kit-detail-table td[b-wx9xpnpvv4] {
    padding: 0.5rem;
    font-size: 0.85rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
}

.kit-detail-table tbody tr:hover[b-wx9xpnpvv4] {
    background-color: rgba(252, 241, 230, 0.3);
}

.kit-detail-table tfoot[b-wx9xpnpvv4] {
    background-color: rgba(252, 241, 230, 0.5);
}

.kit-detail-table tfoot td[b-wx9xpnpvv4] {
    border-top: 2px solid var(--matrix-border-light, #E0E0E0);
    padding: 0.75rem 0.5rem;
}

.kit-detail-table code[b-wx9xpnpvv4] {
    background-color: rgba(0, 0, 0, 0.05);
    padding: 0.2rem 0.4rem;
    border-radius: 3px;
    font-size: 0.8rem;
    font-family: 'Courier New', monospace;
}

@media (max-width: 768px) {
    .kit-price-detail-container[b-wx9xpnpvv4] {
        flex-direction: column;
    }

    .kit-checkbox-wrapper[b-wx9xpnpvv4],
    .kit-detail-table-wrapper[b-wx9xpnpvv4] {
        width: 100%;
        min-width: unset;
    }
}

.pricing-section .matrix-section-header[b-wx9xpnpvv4] {
    margin: 0 0 1rem 0;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
}

.pricing-help-section[b-wx9xpnpvv4] {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 6px;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

.pricing-help-item[b-wx9xpnpvv4] {
    margin-bottom: 1rem;
}

.pricing-help-item:last-child[b-wx9xpnpvv4] {
    margin-bottom: 0;
}

.pricing-help-header[b-wx9xpnpvv4] {
    margin-bottom: 0.5rem;
}

.pricing-help-label[b-wx9xpnpvv4] {
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.9rem;
}

.pricing-help-description[b-wx9xpnpvv4] {
    color: var(--matrix-text-secondary, #6B7280);
    font-size: 0.85rem;
    margin: 0.25rem 0;
    line-height: 1.5;
}

.pricing-help-example[b-wx9xpnpvv4] {
    color: var(--matrix-text-secondary, #6B7280);
    font-size: 0.8rem;
    font-style: italic;
    display: block;
    margin-top: 0.25rem;
}

.matrix-section-divider[b-wx9xpnpvv4] {
    height: 2px;
    background-color: var(--matrix-border-light, #E0E0E0);
    margin: 1.5rem 0;
    border-radius: 1px;
}

.matrix-form-actions[b-wx9xpnpvv4],
.mf-form-actions[b-wx9xpnpvv4] {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
    position: sticky;
    bottom: 0;
    background-color: var(--matrix-bg-primary, #FFFFFF);
    z-index: 10;
}

/* Les boutons dans les sections de prix doivent hériter du fond de la section */
.pricing-section .mf-form-actions[b-wx9xpnpvv4] {
    background-color: transparent;
}

/* Styles pour l'historique des prix d'achat et de vente */
.purchase-price-history-section[b-wx9xpnpvv4],
.sales-price-history-section[b-wx9xpnpvv4] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 2px solid var(--matrix-border-light, #E0E0E0);
}

.purchase-price-history-table[b-wx9xpnpvv4],
.sales-price-history-table[b-wx9xpnpvv4] {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    overflow: hidden;
    margin: 0;
}

.purchase-price-history-table thead[b-wx9xpnpvv4],
.sales-price-history-table thead[b-wx9xpnpvv4] {
    background-color: rgba(252, 241, 230, 0.8);
}

.purchase-price-history-table th[b-wx9xpnpvv4],
.sales-price-history-table th[b-wx9xpnpvv4] {
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.75rem 0.5rem;
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
}

.purchase-price-history-table td[b-wx9xpnpvv4],
.sales-price-history-table td[b-wx9xpnpvv4] {
    padding: 0.5rem;
    font-size: 0.85rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    vertical-align: middle;
}

.purchase-price-history-table tbody tr:hover[b-wx9xpnpvv4],
.sales-price-history-table tbody tr:hover[b-wx9xpnpvv4] {
    background-color: rgba(252, 241, 230, 0.3);
}

.purchase-price-history-table tbody tr.editing-row[b-wx9xpnpvv4],
.sales-price-history-table tbody tr.editing-row[b-wx9xpnpvv4] {
    background-color: rgba(255, 255, 0, 0.1);
}

/* Styles pour les boutons icon-only (format PhaseDetails) */
.btn-icon-only[b-wx9xpnpvv4] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-wx9xpnpvv4] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-wx9xpnpvv4] {
    outline: none;
    box-shadow: none;
}

/* Styles pour les boutons d'action dans le tableau */
.purchase-price-history-table .d-flex.gap-1[b-wx9xpnpvv4] {
    gap: 0.5rem;
}
/* /Modules/Item/Components/ItemVariants/ItemVariants.razor.rz.scp.css */
.item-variants-wrapper[b-b9vvq85uhp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.item-variants-container[b-b9vvq85uhp] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.item-variants-list-pane[b-b9vvq85uhp] {
    width: 500px;
    min-width: 450px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

/* Styles partagés avec ResourceList */
.resource-list-card[b-b9vvq85uhp] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-b9vvq85uhp] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
}

.phasing-header-min-h[b-b9vvq85uhp] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.status-filter-container[b-b9vvq85uhp] {
    display: flex;
    align-items: center;
    margin-right: 0.5rem;
}

.status-filter-select[b-b9vvq85uhp] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 110px;
    max-width: 120px;
    width: 100%;
}

.status-filter-select:focus[b-b9vvq85uhp] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-b9vvq85uhp] {
    background: #FCF1E6;
    color: #0073ea;
}

.btn-icon-only[b-b9vvq85uhp] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-b9vvq85uhp] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-b9vvq85uhp] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-b9vvq85uhp] {
    padding: 0;
}

.resource-item[b-b9vvq85uhp] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:hover[b-b9vvq85uhp] {
    background-color: #f8f9fa;
}

.resource-item.is-selected[b-b9vvq85uhp] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-b9vvq85uhp] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resource-item .node-text[b-b9vvq85uhp] {
    flex-grow: 1;
}

.resource-item .node-label[b-b9vvq85uhp] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-b9vvq85uhp] {
    font-size: 0.8rem;
}

.resource-item .node-badges[b-b9vvq85uhp] {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    min-width: 180px;
}

/* Styles pour les badges Kit et Assemblage */
.resource-item .badge-kit[b-b9vvq85uhp] {
    background-color: #0d6efd;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.4rem 0.65rem;
    border-radius: 0.375rem;
    line-height: 1.2;
}

.resource-item .badge-assembly[b-b9vvq85uhp] {
    background-color: #fd7e14;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.4rem 0.65rem;
    border-radius: 0.375rem;
    line-height: 1.2;
}

/* Tags affichant l'état du tarif SalesPrice (SalesCode vide) actif aujourd'hui. */
.resource-item .badge-price-ok[b-b9vvq85uhp] {
    background-color: #d1e7dd;
    color: #0f5132;
    border: 1px solid #badbcc;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.35rem 0.6rem;
    border-radius: 0.375rem;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.resource-item .badge-price-undefined[b-b9vvq85uhp] {
    background-color: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.35rem 0.6rem;
    border-radius: 0.375rem;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.resource-avatar[b-b9vvq85uhp] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    flex-shrink: 0;
}

.resource-dot[b-b9vvq85uhp] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #6c757d;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.item-variants-detail-pane[b-b9vvq85uhp] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
}

.item-variants-empty-state[b-b9vvq85uhp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

@media (max-width: 992px) {
    .item-variants-container[b-b9vvq85uhp] {
        flex-direction: column;
    }

    .item-variants-list-pane[b-b9vvq85uhp] {
        width: 100%;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .item-variants-detail-pane[b-b9vvq85uhp] {
        height: 60vh;
    }
}
/* /Modules/Item/Components/ItemVariants/ItemVariantSelector.razor.rz.scp.css */
.variant-selector-modal-overlay[b-haed6uf1wl] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.variant-selector-modal-overlay.visible[b-haed6uf1wl] {
    opacity: 1;
    visibility: visible;
}

.categories-grid-card[b-haed6uf1wl] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* espace horizontal ET vertical */
    align-items: flex-start; /* évite les étirements verticaux */
    padding-top: 4px; /* espace pour l'effet hover (translateY) */
}

.categories-grid[b-haed6uf1wl] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* espace horizontal ET vertical */
    align-items: flex-start;
    padding-top: 4px; /* espace pour l'effet hover (translateY) */
    flex: 1;
    overflow-y: auto;
    align-content: flex-start;
}

.variant-selector-modal-content[b-haed6uf1wl] {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 1400px;
    height: 80vh; /* hauteur fixe pour éviter les changements de taille */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.variant-selector-modal-header[b-haed6uf1wl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    flex-shrink: 0;
    gap: 1rem;
}

.variant-selector-modal-title[b-haed6uf1wl] {
    margin: 0;
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--matrix-text-primary, #1F2023);
    flex: 1;
}

.variant-selector-header-actions[b-haed6uf1wl] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.mode-selector-header[b-haed6uf1wl] {
    display: flex;
    align-items: center;
}

.mode-selector-header .btn-group-sm .btn[b-haed6uf1wl] {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    font-weight: 600;
    border-width: 2px;
    transition: all 0.2s ease;
}

.mode-selector-header .btn-group-sm .btn.btn-primary[b-haed6uf1wl] {
    background-color: var(--matrix-primary, #007bff);
    border-color: var(--matrix-primary, #007bff);
    color: #FFFFFF;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

.mode-selector-header .btn-group-sm .btn.btn-primary:hover[b-haed6uf1wl] {
    background-color: #0056b3;
    border-color: #0056b3;
    box-shadow: 0 2px 6px rgba(0, 123, 255, 0.4);
}

.mode-selector-header .btn-group-sm .btn.btn-outline-primary[b-haed6uf1wl] {
    background-color: #FFFFFF;
    border-color: var(--matrix-primary, #007bff);
    color: var(--matrix-primary, #007bff);
    font-weight: 600;
}

.mode-selector-header .btn-group-sm .btn.btn-outline-primary:hover[b-haed6uf1wl] {
    background-color: var(--matrix-primary, #007bff);
    border-color: var(--matrix-primary, #007bff);
    color: #FFFFFF;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

.variant-selector-modal-header .btn-close[b-haed6uf1wl] {
    opacity: 1;
    background-color: transparent;
    border: 2px solid var(--matrix-text-primary, #1F2023);
    padding: 0;
    margin: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.variant-selector-modal-header .btn-close:hover[b-haed6uf1wl] {
    background-color: var(--matrix-text-primary, #1F2023);
    border-color: var(--matrix-text-primary, #1F2023);
    transform: scale(1.1);
}

.variant-selector-modal-header .btn-close[b-haed6uf1wl]::before {
    content: "×";
    font-size: 1.5rem;
    line-height: 1;
    color: var(--matrix-text-primary, #1F2023);
    font-weight: 700;
    transition: color 0.2s ease;
}

.variant-selector-modal-header .btn-close:hover[b-haed6uf1wl]::before {
    color: #FFFFFF;
}

.variant-selector-modal-body[b-haed6uf1wl] {
    flex: 1;
    padding: 0.75rem 1.5rem;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #FFFFFF);
}

.variant-selector-modal-body .matrix-form[b-haed6uf1wl] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.variant-selector-modal-body .matrix-form-section[b-haed6uf1wl] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden; /* pas de scroll ici, le scroll est dans les sous-éléments */
    padding-bottom: 1rem;
    padding-top: 0;
}

.expert-mode[b-haed6uf1wl] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.expert-filters[b-haed6uf1wl] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    flex-shrink: 0;
}

.expert-search-box[b-haed6uf1wl] {
    flex: 1;
    min-width: 200px;
}

.expert-search-box .Matrix_Search[b-haed6uf1wl] {
    width: 100%;
}

.expert-category-filter[b-haed6uf1wl] {
    min-width: 200px;
    max-width: 300px;
}

.expert-category-filter .expert-filter-dropdown[b-haed6uf1wl] {
    width: 100%;
}

.standard-mode[b-haed6uf1wl] {
    padding-top: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.variant-selector-modal-footer[b-haed6uf1wl] {
    display: flex;
    justify-content: flex-end;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    flex-shrink: 0;
}

.variant-selector-modal-footer .mf-form-actions[b-haed6uf1wl] {
    display: flex;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

/* Mode selector - supprimé car maintenant dans le header */

/* Cartes de catégories (120x120) */
.categories-row[b-haed6uf1wl] {
    --bs-gutter-x: 0.25rem;
    --bs-gutter-y: 0.5rem;
    margin-top: 0;
}

.categories-row > *[b-haed6uf1wl] {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}

.items-grid-card[b-haed6uf1wl] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* espace horizontal ET vertical */
    align-items: flex-start; /* évite les étirements verticaux */
    padding-top: 4px; /* espace pour l'effet hover (translateY) */
}

.items-grid[b-haed6uf1wl] {
    display: flex;
    flex-direction: column; /* force les éléments sur des lignes séparées */
    gap: 10px;
    padding-top: 4px;
}

.items-grid > .d-flex[b-haed6uf1wl] {
    width: 100%; /* header prend toute la largeur */
}

.category-card[b-haed6uf1wl] {
    flex: 0 0 120px; /* largeur fixe, ne grandit pas, ne rétrécit pas */
    width: 120px;
    height: 120px;
    border: 2px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    background: var(--matrix-bg-primary, #FFFFFF);
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-card:hover[b-haed6uf1wl] {
    border-color: var(--matrix-primary, #007bff);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.2);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
}

.category-card-content[b-haed6uf1wl] {
    text-align: center;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.category-card-name[b-haed6uf1wl] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--matrix-text-primary, #1F2023);
    word-break: break-word;
}

/* Cartes d'articles (120x120) */
.item-card[b-haed6uf1wl] {
    flex: 0 0 120px; /* largeur fixe, ne grandit pas, ne rétrécit pas */
    width: 120px;
    height: 120px;
    border: 2px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    background: var(--matrix-bg-primary, #FFFFFF);
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.item-card:hover[b-haed6uf1wl] {
    border-color: var(--matrix-primary, #007bff);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.2);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    z-index: 10;
    position: relative;
}

.item-card.selected[b-haed6uf1wl] {
    border-color: var(--matrix-primary, #007bff);
    background-color: rgba(0, 123, 255, 0.1);
}

.item-card-content[b-haed6uf1wl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0.5rem;
}

.item-card-image[b-haed6uf1wl] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.25rem;
    min-height: 70px;
}

.item-card-image img[b-haed6uf1wl] {
    /* Garde la taille d'origine, réduit seulement si dépasse la card */
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.item-card-placeholder[b-haed6uf1wl] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9CA3AF;
    font-size: 1.5rem;
}

.item-card-name[b-haed6uf1wl] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--matrix-text-primary, #1F2023);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.item-card-code[b-haed6uf1wl] {
    font-size: 0.625rem;
    color: var(--matrix-text-secondary, #6B7280);
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Liste des articles (mode Expert) */
.items-list[b-haed6uf1wl] {
    flex: 1;
    overflow-y: auto;
    min-height: 0; /* permet au flex de réduire */
}

.expert-mode[b-haed6uf1wl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Liste des variantes */
.variants-section[b-haed6uf1wl] {
    max-height: 400px;
    overflow-y: auto;
    padding-top: 1rem;
    border-top: 1px solid var(--matrix-border-light, #E0E0E0);
}

.variants-section .list-group-item[b-haed6uf1wl] {
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    transition: all 0.2s ease;
}

.variants-section .list-group-item:hover[b-haed6uf1wl] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-color: var(--matrix-primary, #007bff);
}

.variants-section .list-group-item.active[b-haed6uf1wl] {
    background-color: rgba(0, 123, 255, 0.1);
    border-color: var(--matrix-primary, #007bff);
    color: var(--matrix-text-primary, #1F2023);
}

/* Styles pour la liste des items en mode Expert (basé sur ItemVariants) */
.resource-items-list[b-haed6uf1wl] {
    padding: 0;
    background-color: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

.resource-item[b-haed6uf1wl] {
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    border-left: 3px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
}

.resource-item:last-child[b-haed6uf1wl] {
    border-bottom: none;
}

.resource-item:hover[b-haed6uf1wl] {
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.resource-item.is-selected[b-haed6uf1wl] {
    background-color: rgba(0, 123, 255, 0.1);
    border-left-color: var(--matrix-primary, #0d6efd);
}

.resource-item .node-line[b-haed6uf1wl] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resource-item .node-text[b-haed6uf1wl] {
    flex-grow: 1;
}

.resource-item .node-label[b-haed6uf1wl] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--matrix-text-primary, #1F2023);
}

.resource-item .node-sub[b-haed6uf1wl] {
    font-size: 0.8rem;
    color: var(--matrix-text-secondary, #6B7280);
}

.resource-item .node-badges[b-haed6uf1wl] {
    display: flex;
    gap: 0.5rem 3rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    min-width: 280px;
}

/* Liste des variantes : ~50 % texte (description revient à la ligne), ~50 % badges alignés en haut */
.variant-selector-variants-list .resource-item .node-line[b-haed6uf1wl] {
    align-items: flex-start;
}

.variant-selector-variants-list .resource-item .node-text[b-haed6uf1wl] {
    flex: 0 1 50%;
    max-width: 50%;
    min-width: 0;
}

.variant-selector-variants-list .resource-item .node-label[b-haed6uf1wl],
.variant-selector-variants-list .resource-item .node-sub[b-haed6uf1wl],
.variant-selector-variants-list .resource-item .variant-materials-lines[b-haed6uf1wl] {
    max-width: 100%;
}

.variant-selector-variants-list .resource-item .node-label[b-haed6uf1wl] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.5rem;
}

.variant-selector-variants-list .resource-item .node-sub[b-haed6uf1wl] {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.variant-selector-variants-list .resource-item .node-badges[b-haed6uf1wl] {
    flex: 1 1 50%;
    max-width: 50%;
    min-width: 0;
    gap: 0.35rem 0.75rem;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: flex-end;
}

/* Badges Kit / Assemblage (aligné sur ItemVariants) */
.resource-item .badge-kit[b-haed6uf1wl] {
    background-color: #0d6efd;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.4rem 0.65rem;
    border-radius: 0.375rem;
    line-height: 1.2;
}

.resource-item .badge-assembly[b-haed6uf1wl] {
    background-color: #fd7e14;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.4rem 0.65rem;
    border-radius: 0.375rem;
    line-height: 1.2;
}

.resource-item .item-icon-small[b-haed6uf1wl] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.resource-item .item-icon-small img[b-haed6uf1wl] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.resource-item .variant-price[b-haed6uf1wl] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--matrix-text-primary, #1F2023);
    white-space: nowrap;
}

.resource-item .variant-code[b-haed6uf1wl] {
    font-size: 0.85rem;
    color: var(--matrix-text-secondary, #6B7280);
    white-space: nowrap;
}

.resource-item .node-icon[b-haed6uf1wl] {
    flex-shrink: 0;
    width: auto;
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    border-radius: 4px;
    overflow: hidden;
    padding: 0 0.5rem;
}

.resource-item .node-icon img[b-haed6uf1wl] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.resource-item .node-icon .fw-bold[b-haed6uf1wl] {
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
}

.variants-header[b-haed6uf1wl] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    padding: 0.75rem 1rem;
    border-radius: 6px;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

.variants-header h6[b-haed6uf1wl] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.items-list[b-haed6uf1wl] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

/* Image de la catégorie dans le header des variantes */
.category-image-header[b-haed6uf1wl] {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border: 2px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
}

.category-image-header img[b-haed6uf1wl] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Titre header variantes */
.variants-header-title[b-haed6uf1wl] {
    font-weight: 600;
    font-size: 1rem;
    color: var(--matrix-text-primary, #1F2023);
    line-height: 1.4;
}

.variant-header-subcategory[b-haed6uf1wl] {
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6B7280);
    margin-left: 0.35rem;
}

/* Filtre par type de variante (tags) */
.variant-type-filters[b-haed6uf1wl] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    padding: 0.25rem 0;
}

.variant-type-tag[b-haed6uf1wl] {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 2px solid var(--matrix-border-light, #D1D5DB);
    background-color: #FFFFFF;
    color: var(--matrix-text-secondary, #6B7280);
    cursor: pointer;
    transition: all 0.2s ease;
}

.variant-type-tag:hover[b-haed6uf1wl] {
    border-color: var(--matrix-primary, #007bff);
    color: var(--matrix-primary, #007bff);
    background-color: rgba(0, 123, 255, 0.05);
}

.variant-type-tag.active[b-haed6uf1wl] {
    border-color: var(--matrix-primary, #007bff);
    background-color: var(--matrix-primary, #007bff);
    color: #FFFFFF;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
}

/* Tag dimension dans la liste des variantes */
.variant-dimension-tag[b-haed6uf1wl] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    background-color: #EEF2FF;
    color: #4338CA;
    margin-right: 0.4rem;
    vertical-align: middle;
}

/* Badge type de variante (non-standard) */
.variant-type-badge[b-haed6uf1wl] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    background-color: #FEF3C7;
    color: #92400E;
    margin-left: 0.4rem;
    vertical-align: middle;
}

/* Lignes de matières (sous la description) */
.variant-materials-lines[b-haed6uf1wl] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-top: 0.2rem;
}

.variant-material-line[b-haed6uf1wl] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: #059669;
    font-weight: 500;
}

.variant-material-line i[b-haed6uf1wl] {
    font-size: 0.7rem;
    color: #059669;
}

.variant-material-type[b-haed6uf1wl] {
    font-weight: 600;
    text-transform: uppercase;
}

.variant-material-qty[b-haed6uf1wl] {
    font-weight: 600;
}

/* N° de série dans les badges */
.resource-item .variant-serial[b-haed6uf1wl] {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #6B7280);
    white-space: nowrap;
    font-style: italic;
}

/* Responsive */
@media (max-width: 768px) {
    .variant-selector-modal-content[b-haed6uf1wl] {
        width: 95%;
        height: 90vh; /* hauteur fixe sur mobile */
    }

    .category-card[b-haed6uf1wl],
    .item-card[b-haed6uf1wl] {
        flex: 0 0 100px;
        width: 100px;
        height: 100px;
    }
}
/* /Modules/Item/Components/ItemVariants/ItemVariantTranslation.razor.rz.scp.css */
/* Styles pour ItemVariantTranslation - Identique à ItemTranslation */
.item-translation-layout[b-psc7eee1ql] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.item-translation-header-row[b-psc7eee1ql] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.item-translation-column-title[b-psc7eee1ql] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    margin-bottom: 0;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--matrix-border-light, #E0E0E0);
}

.item-translation-column-title-spacer[b-psc7eee1ql] {
    /* Espace vide pour la colonne centrale */
}

.item-translation-row[b-psc7eee1ql] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
    align-items: start;
    margin-bottom: 1rem;
}

.item-translation-field-wrapper[b-psc7eee1ql] {
    display: flex;
    flex-direction: column;
}

.item-translation-button-wrapper[b-psc7eee1ql] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1.5rem; /* Aligner avec le début du champ (après le label) */
    min-height: 40px;
}

.item-translation-button[b-psc7eee1ql] {
    min-width: auto;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .item-translation-header-row[b-psc7eee1ql],
    .item-translation-row[b-psc7eee1ql] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .item-translation-button-wrapper[b-psc7eee1ql] {
        padding-top: 0;
        min-height: auto;
    }
}
/* /Modules/Item/Pages/ItemDetail.razor.rz.scp.css */
.item-detail-layout[b-q7ovpx6nms] {
    display: grid;
    grid-template-columns: 1fr 550px;
    gap: 1.5rem;
    align-items: start;
}

.item-detail-left[b-q7ovpx6nms] {
    min-width: 0;
}

.item-detail-right[b-q7ovpx6nms] {
    position: sticky;
    top: 0;
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    padding-bottom: 2rem;
}

@media (max-width: 1200px) {
    .item-detail-layout[b-q7ovpx6nms] {
        grid-template-columns: 1fr;
    }
    
    .item-detail-right[b-q7ovpx6nms] {
        position: relative;
        top: 0;
        max-height: none;
    }
}
/* /Modules/LeadManagement/Components/LeadClosedList/LeadClosedList.razor.rz.scp.css */
/* ===== Container principal ===== */
.lead-list-wrapper[b-z90483tfkb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    align-self: flex-start;
    min-height: 0;
}

.lead-list-container[b-z90483tfkb] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 0;
}

/* Les 3 panneaux ont une largeur identique */
.lead-list-pane[b-z90483tfkb],
.lead-detail-pane[b-z90483tfkb],
.lead-tasks-actions-pane[b-z90483tfkb] {
    flex: 1 1 0;
    min-width: 0;
}

/* ===== Panneau liste ===== */
.lead-list-pane[b-z90483tfkb] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lead-list-card[b-z90483tfkb] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lead-list-card .phasing-card-body.scroll-auto[b-z90483tfkb] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
}

.lead-list-card .phasing-card-body .text-center p[b-z90483tfkb],
.lead-list-card .phasing-card-body .text-center .btn-link[b-z90483tfkb] {
    font-size: 1rem;
}

/* En-tête alignée avec LeadDetail */
.lead-list-card .card-header.lead-list-card-header[b-z90483tfkb] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

/* ===== Recherche ===== */
.search-container[b-z90483tfkb] {
    display: flex;
    align-items: center;
    min-width: 150px;
    max-width: 180px;
}

.search-input[b-z90483tfkb] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex: 1;
    width: 100%;
}

.search-input:focus[b-z90483tfkb] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-z90483tfkb] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.4rem 0.6px;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 1rem;
}

.search-btn:hover:not(:disabled)[b-z90483tfkb] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-z90483tfkb] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* ===== Filtres ===== */
.status-filter-container[b-z90483tfkb] {
    display: flex;
    align-items: center;
}

.status-filter-select[b-z90483tfkb] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.4rem 0.6rem;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 100px;
    max-width: 130px;
}

.status-filter-select:focus[b-z90483tfkb] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-z90483tfkb] {
    background: #FCF1E6;
    color: #0073ea;
}

/* ===== Boutons icône ===== */
.btn-icon-only[b-z90483tfkb] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-z90483tfkb] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-z90483tfkb] {
    outline: none;
    box-shadow: none;
}

/* ===== Liste des demandes ===== */
.lead-items-list[b-z90483tfkb] {
    padding: 0;
}

.lead-item[b-z90483tfkb] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lead-item:hover[b-z90483tfkb] {
    background-color: #e9ecef;
}

.lead-item.is-selected[b-z90483tfkb] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.lead-line[b-z90483tfkb] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.lead-content[b-z90483tfkb] {
    flex-grow: 1;
    min-width: 0;
}

.lead-header[b-z90483tfkb] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lead-id[b-z90483tfkb] {
    font-weight: 700;
    color: #212529;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.lead-subject[b-z90483tfkb] {
    font-weight: 600;
    color: #1a1d21;
    font-size: 0.95rem;
    flex: 1 1 0%;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.lead-contact[b-z90483tfkb] {
    font-size: 0.875rem;
    color: #343a40;
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lead-meta[b-z90483tfkb] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.lead-date[b-z90483tfkb] {
    display: inline-flex;
    align-items: center;
}

.lead-closed-date[b-z90483tfkb] {
    display: inline-flex;
    align-items: center;
    color: #6c757d;
    font-style: italic;
}

.lead-source[b-z90483tfkb] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    font-weight: 600;
    color: #212529;
    background-color: #e9ecef;
}

/* ===== Badges ===== */
.lead-badges[b-z90483tfkb] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-end;
    min-width: 80px;
}

.lead-badges .badge[b-z90483tfkb] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

/* ===== Panneau détail ===== */
.lead-detail-pane[b-z90483tfkb] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* ===== Panneau droit : Tâches et Actions ===== */
.lead-tasks-actions-pane[b-z90483tfkb] {
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lead-tasks-actions-inner[b-z90483tfkb] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lead-tasks-section[b-z90483tfkb],
.lead-actions-section[b-z90483tfkb] {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lead-tasks-section[b-z90483tfkb] {
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

/* ::deep pour pénétrer dans les composants enfants */
.lead-tasks-section[b-z90483tfkb]  .lead-task-panel,
.lead-actions-section[b-z90483tfkb]  .lead-action-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lead-tasks-section[b-z90483tfkb]  .card-header.lead-panel-header,
.lead-actions-section[b-z90483tfkb]  .card-header.lead-panel-header {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.lead-tasks-section[b-z90483tfkb]  .lead-panel-header h6,
.lead-actions-section[b-z90483tfkb]  .lead-panel-header h6 {
    font-size: 0.95rem;
    font-weight: 600;
}

.lead-tasks-section[b-z90483tfkb]  .phasing-card-body,
.lead-actions-section[b-z90483tfkb]  .phasing-card-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    max-height: 45vh;
    padding: 0;
}

/* État vide */
.lead-tasks-section[b-z90483tfkb]  .lead-panel-empty,
.lead-actions-section[b-z90483tfkb]  .lead-panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    padding: 2rem 1rem;
    text-align: center;
}

.lead-tasks-section[b-z90483tfkb]  .lead-panel-empty .bi,
.lead-actions-section[b-z90483tfkb]  .lead-panel-empty .bi {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.lead-tasks-section[b-z90483tfkb]  .lead-panel-empty p,
.lead-actions-section[b-z90483tfkb]  .lead-panel-empty p {
    font-size: 1.1rem;
}

/* Listes tâches et actions */
.lead-tasks-section[b-z90483tfkb]  .lead-task-list,
.lead-actions-section[b-z90483tfkb]  .lead-action-list {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-item,
.lead-actions-section[b-z90483tfkb]  .lead-action-item {
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #eee;
    font-size: 0.875rem;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-closed {
    opacity: 0.7;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-header,
.lead-actions-section[b-z90483tfkb]  .lead-action-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-checkbox {
    flex-shrink: 0;
    margin: 0;
    margin-right: 0.5rem;
    cursor: pointer;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-meta {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-date {
    display: inline-flex;
    align-items: center;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-type {
    margin-left: auto;
}

.lead-actions-section[b-z90483tfkb]  .lead-action-date {
    font-size: 0.8rem;
    color: #495057;
}

.lead-tasks-section[b-z90483tfkb]  .lead-task-desc,
.lead-actions-section[b-z90483tfkb]  .lead-action-desc {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ===== État vide central ===== */
.lead-empty-state[b-z90483tfkb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.lead-empty-state p[b-z90483tfkb] {
    font-size: 1.1rem;
}

.lead-empty-state .bi[b-z90483tfkb] {
    font-size: 3rem;
}

/* ===== Responsive ===== */
@media (max-width: 1200px) {
    .lead-list-container[b-z90483tfkb] {
        flex-wrap: wrap;
    }

    .lead-list-pane[b-z90483tfkb],
    .lead-detail-pane[b-z90483tfkb],
    .lead-tasks-actions-pane[b-z90483tfkb] {
        flex: 1 1 33.33%;
        min-width: 200px;
    }
}

@media (max-width: 992px) {
    .lead-list-container[b-z90483tfkb] {
        flex-direction: column;
    }

    .lead-list-pane[b-z90483tfkb] {
        width: 100%;
        min-width: 100%;
        flex: 0 0 auto;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .lead-detail-pane[b-z90483tfkb] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }

    .lead-tasks-actions-pane[b-z90483tfkb] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }

    .status-filter-select[b-z90483tfkb] {
        min-width: 80px;
        max-width: 100px;
    }

    .search-container[b-z90483tfkb] {
        min-width: 120px;
        max-width: 150px;
    }
}

@media (max-width: 768px) {
    .lead-list-card .card-header[b-z90483tfkb] {
        padding: 0.75rem;
    }

    .lead-item[b-z90483tfkb] {
        padding: 0.5rem 0.75rem;
    }

    .lead-badges[b-z90483tfkb] {
        flex-direction: row;
        min-width: auto;
    }
}
/* /Modules/LeadManagement/Components/LeadList/LeadDetail.razor.rz.scp.css */
/* Section titre (ex. « Contact ») */
.lead-section-title[b-7xnjlmqe6k] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6c757d);
    margin-top: 0.5rem;
    margin-bottom: 0.15rem;
    padding-bottom: 0.2rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

/* En-tête du détail */
.lead-detail-header[b-7xnjlmqe6k] {
    padding: 0;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    margin-bottom: 0;
    margin-top: 0;
}

/* En-tête : titre + boutons */
.lead-detail-header-inner[b-7xnjlmqe6k] {
    padding: 0.5rem 1rem;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.lead-pane-title[b-7xnjlmqe6k] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #212529);
}

.lead-detail-header-buttons[b-7xnjlmqe6k] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

/* Présentation compacte « Label : Valeur » sur la même ligne */
.lead-detail-readonly[b-7xnjlmqe6k]  .Matrix_FormField {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.4rem;
    margin-bottom: 0;
}

.lead-detail-readonly[b-7xnjlmqe6k]  .Matrix_FormField .form-label {
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    margin-bottom: 0;
    white-space: nowrap;
    min-width: fit-content;
    flex-shrink: 0;
}

.lead-detail-readonly[b-7xnjlmqe6k]  .Matrix_FormField .form-label::after {
    content: " :";
}

/* Valeurs en lecture seule */
.lead-detail-value[b-7xnjlmqe6k] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--matrix-text-primary, #212529);
    min-height: auto;
    line-height: 1.4;
}

.lead-detail-value-multiline[b-7xnjlmqe6k] {
    white-space: pre-wrap;
    word-break: break-word;
}

/* Badge de statut (identique au style de la liste des demandes) */
.lead-detail-value .badge[b-7xnjlmqe6k] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

.lead-detail-footer[b-7xnjlmqe6k] {
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
    margin-top: 0.25rem;
}

/* Champs sur 2 colonnes dans la grille */
.mf-form-grid .mf-field-span-2[b-7xnjlmqe6k] {
    grid-column: span 2;
}

/* Style pour les champs readonly */
[b-7xnjlmqe6k] .readonly-transparent .k-input,
[b-7xnjlmqe6k] .readonly-transparent.k-input {
    background-color: var(--kendo-input-bg, #fff) !important;
    opacity: 1 !important;
    cursor: default;
}

.readonly-field[b-7xnjlmqe6k] {
    padding: 0.375rem 0.75rem;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border: 1px solid var(--matrix-border-light, #dee2e6);
    border-radius: 4px;
    font-size: 0.875rem;
    color: var(--matrix-text-secondary, #6c757d);
    min-height: 30px;
    display: flex;
    align-items: center;
}

/* Conteneur pour afficher deux champs côte à côte */
.days-dual-field[b-7xnjlmqe6k] {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.days-dual-field .days-field-item[b-7xnjlmqe6k] {
    flex: 1;
    min-width: 0;
}

.days-dual-field .days-field-item .form-label[b-7xnjlmqe6k] {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Ajustement pour Matrix_FormField dans les dual-fields */
.days-dual-field .days-field-item[b-7xnjlmqe6k]  .Matrix_FormField {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    height: 100%;
}

.days-dual-field .days-field-item[b-7xnjlmqe6k]  .Matrix_FormField .form-label {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Actions du formulaire */
.mf-form-actions[b-7xnjlmqe6k] {
    display: flex;
    gap: 0.5rem;
    padding: 1rem;
    padding-top: 1rem;
    margin-top: 0;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-primary, #ffffff);
    flex-shrink: 0; /* Empêche le rétrécissement */
}

.mf-form-actions .ms-auto[b-7xnjlmqe6k] {
    margin-left: auto !important;
}

/* Grille du formulaire — espacement compact */
.mf-form-grid[b-7xnjlmqe6k] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem 0.75rem;
}

.mf-field[b-7xnjlmqe6k] {
    display: flex;
    flex-direction: column;
}

.mf-field .form-label[b-7xnjlmqe6k] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--matrix-text-secondary, #6c757d);
    margin-bottom: 0.25rem;
}

/* Section du formulaire */
.mf-form-section[b-7xnjlmqe6k] {
    padding: 0;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mf-form-section > form[b-7xnjlmqe6k] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.lead-detail-content[b-7xnjlmqe6k] {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.75rem 1rem;
    padding-right: 0.5rem; /* Espace pour le scrollbar */
}

.mf-form-section .mf-form-grid[b-7xnjlmqe6k] {
    padding: 0;
}

/* Modal overlay */
.mf-modal-overlay[b-7xnjlmqe6k] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.mf-modal-dialog[b-7xnjlmqe6k] {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: auto;
}

.mf-modal-dialog-sm[b-7xnjlmqe6k] {
    max-width: 400px;
}

.mf-modal-content[b-7xnjlmqe6k] {
    display: flex;
    flex-direction: column;
}

.mf-modal-header[b-7xnjlmqe6k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.mf-modal-title[b-7xnjlmqe6k] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.mf-modal-close[b-7xnjlmqe6k] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--matrix-text-secondary, #6c757d);
    transition: color 0.2s ease;
}

.mf-modal-close:hover[b-7xnjlmqe6k] {
    color: var(--matrix-text-primary, #1F2023);
}

.mf-modal-body[b-7xnjlmqe6k] {
    padding: 1rem;
}

/* Modal Clôturer : libellé "Demande gagnée ou Demande perdue ?" */
.mf-close-choice-label[b-7xnjlmqe6k] {
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--matrix-text-primary, #212529);
}

/* Espacement entre les boutons et la raison de clôture */
.mf-close-reason-section[b-7xnjlmqe6k] {
    margin-top: 1.25rem;
}

.mf-modal-footer[b-7xnjlmqe6k] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

/* Responsive */
@media (max-width: 768px) {
    .mf-form-grid[b-7xnjlmqe6k] {
        grid-template-columns: 1fr;
    }

    .days-dual-field[b-7xnjlmqe6k] {
        flex-direction: column;
    }

    .mf-form-actions[b-7xnjlmqe6k] {
        flex-wrap: wrap;
    }
}
/* /Modules/LeadManagement/Components/LeadList/LeadList.razor.rz.scp.css */
/* Container principal */
.lead-list-wrapper[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    align-self: flex-start; /* Alignement à gauche dans le parent flex */
    min-height: 0; /* Permet le rétrécissement */
}

.lead-list-container[b-5fe4bh3qlh] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch; /* Les panneaux prennent toute la hauteur */
    width: 100%;
    max-width: 100%;
    flex: 1; /* Prend toute la hauteur disponible */
    min-height: 0; /* Permet le rétrécissement */
}

/* Les 3 panneaux ont une largeur identique */
.lead-list-pane[b-5fe4bh3qlh],
.lead-detail-pane[b-5fe4bh3qlh],
.lead-tasks-actions-pane[b-5fe4bh3qlh] {
    flex: 1 1 0; /* Largeur égale */
    min-width: 0;
}

/* Panneau liste */
.lead-list-pane[b-5fe4bh3qlh] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lead-list-card[b-5fe4bh3qlh] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0; /* Permet le rétrécissement */
}

.lead-list-card .phasing-card-body.scroll-auto[b-5fe4bh3qlh] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none; /* Retirer la max-height fixe */
}

.lead-list-card .phasing-card-body .text-center p[b-5fe4bh3qlh],
.lead-list-card .phasing-card-body .text-center .btn-link[b-5fe4bh3qlh] {
    font-size: 1rem;
}

/* Hauteur alignée avec l'en-tête du détail (LeadDetail) - 2 lignes pour aérer */
.lead-list-card .card-header.lead-list-card-header[b-5fe4bh3qlh] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.lead-list-header-text[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
}

.lead-list-header-title[b-5fe4bh3qlh] {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}

.lead-list-header-count[b-5fe4bh3qlh] {
    font-size: 0.95rem;
    line-height: 1.3;
}

/* Titres des pavés */
.lead-pane-title[b-5fe4bh3qlh] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #212529);
}

.lead-pane-header[b-5fe4bh3qlh] {
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    flex-shrink: 0;
}

/* Recherche */
.search-container[b-5fe4bh3qlh] {
    display: flex;
    align-items: center;
    min-width: 150px;
    max-width: 180px;
}

.search-input[b-5fe4bh3qlh] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex: 1;
    width: 100%;
}

.search-input:focus[b-5fe4bh3qlh] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-5fe4bh3qlh] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.4rem 0.6rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 1rem;
}

.search-btn:hover:not(:disabled)[b-5fe4bh3qlh] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-5fe4bh3qlh] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Filtres */
.status-filter-container[b-5fe4bh3qlh] {
    display: flex;
    align-items: center;
}

.status-filter-select[b-5fe4bh3qlh] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.4rem 0.6rem;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 100px;
    max-width: 130px;
}

.status-filter-select:focus[b-5fe4bh3qlh] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-5fe4bh3qlh] {
    background: #FCF1E6;
    color: #0073ea;
}

/* Boutons icône */
.btn-icon-only[b-5fe4bh3qlh] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-5fe4bh3qlh] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-5fe4bh3qlh] {
    outline: none;
    box-shadow: none;
}

/* Liste des demandes */
.lead-items-list[b-5fe4bh3qlh] {
    padding: 0;
}

.lead-item[b-5fe4bh3qlh] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.lead-item:hover[b-5fe4bh3qlh] {
    background-color: #e9ecef;
}

.lead-item.is-selected[b-5fe4bh3qlh] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.lead-line[b-5fe4bh3qlh] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

/* Contenu de la demande */
.lead-content[b-5fe4bh3qlh] {
    flex-grow: 1;
    min-width: 0;
}

.lead-header[b-5fe4bh3qlh] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lead-id[b-5fe4bh3qlh] {
    font-weight: 700;
    color: #212529;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.lead-subject[b-5fe4bh3qlh] {
    font-weight: 600;
    color: #1a1d21;
    font-size: 0.95rem;
    flex: 1 1 0%;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.lead-contact[b-5fe4bh3qlh] {
    font-size: 0.875rem;
    color: #343a40;
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lead-meta[b-5fe4bh3qlh] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.lead-date[b-5fe4bh3qlh] {
    display: inline-flex;
    align-items: center;
}

.lead-source[b-5fe4bh3qlh] {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    font-weight: 600;
    color: #212529;
    background-color: #e9ecef;
}

/* Badges */
.lead-badges[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-end;
    min-width: 80px;
}

.lead-badges .badge[b-5fe4bh3qlh] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

/* Pagination */
.lead-pagination[b-5fe4bh3qlh] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem;
    border-top: 1px solid #dee2e6;
    background: #f8f9fa;
}

/* Panneau détail */
.lead-detail-pane[b-5fe4bh3qlh] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Panneau droit : Tâches et Actions (séparés en hauteur) */
.lead-tasks-actions-pane[b-5fe4bh3qlh] {
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lead-tasks-actions-inner[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lead-tasks-section[b-5fe4bh3qlh],
.lead-actions-section[b-5fe4bh3qlh] {
    flex: 1 1 0; /* Hauteur égale pour Tâches et Actions */
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lead-tasks-section[b-5fe4bh3qlh] {
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

/*
   ::deep est nécessaire car LeadTaskPanel et LeadActionPanel sont des composants
   enfants : sans ::deep, le CSS scopé de LeadList ne pénètre pas dans leur DOM.
*/

/* Panneaux Tâches et Actions : layout flex pour que le body puisse scroller */
.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-panel,
.lead-actions-section[b-5fe4bh3qlh]  .lead-action-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lead-tasks-section[b-5fe4bh3qlh]  .card-header.lead-panel-header,
.lead-actions-section[b-5fe4bh3qlh]  .card-header.lead-panel-header {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-panel-header h6,
.lead-actions-section[b-5fe4bh3qlh]  .lead-panel-header h6 {
    font-size: 0.95rem;
    font-weight: 600;
}

/* Zone scrollable : corps des pavés Tâches et Actions */
.lead-tasks-section[b-5fe4bh3qlh]  .phasing-card-body,
.lead-actions-section[b-5fe4bh3qlh]  .phasing-card-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    /* Garantit le scroll quand il y a beaucoup d'enregistrements */
    max-height: 45vh;
    padding: 0;
}

/* État vide — même taille que "Aucune demande trouvée" (.lead-empty-state) */
.lead-tasks-section[b-5fe4bh3qlh]  .lead-panel-empty,
.lead-actions-section[b-5fe4bh3qlh]  .lead-panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    padding: 2rem 1rem;
    text-align: center;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-panel-empty .bi,
.lead-actions-section[b-5fe4bh3qlh]  .lead-panel-empty .bi {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-panel-empty p,
.lead-actions-section[b-5fe4bh3qlh]  .lead-panel-empty p {
    font-size: 1.1rem;
}

/* Liste des tâches et actions */
.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-list,
.lead-actions-section[b-5fe4bh3qlh]  .lead-action-list {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-item,
.lead-actions-section[b-5fe4bh3qlh]  .lead-action-item {
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #eee;
    font-size: 0.875rem;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-closed {
    opacity: 0.7;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-header,
.lead-actions-section[b-5fe4bh3qlh]  .lead-action-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-checkbox {
    flex-shrink: 0;
    margin: 0;
    margin-right: 0.5rem;
    cursor: pointer;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
}

/* Métadonnées tâche (date + type) : même style que liste des demandes */
.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-meta {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-date {
    display: inline-flex;
    align-items: center;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-type {
    margin-left: auto;
}

.lead-actions-section[b-5fe4bh3qlh]  .lead-action-date {
    font-size: 0.8rem;
    color: #495057;
}

.lead-tasks-section[b-5fe4bh3qlh]  .lead-task-desc,
.lead-actions-section[b-5fe4bh3qlh]  .lead-action-desc {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.lead-empty-state[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.lead-empty-state p[b-5fe4bh3qlh] {
    font-size: 1.1rem;
}

.lead-empty-state .bi[b-5fe4bh3qlh] {
    font-size: 3rem;
}

/* Responsive */
@media (max-width: 1200px) {
    .lead-list-container[b-5fe4bh3qlh] {
        flex-wrap: wrap;
    }

    .lead-list-pane[b-5fe4bh3qlh],
    .lead-detail-pane[b-5fe4bh3qlh],
    .lead-tasks-actions-pane[b-5fe4bh3qlh] {
        flex: 1 1 33.33%;
        min-width: 200px;
    }
}

@media (max-width: 992px) {
    .lead-list-container[b-5fe4bh3qlh] {
        flex-direction: column;
    }

    .lead-list-pane[b-5fe4bh3qlh] {
        width: 100%;
        min-width: 100%;
        flex: 0 0 auto;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .lead-detail-pane[b-5fe4bh3qlh] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }

    .lead-tasks-actions-pane[b-5fe4bh3qlh] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }
    
    .status-filter-select[b-5fe4bh3qlh] {
        min-width: 80px;
        max-width: 100px;
    }
    
    .search-container[b-5fe4bh3qlh] {
        min-width: 120px;
        max-width: 150px;
    }
}

@media (max-width: 768px) {
    .lead-list-card .card-header[b-5fe4bh3qlh] {
        padding: 0.75rem;
    }
    
    .lead-item[b-5fe4bh3qlh] {
        padding: 0.5rem 0.75rem;
    }
    
    .lead-badges[b-5fe4bh3qlh] {
        flex-direction: row;
        min-width: auto;
    }
}

/* Modal styles */
.mf-modal-overlay[b-5fe4bh3qlh] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.mf-modal-dialog[b-5fe4bh3qlh] {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: auto;
}

.mf-modal-dialog-lg[b-5fe4bh3qlh] {
    max-width: 700px;
}

.mf-modal-content[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
}

.mf-modal-header[b-5fe4bh3qlh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.mf-modal-title[b-5fe4bh3qlh] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.mf-modal-close[b-5fe4bh3qlh] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--matrix-text-secondary, #6c757d);
    transition: color 0.2s ease;
}

.mf-modal-close:hover[b-5fe4bh3qlh] {
    color: var(--matrix-text-primary, #1F2023);
}

.mf-modal-body[b-5fe4bh3qlh] {
    padding: 1rem;
}

.mf-modal-footer[b-5fe4bh3qlh] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

/* Form grid pour la modal */
.mf-form-grid[b-5fe4bh3qlh] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.mf-field[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: column;
}

.mf-field .form-label[b-5fe4bh3qlh] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--matrix-text-secondary, #6c757d);
    margin-bottom: 0.25rem;
}

.days-dual-field[b-5fe4bh3qlh] {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.days-dual-field .days-field-item[b-5fe4bh3qlh] {
    flex: 1;
    min-width: 0;
}

.days-dual-field .days-field-item .form-label[b-5fe4bh3qlh] {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lead-section-title[b-5fe4bh3qlh] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6c757d);
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

@media (max-width: 576px) {
    .mf-form-grid[b-5fe4bh3qlh] {
        grid-template-columns: 1fr;
    }
    
    .days-dual-field[b-5fe4bh3qlh] {
        flex-direction: column;
    }
}
/* /Modules/LeadManagement/Components/LeadOverview/LeadOverview.razor.rz.scp.css */
/* ===== Container principal ===== */
.lead-overview-wrapper[b-s2plb7xnhb] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
    overflow-y: auto;
}

/* ===== Ligne de cards ===== */
.lead-overview-row[b-s2plb7xnhb] {
    display: flex;
    gap: 1.5rem;
}

.lead-overview-row-charts[b-s2plb7xnhb] {
    flex: 1;
    min-height: 0;
}

/* ===== Cards KPI ===== */
.lead-kpi-card[b-s2plb7xnhb] {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.2s ease;
}

.lead-kpi-card:hover[b-s2plb7xnhb] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Icône KPI */
.lead-kpi-icon[b-s2plb7xnhb] {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.lead-kpi-icon-primary[b-s2plb7xnhb] {
    background-color: #cfe2ff;
    color: #0d6efd;
}

.lead-kpi-icon-success[b-s2plb7xnhb] {
    background-color: #d1e7dd;
    color: #198754;
}

.lead-kpi-icon-info[b-s2plb7xnhb] {
    background-color: #cff4fc;
    color: #0dcaf0;
}

/* Corps KPI */
.lead-kpi-body[b-s2plb7xnhb] {
    flex: 1;
    min-width: 0;
}

.lead-kpi-value[b-s2plb7xnhb] {
    font-size: 2rem;
    font-weight: 700;
    color: #1a1d21;
    line-height: 1.1;
}

.lead-kpi-unit[b-s2plb7xnhb] {
    font-size: 1.2rem;
    font-weight: 500;
    color: #495057;
    margin-left: 2px;
}

.lead-kpi-label[b-s2plb7xnhb] {
    font-size: 0.85rem;
    font-weight: 500;
    color: #6c757d;
    margin-top: 0.15rem;
}

.lead-kpi-detail[b-s2plb7xnhb] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

/* Badges KPI */
.lead-kpi-badge[b-s2plb7xnhb] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border-radius: 12px;
    white-space: nowrap;
}

.lead-kpi-badge-open[b-s2plb7xnhb] {
    background-color: #cfe2ff;
    color: #084298;
}

.lead-kpi-badge-closed[b-s2plb7xnhb] {
    background-color: #e2e3e5;
    color: #41464b;
}

.lead-kpi-badge-won[b-s2plb7xnhb] {
    background-color: #d1e7dd;
    color: #0f5132;
}

.lead-kpi-badge-lost[b-s2plb7xnhb] {
    background-color: #f8d7da;
    color: #842029;
}

.lead-kpi-badge-noncommercial[b-s2plb7xnhb] {
    background-color: #cff4fc;
    color: #055160;
}

.lead-kpi-badge-overdue[b-s2plb7xnhb] {
    background-color: #f8d7da;
    color: #842029;
}

.lead-kpi-badge-upcoming[b-s2plb7xnhb] {
    background-color: #cff4fc;
    color: #055160;
}

/* ===== Cards Graphiques ===== */
.lead-chart-card[b-s2plb7xnhb] {
    flex: 1;
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.lead-chart-card:hover[b-s2plb7xnhb] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.lead-chart-header[b-s2plb7xnhb] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lead-chart-title[b-s2plb7xnhb] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a1d21;
    margin: 0;
}

.lead-chart-copy-btn[b-s2plb7xnhb] {
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #6c757d;
    cursor: pointer;
    padding: 0.25rem 0.4rem;
    font-size: 0.95rem;
    line-height: 1;
    transition: all 0.15s ease;
}

.lead-chart-copy-btn:hover[b-s2plb7xnhb] {
    color: #0d6efd;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.lead-chart-body[b-s2plb7xnhb] {
    padding: 1rem;
    flex: 1;
    min-height: 0;
}

/* ===== Responsive ===== */
@media (max-width: 1200px) {
    .lead-overview-row[b-s2plb7xnhb] {
        flex-wrap: wrap;
    }

    .lead-kpi-card[b-s2plb7xnhb] {
        flex: 1 1 calc(50% - 0.75rem);
        min-width: 250px;
    }

    .lead-chart-card[b-s2plb7xnhb] {
        flex: 1 1 100%;
    }
}

@media (max-width: 768px) {
    .lead-overview-wrapper[b-s2plb7xnhb] {
        padding: 1rem;
        gap: 1rem;
    }

    .lead-overview-row[b-s2plb7xnhb] {
        flex-direction: column;
        gap: 1rem;
    }

    .lead-kpi-card[b-s2plb7xnhb] {
        flex: 1 1 100%;
    }

    .lead-kpi-value[b-s2plb7xnhb] {
        font-size: 1.5rem;
    }

    .lead-kpi-icon[b-s2plb7xnhb] {
        width: 44px;
        height: 44px;
        font-size: 1.25rem;
    }
}
/* /Modules/LeadManagement/Components/LeadTaskList/LeadTaskList.razor.rz.scp.css */
/* ===== Container principal ===== */
.task-list-wrapper[b-jobppo0rh5] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    min-height: 0;
}

.task-list-container[b-jobppo0rh5] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 0;
}

/* ===== Les 3 panneaux ont une largeur égale ===== */
.task-list-pane[b-jobppo0rh5],
.task-detail-pane[b-jobppo0rh5],
.task-side-pane[b-jobppo0rh5] {
    flex: 1 1 0;
    min-width: 0;
}

/* ===== Panneau gauche : liste des tâches ===== */
.task-list-pane[b-jobppo0rh5] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.task-list-card[b-jobppo0rh5] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.task-list-card .phasing-card-body.scroll-auto[b-jobppo0rh5] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
}

/* En-tête */
.task-list-card-header[b-jobppo0rh5] {
    background-color: var(--matrix-bg-secondary, #e9ecef);
    border-bottom: 1px solid #adb5bd;
    padding: 0.5rem 1rem;
    height: 72px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

/* Groupe de filtres */
.task-filter-group[b-jobppo0rh5] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.task-filter-btn[b-jobppo0rh5] {
    border: 1px solid #dee2e6;
    border-radius: 20px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.task-filter-btn:hover[b-jobppo0rh5] {
    background-color: #e9ecef;
    color: #212529;
    border-color: #adb5bd;
}

.task-filter-btn.active[b-jobppo0rh5] {
    background-color: #0d6efd;
    color: #ffffff;
    border-color: #0d6efd;
}

.task-filter-btn.task-filter-overdue.active[b-jobppo0rh5] {
    background-color: #dc3545;
    border-color: #dc3545;
}

.task-filter-btn.task-filter-completed.active[b-jobppo0rh5] {
    background-color: #6c757d;
    border-color: #6c757d;
}

/* Boutons icône */
.btn-icon-only[b-jobppo0rh5] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-jobppo0rh5] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-jobppo0rh5] {
    outline: none;
    box-shadow: none;
}

/* État vide liste tâches (même apparence que détail / tâches / actions) */
.task-list-empty[b-jobppo0rh5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    padding: 2rem 1rem;
    text-align: center;
}

.task-list-empty .bi[b-jobppo0rh5] {
    font-size: 3rem;
    margin-bottom: 0.5rem;
    color: #495057;
}

.task-list-empty p[b-jobppo0rh5] {
    font-size: 1.1rem;
    font-weight: 500;
    color: #495057;
}

/* ===== Liste des tâches ===== */
.task-items-list[b-jobppo0rh5] {
    padding: 0;
}

.task-item[b-jobppo0rh5] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.task-item:hover[b-jobppo0rh5] {
    background-color: #e9ecef;
}

.task-item.is-selected[b-jobppo0rh5] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.task-item-closed[b-jobppo0rh5] {
    opacity: 0.8;
}

.task-item-header[b-jobppo0rh5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.task-item-checkbox[b-jobppo0rh5] {
    flex-shrink: 0;
    margin: 0;
    cursor: pointer;
}

.task-item-title[b-jobppo0rh5] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
}

.task-item-lead[b-jobppo0rh5] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.15rem;
}

.task-item-meta[b-jobppo0rh5] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.task-item-date[b-jobppo0rh5] {
    display: inline-flex;
    align-items: center;
}

.task-item-type[b-jobppo0rh5] {
    margin-left: auto;
}

.task-item-desc[b-jobppo0rh5] {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ===== Panneau centre : Détail de la demande ===== */
.task-detail-pane[b-jobppo0rh5] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.task-empty-state[b-jobppo0rh5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.task-empty-state p[b-jobppo0rh5] {
    font-size: 1.1rem;
}

.task-empty-state .bi[b-jobppo0rh5] {
    font-size: 3rem;
}

/* ===== Panneau droit : Tâches et Actions ===== */
.task-side-pane[b-jobppo0rh5] {
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.task-side-inner[b-jobppo0rh5] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.task-side-tasks-section[b-jobppo0rh5],
.task-side-actions-section[b-jobppo0rh5] {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.task-side-tasks-section[b-jobppo0rh5] {
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

/* ::deep pour pénétrer dans les composants enfants LeadTaskPanel et LeadActionPanel */
.task-side-tasks-section[b-jobppo0rh5]  .lead-task-panel,
.task-side-actions-section[b-jobppo0rh5]  .lead-action-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.task-side-tasks-section[b-jobppo0rh5]  .card-header.lead-panel-header,
.task-side-actions-section[b-jobppo0rh5]  .card-header.lead-panel-header {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #e9ecef);
    border-bottom: 1px solid var(--matrix-border-light, #adb5bd);
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-panel-header h6,
.task-side-actions-section[b-jobppo0rh5]  .lead-panel-header h6 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a1d21;
}

.task-side-tasks-section[b-jobppo0rh5]  .phasing-card-body,
.task-side-actions-section[b-jobppo0rh5]  .phasing-card-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    max-height: 45vh;
    padding: 0;
}

/* État vide */
.task-side-tasks-section[b-jobppo0rh5]  .lead-panel-empty,
.task-side-actions-section[b-jobppo0rh5]  .lead-panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    padding: 2rem 1rem;
    text-align: center;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-panel-empty .bi,
.task-side-actions-section[b-jobppo0rh5]  .lead-panel-empty .bi {
    font-size: 3rem;
    margin-bottom: 0.5rem;
    color: #495057;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-panel-empty p,
.task-side-actions-section[b-jobppo0rh5]  .lead-panel-empty p {
    font-size: 1.1rem;
    font-weight: 500;
    color: #495057;
}

/* Listes tâches et actions */
.task-side-tasks-section[b-jobppo0rh5]  .lead-task-list,
.task-side-actions-section[b-jobppo0rh5]  .lead-action-list {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-item,
.task-side-actions-section[b-jobppo0rh5]  .lead-action-item {
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #dee2e6;
    font-size: 0.9rem;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-closed {
    opacity: 0.8;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-header,
.task-side-actions-section[b-jobppo0rh5]  .lead-action-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-checkbox {
    flex-shrink: 0;
    margin: 0;
    margin-right: 0.5rem;
    cursor: pointer;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-meta {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-date {
    display: inline-flex;
    align-items: center;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-type {
    margin-left: auto;
}

.task-side-actions-section[b-jobppo0rh5]  .lead-action-date {
    font-size: 0.8rem;
    color: #495057;
}

.task-side-tasks-section[b-jobppo0rh5]  .lead-task-desc,
.task-side-actions-section[b-jobppo0rh5]  .lead-action-desc {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.task-side-actions-section[b-jobppo0rh5]  .lead-action-header .badge {
    font-weight: 600;
    color: #212529;
    background-color: #e9ecef;
    padding: 0.25rem 0.5rem;
}

.task-side-tasks-section[b-jobppo0rh5]  .text-center.text-muted,
.task-side-actions-section[b-jobppo0rh5]  .text-center.text-muted {
    color: #495057 !important;
}

/* ===== Responsive ===== */
@media (max-width: 1200px) {
    .task-list-container[b-jobppo0rh5] {
        flex-wrap: wrap;
    }

    .task-list-pane[b-jobppo0rh5],
    .task-detail-pane[b-jobppo0rh5],
    .task-side-pane[b-jobppo0rh5] {
        flex: 1 1 33.33%;
        min-width: 200px;
    }
}

@media (max-width: 768px) {
    .task-list-container[b-jobppo0rh5] {
        flex-direction: column;
    }

    .task-list-pane[b-jobppo0rh5] {
        max-height: 40vh;
        min-height: 200px;
    }

    .task-detail-pane[b-jobppo0rh5] {
        max-height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .task-side-pane[b-jobppo0rh5] {
        max-height: 40vh;
    }

    .task-filter-group[b-jobppo0rh5] {
        flex-wrap: wrap;
        gap: 0.25rem;
    }

    .task-filter-btn[b-jobppo0rh5] {
        font-size: 0.8rem;
        padding: 0.25rem 0.5rem;
    }
}
/* /Modules/LeadManagement/Components/Settings/LeadSourceSettings.razor.rz.scp.css */
/* Boutons icône uniquement */
.btn-icon-only[b-1hvegafchy] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-1hvegafchy] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-1hvegafchy] {
    outline: none;
    box-shadow: none;
}
/* /Modules/LeadManagement/Components/Settings/LeadStatusSettings.razor.rz.scp.css */
/* Boutons icône uniquement */
.btn-icon-only[b-316g23z992] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-316g23z992] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-316g23z992] {
    outline: none;
    box-shadow: none;
}

/* Alignement des actions dans la table */
.table td .d-flex[b-316g23z992] {
    justify-content: flex-end;
}
/* /Modules/LeadManagement/Pages/LeadClosedListPage.razor.rz.scp.css */
/* Assurer que matrix-content prend toute la hauteur */
.matrix-no-scrollable-content .matrix-content[b-6lvbspaqqu] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.matrix-no-scrollable-content[b-6lvbspaqqu] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* /Modules/LeadManagement/Pages/LeadListPage.razor.rz.scp.css */
/* Assurer que matrix-content prend toute la hauteur */
.matrix-no-scrollable-content .matrix-content[b-puvkus4q5v] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.matrix-no-scrollable-content[b-puvkus4q5v] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* /Modules/LeadManagement/Pages/LeadManagement.razor.rz.scp.css */
.lead-management-card-link[b-2ompa1a0fy] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.lead-management-card-link:hover[b-2ompa1a0fy] {
    color: inherit;
    text-decoration: none;
}

.lead-management-card-link .matrix-dashboard-card[b-2ompa1a0fy] {
    cursor: pointer;
}

.lead-management-card-link:hover .matrix-dashboard-card[b-2ompa1a0fy] {
    transform: translateY(-4px);
}
/* /Modules/LeadManagement/Pages/LeadTaskListPage.razor.rz.scp.css */
/* Assurer que matrix-content prend toute la hauteur */
.matrix-no-scrollable-content .matrix-content[b-fkljboew8o] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.matrix-no-scrollable-content[b-fkljboew8o] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* /Modules/Order/Components/OrderDetail/OrderInformation.razor.rz.scp.css */
.order-information[b-23msiahgio] {
    padding: 1.5rem;
    padding-bottom: 5rem;
    max-width: 1200px;
}

.order-info-sticky-footer[b-23msiahgio] {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 0.75rem 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.order-info-grid[b-23msiahgio] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.order-info-grid-2cols[b-23msiahgio] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.order-info-section-header-with-action[b-23msiahgio] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 992px) {
    .order-info-grid[b-23msiahgio] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .order-info-grid[b-23msiahgio],
    .order-info-grid-2cols[b-23msiahgio] {
        grid-template-columns: 1fr;
    }

    .order-information[b-23msiahgio] {
        padding: 1rem;
    }
}
/* /Modules/Order/Components/OrderDocument/OrderDocuments.razor.rz.scp.css */
.order-documents-container[b-evn380p4xs] {
    display: flex;
    gap: 0;
    height: calc(100vh - 200px);
    min-height: 400px;
}

.order-documents-list-pane[b-evn380p4xs] {
    width: 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.order-documents-preview-pane[b-evn380p4xs] {
    width: 50%;
    min-width: 0;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #fff);
    display: flex;
    flex-direction: column;
}

.order-documents-header[b-evn380p4xs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: var(--matrix-card-header-bg, #fafafa);
}

    .order-documents-header h6[b-evn380p4xs] {
        font-weight: 600;
        font-size: 0.95rem;
    }

.order-documents-upload-btn[b-evn380p4xs] {
    cursor: pointer;
    margin: 0;
}

.order-documents-uploading[b-evn380p4xs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
}

.order-documents-empty[b-evn380p4xs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .order-documents-empty i[b-evn380p4xs] {
        font-size: 2rem;
    }

.order-documents-table-wrap[b-evn380p4xs] {
    flex: 1;
    overflow-y: auto;
}

.order-documents-table[b-evn380p4xs] {
    font-size: 0.85rem;
}

    .order-documents-table thead th[b-evn380p4xs] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
        position: sticky;
        top: 0;
        background: #f8f9fa;
        z-index: 1;
    }

    .order-documents-table tbody td[b-evn380p4xs] {
        vertical-align: middle;
    }

    .order-documents-table tbody tr.table-active[b-evn380p4xs] {
        background-color: #e8f0fe !important;
    }

.doc-name-cell[b-evn380p4xs] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .doc-name-cell i[b-evn380p4xs] {
        margin-right: 0.35rem;
    }

.doc-comment-cell[b-evn380p4xs] {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
    font-size: 0.8rem;
}

.col-doc-actions[b-evn380p4xs] {
    width: 130px;
}

.doc-actions-group[b-evn380p4xs] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: flex-end;
}

.order-documents-list-pane .btn-icon-only[b-evn380p4xs] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .order-documents-list-pane .btn-icon-only:hover[b-evn380p4xs] {
        color: #0d6efd;
    }

    .order-documents-list-pane .btn-icon-only.text-danger:hover[b-evn380p4xs] {
        color: #dc3545;
    }

    .order-documents-list-pane .btn-icon-only:focus[b-evn380p4xs] {
        outline: none;
        box-shadow: none;
    }

.order-documents-preview-empty[b-evn380p4xs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #aaa;
}

.order-documents-preview-content[b-evn380p4xs] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.preview-toolbar[b-evn380p4xs] {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: #fafafa;
    font-size: 0.85rem;
}

.preview-filename[b-evn380p4xs] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .preview-filename i[b-evn380p4xs] {
        margin-right: 0.35rem;
    }

.preview-image-container[b-evn380p4xs] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow: auto;
    background: #f5f5f5;
}

.preview-image[b-evn380p4xs] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 0.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.preview-pdf-content[b-evn380p4xs] {
    overflow: hidden;
}

    .preview-pdf-content[b-evn380p4xs]  .k-pdf-viewer {
        border: none;
    }

@media (max-width: 992px) {
    .order-documents-container[b-evn380p4xs] {
        flex-direction: column;
        height: auto;
    }

    .order-documents-list-pane[b-evn380p4xs] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
        max-height: 50vh;
    }

    .order-documents-preview-pane[b-evn380p4xs] {
        width: 100%;
        min-height: 300px;
    }
}
/* /Modules/Order/Components/OrderLines/OrderLineDetail.razor.rz.scp.css */
.orderline-detail-wrapper[b-jme2i5hd0q] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.orderline-detail-header[b-jme2i5hd0q] {
    flex-shrink: 0;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.orderline-detail-header-titles[b-jme2i5hd0q] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.orderline-detail-header-titles h6[b-jme2i5hd0q] {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.orderline-detail-header h6[b-jme2i5hd0q] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.orderline-header-subcategory[b-jme2i5hd0q] {
    font-size: 0.8rem;
    font-weight: 400;
    color: #6c757d;
}

.orderline-header-codes[b-jme2i5hd0q] {
    font-size: 0.85rem;
    font-weight: 500;
    color: #495057;
    flex-shrink: 0;
    white-space: nowrap;
}

.orderline-detail-header-actions[b-jme2i5hd0q] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.btn-header-action[b-jme2i5hd0q] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #ffffff;
    color: #495057;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
    flex-shrink: 0;
}

.btn-header-action:hover[b-jme2i5hd0q] {
    background-color: #e9ecef;
    border-color: #adb5bd;
    color: #0d6efd;
}

.btn-header-action:disabled[b-jme2i5hd0q] {
    opacity: 0.6;
    cursor: not-allowed;
}

.orderline-debug-container[b-jme2i5hd0q] {
    position: relative;
}

.orderline-debug-backdrop[b-jme2i5hd0q] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
}

.orderline-debug-popup[b-jme2i5hd0q] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1001;
    min-width: 220px;
    padding: 0.5rem 0.75rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.orderline-detail-scrollable[b-jme2i5hd0q] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 0.15rem 0.35rem;
    padding-bottom: 0.15rem;
}

.orderline-detail-stickybar[b-jme2i5hd0q] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

.orderline-form-separator[b-jme2i5hd0q] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    margin: 0.5rem 0 0.15rem 0;
    background-color: #2C3E50;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: 4px;
    grid-column: 1 / -1;
}

.orderline-form-separator i[b-jme2i5hd0q] {
    font-size: 0.85rem;
    opacity: 0.85;
}

.field-span-full[b-jme2i5hd0q] {
    grid-column: 1 / -1;
}

[b-jme2i5hd0q] .field-span-full {
    grid-column: 1 / -1;
}

[b-jme2i5hd0q] .readonly-visible.k-disabled,
[b-jme2i5hd0q] .readonly-visible .k-disabled,
[b-jme2i5hd0q] .readonly-visible.k-input.k-disabled,
[b-jme2i5hd0q] .readonly-visible .k-input.k-disabled {
    opacity: 1;
    color: #212529;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    -webkit-text-fill-color: #212529;
}

.orderline-article-top[b-jme2i5hd0q] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.orderline-article-fields[b-jme2i5hd0q] {
    flex: 1;
    min-width: 0;
}

.orderline-article-image-panel[b-jme2i5hd0q] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.orderline-article-image[b-jme2i5hd0q] {
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background-color: #ffffff;
    overflow: hidden;
}

[b-jme2i5hd0q] .orderline-article-photo {
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
}

.orderline-logistics-row[b-jme2i5hd0q] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.orderline-logistics-field[b-jme2i5hd0q] {
    flex: 1;
    min-width: 120px;
}

.variant-detail-overlay[b-jme2i5hd0q] {
    z-index: 1060;
}

.variant-detail-popup[b-jme2i5hd0q] {
    display: flex;
    flex-direction: column;
    width: 94vw;
    height: 92vh;
    max-width: 1400px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.25);
    overflow: hidden;
}

.variant-detail-popup-header[b-jme2i5hd0q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
    flex-shrink: 0;
}

.variant-detail-popup-body[b-jme2i5hd0q] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}
/* /Modules/Order/Components/OrderLines/OrderLineReorderModal.razor.rz.scp.css */
.reorder-modal-dialog[b-l5s0waeyjo] {
    max-width: 680px;
    width: calc(100% - 2rem);
}

.reorder-modal-body[b-l5s0waeyjo] {
    max-height: 60vh;
    overflow-y: auto;
    padding: 1rem;
}

.reorder-deselect-btn[b-l5s0waeyjo] {
    white-space: nowrap;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.reorder-list[b-l5s0waeyjo] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.reorder-item[b-l5s0waeyjo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid transparent;
    border-bottom: 1px solid #eee;
    background-color: #ffffff;
    cursor: grab;
    transition: background-color 0.15s ease, opacity 0.15s ease;
    user-select: none;
    position: relative;
}

.reorder-item:active[b-l5s0waeyjo] {
    cursor: grabbing;
}

.reorder-item:hover[b-l5s0waeyjo] {
    background-color: #f8f9fa;
}

[b-l5s0waeyjo] .reorder-item.is-dragging {
    opacity: 0.3;
    background-color: #f0f0f0;
}

[b-l5s0waeyjo] .reorder-item.drop-above {
    border-top: 2.5px solid #0d6efd;
}

[b-l5s0waeyjo] .reorder-item.drop-below {
    border-bottom: 2.5px solid #0d6efd;
}

.reorder-checkbox[b-l5s0waeyjo] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: #0d6efd;
}

.reorder-grip[b-l5s0waeyjo] {
    color: #adb5bd;
    font-size: 1.1rem;
    flex-shrink: 0;
    cursor: grab;
}

.reorder-grip:active[b-l5s0waeyjo] {
    cursor: grabbing;
}

.reorder-line-order[b-l5s0waeyjo] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
    min-width: 1.5rem;
    text-align: center;
    flex-shrink: 0;
}

.reorder-line-type[b-l5s0waeyjo] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    white-space: nowrap;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

[b-l5s0waeyjo] .line-type-badge-article {
    background-color: #d1ecf1;
    color: #0c5460;
}

[b-l5s0waeyjo] .line-type-badge-comment {
    background-color: #e2e3e5;
    color: #383d41;
}

[b-l5s0waeyjo] .line-type-badge-fee {
    background-color: #fff3cd;
    color: #856404;
}

[b-l5s0waeyjo] .line-type-badge-offcollection {
    background-color: #f8d7da;
    color: #721c24;
}

.reorder-line-info[b-l5s0waeyjo] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
}

.reorder-line-label[b-l5s0waeyjo] {
    font-size: 0.87rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--matrix-text-primary, #1F2023);
}

.reorder-line-price[b-l5s0waeyjo] {
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
    color: var(--matrix-text-primary, #1F2023);
    flex-shrink: 0;
    min-width: 5rem;
    text-align: right;
}

@media (max-width: 576px) {
    .reorder-modal-dialog[b-l5s0waeyjo] {
        max-width: 100%;
        margin: 0.5rem;
    }

    .reorder-modal-body[b-l5s0waeyjo] {
        max-height: 50vh;
    }

    .reorder-line-price[b-l5s0waeyjo] {
        display: none;
    }
}
/* /Modules/Order/Components/OrderLines/OrderLines.razor.rz.scp.css */
.item-variants-wrapper[b-jifqqbc6j9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.item-variants-container[b-jifqqbc6j9] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.item-variants-list-pane[b-jifqqbc6j9] {
    width: 750px;
    min-width: 700px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

.resource-list-card[b-jifqqbc6j9] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-jifqqbc6j9] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    overflow: visible;
    position: relative;
    z-index: 10;
}

.search-container[b-jifqqbc6j9] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 280px;
}

.search-input[b-jifqqbc6j9] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-jifqqbc6j9] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-jifqqbc6j9] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-jifqqbc6j9] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-jifqqbc6j9] {
    cursor: not-allowed;
    opacity: 0.6;
}

.quote-lines-total-header[b-jifqqbc6j9] {
    background-color: var(--matrix-bg-primary, #ffffff);
    border-bottom: 2px solid var(--matrix-border-primary, #0073ea);
    padding: 0.5rem 1rem;
    border-top: 1px solid #dee2e6;
}

.quote-lines-total-content[b-jifqqbc6j9] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.quote-lines-total-content .total-item[b-jifqqbc6j9] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.quote-lines-total-content .total-label[b-jifqqbc6j9] {
    font-weight: 500;
    color: var(--matrix-text-secondary, #6B6D70);
    font-size: 0.82rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value[b-jifqqbc6j9] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.88rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value-discount[b-jifqqbc6j9] {
    color: #d9534f;
}

.quote-lines-total-content .total-item-main[b-jifqqbc6j9] {
    padding-left: 0.75rem;
    border-left: 2px solid var(--matrix-border-primary, #0073ea);
}

.quote-lines-total-content .total-value-main[b-jifqqbc6j9] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--matrix-text-primary, #1F2023);
}

.phasing-header-min-h[b-jifqqbc6j9] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.status-filter-container[b-jifqqbc6j9] {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.status-filter-select[b-jifqqbc6j9] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 150px;
}

.status-filter-select:focus[b-jifqqbc6j9] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-jifqqbc6j9] {
    background: #FCF1E6;
    color: #0073ea;
}

.btn-icon-only[b-jifqqbc6j9] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-jifqqbc6j9] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-jifqqbc6j9] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-jifqqbc6j9] {
    padding: 0;
}

.resource-item[b-jifqqbc6j9] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:nth-child(even)[b-jifqqbc6j9] {
    background-color: #f1f3f5;
}

.resource-item:hover[b-jifqqbc6j9] {
    background-color: #e8ecf0;
}

.resource-item.is-selected[b-jifqqbc6j9] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item.line-type-comment[b-jifqqbc6j9] {
    background-color: #f0f0f0;
    border-left-color: #6c757d;
}

.resource-item.line-type-comment.is-selected[b-jifqqbc6j9] {
    background-color: #e0e0e0;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-jifqqbc6j9] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-jifqqbc6j9] {
    flex-grow: 1;
}

.resource-item .node-label[b-jifqqbc6j9] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-jifqqbc6j9] {
    font-size: 0.8rem;
}

.ql-line-grid[b-jifqqbc6j9] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

.ql-line-info[b-jifqqbc6j9] {
    flex: 1 1 0;
    min-width: 0;
}

.ql-line-col[b-jifqqbc6j9] {
    flex: 0 0 auto;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ql-line-col.ql-line-col-narrow[b-jifqqbc6j9] {
    min-width: 5.5rem;
}

.ql-pricing-cell[b-jifqqbc6j9] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 0.85rem;
}

.ql-pricing-label[b-jifqqbc6j9] {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    text-transform: lowercase;
}

.ql-pricing-value[b-jifqqbc6j9] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    text-align: right;
}

.ql-pricing-cell-total .ql-pricing-value[b-jifqqbc6j9] {
    font-weight: 700;
}

.ql-serial-location[b-jifqqbc6j9] {
    font-style: italic;
}

.item-variants-detail-pane[b-jifqqbc6j9] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
    position: relative;
    min-height: 0;
}

.item-variants-empty-state[b-jifqqbc6j9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.order-lines-options[b-jifqqbc6j9] {
    position: relative;
}

.order-lines-options .btn-group[b-jifqqbc6j9] {
    position: relative;
    z-index: 1001;
}

.order-lines-options .dropdown-menu[b-jifqqbc6j9] {
    min-width: 220px;
    position: absolute;
    right: 0;
    z-index: 1050;
}

[b-jifqqbc6j9] .matrix-dropdown-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

[b-jifqqbc6j9] .comment-line-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-jifqqbc6j9] .comment-line-header .node-label {
    flex: 1;
    min-width: 0;
}

[b-jifqqbc6j9] .comment-tags {
    display: flex;
    gap: 0.4rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}

[b-jifqqbc6j9] .comment-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 0.3rem;
    line-height: 1.4;
    border: 1px solid;
}

[b-jifqqbc6j9] .tag-newpage {
    background-color: #d0e2ff;
    color: #0043ce;
    border-color: #a6c8ff;
}

[b-jifqqbc6j9] .tag-subtotal {
    background-color: #ffe0b2;
    color: #bf360c;
    border-color: #ffcc80;
}

[b-jifqqbc6j9] .ql-line-title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-jifqqbc6j9] .ql-variant-type-tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    line-height: 1.3;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: 1px solid;
    flex-shrink: 0;
}

[b-jifqqbc6j9] .ql-variant-type-s {
    background-color: #e3f2fd;
    color: #1565c0;
    border-color: #90caf9;
}

[b-jifqqbc6j9] .ql-variant-type-c {
    background-color: #fce4ec;
    color: #c62828;
    border-color: #ef9a9a;
}

[b-jifqqbc6j9] .ql-variant-type-u {
    background-color: #f3e5f5;
    color: #6a1b9a;
    border-color: #ce93d8;
}

[b-jifqqbc6j9] .ql-variant-type-offcollection {
    background-color: #fff3e0;
    color: #e65100;
    border-color: #ffcc80;
}

@media (max-width: 992px) {
    .item-variants-container[b-jifqqbc6j9] {
        flex-direction: column;
    }

    .item-variants-list-pane[b-jifqqbc6j9] {
        width: 100%;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .item-variants-detail-pane[b-jifqqbc6j9] {
        height: 60vh;
    }
}
/* /Modules/Order/Components/OrderLines/OrderLineUpholstery.razor.rz.scp.css */
.ql-upholstery-grid[b-no1hpqvkfb] {
    width: 100%;
}

.ql-upholstery-actions[b-no1hpqvkfb] {
    justify-content: flex-start;
}

.ql-upholstery-table[b-no1hpqvkfb] {
    font-size: 0.85rem;
}

.ql-upholstery-table thead th[b-no1hpqvkfb] {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #6c757d;
    font-weight: 600;
    white-space: nowrap;
}

.ql-upholstery-table tbody td[b-no1hpqvkfb] {
    vertical-align: middle;
}

.ql-upholstery-table tfoot th[b-no1hpqvkfb] {
    font-weight: 700;
    background-color: #f8f9fa;
}

.ql-upholstery-grid .btn-icon-only[b-no1hpqvkfb] {
    border: none;
    background: transparent;
    padding: 0.15rem;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    color: #495057;
    transition: color 0.2s ease;
}

.ql-upholstery-grid .btn-icon-only:hover[b-no1hpqvkfb] {
    color: #0d6efd;
}

.ql-upholstery-grid .btn-icon-only.text-danger:hover[b-no1hpqvkfb] {
    color: #dc3545;
}

.ql-material-modal[b-no1hpqvkfb] {
    max-width: 800px;
}

.ql-edit-line-modal[b-no1hpqvkfb] {
    max-width: 560px;
}

[b-no1hpqvkfb] .material-search-results {
    height: 400px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

[b-no1hpqvkfb] .material-search-results table {
    margin-bottom: 0 !important;
    font-size: 0.925rem;
}

[b-no1hpqvkfb] .material-search-results thead {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8f9fa;
}
/* /Modules/Order/Components/OrderPayment/OrderPayments.razor.rz.scp.css */
.order-payments[b-o5iddw9b0c] {
    padding: 1.5rem;
    max-width: 1200px;
}

.order-payments-content[b-o5iddw9b0c] {
    max-width: 50%;
    min-width: 400px;
}

.order-payments-toolbar[b-o5iddw9b0c] {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0.75rem;
}

.order-payments-add-form[b-o5iddw9b0c] {
    margin-bottom: 1rem;
}

.order-payments-form-grid[b-o5iddw9b0c] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.order-payments-table[b-o5iddw9b0c] {
    font-size: 0.85rem;
}

    .order-payments-table thead th[b-o5iddw9b0c] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
    }

    .order-payments-table tbody td[b-o5iddw9b0c] {
        vertical-align: middle;
    }

    .order-payments-table tfoot th[b-o5iddw9b0c] {
        font-weight: 700;
        background-color: #f8f9fa;
    }

    .order-payments-table .col-actions[b-o5iddw9b0c] {
        width: 2.5rem;
    }

.order-payments-content .btn-icon-only[b-o5iddw9b0c] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .order-payments-content .btn-icon-only:hover[b-o5iddw9b0c] {
        color: #0d6efd;
    }

    .order-payments-content .btn-icon-only.text-danger:hover[b-o5iddw9b0c] {
        color: #dc3545;
    }

    .order-payments-content .btn-icon-only:focus[b-o5iddw9b0c] {
        outline: none;
        box-shadow: none;
    }

.order-payments-empty[b-o5iddw9b0c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .order-payments-empty i[b-o5iddw9b0c] {
        font-size: 2rem;
    }

@media (max-width: 992px) {
    .order-payments-content[b-o5iddw9b0c] {
        max-width: 75%;
    }

    .order-payments-form-grid[b-o5iddw9b0c] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .order-payments[b-o5iddw9b0c] {
        padding: 1rem;
    }

    .order-payments-content[b-o5iddw9b0c] {
        max-width: 100%;
        min-width: 0;
    }

    .order-payments-form-grid[b-o5iddw9b0c] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/PurchaseManagement/Pages/PurchaseManagement.razor.rz.scp.css */
.purchase-management-card-link[b-0ykr6776c5] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.purchase-management-card-link:hover[b-0ykr6776c5] {
    color: inherit;
    text-decoration: none;
}

.purchase-management-card-link .matrix-dashboard-card[b-0ykr6776c5] {
    cursor: pointer;
}

.purchase-management-card-link:hover .matrix-dashboard-card[b-0ykr6776c5] {
    transform: translateY(-4px);
}
/* /Modules/Quote/Components/QuoteDetail/QuoteInformation.razor.rz.scp.css */
.quote-information[b-ne0i0vbr8b] {
    padding: 1.5rem;
    padding-bottom: 5rem;
    max-width: 1200px;
}

.quote-info-sticky-footer[b-ne0i0vbr8b] {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    border-top: 1px solid #e0e0e0;
    padding: 0.75rem 1.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.quote-info-grid[b-ne0i0vbr8b] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.quote-info-grid-2cols[b-ne0i0vbr8b] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.quote-info-section-header-with-action[b-ne0i0vbr8b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 992px) {
    .quote-info-grid[b-ne0i0vbr8b] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .quote-info-grid[b-ne0i0vbr8b],
    .quote-info-grid-2cols[b-ne0i0vbr8b] {
        grid-template-columns: 1fr;
    }

    .quote-information[b-ne0i0vbr8b] {
        padding: 1rem;
    }
}
/* /Modules/Quote/Components/QuoteDocument/QuoteDocuments.razor.rz.scp.css */
/* Layout principal split 50/50 */
.quote-documents-container[b-23bejjeuok] {
    display: flex;
    gap: 0;
    height: calc(100vh - 200px);
    min-height: 400px;
}

.quote-documents-list-pane[b-23bejjeuok] {
    width: 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.quote-documents-preview-pane[b-23bejjeuok] {
    width: 50%;
    min-width: 0;
    overflow: hidden;
    background-color: var(--matrix-bg-primary, #fff);
    display: flex;
    flex-direction: column;
}

/* Header avec bouton upload */
.quote-documents-header[b-23bejjeuok] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: var(--matrix-card-header-bg, #fafafa);
}

    .quote-documents-header h6[b-23bejjeuok] {
        font-weight: 600;
        font-size: 0.95rem;
    }

.quote-documents-upload-btn[b-23bejjeuok] {
    cursor: pointer;
    margin: 0;
}

/* Upload en cours */
.quote-documents-uploading[b-23bejjeuok] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
}

/* État vide */
.quote-documents-empty[b-23bejjeuok] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .quote-documents-empty i[b-23bejjeuok] {
        font-size: 2rem;
    }

/* Tableau des documents */
.quote-documents-table-wrap[b-23bejjeuok] {
    flex: 1;
    overflow-y: auto;
}

.quote-documents-table[b-23bejjeuok] {
    font-size: 0.85rem;
}

    .quote-documents-table thead th[b-23bejjeuok] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
        position: sticky;
        top: 0;
        background: #f8f9fa;
        z-index: 1;
    }

    .quote-documents-table tbody td[b-23bejjeuok] {
        vertical-align: middle;
    }

    .quote-documents-table tbody tr.table-active[b-23bejjeuok] {
        background-color: #e8f0fe !important;
    }

.doc-name-cell[b-23bejjeuok] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .doc-name-cell i[b-23bejjeuok] {
        margin-right: 0.35rem;
    }

.doc-comment-cell[b-23bejjeuok] {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
    font-size: 0.8rem;
}

.col-doc-actions[b-23bejjeuok] {
    width: 130px;
}

.doc-actions-group[b-23bejjeuok] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: flex-end;
}

/* Bouton icône — même style que QuoteLines */
.quote-documents-list-pane .btn-icon-only[b-23bejjeuok] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .quote-documents-list-pane .btn-icon-only:hover[b-23bejjeuok] {
        color: #0d6efd;
    }

    .quote-documents-list-pane .btn-icon-only.text-danger:hover[b-23bejjeuok] {
        color: #dc3545;
    }

    .quote-documents-list-pane .btn-icon-only:focus[b-23bejjeuok] {
        outline: none;
        box-shadow: none;
    }

/* Panneau aperçu */
.quote-documents-preview-empty[b-23bejjeuok] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #aaa;
}

.quote-documents-preview-content[b-23bejjeuok] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.preview-toolbar[b-23bejjeuok] {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--matrix-border, #e0e0e0);
    background: #fafafa;
    font-size: 0.85rem;
}

.preview-filename[b-23bejjeuok] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .preview-filename i[b-23bejjeuok] {
        margin-right: 0.35rem;
    }

/* Image */
.preview-image-container[b-23bejjeuok] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    overflow: auto;
    background: #f5f5f5;
}

.preview-image[b-23bejjeuok] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 0.25rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

/* PDF */
.preview-pdf-content[b-23bejjeuok] {
    overflow: hidden;
}

    .preview-pdf-content[b-23bejjeuok]  .k-pdf-viewer {
        border: none;
    }

/* Responsive */
@media (max-width: 992px) {
    .quote-documents-container[b-23bejjeuok] {
        flex-direction: column;
        height: auto;
    }

    .quote-documents-list-pane[b-23bejjeuok] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
        max-height: 50vh;
    }

    .quote-documents-preview-pane[b-23bejjeuok] {
        width: 100%;
        min-height: 300px;
    }
}
/* /Modules/Quote/Components/QuoteLines/QuoteLineDetail.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   QuoteLineDetail – Détail d'une ligne de devis
   ══════════════════════════════════════════════════════════════ */

.quoteline-detail-wrapper[b-arhs1w723w] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* Header du détail — même padding et fond que .resource-list-card .card-header (liste des lignes) */
.quoteline-detail-header[b-arhs1w723w] {
    flex-shrink: 0;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.quoteline-detail-header-titles[b-arhs1w723w] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.quoteline-detail-header-titles h6[b-arhs1w723w] {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.quoteline-detail-header h6[b-arhs1w723w] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.quoteline-header-subcategory[b-arhs1w723w] {
    font-size: 0.8rem;
    font-weight: 400;
    color: #6c757d;
}

.quoteline-header-codes[b-arhs1w723w] {
    font-size: 0.85rem;
    font-weight: 500;
    color: #495057;
    flex-shrink: 0;
    white-space: nowrap;
}

/* Zone boutons à droite du header */
.quoteline-detail-header-actions[b-arhs1w723w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Bouton header générique (sync, info) */
.btn-header-action[b-arhs1w723w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #ffffff;
    color: #495057;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
    flex-shrink: 0;
}

.btn-header-action:hover[b-arhs1w723w] {
    background-color: #e9ecef;
    border-color: #adb5bd;
    color: #0d6efd;
}

.btn-header-action:disabled[b-arhs1w723w] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Popup debug (bouton info) */
.quoteline-debug-container[b-arhs1w723w] {
    position: relative;
}

.quoteline-debug-backdrop[b-arhs1w723w] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
}

.quoteline-debug-popup[b-arhs1w723w] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 1001;
    min-width: 220px;
    padding: 0.5rem 0.75rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Zone scrollable : formulaire */
.quoteline-detail-scrollable[b-arhs1w723w] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 0.15rem 0.35rem;
    padding-bottom: 0.15rem;
}

/* Sticky bar : bouton Enregistrer en bas */
.quoteline-detail-stickybar[b-arhs1w723w] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1.25rem;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

/* Séparateur de section */
.quoteline-form-separator[b-arhs1w723w] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.85rem;
    margin: 0.5rem 0 0.15rem 0;
    background-color: #2C3E50;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: 4px;
    grid-column: 1 / -1;
}

.quoteline-form-separator i[b-arhs1w723w] {
    font-size: 0.85rem;
    opacity: 0.85;
}

.field-span-full[b-arhs1w723w] {
    grid-column: 1 / -1;
}

[b-arhs1w723w] .field-span-full {
    grid-column: 1 / -1;
}

[b-arhs1w723w] .readonly-visible.k-disabled,
[b-arhs1w723w] .readonly-visible .k-disabled,
[b-arhs1w723w] .readonly-visible.k-input.k-disabled,
[b-arhs1w723w] .readonly-visible .k-input.k-disabled {
    opacity: 1;
    color: #212529;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    -webkit-text-fill-color: #212529;
}

/* Layout 2 colonnes : champs + image article */
.quoteline-article-top[b-arhs1w723w] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.quoteline-article-fields[b-arhs1w723w] {
    flex: 1;
    min-width: 0;
}

.quoteline-article-image-panel[b-arhs1w723w] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.quoteline-article-image[b-arhs1w723w] {
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background-color: #ffffff;
    overflow: hidden;
}

[b-arhs1w723w] .quoteline-article-photo {
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
}

/* Barre tag + boutons sur une seule ligne */
.quoteline-img-toolbar[b-arhs1w723w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0.4rem;
}

/* Tag source image */
.quoteline-img-tag[b-arhs1w723w] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 3px;
    line-height: 1.4;
    white-space: nowrap;
}

.img-tag-custom[b-arhs1w723w] {
    background-color: #28a745;
    color: #ffffff;
}

.img-tag-variant[b-arhs1w723w] {
    background-color: #0069d9;
    color: #ffffff;
}

.img-tag-item[b-arhs1w723w] {
    background-color: #e0a800;
    color: #ffffff;
}

/* Boutons upload / supprimer */
.quoteline-img-actions[b-arhs1w723w] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.btn-img-action[b-arhs1w723w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #f8f9fa;
    color: #495057;
    cursor: pointer;
    font-size: 0.85rem;
    transition: background-color 0.15s, border-color 0.15s;
}

.btn-img-action:hover[b-arhs1w723w] {
    background-color: #e9ecef;
    border-color: #adb5bd;
}

.btn-img-delete[b-arhs1w723w] {
    color: #dc3545;
    border-color: #f5c6cb;
    background-color: #fff5f5;
}

.btn-img-delete:hover[b-arhs1w723w] {
    background-color: #f8d7da;
    border-color: #dc3545;
}

/* ── Logistique : N° série + Emplacement + boutons sur une ligne ── */
.quoteline-logistics-row[b-arhs1w723w] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.quoteline-logistics-field[b-arhs1w723w] {
    flex: 1;
    min-width: 120px;
}

.quoteline-location-actions[b-arhs1w723w] {
    display: flex;
    gap: 0.35rem;
    align-items: center;
    padding-bottom: 2px;
    flex-shrink: 0;
}

/* ── Modal changement localisation ── */
[b-arhs1w723w] .location-picker-dialog {
    max-width: 500px;
}

.location-table thead th[b-arhs1w723w] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6B6D70;
    border-bottom: 2px solid #dee2e6;
    padding: 0.5rem 0.75rem;
}

.location-row[b-arhs1w723w] {
    cursor: pointer;
    font-size: 0.85rem;
    transition: background-color 0.12s;
}

.location-row td[b-arhs1w723w] {
    padding: 0.55rem 0.75rem;
    vertical-align: middle;
}

.location-row:hover[b-arhs1w723w] {
    background-color: #e8f4fd !important;
}

/* ── Popup détail variante ── */
.variant-detail-overlay[b-arhs1w723w] {
    z-index: 1060;
}

.variant-detail-popup[b-arhs1w723w] {
    display: flex;
    flex-direction: column;
    width: 94vw;
    height: 92vh;
    max-width: 1400px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.25);
    overflow: hidden;
}

.variant-detail-popup-header[b-arhs1w723w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
    flex-shrink: 0;
}

.variant-detail-popup-body[b-arhs1w723w] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

/* ── Réservation de stock ── */

.quoteline-reservation-row[b-arhs1w723w] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0 0.25rem;
}

.quoteline-reserved-tag[b-arhs1w723w] {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 4px;
    background-color: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
    white-space: nowrap;
}
/* /Modules/Quote/Components/QuoteLines/QuoteLineReorderModal.razor.rz.scp.css */
.reorder-modal-dialog[b-3k6d9iycap] {
    max-width: 680px;
    width: calc(100% - 2rem);
}

.reorder-modal-body[b-3k6d9iycap] {
    max-height: 60vh;
    overflow-y: auto;
    padding: 1rem;
}

.reorder-deselect-btn[b-3k6d9iycap] {
    white-space: nowrap;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.reorder-list[b-3k6d9iycap] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.reorder-item[b-3k6d9iycap] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid transparent;
    border-bottom: 1px solid #eee;
    background-color: #ffffff;
    cursor: grab;
    transition: background-color 0.15s ease, opacity 0.15s ease;
    user-select: none;
    position: relative;
}

.reorder-item:active[b-3k6d9iycap] {
    cursor: grabbing;
}

.reorder-item:hover[b-3k6d9iycap] {
    background-color: #f8f9fa;
}

/* Ligne en cours de drag : opacité réduite */
[b-3k6d9iycap] .reorder-item.is-dragging {
    opacity: 0.3;
    background-color: #f0f0f0;
}

/* Indicateur de drop : bordure bleue au-dessus */
[b-3k6d9iycap] .reorder-item.drop-above {
    border-top: 2.5px solid #0d6efd;
}

/* Indicateur de drop : bordure bleue en-dessous */
[b-3k6d9iycap] .reorder-item.drop-below {
    border-bottom: 2.5px solid #0d6efd;
}

.reorder-checkbox[b-3k6d9iycap] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: #0d6efd;
}

.reorder-grip[b-3k6d9iycap] {
    color: #adb5bd;
    font-size: 1.1rem;
    flex-shrink: 0;
    cursor: grab;
}

.reorder-grip:active[b-3k6d9iycap] {
    cursor: grabbing;
}

.reorder-line-order[b-3k6d9iycap] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
    min-width: 1.5rem;
    text-align: center;
    flex-shrink: 0;
}

.reorder-line-type[b-3k6d9iycap] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    white-space: nowrap;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

[b-3k6d9iycap] .line-type-badge-article {
    background-color: #d1ecf1;
    color: #0c5460;
}

[b-3k6d9iycap] .line-type-badge-comment {
    background-color: #e2e3e5;
    color: #383d41;
}

[b-3k6d9iycap] .line-type-badge-fee {
    background-color: #fff3cd;
    color: #856404;
}

[b-3k6d9iycap] .line-type-badge-offcollection {
    background-color: #f8d7da;
    color: #721c24;
}

.reorder-line-info[b-3k6d9iycap] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
}

.reorder-line-label[b-3k6d9iycap] {
    font-size: 0.87rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--matrix-text-primary, #1F2023);
}

.reorder-line-price[b-3k6d9iycap] {
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
    color: var(--matrix-text-primary, #1F2023);
    flex-shrink: 0;
    min-width: 5rem;
    text-align: right;
}

@media (max-width: 576px) {
    .reorder-modal-dialog[b-3k6d9iycap] {
        max-width: 100%;
        margin: 0.5rem;
    }

    .reorder-modal-body[b-3k6d9iycap] {
        max-height: 50vh;
    }

    .reorder-line-price[b-3k6d9iycap] {
        display: none;
    }
}
/* /Modules/Quote/Components/QuoteLines/QuoteLines.razor.rz.scp.css */
.item-variants-wrapper[b-yne7jipwr7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.item-variants-container[b-yne7jipwr7] {
    display: flex;
    gap: 0;
    min-height: 520px;
    height: calc(100vh - 200px);
}

.item-variants-list-pane[b-yne7jipwr7] {
    width: 750px;
    min-width: 700px;
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
}

/* Styles partagés avec ResourceList */
.resource-list-card[b-yne7jipwr7] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.resource-list-card .card-header[b-yne7jipwr7] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 1rem;
    overflow: visible;
    position: relative;
    z-index: 10;
}

/* Recherche texte */
.search-container[b-yne7jipwr7] {
    display: flex;
    align-items: center;
    min-width: 200px;
    max-width: 280px;
}

.search-input[b-yne7jipwr7] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    flex: 1;
}

.search-input:focus[b-yne7jipwr7] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-yne7jipwr7] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.35rem 0.5rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 0.85rem;
}

.search-btn:hover:not(:disabled)[b-yne7jipwr7] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-yne7jipwr7] {
    cursor: not-allowed;
    opacity: 0.6;
}

.quote-lines-total-header[b-yne7jipwr7] {
    background-color: var(--matrix-bg-primary, #ffffff);
    border-bottom: 2px solid var(--matrix-border-primary, #0073ea);
    padding: 0.5rem 1rem;
    border-top: 1px solid #dee2e6;
}

.quote-lines-total-content[b-yne7jipwr7] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.quote-lines-total-content .total-item[b-yne7jipwr7] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.quote-lines-total-content .total-label[b-yne7jipwr7] {
    font-weight: 500;
    color: var(--matrix-text-secondary, #6B6D70);
    font-size: 0.82rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value[b-yne7jipwr7] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.88rem;
    white-space: nowrap;
}

.quote-lines-total-content .total-value-discount[b-yne7jipwr7] {
    color: #d9534f;
}

.quote-lines-total-content .total-item-main[b-yne7jipwr7] {
    padding-left: 0.75rem;
    border-left: 2px solid var(--matrix-border-primary, #0073ea);
}

.quote-lines-total-content .total-value-main[b-yne7jipwr7] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--matrix-text-primary, #1F2023);
}

.phasing-header-min-h[b-yne7jipwr7] {
    min-height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.status-filter-container[b-yne7jipwr7] {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.status-filter-select[b-yne7jipwr7] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.35rem 0.5rem;
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 150px;
}

.status-filter-select:focus[b-yne7jipwr7] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-yne7jipwr7] {
    background: #FCF1E6;
    color: #0073ea;
}

.btn-icon-only[b-yne7jipwr7] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-yne7jipwr7] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-yne7jipwr7] {
    outline: none;
    box-shadow: none;
}

.resource-items-list[b-yne7jipwr7] {
    padding: 0;
}

.resource-item[b-yne7jipwr7] {
    cursor: pointer;
    padding: 0.35rem 0.75rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.resource-item:nth-child(even)[b-yne7jipwr7] {
    background-color: #f1f3f5;
}

.resource-item:hover[b-yne7jipwr7] {
    background-color: #e8ecf0;
}

.resource-item.is-selected[b-yne7jipwr7] {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

.resource-item.line-type-comment[b-yne7jipwr7] {
    background-color: #f0f0f0;
    border-left-color: #6c757d;
}

.resource-item.line-type-comment.is-selected[b-yne7jipwr7] {
    background-color: #e0e0e0;
    border-left-color: #0d6efd;
}

.resource-item .node-line[b-yne7jipwr7] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.resource-item .node-text[b-yne7jipwr7] {
    flex-grow: 1;
}

.resource-item .node-label[b-yne7jipwr7] {
    font-weight: 600;
    font-size: 0.95rem;
}

.resource-item .node-sub[b-yne7jipwr7] {
    font-size: 0.8rem;
}

/* Grille info + colonnes prix */
.ql-line-grid[b-yne7jipwr7] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

.ql-line-info[b-yne7jipwr7] {
    flex: 1 1 0;
    min-width: 0;
}

.ql-line-col[b-yne7jipwr7] {
    flex: 0 0 auto;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ql-line-col.ql-line-col-narrow[b-yne7jipwr7] {
    min-width: 5.5rem;
}

.ql-pricing-cell[b-yne7jipwr7] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 0.85rem;
}

.ql-pricing-label[b-yne7jipwr7] {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    text-transform: lowercase;
}

.ql-pricing-value[b-yne7jipwr7] {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    text-align: right;
}

.ql-pricing-cell-total .ql-pricing-value[b-yne7jipwr7] {
    font-weight: 700;
}

.ql-serial-location[b-yne7jipwr7] {
    font-style: italic;
}

/* Première colonne : actions alignées à droite (vers le contenu), poubelle puis flèches */
.resource-item .node-line-actions[b-yne7jipwr7] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    flex-shrink: 0;
    min-width: 2.5rem;
}

.resource-item .node-line-move-arrows[b-yne7jipwr7] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}

/* Styles pour les badges */
.resource-item .badge-kit[b-yne7jipwr7] {
    background-color: #0d6efd;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.4rem 0.65rem;
    border-radius: 0.375rem;
    line-height: 1.2;
}

.resource-item .badge-assembly[b-yne7jipwr7] {
    background-color: #fd7e14;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.4rem 0.65rem;
    border-radius: 0.375rem;
    line-height: 1.2;
}

.resource-item .badge-custom[b-yne7jipwr7] {
    background-color: #6c757d;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    line-height: 1.2;
    text-transform: uppercase;
}

.item-variants-detail-pane[b-yne7jipwr7] {
    flex: 1;
    overflow-y: auto;
    background-color: var(--matrix-bg-primary, #ffffff);
    position: relative; /* Nécessaire pour le positionnement absolu du PdfPreviewPanel */
    min-height: 0; /* Permet au flex item de réduire correctement */
}

.item-variants-empty-state[b-yne7jipwr7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

/* Styles pour le dropdown Options */
.quote-lines-options[b-yne7jipwr7] {
    position: relative;
}

.quote-lines-options .btn-group[b-yne7jipwr7] {
    position: relative;
    z-index: 1001;
}

.quote-lines-options .dropdown-menu[b-yne7jipwr7] {
    min-width: 220px;
    position: absolute;
    right: 0;
    z-index: 1050;
}

/* Backdrop transparent pour fermer le dropdown en cliquant en dehors */
[b-yne7jipwr7] .matrix-dropdown-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    background: transparent;
    cursor: default;
}

.quote-add-line-dialog[b-yne7jipwr7] {
    max-width: 760px;
    width: calc(100% - 2rem);
}

.quote-add-line-options-grid[b-yne7jipwr7] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.quote-add-line-option-card[b-yne7jipwr7] {
    border: 1px solid var(--matrix-border-light, #dee2e6);
    border-radius: 0.75rem;
    background: #ffffff;
    min-height: 130px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.5rem;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.quote-add-line-option-card:hover[b-yne7jipwr7] {
    border-color: #0d6efd;
    box-shadow: 0 6px 18px rgba(13, 110, 253, 0.15);
    transform: translateY(-1px);
}

.quote-add-line-option-card:focus[b-yne7jipwr7] {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.quote-add-line-option-title[b-yne7jipwr7] {
    display: block;
    font-weight: 600;
    color: var(--matrix-text-primary, #1f2023);
}

@media (max-width: 992px) {
    .item-variants-container[b-yne7jipwr7] {
        flex-direction: column;
    }

    .item-variants-list-pane[b-yne7jipwr7] {
        width: 100%;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .item-variants-detail-pane[b-yne7jipwr7] {
        height: 60vh;
    }

    .quote-add-line-options-grid[b-yne7jipwr7] {
        grid-template-columns: 1fr;
    }
}

.btn-move[b-yne7jipwr7] {
    font-size: 0.8rem;
    padding: 0.15rem 0.25rem;
    color: #6c757d;
    opacity: 0;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.resource-item:hover .btn-move[b-yne7jipwr7],
.resource-item.is-selected .btn-move[b-yne7jipwr7] {
    opacity: 1;
}

.btn-move:hover[b-yne7jipwr7] {
    color: #0d6efd;
}

[b-yne7jipwr7] .comment-line-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-yne7jipwr7] .comment-line-header .node-label {
    flex: 1;
    min-width: 0;
}

[b-yne7jipwr7] .comment-tags {
    display: flex;
    gap: 0.4rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}

[b-yne7jipwr7] .comment-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 0.3rem;
    line-height: 1.4;
    border: 1px solid;
}

[b-yne7jipwr7] .tag-newpage {
    background-color: #d0e2ff;
    color: #0043ce;
    border-color: #a6c8ff;
}

[b-yne7jipwr7] .tag-subtotal {
    background-color: #ffe0b2;
    color: #bf360c;
    border-color: #ffcc80;
}

/* ── Tags type de variante dans la liste ── */
[b-yne7jipwr7] .ql-line-title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-yne7jipwr7] .ql-variant-type-tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 0.25rem;
    line-height: 1.3;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: 1px solid;
    flex-shrink: 0;
}

[b-yne7jipwr7] .ql-variant-type-s {
    background-color: #e3f2fd;
    color: #1565c0;
    border-color: #90caf9;
}

[b-yne7jipwr7] .ql-variant-type-c {
    background-color: #fce4ec;
    color: #c62828;
    border-color: #ef9a9a;
}

[b-yne7jipwr7] .ql-variant-type-u {
    background-color: #f3e5f5;
    color: #6a1b9a;
    border-color: #ce93d8;
}

[b-yne7jipwr7] .ql-variant-type-offcollection {
    background-color: #fff3e0;
    color: #e65100;
    border-color: #ffcc80;
}

[b-yne7jipwr7] .ql-reservation-tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 4px;
    background-color: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
    letter-spacing: 0.03em;
}

/* Lot L4 — Badge "En cours de chiffrage" pour les lignes hors collection
   en attente de réponse fournisseur (PricingStatus = 1). */
[b-yne7jipwr7] .ql-pricing-pending-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background-color: #fff7e6;
    color: #b45309;
    border: 1px solid #fcd34d;
    letter-spacing: 0.02em;
    white-space: nowrap;
    flex-shrink: 0;
    animation: ql-pricing-pulse-b-yne7jipwr7 2.5s ease-in-out infinite;
}

[b-yne7jipwr7] .ql-pricing-pending-tag i {
    font-size: 0.85em;
}

@keyframes ql-pricing-pulse-b-yne7jipwr7 {
    0%, 100% { box-shadow: 0 0 0 0 rgba(252, 211, 77, 0); }
    50% { box-shadow: 0 0 0 4px rgba(252, 211, 77, 0.25); }
}
/* /Modules/Quote/Components/QuoteLines/QuoteLineUpholstery.razor.rz.scp.css */
.ql-upholstery-grid[b-ejh57nbcuf] {
    width: 100%;
}

.ql-upholstery-actions[b-ejh57nbcuf] {
    justify-content: flex-start;
}

.ql-upholstery-table[b-ejh57nbcuf] {
    font-size: 0.85rem;
}

.ql-upholstery-table thead th[b-ejh57nbcuf] {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #6c757d;
    font-weight: 600;
    white-space: nowrap;
}

.ql-upholstery-table tbody td[b-ejh57nbcuf] {
    vertical-align: middle;
}

.ql-upholstery-table tfoot th[b-ejh57nbcuf] {
    font-weight: 700;
    background-color: #f8f9fa;
}

.ql-upholstery-grid .btn-icon-only[b-ejh57nbcuf] {
    border: none;
    background: transparent;
    padding: 0.15rem;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    color: #495057;
    transition: color 0.2s ease;
}

.ql-upholstery-grid .btn-icon-only:hover[b-ejh57nbcuf] {
    color: #0d6efd;
}

.ql-upholstery-grid .btn-icon-only.text-danger:hover[b-ejh57nbcuf] {
    color: #dc3545;
}

.ql-material-modal[b-ejh57nbcuf] {
    max-width: 800px;
}

.ql-edit-line-modal[b-ejh57nbcuf] {
    max-width: 560px;
}

[b-ejh57nbcuf] .material-search-results {
    height: 400px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

[b-ejh57nbcuf] .material-search-results table {
    margin-bottom: 0 !important;
    font-size: 0.925rem;
}

[b-ejh57nbcuf] .material-search-results thead {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8f9fa;
}
/* /Modules/Quote/Components/QuoteLines/StockItemSelector.razor.rz.scp.css */
.stock-selector-overlay[b-7zeolm1gt2] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.stock-selector-overlay.visible[b-7zeolm1gt2] {
    opacity: 1;
    visibility: visible;
}

.stock-selector-content[b-7zeolm1gt2] {
    background: white;
    border-radius: 12px;
    width: 80%;
    max-width: 1100px;
    height: 80vh;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ── Grid column template (shared between header + rows) ── */
.stock-grid-cols[b-7zeolm1gt2] {
    grid-template-columns: 0.9fr 1.6fr 1.3fr 1fr 0.85fr 0.35fr;
}

/* ── Header ── */
.stock-selector-header[b-7zeolm1gt2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    flex-shrink: 0;
}

.stock-selector-title[b-7zeolm1gt2] {
    margin: 0;
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--matrix-text-primary, #1F2023);
}

.stock-selector-header .btn-close[b-7zeolm1gt2] {
    opacity: 1;
    background-color: transparent;
    border: 2px solid var(--matrix-text-primary, #1F2023);
    padding: 0;
    margin: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.stock-selector-header .btn-close:hover[b-7zeolm1gt2] {
    background-color: var(--matrix-text-primary, #1F2023);
    border-color: var(--matrix-text-primary, #1F2023);
    transform: scale(1.1);
}

.stock-selector-header .btn-close[b-7zeolm1gt2]::before {
    content: "\00d7";
    font-size: 1.5rem;
    line-height: 1;
    color: var(--matrix-text-primary, #1F2023);
    font-weight: 700;
    transition: color 0.2s ease;
}

.stock-selector-header .btn-close:hover[b-7zeolm1gt2]::before {
    color: #FFFFFF;
}

/* ── Filters ── */
.stock-selector-filters[b-7zeolm1gt2] {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-primary, #FFFFFF);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.stock-filters-row[b-7zeolm1gt2] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
}

.stock-filter-item[b-7zeolm1gt2] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.stock-filter-label[b-7zeolm1gt2] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6B7280);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.stock-filter-item :deep .form-label[b-7zeolm1gt2] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6B7280);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.2rem;
}

.stock-filter-search[b-7zeolm1gt2] {
    flex: 1;
}

/* ── Body ── */
.stock-selector-body[b-7zeolm1gt2] {
    flex: 1;
    overflow: hidden;
    padding: 0;
    background-color: var(--matrix-bg-primary, #FFFFFF);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.stock-empty-state[b-7zeolm1gt2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 3rem 1.5rem;
    text-align: center;
}

.stock-loading[b-7zeolm1gt2] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    flex: 1;
}

/* ── Grid header (sticky column titles) ── */
.stock-grid-header[b-7zeolm1gt2] {
    display: grid;
    grid-template-columns: 0.9fr 1.6fr 1.3fr 1fr 0.85fr 0.35fr;
    gap: 0.75rem;
    padding: 0.5rem 1.5rem 0.5rem calc(1.5rem + 3px);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 2px solid var(--matrix-border-light, #D1D5DB);
    flex-shrink: 0;
}

.stock-grid-th[b-7zeolm1gt2] {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--matrix-text-secondary, #4B5563);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-grid-th-right[b-7zeolm1gt2] {
    text-align: right;
}

/* ── Result count bar ── */
.stock-grid-count[b-7zeolm1gt2] {
    padding: 0.3rem 1.5rem;
    background-color: #ffffff;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #9CA3AF);
}

/* ── Items list (scrollable) ── */
.stock-items-list[b-7zeolm1gt2] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* ── Data row ── */
.stock-row[b-7zeolm1gt2] {
    display: grid;
    grid-template-columns: 0.9fr 1.6fr 1.3fr 1fr 0.85fr 0.35fr;
    gap: 0.75rem;
    align-items: start;
    padding: 0.5rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    border-left: 3px solid transparent;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
    background-color: #ffffff;
}

.stock-row:last-child[b-7zeolm1gt2] {
    border-bottom: none;
}

.stock-row:hover[b-7zeolm1gt2] {
    background-color: var(--matrix-bg-secondary, #f8f9fa);
}

.stock-row.is-selected[b-7zeolm1gt2] {
    background-color: rgba(0, 123, 255, 0.08);
    border-left-color: var(--matrix-primary, #0d6efd);
}

/* ── Column cells ── */
.stock-col[b-7zeolm1gt2] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    overflow: hidden;
}

.stock-col-primary[b-7zeolm1gt2] {
    font-size: 0.835rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-col-secondary[b-7zeolm1gt2] {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #4B5563);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-col-article > .stock-col-secondary[b-7zeolm1gt2] {
    font-size: 0.8rem;
    color: var(--matrix-text-primary, #1F2023);
}

.stock-col-article-header[b-7zeolm1gt2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.stock-col-article-header > .stock-col-primary[b-7zeolm1gt2] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.stock-tag[b-7zeolm1gt2] {
    display: inline-flex;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.4;
}

.stock-tag-kit[b-7zeolm1gt2] {
    color: #9333EA;
    background-color: #F3E8FF;
}

.stock-tag-assembly[b-7zeolm1gt2] {
    color: #D97706;
    background-color: #FEF3C7;
}

/* Col 2 – Dimension tag */
.stock-col-dimension[b-7zeolm1gt2] {
    font-weight: 600;
    color: #3730A3;
    background-color: #EEF2FF;
    padding: 0.05rem 0.4rem;
    border-radius: 3px;
    width: fit-content;
    font-size: 0.7rem;
}

/* Col 3 – Matière */
.stock-col-upholstery[b-7zeolm1gt2] {
    justify-content: center;
}

.stock-col-upholstery-text[b-7zeolm1gt2] {
    font-size: 0.8rem;
    color: #047857;
    font-weight: 500;
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    line-height: 1.4;
    white-space: pre-line;
}

.stock-col-upholstery-text i[b-7zeolm1gt2] {
    font-size: 0.7rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

/* Col 4 – Codes */
.stock-col-code-mono[b-7zeolm1gt2] {
    font-size: 0.835rem;
    letter-spacing: 0.01em;
}

.stock-col-serial[b-7zeolm1gt2] {
    font-size: 0.75rem;
    color: #3730A3;
    font-weight: 600;
}

/* Col 5 – Localisation */
.stock-col-location[b-7zeolm1gt2] {
    justify-content: center;
}

.stock-col-location-value[b-7zeolm1gt2] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.835rem;
    font-weight: 600;
    color: #78350F;
    white-space: nowrap;
}

.stock-col-location-value i[b-7zeolm1gt2] {
    font-size: 0.7rem;
}

/* Col 6 – Quantité */
.stock-col-qty[b-7zeolm1gt2] {
    justify-content: center;
    align-items: flex-end;
}

.stock-col-qty-value[b-7zeolm1gt2] {
    font-size: 0.85rem;
    font-weight: 700;
    color: #065F46;
    text-align: right;
}

/* ── Footer ── */
.stock-selector-footer[b-7zeolm1gt2] {
    display: flex;
    justify-content: flex-end;
    padding: 0.75rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #E0E0E0);
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    flex-shrink: 0;
}

.stock-selector-footer .mf-form-actions[b-7zeolm1gt2] {
    display: flex;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .stock-selector-content[b-7zeolm1gt2] {
        width: 92%;
        max-width: none;
    }

    .stock-grid-header[b-7zeolm1gt2],
    .stock-row[b-7zeolm1gt2] {
        grid-template-columns: 0.9fr 1.4fr 1.2fr 1fr 0.85fr 0.4fr;
        gap: 0.5rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 768px) {
    .stock-selector-content[b-7zeolm1gt2] {
        width: 98%;
        height: 95vh;
    }

    .stock-filters-row[b-7zeolm1gt2] {
        flex-direction: column;
        gap: 0.5rem;
    }

    .stock-filter-item[b-7zeolm1gt2] {
        min-width: unset;
    }

    .stock-grid-header[b-7zeolm1gt2] {
        display: none;
    }

    .stock-row[b-7zeolm1gt2] {
        grid-template-columns: 1fr 1fr;
        gap: 0.35rem 0.75rem;
        padding: 0.75rem 1rem;
    }

    .stock-col-upholstery[b-7zeolm1gt2],
    .stock-col-location[b-7zeolm1gt2] {
        grid-column: span 2;
    }
}
/* /Modules/Quote/Components/QuotePayment/QuotePayments.razor.rz.scp.css */
.quote-payments[b-vi675drf40] {
    padding: 1.5rem;
    max-width: 1200px;
}

.quote-payments-content[b-vi675drf40] {
    max-width: 50%;
    min-width: 400px;
}

/* Toolbar (bouton ajouter aligné à gauche) */
.quote-payments-toolbar[b-vi675drf40] {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0.75rem;
}

/* Formulaire d'ajout */
.quote-payments-add-form[b-vi675drf40] {
    margin-bottom: 1rem;
}

.quote-payments-form-grid[b-vi675drf40] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 0.75rem;
}

/* Tableau — même style que ql-upholstery-table */
.quote-payments-table[b-vi675drf40] {
    font-size: 0.85rem;
}

    .quote-payments-table thead th[b-vi675drf40] {
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #6c757d;
        letter-spacing: 0.03em;
        white-space: nowrap;
    }

    .quote-payments-table tbody td[b-vi675drf40] {
        vertical-align: middle;
    }

    .quote-payments-table tfoot th[b-vi675drf40] {
        font-weight: 700;
        background-color: #f8f9fa;
    }

    .quote-payments-table .col-actions[b-vi675drf40] {
        width: 2.5rem;
    }

/* Bouton icône — même style que QuoteLines */
.quote-payments-content .btn-icon-only[b-vi675drf40] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .quote-payments-content .btn-icon-only:hover[b-vi675drf40] {
        color: #0d6efd;
    }

    .quote-payments-content .btn-icon-only.text-danger:hover[b-vi675drf40] {
        color: #dc3545;
    }

    .quote-payments-content .btn-icon-only:focus[b-vi675drf40] {
        outline: none;
        box-shadow: none;
    }

/* État vide */
.quote-payments-empty[b-vi675drf40] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #aaa;
    font-size: 0.9rem;
}

    .quote-payments-empty i[b-vi675drf40] {
        font-size: 2rem;
    }

/* Responsive */
@media (max-width: 992px) {
    .quote-payments-content[b-vi675drf40] {
        max-width: 75%;
    }

    .quote-payments-form-grid[b-vi675drf40] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .quote-payments[b-vi675drf40] {
        padding: 1rem;
    }

    .quote-payments-content[b-vi675drf40] {
        max-width: 100%;
        min-width: 0;
    }

    .quote-payments-form-grid[b-vi675drf40] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/Quote/Pages/QuoteDetail.razor.rz.scp.css */
.quote-detail-options[b-t665zw6yuw] {
    position: relative;
}

    .quote-detail-options .dropdown-menu[b-t665zw6yuw] {
        position: absolute;
        right: 0;
        z-index: 1050;
    }

.matrix-dropdown-backdrop[b-t665zw6yuw] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
}
/* /Modules/SalesDocument/Components/SalesDocumentDetailLayout.razor.rz.scp.css */
.matrix-no-scrollable-content[b-9lthcf1b6o] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.matrix-no-scrollable-content .matrix-content[b-9lthcf1b6o] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

[b-9lthcf1b6o] .matrix-header-actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
/* /Modules/SalesManagement/Pages/GenerateBilling.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════
   Modale facturation : dimensionnement responsive + scroll
   ══════════════════════════════════════════════════════ */

.billing-modal-dialog[b-1fqng86sip] {
    position: relative;
    width: 90vw;
    max-width: 1000px;
    max-height: 90vh;
    margin: 1.5rem auto;
    pointer-events: none;
    display: flex;
    flex-direction: column;
}

.billing-modal-content[b-1fqng86sip] {
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    pointer-events: auto;
    overflow: hidden;
}

/* ── Header fixe ── */

.billing-modal-fixed-header[b-1fqng86sip] {
    flex: 0 0 auto;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.billing-info-bar[b-1fqng86sip] {
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    padding: 0.75rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

.billing-info-grid[b-1fqng86sip] {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.billing-info-item[b-1fqng86sip] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.billing-info-label[b-1fqng86sip] {
    font-size: 0.75rem;
    color: var(--matrix-text-muted, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.billing-info-value[b-1fqng86sip] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
}

.billing-toolbar[b-1fqng86sip] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.5rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: #fff;
    flex-wrap: wrap;
}

.billing-warning-message[b-1fqng86sip] {
    font-size: 0.85rem;
    color: #dc3545;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

/* ── Corps scrollable ── */

.billing-modal-body[b-1fqng86sip] {
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
    padding: 0;
}

/* ── Lignes (réutilisation du format ql-line-grid) ── */

[b-1fqng86sip] .resource-items-list {
    padding: 0;
}

[b-1fqng86sip] .resource-item {
    cursor: default;
    padding: 0.5rem 1rem;
    border-left: 2px solid transparent;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

[b-1fqng86sip] .resource-item:nth-child(even) {
    background-color: #f1f3f5;
}

[b-1fqng86sip] .resource-item:hover {
    background-color: #e8ecf0;
}

[b-1fqng86sip] .resource-item.is-selected {
    background-color: #eef5ff;
    border-left-color: #0d6efd;
}

[b-1fqng86sip] .resource-item .node-line {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

[b-1fqng86sip] .resource-item .node-text {
    flex-grow: 1;
}

[b-1fqng86sip] .resource-item .node-label {
    font-weight: 600;
    font-size: 0.95rem;
}

[b-1fqng86sip] .resource-item .node-sub {
    font-size: 0.8rem;
}

[b-1fqng86sip] .ql-line-grid {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
}

[b-1fqng86sip] .ql-line-info {
    flex: 1 1 0;
    min-width: 0;
}

[b-1fqng86sip] .ql-line-title-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

[b-1fqng86sip] .ql-line-col {
    flex: 0 0 auto;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

[b-1fqng86sip] .ql-pricing-cell {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    white-space: nowrap;
    font-size: 0.85rem;
}

[b-1fqng86sip] .ql-pricing-label {
    font-size: 0.7rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    text-transform: lowercase;
}

[b-1fqng86sip] .ql-pricing-value {
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    text-align: right;
}

[b-1fqng86sip] .ql-pricing-cell-total .ql-pricing-value {
    font-weight: 700;
}

[b-1fqng86sip] .ql-serial-location {
    font-style: italic;
}

[b-1fqng86sip] .ql-variant-type-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
}

[b-1fqng86sip] .ql-variant-type-offcollection {
    background-color: #fff3cd;
    color: #856404;
}

/* ── Colonnes quantités (spécifique facturation) ── */

[b-1fqng86sip] .billing-qty-cols {
    flex: 0 0 auto;
    min-width: 6.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

[b-1fqng86sip] .billing-input-col {
    flex: 0 0 auto;
    min-width: 5.5rem;
    max-width: 6.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    align-items: stretch;
}

[b-1fqng86sip] .cn-numeric-input {
    width: 100%;
    padding: 0.2rem 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: right;
    border: 1px solid #ced4da;
    border-radius: 4px;
    color: var(--matrix-text-primary, #1F2023);
    background-color: #fff;
    transition: border-color 0.15s ease;
    line-height: 1.4;
}

[b-1fqng86sip] .cn-numeric-input:focus {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.15);
}

[b-1fqng86sip] .cn-numeric-input.cn-qty-invalid {
    border-color: #dc3545;
    background-color: #fff5f5;
}

/* ══════════════════════════════════════════════════════
   Responsive
   ══════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .billing-modal-dialog[b-1fqng86sip] {
        width: 95vw;
        max-height: 92vh;
        margin: 0.75rem auto;
    }

    .billing-modal-content[b-1fqng86sip] {
        max-height: 92vh;
    }

    .billing-info-grid[b-1fqng86sip] {
        gap: 1rem;
    }

    .billing-toolbar[b-1fqng86sip] {
        flex-direction: column;
        align-items: stretch;
    }

    [b-1fqng86sip] .ql-line-col {
        min-width: 6rem;
    }
}

@media (max-width: 576px) {
    .billing-modal-dialog[b-1fqng86sip] {
        width: 100vw;
        max-height: 95vh;
        margin: 0.25rem auto;
        border-radius: 8px;
    }

    .billing-modal-content[b-1fqng86sip] {
        max-height: 95vh;
    }

    .billing-info-bar[b-1fqng86sip],
    .billing-toolbar[b-1fqng86sip] {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    [b-1fqng86sip] .resource-item {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}
/* /Modules/SalesManagement/Pages/SalesManagement.razor.rz.scp.css */
.sales-management-card-link[b-9idez9igdg] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.sales-management-card-link:hover[b-9idez9igdg] {
    color: inherit;
    text-decoration: none;
}

.sales-management-card-link .matrix-dashboard-card[b-9idez9igdg] {
    cursor: pointer;
}

.sales-management-card-link:hover .matrix-dashboard-card[b-9idez9igdg] {
    transform: translateY(-4px);
}
/* /Modules/SettingsManagement/Components/Settings/CompanySettings.razor.rz.scp.css */
.company-record-nav[b-eb27focblv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--matrix-border-color, #dee2e6);
}

.company-record-indicator[b-eb27focblv] {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    padding: 0 0.75rem;
    white-space: nowrap;
}

.company-settings-layout[b-eb27focblv] {
    display: flex;
    gap: 1.5rem;
}

.company-settings-nav[b-eb27focblv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 200px;
    flex-shrink: 0;
}

.company-settings-nav-item[b-eb27focblv] {
    display: flex;
    align-items: center;
    padding: 0.6rem 0.875rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: none;
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--matrix-text-color, #212529);
    text-align: left;
    transition: all 0.15s ease;
}

.company-settings-nav-item:hover[b-eb27focblv] {
    background-color: var(--matrix-hover-bg, #f8f9fa);
    border-color: var(--matrix-border-color, #dee2e6);
}

.company-settings-nav-item.active[b-eb27focblv] {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
    border-color: var(--bs-primary, #0d6efd);
    color: var(--bs-primary, #0d6efd);
    font-weight: 500;
}

.company-settings-form[b-eb27focblv] {
    flex: 1;
    min-width: 0;
}

.company-section-header[b-eb27focblv] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--matrix-text-color, #212529);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--matrix-border-color, #dee2e6);
}

.company-bilingual-group[b-eb27focblv] {
    margin-bottom: 1.5rem;
}

.company-bilingual-title[b-eb27focblv] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--matrix-text-muted, #6c757d);
    margin-bottom: 0.75rem;
}

.company-bilingual-row[b-eb27focblv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

@media (max-width: 768px) {
    .company-settings-layout[b-eb27focblv] {
        flex-direction: column;
    }

    .company-settings-nav[b-eb27focblv] {
        flex-direction: row;
        flex-wrap: wrap;
        min-width: auto;
    }

    .company-bilingual-row[b-eb27focblv] {
        grid-template-columns: 1fr;
    }
}
/* /Modules/SettingsManagement/Pages/SettingsManagement.razor.rz.scp.css */
.settings-mgmt-header[b-mwuopq1j2f] {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-color, #dee2e6);
    background-color: var(--matrix-card-bg, #fff);
}

.settings-mgmt-title[b-mwuopq1j2f] {
    margin: 0;
    font-weight: 600;
    color: var(--matrix-text-color, #212529);
    display: flex;
    align-items: center;
}

.settings-mgmt-subtitle[b-mwuopq1j2f] {
    margin: 0.25rem 0 0 0;
    color: var(--matrix-text-muted, #6c757d);
    font-size: 0.875rem;
}

.settings-mgmt-body[b-mwuopq1j2f] {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    min-height: calc(100vh - 200px);
}

.settings-mgmt-left[b-mwuopq1j2f] {
    width: 280px;
    min-width: 280px;
    flex-shrink: 0;
}

.settings-mgmt-listbox[b-mwuopq1j2f] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background-color: var(--matrix-card-bg, #fff);
    border: 1px solid var(--matrix-border-color, #dee2e6);
    border-radius: 6px;
    padding: 0.75rem;
}

.settings-mgmt-listbox-item[b-mwuopq1j2f] {
    display: flex;
    align-items: flex-start;
    padding: 0.875rem 1rem;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
    background-color: var(--matrix-card-bg, #fff);
}

.settings-mgmt-listbox-item:hover[b-mwuopq1j2f] {
    background-color: var(--matrix-hover-bg, #f8f9fa);
    border-color: var(--matrix-border-color, #dee2e6);
}

.settings-mgmt-listbox-item.active[b-mwuopq1j2f] {
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
    border-color: var(--bs-primary, #0d6efd);
}

.settings-mgmt-listbox-item i[b-mwuopq1j2f] {
    font-size: 1.1rem;
    margin-top: 0.125rem;
    color: var(--matrix-text-muted, #6c757d);
}

.settings-mgmt-listbox-item.active i[b-mwuopq1j2f] {
    color: var(--bs-primary, #0d6efd);
}

.settings-mgmt-listbox-item-content[b-mwuopq1j2f] {
    flex: 1;
}

.settings-mgmt-listbox-item-label[b-mwuopq1j2f] {
    font-weight: 500;
    color: var(--matrix-text-color, #212529);
    margin-bottom: 0.125rem;
}

.settings-mgmt-listbox-item.active .settings-mgmt-listbox-item-label[b-mwuopq1j2f] {
    color: var(--bs-primary, #0d6efd);
}

.settings-mgmt-listbox-item-description[b-mwuopq1j2f] {
    font-size: 0.8rem;
    color: var(--matrix-text-muted, #6c757d);
    line-height: 1.3;
}

.settings-mgmt-right[b-mwuopq1j2f] {
    flex: 1;
    background-color: var(--matrix-card-bg, #fff);
    border: 1px solid var(--matrix-border-color, #dee2e6);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
}

.settings-mgmt-content[b-mwuopq1j2f] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.settings-mgmt-content-header[b-mwuopq1j2f] {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--matrix-border-color, #dee2e6);
    background-color: var(--matrix-bg-subtle, #f8f9fa);
    border-radius: 6px 6px 0 0;
}

.settings-mgmt-content-title[b-mwuopq1j2f] {
    margin: 0;
    font-weight: 600;
    color: var(--matrix-text-color, #212529);
    display: flex;
    align-items: center;
}

.settings-mgmt-content-description[b-mwuopq1j2f] {
    margin: 0.375rem 0 0 0;
    color: var(--matrix-text-muted, #6c757d);
    font-size: 0.875rem;
}

.settings-mgmt-content-body[b-mwuopq1j2f] {
    padding: 1.5rem;
    flex: 1;
}

.settings-mgmt-empty[b-mwuopq1j2f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 400px;
    text-align: center;
}
/* /Modules/StockManagement/Components/ProductItemDetailPopup.razor.rz.scp.css */
[b-1i9s4a3grv] .product-item-detail-popup {
    width: 95vw;
    max-width: 1200px;
    height: 90vh;
    display: flex;
    flex-direction: column;
}

[b-1i9s4a3grv] .product-item-detail-popup .matrix-modal-header {
    flex-shrink: 0;
}

[b-1i9s4a3grv] .product-item-detail-popup .matrix-modal-body {
    overflow: hidden;
    flex: 1;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Bouton fermer (X) bien contrasté */
.popup-close-btn[b-1i9s4a3grv] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #212529;
    font-size: 1.15rem;
    cursor: pointer;
    transition: background-color 0.15s;
    flex-shrink: 0;
}

.popup-close-btn:hover[b-1i9s4a3grv] {
    background-color: rgba(0, 0, 0, 0.08);
}

.popup-close-btn:active[b-1i9s4a3grv] {
    background-color: rgba(0, 0, 0, 0.15);
}

/* Barre d'info (N° série, article, catégorie, fournisseur) */
.popup-info-bar[b-1i9s4a3grv] {
    flex-shrink: 0;
    background: var(--matrix-bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--matrix-border-light, #e9ecef);
    padding: 0.75rem 1.25rem;
}

.popup-info-grid[b-1i9s4a3grv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.popup-info-item[b-1i9s4a3grv] {
    display: flex;
    flex-direction: column;
}

.popup-info-label[b-1i9s4a3grv] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--matrix-text-secondary, #6c757d);
    font-weight: 600;
}

.popup-info-value[b-1i9s4a3grv] {
    font-size: 0.9rem;
    color: var(--matrix-text-primary, #212529);
}

.popup-info-sub[b-1i9s4a3grv] {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #6c757d);
}

/* Onglets : utilise les classes matrix-tabs globales, on ne surcharge que l'overflow */
[b-1i9s4a3grv] .product-item-detail-popup .matrix-tabs {
    flex-shrink: 0;
}

[b-1i9s4a3grv] .product-item-detail-popup .matrix-tabs-list {
    flex-wrap: nowrap;
    overflow-x: auto;
}

/* Zone de contenu de l'onglet : remplit l'espace restant avec scroll */
.popup-tab-content[b-1i9s4a3grv] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1.25rem;
}

@media (max-width: 768px) {
    [b-1i9s4a3grv] .product-item-detail-popup {
        width: 100vw;
        max-width: 100vw;
        height: 100vh;
        border-radius: 0;
    }

    .popup-info-grid[b-1i9s4a3grv] {
        grid-template-columns: repeat(2, 1fr);
    }

    [b-1i9s4a3grv] .product-item-detail-popup .matrix-tabs-list .nav-link {
        font-size: 0.75rem;
        padding: 0.4rem 0.5rem;
    }
}
/* /Modules/StockManagement/Pages/JournalAdvancedFiltersModal.razor.rz.scp.css */
[b-gayspycye4] .matrix-form-group {
    margin-bottom: 0.75rem;
}

[b-gayspycye4] .matrix-form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #333);
    margin-bottom: 0.25rem;
}
/* /Modules/StockManagement/Pages/StockAdvancedFiltersModal.razor.rz.scp.css */
[b-ch8zes62e6] .stock-filters-modal {
    max-width: 800px;
    overflow-y: visible;
    overflow-x: visible;
}

[b-ch8zes62e6] .stock-filters-modal .matrix-modal-body {
    overflow: visible;
}

[b-ch8zes62e6] .stock-filters-modal .matrix-form-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
/* /Modules/StockManagement/Pages/StockAllocation.razor.rz.scp.css */
.allocation-card[b-u6tsg0377g] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    transition: box-shadow 0.2s ease;
}

.allocation-card:hover[b-u6tsg0377g] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.allocation-card-body[b-u6tsg0377g] {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.allocation-card-header[b-u6tsg0377g] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.allocation-card-doc[b-u6tsg0377g] {
    font-weight: 700;
    font-size: 0.85rem;
    color: #e65100;
}

.allocation-card-date[b-u6tsg0377g] {
    font-size: 0.8rem;
    color: #78909c;
}

.allocation-card-serial[b-u6tsg0377g] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1565c0;
}

.allocation-card-article[b-u6tsg0377g] {
    font-size: 0.85rem;
    line-height: 1.3;
}

.allocation-card-code[b-u6tsg0377g] {
    font-weight: 600;
    color: #333;
}

.allocation-card-name[b-u6tsg0377g] {
    color: #555;
}

.allocation-card-variant[b-u6tsg0377g] {
    font-size: 0.8rem;
    color: #666;
}

.allocation-card-qty[b-u6tsg0377g] {
    font-size: 0.85rem;
    color: #e65100;
    font-weight: 600;
}

.allocation-card-location[b-u6tsg0377g] {
    font-size: 0.8rem;
    color: #555;
    font-weight: 600;
}

.allocation-card-delivery[b-u6tsg0377g] {
    font-size: 0.8rem;
    color: #1b5e20;
}

.allocation-card-customer[b-u6tsg0377g] {
    font-size: 0.8rem;
    color: #555;
}

.allocation-card-salesperson[b-u6tsg0377g] {
    font-size: 0.8rem;
    color: #555;
    font-style: italic;
}
/* /Modules/StockManagement/Pages/StockAssemblies.razor.rz.scp.css */
/* Colonnes quantité mises en avant (Inventaire, Actuelle, Disponible) */
[b-retxau6usu] .qty-highlight {
    background-color: rgba(66, 133, 244, 0.08);
}

[b-retxau6usu] thead .qty-highlight {
    background-color: rgba(100, 160, 255, 0.20);
}

/* ===== Vue carte (stock cards) ===== */

[b-retxau6usu] .stock-card {
    border: 1px solid var(--matrix-border-light, #e9ecef);
    border-radius: 0.5rem;
    transition: box-shadow 0.2s, transform 0.15s;
    overflow: hidden;
}

[b-retxau6usu] .stock-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

[b-retxau6usu] .stock-card-body {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem;
}

[b-retxau6usu] .stock-card-image {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 0.375rem;
    overflow: hidden;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #eee;
}

[b-retxau6usu] .stock-card-img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

[b-retxau6usu] .stock-card-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

[b-retxau6usu] .stock-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-retxau6usu] .stock-card-serial {
    font-weight: 700;
    color: var(--bs-primary, #0d6efd);
    cursor: pointer;
    font-size: 0.95rem;
}

[b-retxau6usu] .stock-card-serial:hover {
    text-decoration: underline;
}

[b-retxau6usu] .stock-card-badge-assembly {
    display: inline-block;
    background: #fff3e0;
    color: #e65100;
    font-size: 0.65em;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 4px;
}

[b-retxau6usu] .stock-card-title {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--matrix-text-primary, #212529);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-retxau6usu] .stock-card-code {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-retxau6usu] .stock-card-category {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-retxau6usu] .stock-card-variant {
    font-size: 0.8rem;
    color: var(--matrix-text-primary, #333);
}

[b-retxau6usu] .stock-card-dimension {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #888);
}

[b-retxau6usu] .stock-card-upholstery {
    font-size: 0.7rem;
    color: var(--matrix-text-secondary, #888);
    line-height: 1.3;
}

[b-retxau6usu] .stock-card-location {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #333);
    margin-top: auto;
    padding-top: 0.25rem;
}

[b-retxau6usu] .stock-card-footer {
    border-top: 1px solid var(--matrix-border-light, #e9ecef);
    padding: 0.5rem 0.75rem;
    background: var(--matrix-bg-secondary, #f8f9fa);
}

[b-retxau6usu] .stock-qty-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.25rem 0.5rem;
}

[b-retxau6usu] .stock-qty-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.2rem 0;
    border-radius: 0.25rem;
}

[b-retxau6usu] .stock-qty-highlight {
    background: rgba(66, 133, 244, 0.08);
}

[b-retxau6usu] .stock-qty-label {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--matrix-text-secondary, #6c757d);
    font-weight: 600;
}

[b-retxau6usu] .stock-qty-value {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--matrix-text-primary, #212529);
}

/* Responsive */
@media (max-width: 576px) {
    [b-retxau6usu] .stock-card-body {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    [b-retxau6usu] .stock-card-content {
        align-items: center;
    }

    [b-retxau6usu] .stock-card-header {
        justify-content: center;
    }

    [b-retxau6usu] .stock-qty-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* /Modules/StockManagement/Pages/StockByLocation.razor.rz.scp.css */
/* ── Mise en page globale ── */

.sbl-content[b-q72c7od9xs] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 60px);
}

.sbl-container[b-q72c7od9xs] {
    display: flex;
    flex: 1;
    overflow: hidden;
    gap: 0;
}

/* ── Panneaux ── */

.sbl-locations-pane[b-q72c7od9xs] {
    width: 270px;
    min-width: 220px;
    flex-shrink: 0;
    border-right: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8f9fa;
}

.sbl-articles-pane[b-q72c7od9xs] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
}

.sbl-pane-card[b-q72c7od9xs] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* ── En-têtes de panneaux ── */

.sbl-pane-header[b-q72c7od9xs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
    flex-shrink: 0;
    gap: 8px;
    flex-wrap: wrap;
}

/* Header de la colonne Articles : éléments groupés à gauche, pas étirés */
.sbl-articles-header[b-q72c7od9xs] {
    justify-content: flex-start;
}

.sbl-pane-title[b-q72c7od9xs] {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 0.9rem;
    color: #37474f;
    gap: 2px;
}

.sbl-selected-badge[b-q72c7od9xs] {
    background: #1976d2;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 10px;
    margin-left: 6px;
}

.sbl-count-badge[b-q72c7od9xs] {
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 10px;
    margin-left: 6px;
}

.sbl-pane-actions[b-q72c7od9xs] {
    display: flex;
    gap: 4px;
}

.sbl-action-btn[b-q72c7od9xs] {
    background: none;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 3px 8px;
    cursor: pointer;
    color: #546e7a;
    font-size: 0.8rem;
    transition: all 0.15s;
    line-height: 1.4;
}

.sbl-action-btn:hover[b-q72c7od9xs] {
    background: #e3f2fd;
    border-color: #1976d2;
    color: #1976d2;
}

.sbl-action-btn.active[b-q72c7od9xs] {
    background: #1976d2;
    border-color: #1565c0;
    color: #fff;
}

.sbl-category-filter[b-q72c7od9xs] {
    flex: 1;
    min-width: 180px;
    max-width: 320px;
}

/* ── Corps des panneaux ── */

.sbl-pane-body[b-q72c7od9xs] {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

/* ── Tags de localisation ── */

.sbl-location-tag[b-q72c7od9xs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    margin: 3px 8px;
    border-radius: 7px;
    cursor: pointer;
    border: 1.5px solid #e0e0e0;
    background: #fff;
    transition: all 0.15s ease;
    user-select: none;
    font-size: 0.85rem;
}

.sbl-location-tag:hover[b-q72c7od9xs] {
    border-color: #1976d2;
    background: #e3f2fd;
    color: #1565c0;
}

.sbl-location-tag.selected[b-q72c7od9xs] {
    border-color: #1976d2;
    background: #1976d2;
    color: #fff;
}

.sbl-location-name[b-q72c7od9xs] {
    font-weight: 500;
}

.sbl-location-qty[b-q72c7od9xs] {
    font-size: 0.72rem;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    padding: 1px 8px;
    min-width: 28px;
    text-align: center;
}

.sbl-location-tag.selected .sbl-location-qty[b-q72c7od9xs] {
    background: rgba(255, 255, 255, 0.25);
}

/* ── Groupes de catégories ── */

.sbl-category-group[b-q72c7od9xs] {
    margin-bottom: 16px;
    padding: 0 12px;
}

.sbl-category-header[b-q72c7od9xs] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 2px solid #e3f2fd;
}

.sbl-category-name[b-q72c7od9xs] {
    font-weight: 700;
    font-size: 0.82rem;
    color: #1565c0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sbl-category-count[b-q72c7od9xs] {
    font-size: 0.72rem;
    color: #90a4ae;
}

/* ── Grille d'articles ── */

.sbl-articles-grid[b-q72c7od9xs] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* ── Tag article ── */

.sbl-article-tag[b-q72c7od9xs] {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 0;
    border-radius: 7px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    min-width: 160px;
    max-width: 260px;
    transition: box-shadow 0.15s;
    cursor: default;
    overflow: hidden;
}

.sbl-article-tag:hover[b-q72c7od9xs] {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-color: #bdbdbd;
}

/* Photo à gauche du tag */
.sbl-article-photo[b-q72c7od9xs] {
    flex-shrink: 0;
    width: 82px;
    height: 82px;
    overflow: hidden;
    border-right: 1px solid #e0e0e0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sbl-article-photo img[b-q72c7od9xs] {
    width: 82px;
    height: 82px;
    object-fit: cover;
    display: block;
}

/* Zone texte (toujours présente) */
.sbl-article-content[b-q72c7od9xs] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px 8px 10px;
    padding-right: 44px;
    flex: 1;
    min-width: 0;
}

.sbl-article-qty-badge[b-q72c7od9xs] {
    position: absolute;
    top: 7px;
    right: 8px;
    background: #1976d2;
    color: #fff;
    font-weight: 700;
    font-size: 0.72rem;
    padding: 2px 7px;
    border-radius: 10px;
    min-width: 28px;
    text-align: center;
    line-height: 1.4;
}

.sbl-article-name[b-q72c7od9xs] {
    font-weight: 600;
    font-size: 0.82rem;
    color: #212121;
    line-height: 1.3;
}

.sbl-article-variant[b-q72c7od9xs] {
    font-size: 0.76rem;
    color: #546e7a;
    line-height: 1.3;
}

.sbl-article-finish[b-q72c7od9xs] {
    font-size: 0.72rem;
    color: #78909c;
    line-height: 1.3;
}

/* Bloc matières tapisserie */
.sbl-article-upholstery[b-q72c7od9xs] {
    margin-top: 3px;
    padding-top: 3px;
    border-top: 1px dashed #e0e0e0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.sbl-article-upholstery div[b-q72c7od9xs] {
    font-size: 0.68rem;
    color: #8d6e63;
    line-height: 1.4;
}

.sbl-article-location[b-q72c7od9xs] {
    font-size: 0.68rem;
    color: #b0bec5;
    margin-top: 2px;
}

/* ── États vides / chargement ── */

.sbl-empty-state[b-q72c7od9xs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 200px;
    padding: 40px 20px;
    text-align: center;
}

.sbl-empty-icon[b-q72c7od9xs] {
    font-size: 3rem;
    color: #cfd8dc;
    margin-bottom: 16px;
}

.sbl-empty-text[b-q72c7od9xs] {
    font-size: 1rem;
    font-weight: 600;
    color: #78909c;
    margin-bottom: 6px;
}

.sbl-empty-sub[b-q72c7od9xs] {
    font-size: 0.82rem;
    color: #b0bec5;
    max-width: 300px;
}

.sbl-empty-hint[b-q72c7od9xs] {
    font-size: 0.82rem;
    color: #b0bec5;
    text-align: center;
    padding: 20px 12px;
}

.sbl-loading[b-q72c7od9xs] {
    display: flex;
    align-items: center;
    padding: 20px 16px;
    font-size: 0.85rem;
    color: #78909c;
}

/* ── Bouton numéro de série ─────────────────────────────────────── */
.sbl-serial-btn[b-q72c7od9xs] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-top: 5px;
    padding: 2px 8px;
    font-size: 0.75rem;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-weight: 500;
    color: #1565c0;
    background: #e3f2fd;
    border: 1px solid #90caf9;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .sbl-serial-btn:hover[b-q72c7od9xs] {
        background: #1565c0;
        color: #fff;
        border-color: #1565c0;
    }
/* /Modules/StockManagement/Pages/StockConsultation.razor.rz.scp.css */
/* Colonnes quantité mises en avant (Inventaire, Actuelle, Disponible) */
[b-o8v0clx01g] .qty-highlight {
    background-color: rgba(66, 133, 244, 0.08);
}

[b-o8v0clx01g] thead .qty-highlight {
    background-color: rgba(100, 160, 255, 0.20);
}

/* ===== Vue carte (stock cards) ===== */

[b-o8v0clx01g] .stock-card {
    border: 1px solid var(--matrix-border-light, #e9ecef);
    border-radius: 0.5rem;
    transition: box-shadow 0.2s, transform 0.15s;
    overflow: hidden;
}

[b-o8v0clx01g] .stock-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

[b-o8v0clx01g] .stock-card-body {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem;
}

[b-o8v0clx01g] .stock-card-image {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 0.375rem;
    overflow: hidden;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #eee;
}

[b-o8v0clx01g] .stock-card-img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

[b-o8v0clx01g] .stock-card-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

[b-o8v0clx01g] .stock-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-o8v0clx01g] .stock-card-serial {
    font-weight: 700;
    color: var(--bs-primary, #0d6efd);
    cursor: pointer;
    font-size: 0.95rem;
}

[b-o8v0clx01g] .stock-card-serial:hover {
    text-decoration: underline;
}

[b-o8v0clx01g] .stock-card-badge-kit {
    display: inline-block;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 0.65em;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 4px;
}

[b-o8v0clx01g] .stock-card-title {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--matrix-text-primary, #212529);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-o8v0clx01g] .stock-card-code {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-o8v0clx01g] .stock-card-category {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-o8v0clx01g] .stock-card-variant {
    font-size: 0.8rem;
    color: var(--matrix-text-primary, #333);
}

[b-o8v0clx01g] .stock-card-dimension {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #888);
}

[b-o8v0clx01g] .stock-card-upholstery {
    font-size: 0.7rem;
    color: var(--matrix-text-secondary, #888);
    line-height: 1.3;
}

[b-o8v0clx01g] .stock-card-location {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #333);
    margin-top: auto;
    padding-top: 0.25rem;
}

[b-o8v0clx01g] .stock-card-footer {
    border-top: 1px solid var(--matrix-border-light, #e9ecef);
    padding: 0.5rem 0.75rem;
    background: var(--matrix-bg-secondary, #f8f9fa);
}

[b-o8v0clx01g] .stock-qty-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.25rem 0.5rem;
}

[b-o8v0clx01g] .stock-qty-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.2rem 0;
    border-radius: 0.25rem;
}

[b-o8v0clx01g] .stock-qty-highlight {
    background: rgba(66, 133, 244, 0.08);
}

[b-o8v0clx01g] .stock-qty-label {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--matrix-text-secondary, #6c757d);
    font-weight: 600;
}

[b-o8v0clx01g] .stock-qty-value {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--matrix-text-primary, #212529);
}

/* Responsive */
@media (max-width: 576px) {
    [b-o8v0clx01g] .stock-card-body {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    [b-o8v0clx01g] .stock-card-content {
        align-items: center;
    }

    [b-o8v0clx01g] .stock-card-header {
        justify-content: center;
    }

    [b-o8v0clx01g] .stock-qty-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* /Modules/StockManagement/Pages/StockJournal.razor.rz.scp.css */
/* ===== Vue carte (journal cards) ===== */

[b-e0j5688m75] .journal-card {
    border: 1px solid var(--matrix-border-light, #e9ecef);
    border-radius: 0.5rem;
    transition: box-shadow 0.2s, transform 0.15s;
    overflow: hidden;
}

[b-e0j5688m75] .journal-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

[b-e0j5688m75] .journal-card-body {
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

[b-e0j5688m75] .journal-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

[b-e0j5688m75] .journal-card-uid {
    font-weight: 700;
    color: var(--bs-primary, #0d6efd);
    font-size: 0.9rem;
}

[b-e0j5688m75] .journal-card-date {
    font-size: 0.8rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-e0j5688m75] .journal-card-serial {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--matrix-text-primary, #212529);
}

[b-e0j5688m75] .journal-card-article {
    font-size: 0.8rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-e0j5688m75] .journal-card-code {
    font-weight: 600;
}

[b-e0j5688m75] .journal-card-variant {
    color: var(--matrix-text-secondary, #888);
}

[b-e0j5688m75] .journal-card-qty {
    font-size: 1.1rem;
    font-weight: 700;
}

[b-e0j5688m75] .journal-card-qty.qty-positive {
    color: #2e7d32;
}

[b-e0j5688m75] .journal-card-qty.qty-negative {
    color: #c62828;
}

[b-e0j5688m75] .journal-card-type {
    margin-top: 0.15rem;
}

[b-e0j5688m75] .journal-card-badge {
    display: inline-block;
    background: #e3f2fd;
    color: #1565c0;
    font-size: 0.7em;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
}

[b-e0j5688m75] .journal-card-location {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #333);
}

[b-e0j5688m75] .journal-card-doc {
    font-size: 0.8rem;
    color: var(--matrix-text-secondary, #6c757d);
}

[b-e0j5688m75] .journal-card-customer {
    font-size: 0.8rem;
    color: var(--matrix-text-primary, #333);
}

[b-e0j5688m75] .journal-card-comment {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #888);
    font-style: italic;
}

[b-e0j5688m75] .journal-card-user {
    font-size: 0.75rem;
    color: var(--matrix-text-secondary, #aaa);
    margin-top: auto;
    padding-top: 0.25rem;
}

/* Responsive */
@media (max-width: 576px) {
    [b-e0j5688m75] .journal-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.15rem;
    }
}
/* /Modules/StockManagement/Pages/StockManagement.razor.rz.scp.css */
.stock-management-card-link[b-f369tmmckj] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.stock-management-card-link:hover[b-f369tmmckj] {
    color: inherit;
    text-decoration: none;
}

.stock-management-card-link .matrix-dashboard-card[b-f369tmmckj] {
    cursor: pointer;
}

.stock-management-card-link:hover .matrix-dashboard-card[b-f369tmmckj] {
    transform: translateY(-4px);
}
/* /Modules/StockManagement/Pages/StockReservation.razor.rz.scp.css */
.reservation-card[b-tz5tgmihwh] {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    transition: box-shadow 0.2s ease;
}

.reservation-card:hover[b-tz5tgmihwh] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.reservation-card-body[b-tz5tgmihwh] {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.reservation-card-header[b-tz5tgmihwh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.reservation-card-uid[b-tz5tgmihwh] {
    font-weight: 700;
    font-size: 0.85rem;
    color: #546e7a;
}

.reservation-card-date[b-tz5tgmihwh] {
    font-size: 0.8rem;
    color: #78909c;
}

.reservation-card-serial[b-tz5tgmihwh] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1565c0;
}

.reservation-card-article[b-tz5tgmihwh] {
    font-size: 0.85rem;
    line-height: 1.3;
}

.reservation-card-code[b-tz5tgmihwh] {
    font-weight: 600;
    color: #333;
}

.reservation-card-name[b-tz5tgmihwh] {
    color: #555;
}

.reservation-card-variant[b-tz5tgmihwh] {
    font-size: 0.8rem;
    color: #666;
}

.reservation-card-qty[b-tz5tgmihwh] {
    font-size: 0.85rem;
    color: #2e7d32;
}

.reservation-card-location[b-tz5tgmihwh] {
    font-size: 0.8rem;
    color: #555;
    font-weight: 600;
}

.reservation-card-doc[b-tz5tgmihwh] {
    font-size: 0.8rem;
    color: #555;
}

.reservation-card-customer[b-tz5tgmihwh] {
    font-size: 0.8rem;
    color: #555;
}

.reservation-card-actions[b-tz5tgmihwh] {
    display: flex;
    justify-content: flex-end;
}

.reservation-confirm-modal[b-tz5tgmihwh] {
    max-width: 480px;
}
/* /Modules/SupplierPriceRequest/Components/OffCollectionRequestModal/OffCollectionRequestModal.razor.rz.scp.css */
/* =============================================================
   Modale "Demande de prix hors collection"
   - Largeur élargie (1100px) pour héberger les Telerik / Matrix.
   - Hauteur capée à 90vh : header + footer "sticky", body scrollable.
   - Style cohérent avec les autres modales du projet (.mf-modal-*).
   ============================================================= */

[b-h1m8m4pvuq] .spr-modal-dialog {
    max-width: 1100px;
    width: 95%;
    /* Annule le margin du dialog pour un centrage flex parfait */
    margin: 0 auto;
}

/* Le mf-modal-content est la "carte" : on borne sa hauteur et on cache
   l'overflow externe (les coins arrondis restent propres) ; le scroll se
   produit à l'intérieur du body. */
[b-h1m8m4pvuq] .spr-modal-content {
    max-height: calc(100vh - 3.5rem);
    overflow: hidden;
}

[b-h1m8m4pvuq] .spr-modal-header {
    flex-shrink: 0;
}

[b-h1m8m4pvuq] .spr-modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    /* Marge supplémentaire pour le scrollbar et confort de lecture */
    padding-right: 1.25rem;
}

[b-h1m8m4pvuq] .spr-modal-footer {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

[b-h1m8m4pvuq] .spr-modal-step-pill {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: var(--bs-primary-bg-subtle, #cfe2ff);
    color: var(--bs-primary, #0d6efd);
    margin-left: 0.5rem;
}

/* ─────────────── Étape 1 : choix article ou variante ─────────────── */

[b-h1m8m4pvuq] .spr-step-intro {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

[b-h1m8m4pvuq] .spr-source-mode-toggle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

[b-h1m8m4pvuq] .spr-source-mode-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 1rem;
    background: #fff;
    border: 1px solid var(--matrix-border-light, #dee2e6);
    border-radius: 8px;
    text-align: left;
    transition: all 0.15s ease;
    cursor: pointer;
    color: inherit;
}

[b-h1m8m4pvuq] .spr-source-mode-btn:hover {
    border-color: var(--bs-primary, #0d6efd);
    background: var(--bs-primary-bg-subtle, #f5f9ff);
}

[b-h1m8m4pvuq] .spr-source-mode-btn.is-active {
    border-color: var(--bs-primary, #0d6efd);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.15);
    background: var(--bs-primary-bg-subtle, #eaf2ff);
}

[b-h1m8m4pvuq] .spr-source-mode-btn i {
    font-size: 1.25rem;
    color: var(--bs-primary, #0d6efd);
}

[b-h1m8m4pvuq] .spr-source-mode-label {
    font-weight: 600;
    color: var(--matrix-text-primary, #212529);
}

[b-h1m8m4pvuq] .spr-source-summary {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: #e9f7ee;
    border: 1px solid #b6e0c4;
}

[b-h1m8m4pvuq] .spr-source-summary-text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

[b-h1m8m4pvuq] .spr-source-summary-title {
    font-weight: 600;
    color: #1f5b35;
}

[b-h1m8m4pvuq] .spr-source-empty {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border: 1px dashed var(--matrix-border-light, #dee2e6);
    background: #fafafa;
}

/* ─────────────── Étape 2 : formulaire ─────────────── */

[b-h1m8m4pvuq] .spr-step-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

[b-h1m8m4pvuq] .spr-source-recap {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    background: var(--bs-primary-bg-subtle, #eaf2ff);
    border-left: 3px solid var(--bs-primary, #0d6efd);
    margin-bottom: 1rem;
}

[b-h1m8m4pvuq] .spr-source-recap-text {
    display: flex;
    flex-direction: column;
}

/* Grille 12 colonnes : pleine largeur ou tiers de ligne. */
[b-h1m8m4pvuq] .spr-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

[b-h1m8m4pvuq] .spr-field-full {
    grid-column: span 12;
}

[b-h1m8m4pvuq] .spr-field-third {
    grid-column: span 4;
}

/* Petit texte d'aide aligné sous les champs Matrix. */
[b-h1m8m4pvuq] .spr-field-help {
    display: block;
    margin-top: 0.25rem;
}

/* ─────────────── Responsive ─────────────── */

@media (max-width: 992px) {
    [b-h1m8m4pvuq] .spr-field-third {
        grid-column: span 6;
    }
}

@media (max-width: 576px) {
    [b-h1m8m4pvuq] .spr-source-mode-toggle {
        grid-template-columns: 1fr;
    }

    [b-h1m8m4pvuq] .spr-field-third {
        grid-column: span 12;
    }

    [b-h1m8m4pvuq] .spr-modal-content {
        max-height: 100vh;
    }
}
/* /Modules/SupplierPriceRequest/Components/RecordVendorReplyDialog/RecordVendorReplyDialog.razor.rz.scp.css */
[b-rl04vjbyzq] .rvr-modal-dialog {
    max-width: 720px;
    width: 95%;
    margin: 0 auto;
}

[b-rl04vjbyzq] .rvr-modal-content {
    max-height: calc(100vh - 3.5rem);
    overflow: hidden;
}

[b-rl04vjbyzq] .rvr-modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
}

[b-rl04vjbyzq] .rvr-modal-footer {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

[b-rl04vjbyzq] .rvr-vendor-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: var(--bs-primary-bg-subtle, #eaf2ff);
    border-left: 3px solid var(--bs-primary, #0d6efd);
    margin-bottom: 1rem;
}

[b-rl04vjbyzq] .rvr-vendor-card i {
    font-size: 1.5rem;
    color: var(--bs-primary, #0d6efd);
}

[b-rl04vjbyzq] .rvr-vendor-card-text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

[b-rl04vjbyzq] .rvr-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

[b-rl04vjbyzq] .rvr-field-half {
    grid-column: span 1;
}

[b-rl04vjbyzq] .rvr-field-full {
    grid-column: 1 / -1;
}

@media (max-width: 576px) {
    [b-rl04vjbyzq] .rvr-form-grid {
        grid-template-columns: 1fr;
    }
}

/* ───── Pièce jointe (Lot L3.3) ───── */

[b-rl04vjbyzq] .rvr-attachment-label {
    display: block;
    margin-bottom: 0.4rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    font-size: 0.875rem;
}

[b-rl04vjbyzq] .rvr-attachment-dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 1rem;
    border: 2px dashed var(--bs-primary, #0d6efd);
    background: var(--bs-primary-bg-subtle, #eaf2ff);
    border-radius: 8px;
    color: var(--bs-primary, #0d6efd);
    cursor: pointer;
    transition: background 0.15s ease;
    text-align: center;
}

[b-rl04vjbyzq] .rvr-attachment-dropzone:hover {
    background: #d8e7ff;
}

[b-rl04vjbyzq] .rvr-attachment-dropzone.disabled {
    cursor: not-allowed;
    opacity: 0.7;
}

[b-rl04vjbyzq] .rvr-attachment-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.85rem;
    border-radius: 8px;
    background: #fff7e6;
    border: 1px solid #ffe6b8;
}

[b-rl04vjbyzq] .rvr-attachment-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

[b-rl04vjbyzq] .rvr-attachment-info strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Modules/SupplierPriceRequest/Components/SupplierPriceRequestPanel/SupplierPriceRequestPanel.razor.rz.scp.css */
/* =============================================================
   Panneau de suivi de la demande de prix fournisseur (Lot L3.2)
   Affiché sur QuoteLineDetail pour les lignes hors collection.
   ============================================================= */

[b-uaz2q7v7kg] .spr-panel {
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 12px;
    background: #fff;
    padding: 1rem 1.25rem;
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

[b-uaz2q7v7kg] .spr-panel-loading,
[b-uaz2q7v7kg] .spr-panel-empty {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    color: var(--matrix-text-secondary, #6B7280);
    font-style: italic;
}

[b-uaz2q7v7kg] .spr-panel-empty {
    background: #fafafa;
    border: 1px dashed var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
}

/* ───── Header ───── */

[b-uaz2q7v7kg] .spr-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}

[b-uaz2q7v7kg] .spr-panel-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
}

[b-uaz2q7v7kg] .spr-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Pastille de statut colorée par couleur seedée */
[b-uaz2q7v7kg] .spr-status-badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    border: 1px solid;
}

/* ───── Récap article-source ───── */

[b-uaz2q7v7kg] .spr-panel-summary {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

[b-uaz2q7v7kg] .spr-panel-summary-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

[b-uaz2q7v7kg] .spr-panel-summary-spec {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

[b-uaz2q7v7kg] .spr-spec-text {
    margin: 0;
    padding: 0.5rem 0.75rem;
    background: #fff;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.875rem;
    white-space: pre-wrap;
}

[b-uaz2q7v7kg] .spr-panel-meta {
    color: var(--matrix-text-secondary, #6B7280);
    font-size: 0.875rem;
    gap: 1rem;
}

[b-uaz2q7v7kg] .spr-panel-meta i {
    margin-right: 0.25rem;
}

/* Ajout de fournisseurs sur une demande déjà créée */
[b-uaz2q7v7kg] .spr-panel-add-vendors {
    padding: 0.65rem 1rem;
    background: #f9fafb;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
}

[b-uaz2q7v7kg] .spr-panel-add-vendors-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.45rem;
    font-size: 0.9rem;
}

[b-uaz2q7v7kg] .spr-panel-add-vendors-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-end;
}

[b-uaz2q7v7kg] .spr-panel-add-vendors-row .Matrix_FormField {
    flex: 1;
    min-width: 220px;
}

/* ───── Tableau fournisseurs ───── */

[b-uaz2q7v7kg] .spr-vendors-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

[b-uaz2q7v7kg] .spr-vendors-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-uaz2q7v7kg] .spr-vendors-table-wrapper {
    overflow-x: auto;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    background: #fff;
}

[b-uaz2q7v7kg] .spr-vendors-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

[b-uaz2q7v7kg] .spr-vendors-table thead th {
    background: #f3f4f6;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    padding: 0.5rem 0.75rem;
    text-align: left;
    font-weight: 600;
    color: var(--matrix-text-primary, #1F2023);
    white-space: nowrap;
}

[b-uaz2q7v7kg] .spr-vendors-table tbody td {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f1f1f1;
    vertical-align: middle;
}

[b-uaz2q7v7kg] .spr-vendors-table tbody tr:last-child td {
    border-bottom: none;
}

[b-uaz2q7v7kg] .spr-row-selected {
    background: #ecfdf5;
}

[b-uaz2q7v7kg] .spr-vendor-cell {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

[b-uaz2q7v7kg] .spr-vendor-status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 1px solid transparent;
}

[b-uaz2q7v7kg] .spr-status-pending {
    background: #f3f4f6;
    color: #6B7280;
    border-color: #d1d5db;
}

[b-uaz2q7v7kg] .spr-status-sent {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #93c5fd;
}

[b-uaz2q7v7kg] .spr-status-replied {
    background: #fef3c7;
    color: #92400e;
    border-color: #fcd34d;
}

[b-uaz2q7v7kg] .spr-status-awarded {
    background: #d1fae5;
    color: #065f46;
    border-color: #6ee7b7;
}

[b-uaz2q7v7kg] .spr-vendor-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
    align-items: center;
}

/* Boutons toujours visibles : les variantes outline sur fonds alternés du tableau passaient quasi invisibles hors survol. */
[b-uaz2q7v7kg] .spr-vendor-actions .btn {
    opacity: 1;
}

[b-uaz2q7v7kg] .spr-vendors-table tbody td:last-child {
    white-space: nowrap;
}

/* ───── Historique ───── */

[b-uaz2q7v7kg] .spr-history-card {
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    background: #fff;
}

[b-uaz2q7v7kg] .spr-history-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.6rem 0.85rem;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    color: inherit;
}

[b-uaz2q7v7kg] .spr-history-toggle:hover {
    background: #f9fafb;
}

[b-uaz2q7v7kg] .spr-history-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--matrix-border-light, #E0E0E0);
}

[b-uaz2q7v7kg] .spr-history-item {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

[b-uaz2q7v7kg] .spr-history-item:last-child {
    border-bottom: none;
}

[b-uaz2q7v7kg] .spr-history-item-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

[b-uaz2q7v7kg] .spr-history-item-date {
    margin-left: auto;
    font-size: 0.75rem;
}

[b-uaz2q7v7kg] .spr-history-item-body {
    font-size: 0.875rem;
    color: var(--matrix-text-primary, #1F2023);
    white-space: pre-wrap;
}

[b-uaz2q7v7kg] .spr-history-attachment-btn {
    align-self: flex-start;
    margin-top: 0.25rem;
}
/* /Modules/SupplierPriceRequest/Pages/SupplierPriceRequests.razor.rz.scp.css */
/* =============================================================
   Page de suivi des demandes de prix fournisseurs (Lots L5 + L6)
   /supplier-price-requests
   ============================================================= */

/* ───── KPI Cards ───── */

[b-nop5f9g6kb] .spr-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
}

[b-nop5f9g6kb] .spr-kpi-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-left: 4px solid #6B7280;
}

[b-nop5f9g6kb] .spr-kpi-icon {
    font-size: 1.5rem;
    color: #6B7280;
}

[b-nop5f9g6kb] .spr-kpi-text strong {
    display: block;
    font-size: 1.5rem;
    line-height: 1.1;
}

[b-nop5f9g6kb] .spr-kpi-text small {
    color: var(--matrix-text-secondary, #6B7280);
    font-size: 0.75rem;
}

[b-nop5f9g6kb] .spr-kpi-open    { border-left-color: #3B82F6; }
[b-nop5f9g6kb] .spr-kpi-open .spr-kpi-icon { color: #3B82F6; }
[b-nop5f9g6kb] .spr-kpi-sent    { border-left-color: #2563EB; }
[b-nop5f9g6kb] .spr-kpi-sent .spr-kpi-icon { color: #2563EB; }
[b-nop5f9g6kb] .spr-kpi-partial { border-left-color: #F59E0B; }
[b-nop5f9g6kb] .spr-kpi-partial .spr-kpi-icon { color: #F59E0B; }
[b-nop5f9g6kb] .spr-kpi-received { border-left-color: #EAB308; }
[b-nop5f9g6kb] .spr-kpi-received .spr-kpi-icon { color: #EAB308; }
[b-nop5f9g6kb] .spr-kpi-awarded  { border-left-color: #16A34A; }
[b-nop5f9g6kb] .spr-kpi-awarded .spr-kpi-icon { color: #16A34A; }
[b-nop5f9g6kb] .spr-kpi-overdue  { border-left-color: #DC2626; background: #fef2f2; }
[b-nop5f9g6kb] .spr-kpi-overdue .spr-kpi-icon { color: #DC2626; }

/* ───── Filters bar ───── */

[b-nop5f9g6kb] .spr-filters-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #fff;
    border-radius: 10px;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
}

[b-nop5f9g6kb] .spr-filters-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

[b-nop5f9g6kb] .spr-search-wrap {
    position: relative;
    display: flex;
    align-items: flex-start;
    min-width: 280px;
}

[b-nop5f9g6kb] .spr-search-wrap .spr-search-icon {
    position: absolute;
    top: 50%;
    left: 0.65rem;
    transform: translateY(-50%);
    color: #6B7280;
    pointer-events: none;
    z-index: 2;
}

/* Champ recherche Telerik dans Matrix_FormField — réserve à gauche pour l’icône */
[b-nop5f9g6kb] .spr-search-wrap .Matrix_FormField {
    flex: 1;
    margin-bottom: 0 !important;
}

[b-nop5f9g6kb] .spr-search-wrap .spr-matrix-search.k-input-inner,
[b-nop5f9g6kb] .spr-search-wrap input.k-input-inner {
    padding-left: 2.25rem !important;
}

[b-nop5f9g6kb] .spr-status-dd {
    width: auto;
    min-width: 200px;
}

[b-nop5f9g6kb] .spr-status-dd .Matrix_FormField {
    margin-bottom: 0 !important;
}

[b-nop5f9g6kb] .spr-overdue-matrix .Matrix_FormField {
    margin-bottom: 0 !important;
}

[b-nop5f9g6kb] .spr-view-toggle-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

/* Liste inactive : contour bleu comme les autres pages (btn-outline-primary) */
[b-nop5f9g6kb] .spr-view-toggle-off.btn-outline-secondary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

[b-nop5f9g6kb] .spr-actions-cell {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}

/* ───── Vue LISTE ───── */

[b-nop5f9g6kb] .spr-list-card {
    background: #fff;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 10px;
    overflow: hidden;
}

[b-nop5f9g6kb] .spr-list-table-wrap {
    overflow-x: auto;
}

[b-nop5f9g6kb] .spr-list-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

[b-nop5f9g6kb] .spr-list-table thead th {
    background: #f9fafb;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    padding: 0.6rem 0.85rem;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}

[b-nop5f9g6kb] .spr-list-table tbody td {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

[b-nop5f9g6kb] .spr-list-table tbody tr:hover {
    background: #f9fafb;
}

[b-nop5f9g6kb] .spr-row-overdue {
    background: #fff7f7 !important;
}

[b-nop5f9g6kb] .spr-status-badge {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    border: 1px solid;
    white-space: nowrap;
}

[b-nop5f9g6kb] .spr-cell-subject strong {
    display: block;
}

[b-nop5f9g6kb] .spr-cell-item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    line-height: 1.2;
}

[b-nop5f9g6kb] .spr-link {
    color: var(--bs-primary, #0d6efd);
    text-decoration: none;
    font-weight: 600;
}

[b-nop5f9g6kb] .spr-link:hover {
    text-decoration: underline;
}

[b-nop5f9g6kb] .spr-vendors-count {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #f3f4f6;
    color: #374151;
    font-weight: 600;
    font-size: 0.75rem;
}

[b-nop5f9g6kb] .spr-vendors-count.awarded {
    background: #dcfce7;
    color: #166534;
}

[b-nop5f9g6kb] .spr-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 1rem;
    color: #6B7280;
    background: #fff;
    border: 1px dashed var(--matrix-border-light, #E0E0E0);
    border-radius: 10px;
}

/* ───── Vue KANBAN (Lot L6) ───── */

[b-nop5f9g6kb] .spr-kanban-board {
    display: grid;
    grid-template-columns: repeat(6, minmax(220px, 1fr));
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

@media (max-width: 1280px) {
    [b-nop5f9g6kb] .spr-kanban-board {
        grid-template-columns: repeat(3, minmax(220px, 1fr));
    }
}

@media (max-width: 768px) {
    [b-nop5f9g6kb] .spr-kanban-board {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

[b-nop5f9g6kb] .spr-kanban-col {
    display: flex;
    flex-direction: column;
    background: #f9fafb;
    border-radius: 10px;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    min-height: 120px;
}

[b-nop5f9g6kb] .spr-kanban-col-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    background: #fff;
    border-radius: 10px 10px 0 0;
}

[b-nop5f9g6kb] .spr-kanban-count {
    background: #e5e7eb;
    color: #374151;
    font-weight: 600;
    font-size: 0.7rem;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
}

[b-nop5f9g6kb] .spr-kanban-col-body {
    flex: 1 1 auto;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

[b-nop5f9g6kb] .spr-kanban-empty {
    color: #9ca3af;
    font-size: 0.85rem;
    text-align: center;
    padding: 0.5rem;
}

[b-nop5f9g6kb] .spr-kanban-card {
    display: block;
    background: #fff;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 8px;
    padding: 0.6rem;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

[b-nop5f9g6kb] .spr-kanban-card:hover {
    border-color: var(--bs-primary, #0d6efd);
    transform: translateY(-1px);
}

[b-nop5f9g6kb] .spr-kanban-card.is-overdue {
    border-left: 3px solid #DC2626;
}

[b-nop5f9g6kb] .spr-kanban-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}

[b-nop5f9g6kb] .spr-kanban-card-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

[b-nop5f9g6kb] .spr-kanban-card-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #4b5563;
}

[b-nop5f9g6kb] .spr-kanban-card-row i {
    color: #9ca3af;
    width: 14px;
}
/* /Modules/SupplierPriceRequest/Pages/SupplierPriceRequestSettings.razor.rz.scp.css */
/* =============================================================
   Page de paramétrage des statuts (Lot L7)
   /supplier-price-request-settings
   ============================================================= */

[b-9bs3w13cjs] .sprs-card {
    background: #fff;
    border: 1px solid var(--matrix-border-light, #E0E0E0);
    border-radius: 10px;
    overflow: hidden;
}

[b-9bs3w13cjs] .sprs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

[b-9bs3w13cjs] .sprs-table thead th {
    background: #f9fafb;
    border-bottom: 1px solid var(--matrix-border-light, #E0E0E0);
    padding: 0.6rem 0.85rem;
    text-align: left;
    font-weight: 600;
}

[b-9bs3w13cjs] .sprs-col-order {
    width: 80px;
}

[b-9bs3w13cjs] .sprs-table tbody td {
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

[b-9bs3w13cjs] .sprs-table tbody tr.is-inactive {
    opacity: 0.55;
    background: #f8fafc;
}

[b-9bs3w13cjs] .sprs-color-chip {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid #d1d5db;
    vertical-align: middle;
}

[b-9bs3w13cjs] .sprs-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

[b-9bs3w13cjs] .sprs-field {
    grid-column: span 1;
}

[b-9bs3w13cjs] .sprs-field-checkrow {
    grid-column: span 2;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #e5e7eb;
}

[b-9bs3w13cjs] .sprs-check {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    cursor: pointer;
}

@media (max-width: 768px) {
    [b-9bs3w13cjs] .sprs-form-grid {
        grid-template-columns: 1fr;
    }

    [b-9bs3w13cjs] .sprs-field-checkrow {
        grid-column: span 1;
    }
}
/* /Modules/Ticketing/Components/TicketClosedList/TicketClosedList.razor.rz.scp.css */
.ticket-closed-wrapper[b-u1x4pgwem7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    min-height: 0;
}

.ticket-closed-container[b-u1x4pgwem7] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 0;
}

.ticket-closed-list-pane[b-u1x4pgwem7],
.ticket-closed-detail-pane[b-u1x4pgwem7],
.ticket-closed-panels-pane[b-u1x4pgwem7] {
    flex: 1 1 0;
    min-width: 0;
}

.ticket-closed-list-pane[b-u1x4pgwem7] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ticket-closed-card[b-u1x4pgwem7] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ticket-closed-card .phasing-card-body.scroll-auto[b-u1x4pgwem7] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
}

.ticket-closed-card-header[b-u1x4pgwem7] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0 1rem;
    height: 72px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.search-container[b-u1x4pgwem7] {
    display: flex;
    align-items: center;
    min-width: 150px;
    max-width: 180px;
}

.search-input[b-u1x4pgwem7] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex: 1;
    width: 100%;
}

.search-input:focus[b-u1x4pgwem7] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-u1x4pgwem7] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.4rem 0.6rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 1rem;
}

.search-btn:hover:not(:disabled)[b-u1x4pgwem7] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-u1x4pgwem7] {
    cursor: not-allowed;
    opacity: 0.6;
}

.status-filter-container[b-u1x4pgwem7] {
    display: flex;
    align-items: center;
}

.status-filter-select[b-u1x4pgwem7] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.4rem 0.6rem;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 100px;
    max-width: 130px;
}

.status-filter-select:focus[b-u1x4pgwem7] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-u1x4pgwem7] {
    background: #FCF1E6;
    color: #0073ea;
}

.btn-icon-only[b-u1x4pgwem7] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-u1x4pgwem7] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-u1x4pgwem7] {
    outline: none;
    box-shadow: none;
}

.ticket-items-list[b-u1x4pgwem7] {
    padding: 0;
}

.ticket-item[b-u1x4pgwem7] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.ticket-item:hover[b-u1x4pgwem7] {
    background-color: #e9ecef;
}

.ticket-item.is-selected[b-u1x4pgwem7] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.ticket-line[b-u1x4pgwem7] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.ticket-content[b-u1x4pgwem7] {
    flex-grow: 1;
    min-width: 0;
}

.ticket-header[b-u1x4pgwem7] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ticket-id[b-u1x4pgwem7] {
    font-weight: 700;
    color: #212529;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.ticket-subject[b-u1x4pgwem7] {
    font-weight: 600;
    color: #1a1d21;
    font-size: 0.95rem;
    flex: 1 1 0%;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.ticket-meta[b-u1x4pgwem7] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.ticket-date[b-u1x4pgwem7] {
    display: inline-flex;
    align-items: center;
}

.ticket-badges[b-u1x4pgwem7] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-end;
    min-width: 80px;
}

.ticket-badges .badge[b-u1x4pgwem7] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

.ticket-closed-detail-pane[b-u1x4pgwem7] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ticket-closed-panels-pane[b-u1x4pgwem7] {
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ticket-closed-panels-inner[b-u1x4pgwem7] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.ticket-closed-comments-section[b-u1x4pgwem7],
.ticket-closed-attachments-section[b-u1x4pgwem7],
.ticket-closed-history-section[b-u1x4pgwem7] {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ticket-closed-comments-section[b-u1x4pgwem7],
.ticket-closed-attachments-section[b-u1x4pgwem7] {
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-comment-panel,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .ticket-attachment-panel,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-history-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .card-header.ticket-panel-header,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .card-header.ticket-panel-header,
.ticket-closed-history-section[b-u1x4pgwem7]  .card-header.ticket-panel-header {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-panel-header h6,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .ticket-panel-header h6,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-panel-header h6 {
    font-size: 0.95rem;
    font-weight: 600;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .phasing-card-body,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .phasing-card-body,
.ticket-closed-history-section[b-u1x4pgwem7]  .phasing-card-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    max-height: 45vh;
    padding: 0;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-panel-empty,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .ticket-panel-empty,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    padding: 2rem 1rem;
    text-align: center;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-panel-empty .bi,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .ticket-panel-empty .bi,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-panel-empty .bi {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-panel-empty p,
.ticket-closed-attachments-section[b-u1x4pgwem7]  .ticket-panel-empty p,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-panel-empty p {
    font-size: 1.1rem;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-comment-list,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-history-list {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-comment-item,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-history-item {
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #eee;
    font-size: 0.875rem;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-comment-header,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ticket-closed-comments-section[b-u1x4pgwem7]  .ticket-comment-desc,
.ticket-closed-history-section[b-u1x4pgwem7]  .ticket-history-changes {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.ticket-empty-state[b-u1x4pgwem7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.ticket-empty-state p[b-u1x4pgwem7] {
    font-size: 1.1rem;
}

.ticket-empty-state .bi[b-u1x4pgwem7] {
    font-size: 3rem;
}

@media (max-width: 1200px) {
    .ticket-closed-container[b-u1x4pgwem7] {
        flex-wrap: wrap;
    }

    .ticket-closed-list-pane[b-u1x4pgwem7],
    .ticket-closed-detail-pane[b-u1x4pgwem7],
    .ticket-closed-panels-pane[b-u1x4pgwem7] {
        flex: 1 1 33.33%;
        min-width: 200px;
    }
}

@media (max-width: 992px) {
    .ticket-closed-container[b-u1x4pgwem7] {
        flex-direction: column;
    }

    .ticket-closed-list-pane[b-u1x4pgwem7] {
        width: 100%;
        min-width: 100%;
        flex: 0 0 auto;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .ticket-closed-detail-pane[b-u1x4pgwem7] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }

    .ticket-closed-panels-pane[b-u1x4pgwem7] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }
}
/* /Modules/Ticketing/Components/TicketList/TicketAttachmentPanel.razor.rz.scp.css */
.ticket-attachment-panel[b-rvw3rzgj6h] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.ticket-attachment-panel .phasing-card-body.scroll-auto[b-rvw3rzgj6h] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
}

.ticket-attachment-list[b-rvw3rzgj6h] {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.ticket-attachment-item[b-rvw3rzgj6h] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #eee;
    font-size: 0.85rem;
    transition: background-color 0.15s ease;
}

.ticket-attachment-item:hover[b-rvw3rzgj6h] {
    background-color: #f8f9fa;
}

.ticket-attachment-icon[b-rvw3rzgj6h] {
    flex-shrink: 0;
    font-size: 1.25rem;
    width: 28px;
    text-align: center;
}

.ticket-attachment-info[b-rvw3rzgj6h] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.ticket-attachment-name[b-rvw3rzgj6h] {
    font-weight: 600;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ticket-attachment-meta[b-rvw3rzgj6h] {
    font-size: 0.75rem;
    color: #6c757d;
}

.ticket-attachment-actions[b-rvw3rzgj6h] {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}

.ticket-attachment-actions .btn-icon-only[b-rvw3rzgj6h] {
    border: none;
    background: transparent;
    padding: 0.2rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    color: #495057;
    transition: color 0.15s ease;
    text-decoration: none;
}

.ticket-attachment-actions .btn-icon-only:hover[b-rvw3rzgj6h] {
    color: #0d6efd;
}

.ticket-attachment-actions .btn-icon-only.text-danger:hover[b-rvw3rzgj6h] {
    color: #dc3545;
}

[b-rvw3rzgj6h] .ticket-upload-btn {
    display: inline-flex;
}

[b-rvw3rzgj6h] .ticket-upload-btn .k-upload {
    border: none;
    background: transparent;
    padding: 0;
}

[b-rvw3rzgj6h] .ticket-upload-btn .k-upload .k-dropzone {
    padding: 0;
    border: none;
    background: transparent;
}

[b-rvw3rzgj6h] .ticket-upload-btn .k-upload .k-upload-status,
[b-rvw3rzgj6h] .ticket-upload-btn .k-upload .k-file-list {
    display: none;
}

[b-rvw3rzgj6h] .ticket-upload-btn .k-upload-button {
    font-size: 0.8rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
}

/* Preview overlay */
.ticket-preview-overlay[b-rvw3rzgj6h] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ticket-preview-dialog[b-rvw3rzgj6h] {
    background: #fff;
    border-radius: 8px;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    min-width: 400px;
}

.ticket-preview-header[b-rvw3rzgj6h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    flex-shrink: 0;
}

.ticket-preview-title[b-rvw3rzgj6h] {
    font-weight: 600;
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80%;
}

.ticket-preview-close[b-rvw3rzgj6h] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    color: #6c757d;
    transition: color 0.15s ease;
}

.ticket-preview-close:hover[b-rvw3rzgj6h] {
    color: #212529;
}

.ticket-preview-body[b-rvw3rzgj6h] {
    flex: 1;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    min-height: 300px;
}

.ticket-preview-image[b-rvw3rzgj6h] {
    max-width: 100%;
    max-height: 75vh;
    object-fit: contain;
}

.ticket-preview-pdf[b-rvw3rzgj6h] {
    width: 70vw;
    height: 75vh;
    border: none;
}

/* Delete confirm */
.ticket-delete-dialog[b-rvw3rzgj6h] {
    background: #fff;
    border-radius: 8px;
    padding: 1.5rem;
    max-width: 400px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.ticket-delete-dialog p[b-rvw3rzgj6h] {
    margin-bottom: 1rem;
}
/* /Modules/Ticketing/Components/TicketList/TicketDetail.razor.rz.scp.css */
/* Section titre (ex. « Contact ») */
.ticket-section-title[b-t8vpkc4a4e] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--matrix-text-secondary, #6c757d);
    margin-top: 0.5rem;
    margin-bottom: 0.15rem;
    padding-bottom: 0.2rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

/* En-tête du détail */
.ticket-detail-header[b-t8vpkc4a4e] {
    padding: 0;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    margin-bottom: 0;
    margin-top: 0;
}

/* En-tête : titre + boutons */
.ticket-detail-header-inner[b-t8vpkc4a4e] {
    padding: 0.5rem 1rem;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.ticket-pane-title[b-t8vpkc4a4e] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #212529);
}

.ticket-detail-header-buttons[b-t8vpkc4a4e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

/* Présentation compacte « Label : Valeur » sur la même ligne */
.ticket-detail-readonly[b-t8vpkc4a4e]  .Matrix_FormField {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.4rem;
    margin-bottom: 0;
}

.ticket-detail-readonly[b-t8vpkc4a4e]  .Matrix_FormField .form-label {
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--matrix-text-secondary, #6c757d);
    margin-bottom: 0;
    white-space: nowrap;
    min-width: fit-content;
    flex-shrink: 0;
}

.ticket-detail-readonly[b-t8vpkc4a4e]  .Matrix_FormField .form-label::after {
    content: " :";
}

/* Valeurs en lecture seule */
.ticket-detail-value[b-t8vpkc4a4e] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--matrix-text-primary, #212529);
    min-height: auto;
    line-height: 1.4;
}

.ticket-detail-value-multiline[b-t8vpkc4a4e] {
    white-space: pre-wrap;
    word-break: break-word;
}

/* Badge de statut (identique au style de la liste des tickets) */
.ticket-detail-value .badge[b-t8vpkc4a4e] {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.6rem;
}

.ticket-detail-footer[b-t8vpkc4a4e] {
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
    margin-top: 0.25rem;
}

/* Champs sur 2 colonnes dans la grille */
.mf-form-grid .mf-field-span-2[b-t8vpkc4a4e] {
    grid-column: span 2;
}

/* Style pour les champs readonly */
[b-t8vpkc4a4e] .readonly-transparent .k-input,
[b-t8vpkc4a4e] .readonly-transparent.k-input {
    background-color: var(--kendo-input-bg, #fff) !important;
    opacity: 1 !important;
    cursor: default;
}

.readonly-field[b-t8vpkc4a4e] {
    padding: 0.375rem 0.75rem;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    border: 1px solid var(--matrix-border-light, #dee2e6);
    border-radius: 4px;
    font-size: 0.875rem;
    color: var(--matrix-text-secondary, #6c757d);
    min-height: 30px;
    display: flex;
    align-items: center;
}

/* Conteneur pour afficher deux champs côte à côte */
.days-dual-field[b-t8vpkc4a4e] {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.days-dual-field .days-field-item[b-t8vpkc4a4e] {
    flex: 1;
    min-width: 0;
}

.days-dual-field .days-field-item .form-label[b-t8vpkc4a4e] {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Ajustement pour Matrix_FormField dans les dual-fields */
.days-dual-field .days-field-item[b-t8vpkc4a4e]  .Matrix_FormField {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    height: 100%;
}

.days-dual-field .days-field-item[b-t8vpkc4a4e]  .Matrix_FormField .form-label {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Actions du formulaire */
.mf-form-actions[b-t8vpkc4a4e] {
    display: flex;
    gap: 0.5rem;
    padding: 1rem;
    padding-top: 1rem;
    margin-top: 0;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
    background-color: var(--matrix-bg-primary, #ffffff);
    flex-shrink: 0;
}

.mf-form-actions .ms-auto[b-t8vpkc4a4e] {
    margin-left: auto !important;
}

/* Grille du formulaire — espacement compact */
.mf-form-grid[b-t8vpkc4a4e] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem 0.75rem;
}

.mf-field[b-t8vpkc4a4e] {
    display: flex;
    flex-direction: column;
}

.mf-field .form-label[b-t8vpkc4a4e] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--matrix-text-secondary, #6c757d);
    margin-bottom: 0.25rem;
}

/* Section du formulaire */
.mf-form-section[b-t8vpkc4a4e] {
    padding: 0;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mf-form-section > form[b-t8vpkc4a4e] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.ticket-detail-content[b-t8vpkc4a4e] {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.75rem 1rem;
    padding-right: 0.5rem;
}

.mf-form-section .mf-form-grid[b-t8vpkc4a4e] {
    padding: 0;
}

/* Modal overlay */
.mf-modal-overlay[b-t8vpkc4a4e] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.mf-modal-dialog[b-t8vpkc4a4e] {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: auto;
}

.mf-modal-dialog-sm[b-t8vpkc4a4e] {
    max-width: 400px;
}

.mf-modal-content[b-t8vpkc4a4e] {
    display: flex;
    flex-direction: column;
}

.mf-modal-header[b-t8vpkc4a4e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.mf-modal-title[b-t8vpkc4a4e] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.mf-modal-close[b-t8vpkc4a4e] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--matrix-text-secondary, #6c757d);
    transition: color 0.2s ease;
}

.mf-modal-close:hover[b-t8vpkc4a4e] {
    color: var(--matrix-text-primary, #1F2023);
}

.mf-modal-body[b-t8vpkc4a4e] {
    padding: 1rem;
}

.mf-close-choice-label[b-t8vpkc4a4e] {
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--matrix-text-primary, #212529);
}

.mf-close-reason-section[b-t8vpkc4a4e] {
    margin-top: 1.25rem;
}

.mf-modal-footer[b-t8vpkc4a4e] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

/* Responsive */
@media (max-width: 768px) {
    .mf-form-grid[b-t8vpkc4a4e] {
        grid-template-columns: 1fr;
    }

    .days-dual-field[b-t8vpkc4a4e] {
        flex-direction: column;
    }

    .mf-form-actions[b-t8vpkc4a4e] {
        flex-wrap: wrap;
    }
}
/* /Modules/Ticketing/Components/TicketList/TicketList.razor.rz.scp.css */
/* Container principal */
.ticket-list-wrapper[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    width: 100%;
    align-self: flex-start;
    min-height: 0;
}

.ticket-list-container[b-sw95g2u8rv] {
    display: flex;
    gap: 0;
    height: 100%;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1;
    min-height: 0;
}

.ticket-list-pane[b-sw95g2u8rv],
.ticket-detail-pane[b-sw95g2u8rv],
.ticket-comments-history-pane[b-sw95g2u8rv] {
    flex: 1 1 0;
    min-width: 0;
}

.ticket-list-pane[b-sw95g2u8rv] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ticket-list-card[b-sw95g2u8rv] {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.ticket-list-card .phasing-card-body.scroll-auto[b-sw95g2u8rv] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
}

.ticket-list-card .phasing-card-body .text-center p[b-sw95g2u8rv],
.ticket-list-card .phasing-card-body .text-center .btn-link[b-sw95g2u8rv] {
    font-size: 1rem;
}

.ticket-list-card .card-header.ticket-list-card-header[b-sw95g2u8rv] {
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid #dee2e6;
    padding: 0.5rem 1rem;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
}

.ticket-list-header-text[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
}

.ticket-list-header-title[b-sw95g2u8rv] {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}

.ticket-list-header-count[b-sw95g2u8rv] {
    font-size: 0.95rem;
    line-height: 1.3;
}

.ticket-pane-title[b-sw95g2u8rv] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--matrix-text-primary, #212529);
}

.ticket-pane-header[b-sw95g2u8rv] {
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    flex-shrink: 0;
}

.search-container[b-sw95g2u8rv] {
    display: flex;
    align-items: center;
    min-width: 150px;
    max-width: 180px;
}

.search-input[b-sw95g2u8rv] {
    border: 1px solid #e1e5e9;
    border-radius: 6px 0 0 6px;
    border-right: none;
    background: #ffffff;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    transition: all 0.2s ease;
    flex: 1;
    width: 100%;
}

.search-input:focus[b-sw95g2u8rv] {
    border-color: #e1e5e9;
    outline: none;
}

.search-btn[b-sw95g2u8rv] {
    border: 1px solid #e1e5e9;
    border-radius: 0 6px 6px 0;
    border-left: none;
    background: #ffffff;
    color: #6c757d;
    padding: 0.4rem 0.6rem;
    transition: all 0.2s ease;
    cursor: pointer;
    font-size: 1rem;
}

.search-btn:hover:not(:disabled)[b-sw95g2u8rv] {
    background: #FCF1E6;
    color: #0073ea;
}

.search-btn:disabled[b-sw95g2u8rv] {
    cursor: not-allowed;
    opacity: 0.6;
}

.status-filter-container[b-sw95g2u8rv] {
    display: flex;
    align-items: center;
}

.status-filter-select[b-sw95g2u8rv] {
    border: 1px solid #e1e5e9;
    border-radius: 6px;
    background: #ffffff;
    color: #495057;
    padding: 0.4rem 0.6rem;
    font-size: 0.95rem;
    transition: all 0.2s ease;
    cursor: pointer;
    min-width: 100px;
    max-width: 130px;
}

.status-filter-select:focus[b-sw95g2u8rv] {
    border-color: #e1e5e9;
    outline: none;
    background: #FCF1E6;
}

.status-filter-select:hover[b-sw95g2u8rv] {
    background: #FCF1E6;
    color: #0073ea;
}

.btn-icon-only[b-sw95g2u8rv] {
    border: none;
    background: transparent;
    padding: 0.25rem;
    color: #495057;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.btn-icon-only:hover[b-sw95g2u8rv] {
    color: #0d6efd;
}

.btn-icon-only:focus[b-sw95g2u8rv] {
    outline: none;
    box-shadow: none;
}

.ticket-items-list[b-sw95g2u8rv] {
    padding: 0;
}

.ticket-item[b-sw95g2u8rv] {
    cursor: pointer;
    padding: 0.75rem 1rem;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #dee2e6;
    background-color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.ticket-item:hover[b-sw95g2u8rv] {
    background-color: #e9ecef;
}

.ticket-item.is-selected[b-sw95g2u8rv] {
    background-color: #cfe2ff;
    border-left-color: #0d6efd;
}

.ticket-line[b-sw95g2u8rv] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.ticket-content[b-sw95g2u8rv] {
    flex-grow: 1;
    min-width: 0;
}

.ticket-header[b-sw95g2u8rv] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ticket-id[b-sw95g2u8rv] {
    font-weight: 700;
    color: #212529;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.ticket-subject[b-sw95g2u8rv] {
    font-weight: 600;
    color: #1a1d21;
    font-size: 0.95rem;
    flex: 1 1 0%;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.ticket-meta[b-sw95g2u8rv] {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.ticket-date[b-sw95g2u8rv] {
    display: inline-flex;
    align-items: center;
}

.ticket-detail-pane[b-sw95g2u8rv] {
    border-right: 1px solid var(--matrix-border-light, #dee2e6);
    overflow-y: auto;
    overflow-x: hidden;
    background-color: var(--matrix-bg-primary, #ffffff);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ticket-comments-history-pane[b-sw95g2u8rv] {
    overflow: hidden;
    background-color: var(--matrix-bg-secondary, #f8f9fa);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ticket-comments-history-inner[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.ticket-comments-section[b-sw95g2u8rv],
.ticket-attachments-section[b-sw95g2u8rv],
.ticket-history-section[b-sw95g2u8rv] {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ticket-comments-section[b-sw95g2u8rv],
.ticket-attachments-section[b-sw95g2u8rv] {
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-panel,
.ticket-attachments-section[b-sw95g2u8rv]  .ticket-attachment-panel,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ticket-comments-section[b-sw95g2u8rv]  .card-header.ticket-panel-header,
.ticket-attachments-section[b-sw95g2u8rv]  .card-header.ticket-panel-header,
.ticket-history-section[b-sw95g2u8rv]  .card-header.ticket-panel-header {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    background-color: var(--matrix-bg-secondary, #F5F5F5);
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-panel-header h6,
.ticket-attachments-section[b-sw95g2u8rv]  .ticket-panel-header h6,
.ticket-history-section[b-sw95g2u8rv]  .ticket-panel-header h6 {
    font-size: 0.95rem;
    font-weight: 600;
}

.ticket-comments-section[b-sw95g2u8rv]  .phasing-card-body,
.ticket-attachments-section[b-sw95g2u8rv]  .phasing-card-body,
.ticket-history-section[b-sw95g2u8rv]  .phasing-card-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    max-height: 45vh;
    padding: 0;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-panel-empty,
.ticket-attachments-section[b-sw95g2u8rv]  .ticket-panel-empty,
.ticket-history-section[b-sw95g2u8rv]  .ticket-panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 120px;
    padding: 2rem 1rem;
    text-align: center;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-panel-empty .bi,
.ticket-attachments-section[b-sw95g2u8rv]  .ticket-panel-empty .bi,
.ticket-history-section[b-sw95g2u8rv]  .ticket-panel-empty .bi {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-panel-empty p,
.ticket-attachments-section[b-sw95g2u8rv]  .ticket-panel-empty p,
.ticket-history-section[b-sw95g2u8rv]  .ticket-panel-empty p {
    font-size: 1.1rem;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-list,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-list {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-item,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-item {
    padding: 0.5rem 0.75rem;
    background-color: #ffffff;
    border-radius: 6px;
    border: 1px solid #eee;
    font-size: 0.875rem;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-header,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-title,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #212529;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-meta,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-meta {
    font-size: 0.8rem;
    color: #495057;
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-date,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-date {
    display: inline-flex;
    align-items: center;
}

.ticket-comments-section[b-sw95g2u8rv]  .ticket-comment-desc,
.ticket-history-section[b-sw95g2u8rv]  .ticket-history-desc {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.ticket-empty-state[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2rem;
    text-align: center;
}

.ticket-empty-state p[b-sw95g2u8rv] {
    font-size: 1.1rem;
}

.ticket-empty-state .bi[b-sw95g2u8rv] {
    font-size: 3rem;
}

@media (max-width: 1200px) {
    .ticket-list-container[b-sw95g2u8rv] {
        flex-wrap: wrap;
    }

    .ticket-list-pane[b-sw95g2u8rv],
    .ticket-detail-pane[b-sw95g2u8rv],
    .ticket-comments-history-pane[b-sw95g2u8rv] {
        flex: 1 1 33.33%;
        min-width: 200px;
    }
}

@media (max-width: 992px) {
    .ticket-list-container[b-sw95g2u8rv] {
        flex-direction: column;
    }

    .ticket-list-pane[b-sw95g2u8rv] {
        width: 100%;
        min-width: 100%;
        flex: 0 0 auto;
        height: 40vh;
        border-right: none;
        border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
    }

    .ticket-detail-pane[b-sw95g2u8rv] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }

    .ticket-comments-history-pane[b-sw95g2u8rv] {
        flex: 1 1 auto;
        height: 30vh;
        min-height: 200px;
    }

    .status-filter-select[b-sw95g2u8rv] {
        min-width: 80px;
        max-width: 100px;
    }

    .search-container[b-sw95g2u8rv] {
        min-width: 120px;
        max-width: 150px;
    }
}

@media (max-width: 768px) {
    .ticket-list-card .card-header[b-sw95g2u8rv] {
        padding: 0.75rem;
    }

    .ticket-item[b-sw95g2u8rv] {
        padding: 0.5rem 0.75rem;
    }
}

.mf-modal-overlay[b-sw95g2u8rv] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}

.mf-modal-dialog[b-sw95g2u8rv] {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: auto;
}

.mf-modal-dialog-lg[b-sw95g2u8rv] {
    max-width: 700px;
}

.mf-modal-content[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
}

.mf-modal-header[b-sw95g2u8rv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid var(--matrix-border-light, #dee2e6);
}

.mf-modal-title[b-sw95g2u8rv] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.mf-modal-close[b-sw95g2u8rv] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--matrix-text-secondary, #6c757d);
    transition: color 0.2s ease;
}

.mf-modal-close:hover[b-sw95g2u8rv] {
    color: var(--matrix-text-primary, #1F2023);
}

.mf-modal-body[b-sw95g2u8rv] {
    padding: 1rem;
}

.mf-modal-footer[b-sw95g2u8rv] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid var(--matrix-border-light, #dee2e6);
}

.mf-form-grid[b-sw95g2u8rv] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.mf-field[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
}

.mf-field .form-label[b-sw95g2u8rv] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--matrix-text-secondary, #6c757d);
    margin-bottom: 0.25rem;
}

.days-dual-field[b-sw95g2u8rv] {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
}

.days-dual-field .days-field-item[b-sw95g2u8rv] {
    flex: 1;
    min-width: 0;
}

.days-dual-field .days-field-item .form-label[b-sw95g2u8rv] {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pending-files-list[b-sw95g2u8rv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pending-file-item[b-sw95g2u8rv] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.5rem;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 4px;
    font-size: 0.85rem;
}

.pending-file-name[b-sw95g2u8rv] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #212529;
}

.pending-file-item .btn-icon-only[b-sw95g2u8rv] {
    border: none;
    background: transparent;
    padding: 0.1rem;
    cursor: pointer;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 576px) {
    .mf-form-grid[b-sw95g2u8rv] {
        grid-template-columns: 1fr;
    }

    .days-dual-field[b-sw95g2u8rv] {
        flex-direction: column;
    }
}
/* /Modules/Ticketing/Components/TicketOverview/TicketOverview.razor.rz.scp.css */
.ticket-overview-container[b-jfyzpp6tpm] {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
    overflow-y: auto;
}

.ticket-kpi-grid[b-jfyzpp6tpm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 1rem;
}

.ticket-kpi-card[b-jfyzpp6tpm] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1.25rem;
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.2s ease;
}

.ticket-kpi-card:hover[b-jfyzpp6tpm] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.ticket-kpi-icon[b-jfyzpp6tpm] {
    font-size: 1.5rem;
}

.ticket-kpi-value[b-jfyzpp6tpm] {
    font-size: 2rem;
    font-weight: 700;
    color: #1a1d21;
    line-height: 1.1;
}

.ticket-kpi-label[b-jfyzpp6tpm] {
    font-size: 0.85rem;
    font-weight: 500;
    color: #6c757d;
}

.ticket-overview-section-title[b-jfyzpp6tpm] {
    font-size: 1rem;
    font-weight: 600;
    color: #1a1d21;
    margin: 0.5rem 0 0.75rem 0;
}

.ticket-stat-bars[b-jfyzpp6tpm] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ticket-stat-bar-item[b-jfyzpp6tpm] {
    display: grid;
    grid-template-columns: 120px 1fr 100px;
    align-items: center;
    gap: 1rem;
}

.ticket-stat-bar-label[b-jfyzpp6tpm] {
    font-size: 0.9rem;
    font-weight: 500;
    color: #495057;
}

.ticket-stat-bar-track[b-jfyzpp6tpm] {
    height: 8px;
    background-color: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.ticket-stat-bar-fill[b-jfyzpp6tpm] {
    height: 100%;
    background-color: #0d6efd;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.ticket-stat-bar-value[b-jfyzpp6tpm] {
    font-size: 0.85rem;
    color: #6c757d;
    text-align: right;
}

@media (max-width: 768px) {
    .ticket-overview-container[b-jfyzpp6tpm] {
        padding: 1rem;
        gap: 1rem;
    }

    .ticket-kpi-grid[b-jfyzpp6tpm] {
        grid-template-columns: repeat(2, 1fr);
    }

    .ticket-kpi-value[b-jfyzpp6tpm] {
        font-size: 1.5rem;
    }

    .ticket-stat-bar-item[b-jfyzpp6tpm] {
        grid-template-columns: 1fr;
    }

    .ticket-stat-bar-value[b-jfyzpp6tpm] {
        text-align: left;
    }
}
/* /Modules/Ticketing/Pages/TicketManagement.razor.rz.scp.css */
.ticket-management-card-link[b-bjajxgvhv1] {
    display: block;
    color: inherit;
    text-decoration: none;
}

.ticket-management-card-link:hover[b-bjajxgvhv1] {
    color: inherit;
    text-decoration: none;
}

.ticket-management-card-link .matrix-dashboard-card[b-bjajxgvhv1] {
    cursor: pointer;
}

.ticket-management-card-link:hover .matrix-dashboard-card[b-bjajxgvhv1] {
    transform: translateY(-4px);
}
/* /Pages/Admin/GeneralAdministration.razor.rz.scp.css */
.general-admin-container[b-5aobiezxt5] {
    padding: 1.5rem 2rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Header */
.general-admin-header[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.general-admin-header h1[b-5aobiezxt5] {
    margin: 0;
    font-size: 1.75rem;
    color: #2c3e50;
}

.general-admin-subtitle[b-5aobiezxt5] {
    margin: 0.25rem 0 0;
    color: #7f8c8d;
    font-size: 0.95rem;
}

.btn-back[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
    cursor: pointer;
    transition: all 0.15s;
    flex-shrink: 0;
}

.btn-back:hover[b-5aobiezxt5] {
    background: #f0f0f0;
    color: #2c3e50;
}

/* Sections */
.admin-section[b-5aobiezxt5] {
    margin-bottom: 2rem;
}

.section-title[b-5aobiezxt5] {
    font-size: 1.15rem;
    font-weight: 600;
    color: #2c3e50;
    margin: 0 0 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.section-title i[b-5aobiezxt5] {
    color: #667eea;
}

/* Action cards */
.action-cards[b-5aobiezxt5] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 1.25rem;
}

.action-card[b-5aobiezxt5] {
    display: flex;
    gap: 1.25rem;
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border-left: 4px solid #667eea;
}

.action-card-danger[b-5aobiezxt5] {
    border-left-color: #e74c3c;
}

.action-card-icon[b-5aobiezxt5] {
    font-size: 1.75rem;
    color: #e74c3c;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.action-card-body h4[b-5aobiezxt5] {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    color: #2c3e50;
}

.action-card-body p[b-5aobiezxt5] {
    margin: 0 0 0.25rem;
    color: #555;
    font-size: 0.9rem;
    line-height: 1.45;
}

.action-card-hint[b-5aobiezxt5] {
    font-size: 0.82rem !important;
    color: #95a5a6 !important;
    font-style: italic;
    margin-bottom: 0.75rem !important;
}

.btn-action[b-5aobiezxt5] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    border-radius: 8px;
    padding: 0.55rem 1.1rem;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-action-danger[b-5aobiezxt5] {
    background: #e74c3c;
    color: #fff;
}

.btn-action-danger:hover:not(:disabled)[b-5aobiezxt5] {
    background: #c0392b;
}

.btn-action:disabled[b-5aobiezxt5] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Confirmation banner */
.confirm-banner[b-5aobiezxt5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: #fef5e7;
    border: 1px solid #f0c36d;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #856404;
    margin-top: 0.5rem;
}

.confirm-banner i[b-5aobiezxt5] {
    font-size: 1.1rem;
}

.confirm-actions[b-5aobiezxt5] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.btn-confirm-yes[b-5aobiezxt5], .btn-confirm-no[b-5aobiezxt5] {
    border: none;
    border-radius: 6px;
    padding: 0.4rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.btn-confirm-yes[b-5aobiezxt5] {
    background: #e74c3c;
    color: #fff;
}

.btn-confirm-yes:hover[b-5aobiezxt5] {
    background: #c0392b;
}

.btn-confirm-no[b-5aobiezxt5] {
    background: #ecf0f1;
    color: #2c3e50;
}

.btn-confirm-no:hover[b-5aobiezxt5] {
    background: #ddd;
}

/* Result message */
.result-message[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.9rem;
    border-radius: 8px;
    font-size: 0.88rem;
    margin-top: 0.75rem;
}

.result-success[b-5aobiezxt5] {
    background: #eafaf1;
    color: #1e8449;
    border: 1px solid #a9dfbf;
}

.result-error[b-5aobiezxt5] {
    background: #fdedec;
    color: #922b21;
    border: 1px solid #f5b7b1;
}

/* Tab bar */
.tab-bar[b-5aobiezxt5] {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e9ecef;
    margin-bottom: 0;
}

.tab-btn[b-5aobiezxt5] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 0.75rem 1.25rem;
    font-size: 0.92rem;
    font-weight: 500;
    color: #7f8c8d;
    cursor: pointer;
    transition: all 0.15s;
    margin-bottom: -2px;
}

.tab-btn:hover[b-5aobiezxt5] {
    color: #2c3e50;
}

.tab-btn.active[b-5aobiezxt5] {
    color: #667eea;
    border-bottom-color: #667eea;
}

.tab-badge[b-5aobiezxt5] {
    background: #e9ecef;
    color: #555;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
}

.tab-btn.active .tab-badge[b-5aobiezxt5] {
    background: #667eea;
    color: #fff;
}

/* Grid panel */
.grid-panel[b-5aobiezxt5] {
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    padding: 1rem 1.25rem 1.25rem;
    min-height: 300px;
    position: relative;
}

.grid-toolbar-row[b-5aobiezxt5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.page-size-selector[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: #555;
}

.page-size-selector select[b-5aobiezxt5] {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 0.25rem 0.5rem;
    font-size: 0.85rem;
}

.grid-count[b-5aobiezxt5] {
    font-size: 0.85rem;
    color: #7f8c8d;
}

/* Table */
.admin-grid[b-5aobiezxt5] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.88rem;
}

.admin-grid thead th[b-5aobiezxt5] {
    background: #f8f9fa;
    color: #555;
    font-weight: 600;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.65rem 0.75rem;
    border-bottom: 2px solid #e9ecef;
    white-space: nowrap;
}

.admin-grid tbody td[b-5aobiezxt5] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    color: #333;
    vertical-align: middle;
}

.admin-grid tbody tr:hover[b-5aobiezxt5] {
    background: #f8f9ff;
}

.cell-date[b-5aobiezxt5] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: #555;
}

.cell-mono[b-5aobiezxt5] {
    font-family: 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.82rem;
}

.cell-url[b-5aobiezxt5] {
    max-width: 350px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #667eea;
}

.cell-center[b-5aobiezxt5] {
    text-align: center;
}

.cell-empty[b-5aobiezxt5] {
    text-align: center;
    color: #aaa;
    padding: 2rem !important;
    font-style: italic;
}

/* Event type badges */
.event-type-badge[b-5aobiezxt5] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.badge-success[b-5aobiezxt5] {
    background: #eafaf1;
    color: #1e8449;
}

.badge-danger[b-5aobiezxt5] {
    background: #fdedec;
    color: #922b21;
}

.badge-warning[b-5aobiezxt5] {
    background: #fef9e7;
    color: #7d6608;
}

.badge-info[b-5aobiezxt5] {
    background: #eaf2f8;
    color: #2471a3;
}

.badge-neutral[b-5aobiezxt5] {
    background: #f4f6f7;
    color: #5d6d7e;
}

/* Pagination */
.pagination-bar[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.85rem 0 0.25rem;
}

.pagination-btn[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.12s;
}

.pagination-btn:hover:not(:disabled)[b-5aobiezxt5] {
    background: #667eea;
    color: #fff;
    border-color: #667eea;
}

.pagination-btn:disabled[b-5aobiezxt5] {
    opacity: 0.35;
    cursor: not-allowed;
}

.pagination-info[b-5aobiezxt5] {
    padding: 0 0.75rem;
    font-size: 0.85rem;
    color: #555;
    font-variant-numeric: tabular-nums;
}

/* Loading */
.loading-overlay[b-5aobiezxt5] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}

/* Action card — variante primary (bleu) */
.action-card-primary[b-5aobiezxt5] {
    border-left-color: #667eea;
}

.action-card-icon-primary[b-5aobiezxt5] {
    color: #667eea !important;
}

.btn-action-primary[b-5aobiezxt5] {
    background: #667eea;
    color: #fff;
}

.btn-action-primary:hover:not(:disabled)[b-5aobiezxt5] {
    background: #5a6fd6;
}

.btn-confirm-primary[b-5aobiezxt5] {
    background: #667eea !important;
}

.btn-confirm-primary:hover[b-5aobiezxt5] {
    background: #5a6fd6 !important;
}

.confirm-banner-info[b-5aobiezxt5] {
    background: #eaf2f8;
    border-color: #85c1e9;
    color: #1a5276;
}

/* Responsive */
@media (max-width: 768px) {
    .general-admin-container[b-5aobiezxt5] {
        padding: 1rem;
    }

    .action-cards[b-5aobiezxt5] {
        grid-template-columns: 1fr;
    }

    .tab-bar[b-5aobiezxt5] {
        overflow-x: auto;
    }

    .grid-toolbar-row[b-5aobiezxt5] {
        flex-direction: column;
        gap: 0.5rem;
        align-items: flex-start;
    }

    .confirm-banner[b-5aobiezxt5] {
        flex-direction: column;
        align-items: flex-start;
    }

    .confirm-actions[b-5aobiezxt5] {
        margin-left: 0;
    }
}
/* /Pages/Index.razor.rz.scp.css */
.matrix-page-header[b-a1ezuo62f4] {
    margin-top: 3rem;
    padding-top: 2rem;
}
/* /Pages/ResetPassword.razor.rz.scp.css */
.reset-page[b-yinx1a0ebb] {
    display: flex;
    min-height: 100vh;
    background-color: #050b18;
    color: #f4f6fb;
}

.reset-visual[b-yinx1a0ebb] {
    flex: 1.2;
    background-image:
        linear-gradient(120deg, rgba(5, 11, 24, 0.85), rgba(5, 11, 24, 0.35)),
        url('/resources/images/login.png');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 3rem;
    isolation: isolate;
}

.reset-visual-overlay[b-yinx1a0ebb] {
    max-width: 460px;
    background: rgba(5, 11, 24, 0.65);
    padding: 2rem;
    border-radius: 1.5rem;
    backdrop-filter: blur(10px);
}

.reset-visual-kicker[b-yinx1a0ebb] {
    text-transform: uppercase;
    letter-spacing: 0.3em;
    font-size: 0.75rem;
    color: #7cd0fc;
    margin-bottom: 0.75rem;
}

.reset-visual h1[b-yinx1a0ebb] {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.2;
}

.reset-visual-text[b-yinx1a0ebb] {
    margin-top: 1rem;
    color: rgba(244, 246, 251, 0.85);
}

.reset-form-panel[b-yinx1a0ebb] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem clamp(2rem, 5vw, 5rem);
    background: #f7f8fc;
    color: #0d1b2a;
}

.reset-form-card[b-yinx1a0ebb] {
    width: min(480px, 100%);
    background: #fff;
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 1.5rem;
    box-shadow: 0 20px 50px rgba(13, 27, 42, 0.15);
    position: relative;
}

.reset-form-header[b-yinx1a0ebb] {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 2rem;
}

.reset-form-icon[b-yinx1a0ebb] {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(43, 89, 195, 0.12);
    color: #2b59c3;
    flex-shrink: 0;
}

.reset-form-icon--success[b-yinx1a0ebb] {
    background: rgba(39, 174, 96, 0.12);
    color: #27ae60;
}

.reset-form-icon--error[b-yinx1a0ebb] {
    background: rgba(199, 54, 39, 0.12);
    color: #c73627;
}

.reset-form-header h2[b-yinx1a0ebb] {
    margin: 0;
    font-size: 1.75rem;
    color: #0d1b2a;
}

.reset-form-header p[b-yinx1a0ebb] {
    margin: 0.25rem 0 0;
    color: #5c6271;
}

.reset-form[b-yinx1a0ebb] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.reset-form-field[b-yinx1a0ebb] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.reset-form-field:not(:first-child)[b-yinx1a0ebb] {
    margin-top: 1.15rem;
}

.reset-form-field label[b-yinx1a0ebb] {
    font-weight: 600;
    color: #1b2333;
}

.reset-form .form-control[b-yinx1a0ebb] {
    background: #f1f3f8 !important;
    border: 1px solid #cfd5e1;
    border-radius: 0.9rem;
    padding: 0.9rem 1rem;
    color: #111827;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.reset-form .form-control:focus[b-yinx1a0ebb] {
    background: #e7eaf2;
    border-color: #4f5d75;
    box-shadow: 0 0 0 3px rgba(79, 93, 117, 0.15);
}

.reset-password-wrapper[b-yinx1a0ebb] {
    position: relative;
}

.reset-password-wrapper .form-control[b-yinx1a0ebb] {
    padding-right: 3rem;
}

.reset-toggle-password[b-yinx1a0ebb] {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #596077;
    padding: 0.25rem;
    cursor: pointer;
}

.reset-toggle-password:hover[b-yinx1a0ebb] {
    color: #2b59c3;
}

.reset-validation[b-yinx1a0ebb] {
    font-size: 0.85rem;
    color: #c73627;
}

.reset-info[b-yinx1a0ebb] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    background: rgba(39, 174, 96, 0.1);
    color: #1a6b3a;
    margin-bottom: 1rem;
}

.reset-info i[b-yinx1a0ebb] {
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.reset-info p[b-yinx1a0ebb] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.reset-error[b-yinx1a0ebb] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border-radius: 0.85rem;
    background: rgba(199, 54, 39, 0.1);
    color: #8c1b11;
}

.reset-error p[b-yinx1a0ebb] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.reset-submit[b-yinx1a0ebb] {
    border: none;
    border-radius: 0.85rem;
    padding: 1.05rem 1.25rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    margin-top: 1.5rem;
    background: #6b707c;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.reset-submit[disabled][b-yinx1a0ebb] {
    opacity: 0.65;
    cursor: not-allowed;
}

.reset-submit:not([disabled]):hover[b-yinx1a0ebb] {
    background: #565b66;
    box-shadow: 0 10px 20px rgba(40, 44, 52, 0.25);
}

@media (max-width: 1024px) {
    .reset-page[b-yinx1a0ebb] {
        flex-direction: column;
    }

    .reset-visual[b-yinx1a0ebb] {
        min-height: 45vh;
        padding: 2rem;
    }

    .reset-form-panel[b-yinx1a0ebb] {
        padding: 2rem;
    }
}

@media (max-width: 600px) {
    .reset-form-card[b-yinx1a0ebb] {
        padding: 1.75rem;
    }

    .reset-visual-overlay[b-yinx1a0ebb] {
        padding: 1.5rem;
    }
}
/* /Shared/MainLayout.razor.rz.scp.css */
/* Styles pour le bouton Admin CMS */
.monday-admin-btn[b-va4td4j9h7] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    margin-right: 10px;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
}

.monday-admin-btn:hover[b-va4td4j9h7] {
    background: linear-gradient(135deg, #ff8787 0%, #f06a7f 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
}

.monday-admin-btn:active[b-va4td4j9h7] {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(255, 107, 107, 0.2);
}

/* Styles pour le logo du site */
.monday-logo-image[b-va4td4j9h7] {
    max-width: 232px;
    max-height: 40px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

/* Conteneur pour favicon et logo */
.monday-logo-container[b-va4td4j9h7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

/* Styles pour l'icône du site (favicon) */
.monday-favicon-image[b-va4td4j9h7] {
    max-width: 40px;
    max-height: 40px;
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: inline-block;
    border-radius: 6px;
    flex-shrink: 0;
}

/* Favicon pour mobile (< 1024px) - affiche dans top-bar */
.favicon-mobile[b-va4td4j9h7] {
    display: none;
}

/* Favicon pour desktop (>= 1024px) - affiche dans sidebar */
.favicon-desktop[b-va4td4j9h7] {
    display: inline-block;
}

/* Sur écrans petit (< 1024px) */
@media (max-width: 1023px) {
    .favicon-mobile[b-va4td4j9h7] {
        display: inline-block;
        margin-right: 10px;
    }

    .favicon-desktop[b-va4td4j9h7] {
        display: none;
    }
}

/* Sur écrans grand (>= 1024px) */
@media (min-width: 1024px) {
    .favicon-mobile[b-va4td4j9h7] {
        display: none;
    }

    .favicon-desktop[b-va4td4j9h7] {
        display: inline-block;
    }
}
/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-t8crkp8mh9] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-t8crkp8mh9] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-t8crkp8mh9] {
    font-size: 1.1rem;
}

.oi[b-t8crkp8mh9] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-t8crkp8mh9] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-t8crkp8mh9] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-t8crkp8mh9] {
        padding-bottom: 1rem;
    }

    .nav-item[b-t8crkp8mh9]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-t8crkp8mh9]  a.active {
    background-color: rgba(255,255,255,0.25);
    color: white;
}

.nav-item[b-t8crkp8mh9]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-t8crkp8mh9] {
        display: none;
    }

    .collapse[b-t8crkp8mh9] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
    
    .nav-scrollable[b-t8crkp8mh9] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
