﻿


.my-table {
    width: 100%;
    max-width: 100%;
    background-color: transparent;
    border-spacing: 2px;
    border-collapse: collapse;
    overflow-x: auto;
    margin: 8px 0 8px;
    border: 1px solid #ddd;
}


    .my-table > thead > tr:nth-of-type(odd),
    .my-table > thead > tr:nth-of-type(even),
    .my-table > thead > tr {
        background-color: rgba(0,0,0,.06);
    }

    .my-table.hover > tr:hover,
    .my-table.hover > tbody > tr:hover {
        background-color: rgba(0,0,0,.06);
        cursor: pointer;
    }

    .my-table.td-hover > tr > td:hover,
    .my-table.td-hover > tbody > tr > td:hover {
        background-color: rgba(0,0,0,.06);
        cursor: pointer;
    }

    .my-table > tr:nth-of-type(odd),
    .my-table > tbody > tr:nth-of-type(odd) {
        background-color: #f4f4f4;
    }

    .my-table > tr:nth-of-type(even),
    .my-table > tbody > tr:nth-of-type(even) {
        background-color: white;
    }

    .my-table > tr > th,
    .my-table > tbody > tr > th,
    .my-table > thead > tr > th {
        text-align: center;
    }

    .my-table > tr > td,
    .my-table > tr > th,
    .my-table > tbody > tr > td,
    .my-table > tbody > tr > th,
    .my-table > thead > tr > td,
    .my-table > thead > tr > th {
        font-weight: normal;
        padding: 5px 5px 5px 5px;
        border: 1px solid #ddd;
    }






.my-dialog {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(22,22,22,0.5);
    box-sizing: border-box;
    z-index: 10;
}

.my-dialog-modal {
    background-color: white;
    color: rgba(0,0,0,.87);
    border-radius: 6px;
    min-width: 280px;
    min-height: 100px;
    max-height: 100vh;
    overflow-y: auto;
    z-index: 41;
    display: block;
    box-sizing: border-box;
    padding: 30px;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    box-sizing: border-box;
}

.my-input {
    box-sizing: border-box;
    padding: 8px;
    font-size: 0.8em;
    border: 1px solid #ccc;
    outline: none;
}

.my-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.my-form-group {
    position: relative;
    display: flex;
    flex-direction: column;
}

    .my-form-group label {
        margin-bottom: 5px;
        font-weight: bold;
        color: #333;
    }

    .my-form-group input,
    .my-form-group textarea {
        padding: 12px;
        border: 1px solid #ccc;
        border-radius: 6px;
        font-size: 1em;
        font-family: inherit;
    }


.my-form-row {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

    .my-form-row .my-form-group.half {
        flex: 1;
        min-width: 45%;
    }

.my-error {
    display: inline-block;
    width: auto;
    padding: 8px 10px;
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 6px;
    color: black;
    font-size: 0.875rem;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.my-popover {
    display: block;
    position: absolute;
    bottom: -35px;
    left: 60px;
    width: auto;
    padding: 8px 10px;
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 6px;
    color: black;
    font-size: 0.875rem;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    z-index: 10;
    /*white-space: nowrap;*/
}

    /* Triangle extérieur (bordure) */
    .my-popover::before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 10px;
        border-left: 9px solid transparent;
        border-right: 9px solid transparent;
        border-bottom: 13px solid #aaa; /* bordure grise */
        z-index: -1; /* derrière le triangle principal */
    }

    /* Triangle intérieur (fond blanc) */
    .my-popover::after {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 11px; /* léger décalage pour centrer dans la bordure */
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-bottom: 12px solid white; /* même couleur que le fond de la bulle */
    }

.my-radio-group {
    display: flex;
    gap: 20px;
    margin-top: 8px;
}

    .my-radio-group label {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: normal;
        color: #333;
    }

.my-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background-color: #FF9000;
    color: white;
    font-weight: 900;
    font-size: 16px;
    border-radius: 6px;
    margin-right: 5px;
    flex-shrink: 0;
}




.my-button-group {
    display: inline-block;
}

    .my-button-group a,
    .my-button-group a:hover,
    .my-button-group a:active,
    .my-button-group a:visited,
    .my-button-group a:focus {
        color: black;
        float: left;
        padding: 6px 12px;
        text-decoration: none;
        transition: background-color .3s;
        border: 1px solid #ddd;
        margin: 0;
        -webkit-user-select: none; /* Safari */
        -ms-user-select: none; /* IE 10 and IE 11 */
        user-select: none; /* Standard syntax */
    }

        .my-button-group a:hover,
        .my-button-group a:focus {
            background-color: #F5F5F5;
            color: #0747a6;
        }

        .my-button-group a:first-child {
            border-radius: 5px 0px 0px 5px;
        }

        .my-button-group a:last-child {
            border-radius: 0px 5px 5px 0px;
        }


.my-button {
    font-size: 1.05em;
}

    .my-button,
    .my-button:hover,
    .my-button:active,
    .my-button:visited,
    .my-button:focus {
        display: inline-flex;
        padding: 9px 16px 9px 16px;
        border-radius: 4px;
        text-decoration: none;
        /*text-transform: uppercase;*/
        /*height: 36px;*/
        /*font-family: Roboto, sans-serif;*/
        vertical-align: middle;
        font-weight: bold;
        /*letter-spacing: 1.25px;*/
        box-sizing: border-box;
        justify-content: center;
        /*color: inherit;*/
        line-height: 1.05em;
    }


