﻿body {
    margin: 0;
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    background-color: #FAFAFA;
    font-size: 1em;
    color: gray;
}

.pcontainer {
    padding: 1em;
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-bg-opacity: 1;
}

.bgwhite {
    background-color: #ffffff;
}


/* FLEX */
.flex-container {
    overflow: hidden;
    display: flex;
}
.un {
    flex: 1;
}

.deux {
    flex: 2;
}

.trois {
    flex: 3;
}

.auto {
    flex: auto;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.flex-inline {
    display: inline-flex;
}

.main-container {
    padding-top: 0.4rem;
    padding-bottom: 1.5rem;
    margin-left: auto;
    margin-right: auto;
}

/* MARGIN */
.myt10 {
    margin-top: 1.0em;
}

/* GAP */
.gap10 {
    gap: 1.0em;
}

/* PADDING */
.p10 {
    padding: 1.0rem;
}

.p15 {
    padding: 1.5rem;
}

.pxl10 {
    padding-left: 1.0rem;
}

/* BORDURES */
.bord1 {
    border: 1px solid #e5e7eb;
}

.listeimage {
    width: 30px;
    display: inline-block;
    margin-left: 20px;
}

.listelibelle {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.0em;
    font-weight: 400;
    margin-bottom: 17px;
    margin-left: 20px;
    color: #101010;
    background-color:transparent;
}

.listeligne {
    /*width:350px;*/
    text-align: left;
    height: 25px;
}

.btn-generic {
    /* Dimensions et Alignement */
    display: inline-flex;
    align-items: center;
    gap: 8px; /* Espace entre l'icône et le texte */
    padding: 3px 10px;
    /* Typographie */
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #DB3832;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    /* Bordure et Fond */
    background-color: transparent;
    border: 1.0px solid #DB3832; /* Cohérence avec le trait du SVG */
    border-radius: 4px;
    /* Interaction */
    cursor: pointer;
    transition: all 0.3s ease;
}

    /* Effet au survol */
    .btn-generic:hover {
        background-color: #DB3832;
        color: #ffffff;
    }

    /* Style pour l'icône à l'intérieur */
    .btn-generic svg {
        width: 18px;
        height: 18px;
        stroke: currentColor; /* L'icône prend la couleur du texte automatiquement */
    }

.label-param {
    width:90px;
    text-align:right;
    font-family: 'Segoe UI';
    color: #101010;
    font-size: 1em;
}

.lbox {
    font-family: 'Segoe UI';
    color: #101010;
    font-size: 1em;
    background-color: transparent;
    border: solid 1px lightgray;
}

.tbbox {
    font-family: 'Segoe UI';
    color: #101010;
    font-size: 1em;
    background-color: transparent;
    border: solid 1px lightgray;
}

.titleliste {
    font-size:1.2em;
}

.displaynone {
    display: none;
}

.panelrole {
    margin-top: 5px;
    width: 362px;
    height: 124px;
    overflow-y: scroll;
    border: solid 1px lightgray;
}

/* Nouveau conteneur principal pour organiser les colonnes */
.main-wrapper {
    display: flex; /* Active le mode colonnes  */
    align-items: flex-start; /* Aligne les colonnes par le haut [cite: 11] */
    width: 100%;
    min-height: 80vh;
}

/* Fixe la largeur du menu pour qu'il ne bouge pas [cite: 11] */
.panel.border-right {
    flex: 0 0 250px; /* Largeur fixe de 250px (ne grandit pas, ne rétrécit pas) */
    width: 250px;
    box-sizing: border-box;
    border-right: 1px solid #ccc;
    [cite: 12]
}

/* Le contenu principal prend tout l'espace restant */
.content-area {
    flex: 1; /* Prend tout l'espace disponible à droite */
    padding: 10px;
    min-width: 600px; /* Empêche le contenu de devenir trop étroit */
    box-sizing: border-box;
}

/* 1. Réduction de la vignette produit */
.product-icon {
    width: 40px !important; /* Passage de 60px à 40px [cite: 21] */
    height: 40px !important; /* Passage de 60px à 40px [cite: 22] */
    object-fit: contain; /* [cite: 23] */
    border: 1px solid #eee; /* [cite: 24] */
    border-radius: 4px; /* [cite: 25] */
    padding: 1px; /* Réduction du padding interne de l'image [cite: 27] */
    margin-bottom: 0px; /* Suppression de la marge basse [cite: 27] */
}

/* 2. Réduction de la hauteur des lignes du GridView de détail */
#gvItems td {
    padding: 2px 8px !important; /* Compression verticale (2px haut/bas au lieu du standard) */
    font-size: 13px; /* Légère réduction de la police pour gagner de l'espace */
    vertical-align: middle;
}

/* 3. Ajustement de l'en-tête pour qu'il ne soit pas trop imposant */
#gvItems th {
    background-color: #f8f8f8; /* [cite: 20] */
    padding: 4px 8px !important;
    font-size: 12px; /* [cite: 75] */
    height: 25px !important; /* Passage de 30px à 25px [cite: 75] */
}

    /* Ajoute un espacement à droite dans la dernière colonne du détail */
    #gvItems td:last-child,
    #gvItems th:last-child {
        padding-right: 15px !important; /* Ajuste la valeur selon ta préférence */
    }

/* On s'assure que le texte reste bien aligné à droite pour les montants */
#gvItems .text-right {
    text-align: right;
}

.pa15 {
    padding-right: 10px;
}
