﻿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;
}

.input-generic {
    /* Typographie */
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    margin-bottom : 15px;
}

    /* 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;
    font-weight:700;
}

.displaynone {
    display: none;
}

.panelroleAA {
    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;
}

/* 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;
}

/* Fil d'Ariane détail remboursement */
.breadcrumb-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
}

.bc-item {
    text-align: center;
    flex: 1;
    padding: 5px;
    border-radius: 4px;
}

.bc-todo {
    background-color: #FFEEEE;
    color: #DB3832;
    border: solid 1px #DB3832;
}

.bc-done {
    background-color: white;
    color: #101010;
    border: solid 1px lightgray;
}

.bc-text {
    font-size: 12px;
    font-weight: bold;
}

.bc-date {
    font-size: 10px;
    margin-top: 2px;
}

.bc-separator {
    margin: 0 10px;
    color: #ccc;
    font-weight: bold;
}




/* Style de base du GridView (table) */
.tablejournal {
    width: 100%;
    margin-bottom: 1rem;
    color: #101010;
    border-collapse: collapse;
    background-color: transparent;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.8rem;
}

    /* Style des entêtes */
    .tablejournal th {
        padding: 0.4rem;
        vertical-align: bottom;
        border-bottom: 1px solid lightgray;
        text-align: left;
        background-color: #f8f9fa;
        color: #495057;
    }

    /* Style des cellules */
    .tablejournal td {
        padding: 0.2rem;
        vertical-align: top;
        border-top: 1px solid lightgray;
    }

.tdutilisateur {
    text-wrap-mode: nowrap;
}

/* L'effet "Zèbre" (Striped) */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05); /* Un gris très léger pour une ligne sur deux */
}

/* Optionnel : Un effet au survol de la ligne pour le confort */
.table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
    transition: background-color 0.2s ease;
}

.rbl-custom label {
    margin-left: 5px;
    margin-right: 15px;
    font-size: 14px;
    cursor: pointer;
    font-weight: normal;
    color: #101010;
}

.rbl-custom input[type="radio"] {
    cursor: pointer;
    vertical-align: middle;
}