.my-button-small {
    font-size: 0.95em;
}

    .my-button-small,
    .my-button-small:hover,
    .my-button-small:active,
    .my-button-small:visited,
    .my-button-small:focus {
        padding: 5px 8px 5px 8px;
    }


.my-button-raised,
.my-button-raised:focus {
    color: white;
    background-color: #e63333;
    border: 2px solid #e63333;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0,0,0,.12);
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

    .my-button-raised:hover {
        color: white;
        border: 2px solid #e63333;
        background-color: #e63333;
        border: 2px solid #e63333;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12);
    }

        .my-button-raised:hover {
            color: white;
            border: 2px solid #e63333;
            background-color: #e63333;
            border: 2px solid #e63333;
            box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12);
        }


.my-button-danger {
    color: white;
    background-color: #e63333;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0,0,0,.12);
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

    .my-button-danger:hover, .my-button-danger:focus {
        color: white;
        background-color: #d9534f;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12);
    }

.my-button-warning {
    color: white;
    background-color: #FFA500;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0,0,0,.12);
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

    .my-button-warning:hover, .my-button-warning:focus {
        color: white;
        background-color: #F4BB44;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12);
    }

.my-button-success {
    color: white;
    background-color: #28a745;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0,0,0,.12);
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

    .my-button-success:hover, .my-button-success:focus {
        color: white;
        background-color: #218838;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12);
    }

.my-button-outlined,
.my-button-outlined:focus {
    border: 2px solid #e63333;
    background-color: white;
    color: #e63333;
}

    .my-button-outlined:hover {
        border: 2px solid #e63333;
        background-color: #eee;
        color: #e63333;
    }

.my-button.disabled,
.my-button.my-button-outlined.disabled {
    color: rgba(0,0,0,.38);
    cursor: default;
    pointer-events: none;
    border: 1px solid #ddd;
    box-shadow: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.my-button.my-button-raised.disabled,
.my-button.my-button-danger.disabled {
    background-color: rgba(0,0,0,.12);
    color: black;
}

.my-button.my-button-success.disabled {
    background-color: rgba(0,0,0,.12);
    color: white;
}



.my-button-blue-raised,
.my-button-blue-raised:focus {
    color: white;
    background-color: #0747a6;
    border: 2px solid #0747a6;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

    .my-button-blue-raised:hover {
        background-color: #063b8d;
        border-color: #063b8d;
        color: white;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
    }

    .my-button-blue-raised:disabled,
    .my-button-blue-raised[disabled] {
        background-color: #b3c4e6;
        border-color: #b3c4e6;
        color: #ffffff;
        box-shadow: none;
        pointer-events: none;
        cursor: not-allowed;
    }


.my-button-blue-outlined,
.my-button-blue-outlined:focus,
.my-button-blue-outlined:visited {
    color: #0747a6;
    background-color: white;
    border: 2px solid #0747a6;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

    .my-button-blue-outlined:hover {
        background-color: #eee;
        color: #0747a6;
        border-color: #0747a6;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
    }


    .my-button-blue-outlined:disabled,
    .my-button-blue-outlined[disabled] {
        color: #b3c4e6;
        border-color: #b3c4e6;
        background-color: white;
        cursor: default;
        pointer-events: none;
        box-shadow: none;
        cursor: not-allowed;
        box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    }



.my-button-black-raised,
.my-button-black-raised:focus {
    color: white;
    background-color: #000000;
    border: 2px solid #000000;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

    .my-button-black-raised:hover {
        background-color: #222222;
        border-color: #222222;
        color: white;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
    }

    .my-button-black-raised:disabled,
    .my-button-black-raised[disabled] {
        background-color: #cccccc;
        border-color: #cccccc;
        color: #ffffff;
        box-shadow: none;
        pointer-events: none;
        cursor: not-allowed;
    }

.my-button-black-outlined,
.my-button-black-outlined:focus,
.my-button-black-outlined:visited {
    color: #000000;
    background-color: white;
    border: 2px solid #000000;
    box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
    transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

    .my-button-black-outlined:hover {
        background-color: #f0f0f0;
        color: #000000;
        border-color: #000000;
        box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
    }

    .my-button-black-outlined:disabled,
    .my-button-black-outlined[disabled] {
        color: #cccccc;
        border-color: #cccccc;
        background-color: white;
        cursor: not-allowed;
        pointer-events: none;
        box-shadow: none;
    }



ul.my-breadcrumb {
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
    color: #e63333 !important;
}

    ul.my-breadcrumb li {
        display: flex;
        align-items: center;
        text-wrap:nowrap;
    }

        /* Ajoute le séparateur uniquement AVANT les éléments suivants */
        ul.my-breadcrumb li + li::before {
            content: "\203A"; /* › */
            margin: 0 0.3rem;
            color: #888;
            font-size: 1.2em;
            color: #e63333 !important;
        }


.my-tabs-container {
    width: 100%;
}

.my-tabs {
    display: flex;
    gap: 8px;
}

.my-tab {
    padding: 10px 16px;
    cursor: pointer;
    border: none;
    background: none;
    font-weight: bold;
    border-bottom: none;
}

    .my-tab.active {
        background-color: white;
        border: 1px solid #ccc;
        border-bottom: none;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        position: relative;
        top: 1px; /* pour couvrir la ligne de la barre */
    }

.my-tab-bar {
    height: 1px;
    background-color: #ccc;
    margin-top: -1px;
}

