﻿/* --- Hiérarchie des boutons d'action dans les listes (tables) --- */

/* Reset : toutes les actions de ligne deviennent des boutons discrets par défaut */
.btn-row-action {
    border: 1px solid transparent;
    background: transparent;
    color: #777;
    box-shadow: none;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

    .btn-row-action:hover,
 .btn-row-action:focus {
    background-color: #f4f4f4;
    color: #333;
}

/* Modifier : action principale mais non destructive -> outline discret */
 .btn-row-action.btn-edit {
    border-color: #d2d6de;
    color: #555;
}

 .btn-row-action.btn-edit:hover {
    background-color: #f9f9f9;
    border-color: #b7bac1;
    color: #222;
}

/* Copier / Imprimer : actions secondaires, quasi invisibles au repos */
 .btn-row-action.btn-copy,
 .btn-row-action.btn-print {
    color: #999;
}

 .btn-row-action.btn-copy:hover,
 .btn-row-action.btn-print:hover {
    background-color: #eef4fb;
    color: #3c8dbc; /* bleu AdminLTE, cohérent avec la marque */
}

/* Supprimer : seule action destructive, garde une couleur d'alerte franche */
 .btn-row-action.btn-delete {
    color: #dd4b39; /* rouge AdminLTE "danger" */
}

 .btn-row-action.btn-delete:hover,
 .btn-row-action.btn-delete:focus {
    background-color: #dd4b39;
    color: #fff;
    border-color: #dd4b39;
}

/* Icônes seules : espacement propre si le texte est masqué */
 .btn-row-action .fa,
 .btn-row-action .glyphicon {
    margin-right: 0;
}

.navbar-nav > li.parking-user-info {
    height: 50px;
    display: flex;
    align-items: center;
}

.navbar-nav > li.parking-user-info > a {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: 100%;
}

.navbar-nav > li.parking-user-info > a > .fa-user {
    font-size: 16px;
    line-height: 1;
}

.parking-user-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.2;
}

.parking-user-text small {
    line-height: 1;
    opacity: 0.75;
    font-size: 11px;
}

.scrollable-panel {
    max-height: 50vh;
    overflow-y: scroll;
}

.scrollable-panel .vesta-tbl {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.scrollable-panel .vesta-tbl thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #fff;
    box-shadow: inset 0 -1px 0 var(--border, #ddd);
}

.node-has-qty-inside {
    box-shadow: inset 3px 0 0 0 #0d6efd;
}

.node-has-qty-inside > .expand-icon {
    color: #0d6efd;
}

.tree-toolbar .btn.active {
    background-color: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
}

.path-leaf {
    background-color: #fff3cd;
    color: #856404;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
}

.path-node {
    color: #6c757d;
}

.path-sep {
    color: #adb5bd;
}

.stats-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 25px;
    margin-bottom: 20px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,.08);
}

.stats-label {
    color: #777;
    font-size: 16px;
}

.stats-value {
    font-size: 48px;
    font-weight: bold;
}

.btn-action {
    width: 100%;
    height: 110px;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 600;
    background-color: #fff;
    border-width: 3px;
    border-style: solid;
    transition: all .2s ease;
}

.btn-sortie {
    color: #d9534f;
    border-color: #d9534f;
}

.btn-sortie:hover,
.btn-sortie:focus {
    background-color: #d9534f;
    color: #fff;
}

.btn-retour {
    color: #5cb85c;
    border-color: #5cb85c;
}

.btn-retour:hover,
.btn-retour:focus {
    background-color: #5cb85c;
    color: #fff;
}

.stockGrid {
    display: grid;
    grid-template-columns: 13fr 13fr 20fr 5fr;
    align-items: center;
    gap: 8px;
}

.stockRow {
    width: 33%;
}

.stockStat {
    display: flex;
    align-items: baseline;
    gap: 7px;
    white-space: nowrap;
}

.stockStat .val {
    font-size: 13px;
    font-weight: 500;
    color: #333;
}

.stockStat .lbl {
    font-size: 11px;
    color: #999;
}

.treeBadgeQtyStd {
    border-radius: 8px;
    justify-self: start;
    padding: 2px 8px;
    background: rgba(245, 244, 237, 1);
    color: rgb(61, 61, 58) !important;
}

.treeBadgeQtyRed {
    border-radius: 8px;
    justify-self: start;
    padding: 2px 8px;
    background: rgb(247, 236, 236);
    color: rgba(127, 44, 40, 1) !important;
}

.treeBadgeQtyBlue {
    border-radius: 8px;
    justify-self: start;
    padding: 2px 8px;
    background: rgb(214, 228, 246);
    color: rgb(50, 102, 173) !important;
}

.treeBadgeQtyGreen {
    border-radius: 8px;
    justify-self: start;
    padding: 2px 8px;
    background: rgb(233, 241, 220);
    color: rgb(38, 91, 25) !important;
}


    .select2-container--default .select2-search--dropdown .select2-search__field {
        width: 100% !important;
        max-width: 100%;
    }

    .badge-success {
        background-color: #5cc45e !important;
    }

    .badge-warning {
        background-color: #f89406 !important;
    }

    .badge-error {
        background-color: #b94a48 !important;
    }

    button.close {
        opacity: .4 !important;
    }

        button.close > span {
            color: white !important;
        }

    .badge2 {
        background-color: forestgreen !important;
        display: inline-block;
        min-width: 10px;
        padding: 3px 7px;
        font-size: 12px;
        font-weight: bold;
        line-height: 1;
        color: #fff;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        border-radius: 10px;
    }

    .badgeNeedColor {
        background-color: #337ab7 !important;
    }

    .badge3 {
        background-color: red !important;
        display: inline-block;
        min-width: 10px;
        padding: 3px 7px;
        font-size: 12px;
        font-weight: bold;
        line-height: 1;
        color: #fff;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        border-radius: 10px;
    }

    .main-sidebar {
        z-index: 0 !important;
    }

    #UserManualDiv {
        position: fixed;
        z-index: 100;
        bottom: 0;
        width: 230px;
        text-align: center;
    }

    body {
        /*padding-top: 50px;
    padding-bottom: 20px;*/
        background: #222 !important;
    }
    /* Set padding to keep content from hitting the edges */
    .body-content {
        padding-left: 15px;
        padding-right: 15px;
    }
    /* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
    .dl-horizontal dt {
        white-space: normal;
    }
    /* Set width on the form input elements since they're 100% wide by default */
    input,
    select,
    textarea {
        max-width: 280px;
    }

    
    /* Do not waste 50px in xs screens with the navbar plus toggle button */
    @media (max-width: 767px) {
        .main-header .navbar {
            margin: 0px !important;
            margin-top: -50px !important;
            width: 40px !important;
        }

        .main-sidebar, .left-side {
            margin-top: -50px !important;
        }

        .skin-black-light .main-header > .navbar > .sidebar-toggle {
            color: #eee !important;
            border-right: 1px solid #222 !important;
            background-color: #222 !important;
        }

            .skin-black-light .main-header > .navbar > .sidebar-toggle:hover {
                background-color: #222;
            }
    }

    a:hover, a:visited, a:link, a:active {
        text-decoration: none !important;
    }

    input,
    .input-group {
        max-width: 280px;
    }

    .table th {
        cursor: pointer;
    }

    .node-tree {
        padding: 5px 15px !important;
    }

    .hdn-asset-loc {
        font-size: x-small;
        float: right;
        /*color: #f39c12 !important;*/
    }
    /* loader */
    #loader {
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 9999;
        margin: -75px 0 0 -75px;
        border: 16px solid #f3f3f3;
        border-radius: 50%;
        border-top: 16px solid #dd4b39;
        width: 120px;
        height: 120px;
        -webkit-animation: spin 2s linear infinite;
        animation: spin 2s linear infinite;
    }

    @-webkit-keyframes spin {
        0% {
            -webkit-transform: rotate(0deg);
        }

        100% {
            -webkit-transform: rotate(360deg);
        }
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .animate-bottom {
        position: relative;
        -webkit-animation-name: animatebottom;
        -webkit-animation-duration: 1s;
        animation-name: animatebottom;
        animation-duration: 1s
    }

    @-webkit-keyframes animatebottom {
        from {
            bottom: -100px;
            opacity: 0
        }

        to {
            bottom: 0px;
            opacity: 1
        }
    }

    @keyframes animatebottom {
        from {
            bottom: -100px;
            opacity: 0
        }

        to {
            bottom: 0;
            opacity: 1
        }
    }

    .pagination {
        margin: 0 !important;
    }

        .pagination > li > a {
            padding: 4px 12px !important;
            color: #333 !important;
            border-color: #ccc !important;
        }

        .pagination > li > a {
            padding: 4px 12px !important;
            color: #333 !important;
            border-color: #ccc !important;
        }

        .pagination > .active > a {
            background: #dd4b39 !important;
            color: white !important;
            border-color: #dd4b39 !important;
        }

    hr {
        margin-top: 10px !important;
        margin-bottom: 15px !important;
    }

    .list-group-item {
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
        overflow-x: hidden !important;
    }

    .list-group-item2 {
        position: relative;
        display: block;
        padding: 10px 15px;
        margin-bottom: -1px;
        background-color: #fff;
        border: 1px solid #ddd;
    }

    .modal-title {
        /*white-space: nowrap !important;*/
        text-overflow: ellipsis !important;
        overflow-x: hidden !important;
    }

    .overlay-wrapper > .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    /* Add a big red border around a div */
    .border-red-5px {
        box-shadow: 0px 0px 0px 5px red;
        border-radius: 0 !important;
    }


    li.subElements {
        list-style-type: none;
        cursor: pointer;
    }

        li.subElements > div:hover, li.subElements.active > div {
            background: #f4f4f4;
        }
    /* 
    Allow all columns in a same row to have the same height 
    Used first time in the dashboard to avoid strange tile arrangement
*/
    @media (min-width: 768px) {
        .row.equal {
            display: flex;
            flex-wrap: wrap;
        }
    }

    @media (max-width: 767px) {
        .iconContainer {
            display: initial !important;
        }

        .small-box .icon {
            display: initial !important;
        }

        .main-header .navbar {
            background-color: #333 !important;
            width: 43px !important;
        }

            .main-header .navbar .sidebar-toggle {
                color: white !important;
                border-right: none !important;
            }

                .main-header .navbar .sidebar-toggle:hover {
                    background-color: #444 !important;
                }
    }

    .bg-asparagus {
        color: #fff;
        background-color: #83b13b;
    }

    .small-box h3 {
        font-size: 34px !important;
        overflow: hidden !important;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    @media (max-width: 367px) {
        .small-box h3 {
            font-size: 28px !important;
        }
    }

    .small-box h4 {
        font-size: 25px !important;
        margin-top: 0;
        margin-bottom: 0;
        overflow: hidden !important;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: left;
    }

    .multiValue {
        padding: 0 20px 0 13px;
    }

    .deviceBadge {
        -webkit-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
        position: absolute;
        top: -10px;
        right: -10px;
        background-color: red;
        padding: 5px 11px;
        border-radius: 100%;
        z-index: 12;
        color: white;
        font-weight: bold;
        cursor: pointer;
    }

        .deviceBadge:hover {
            padding: 6px 12px;
            font-size: 16px;
        }

    .deviceMask {
        height: 100%;
        width: 100%;
        background-color: black;
        opacity: 0.15;
        position: absolute;
        z-index: 10;
        border-radius: inherit;
    }

    .small-box {
        cursor: default;
    }

        .small-box:hover .deviceMask {
            opacity: 0;
        }

        .small-box:hover .iconContainer {
            color: rgba(255, 255, 255, 0.6) !important;
        }

    .inner:not([role='listbox']) {
        overflow: hidden !important;
        text-overflow: ellipsis;
        white-space: nowrap;
        z-index: 5;
        position: relative;
        display: block;
        /*height: 90px !important;*/
        z-index: 11;
    }

    .iconContainer {
        position: relative;
        overflow: hidden;
        margin-top: 10px;
        color: rgba(0,0,0,0.25) !important;
    }

    .small-box-footer {
        text-align: left;
        padding-right: 10px !important;
        padding-left: 10px !important;
        height: 50px;
    }

    .deviceName {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 100%;
        float: left;
        text-align: left;
    }
    /*
.optionIconContainer {
    position: absolute;
    width: 100%;
    text-align: right;
    padding-right: 20px;
}
*/
    .tileOptionIcon {
        cursor: pointer;
    }

    .small-box-footer:hover .deviceMask {
        opacity: 0;
    }
    /* Password checker */
    .req-container ul {
        list-style-type: none;
        padding: 0px;
    }

        .req-container ul li {
            font-size: 18px;
            padding: 2.5px 0px;
        }

            .req-container ul li .glyphicon {
                transition: all 0.75s ease;
                float: left;
            }

                .req-container ul li .glyphicon.invalid {
                    color: #c0392b;
                }

                .req-container ul li .glyphicon.valid {
                    color: #27ae60;
                    font-size: 22.5px;
                    -webkit-transform: rotate(360deg);
                }

    .req-container {
        float: left;
        padding-left: 15px;
    }
    /*Modals*/
    .modal-header {
        background-color: #333333 !important;
        border: 1px solid #333333;
        color: white !important;
        /*border-top-right-radius: inherit;
    border-top-left-radius: inherit;*/
    }

    #LinkDeviceToDashboardsModal .modal-body {
        max-height: 700px;
        overflow-y: auto;
        padding: 0 15px !important;
        display: block;
        display: inline-block;
        width: 100%;
    }

        #LinkDeviceToDashboardsModal .modal-body .form-group {
            width: 50%;
            float: left;
        }

        #LinkDeviceToDashboardsModal .modal-body label {
            width: 165px;
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
            padding-top: 10px;
        }

    #RegisterDeviceIOTUsersModal .modal-body {
        max-height: 700px;
        overflow-y: auto;
        padding: 0 15px !important;
        display: block;
        display: inline-block;
        width: 100%;
    }

        #RegisterDeviceIOTUsersModal .modal-body .form-group {
            width: 50%;
            float: left;
        }

        #RegisterDeviceIOTUsersModal .modal-body label {
            width: 165px;
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
            padding-top: 10px;
        }

    @media (max-height: 600px) {
        #LinkDeviceToDashboardsModal .modal-body {
            max-height: 370px;
        }

            #LinkDeviceToDashboardsModal .modal-body .form-group {
                width: 100%;
            }

            #LinkDeviceToDashboardsModal .modal-body label {
                width: 100%;
            }

        #RegisterDeviceIOTUsersModal .modal-body {
            max-height: 370px;
        }

            #RegisterDeviceIOTUsersModal .modal-body .form-group {
                width: 100%;
            }

            #RegisterDeviceIOTUsersModal .modal-body label {
                width: 100%;
            }
    }
    /*.modal-backdrop {
    background-color: #222d32 !important;
    opacity: 1 !important;
}*/
    /*Quicksearch*/
    .quicksearchWrapper {
        position: relative;
        margin-bottom: 15px;
    }

    .searchIcon {
        width: 34px;
        height: 34px;
        background-color: orange;
        float: left;
        color: white;
        font-size: 20px;
        padding: 3px 0 0 8px;
        position: absolute;
        border-bottom-left-radius: 10px !important;
        border-top-left-radius: 10px !important;
    }

    .search-box {
        width: 80%;
        border: 1px solid #ccc;
        outline: 0;
        border-radius: 15px;
        box-sizing: border-box;
        max-width: none !important;
        width: 100%-34px;
        padding-left: 40px !important;
        border-radius: 10px !important;
    }

        .search-box:focus {
            box-shadow: 0 0 15px 5px #b0e0ee;
            border: 2px solid #bebede;
        }

    .close-icon {
        position: absolute;
        padding-top: 2px;
        right: 7px;
        top: 7px;
        border: none;
        height: 20px;
        width: 20px;
        border-radius: 100%;
        outline: none;
        text-align: center;
        font-weight: bold;
        font-size: 13px;
        color: white;
    }
    /*All sensors button*/
    #toggleAllSensorsButton {
        background-color: #EEEEEE;
        border-radius: 10px;
        height: auto;
        text-align: center;
        cursor: pointer;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        margin-bottom: 10px;
    }

    .mapIcon {
        width: 40px;
        height: 40px;
        background-color: #00c0ef;
        float: left;
        color: white;
        font-size: 25px;
        padding: 5px 0 0 1px;
        position: absolute;
        border-bottom-left-radius: 10px !important;
        border-top-left-radius: 10px !important;
    }

    .buttonTxt {
        padding: 10px;
        margin-left: 40px;
        height: auto;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #toggleAllSensorsButton:hover {
        color: white;
        background-color: #00c0ef;
    }
    /*--------------------------------------- Filter checkboxes*/
    #filterCheckboxesWrapper {
        margin: 0 0 10px 15px;
    }

    .filterCheckbox {
        display: inline-block;
        position: relative;
        padding-left: 35px;
        margin: 0 10px 12px 0;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        font-weight: normal !important;
    }

        .filterCheckbox input {
            position: absolute;
            opacity: 0;
            cursor: pointer;
            height: 0;
            width: 0;
        }

    .checkmark {
        position: absolute;
        top: 0;
        left: 0;
        height: 25px;
        width: 25px;
        background-color: #eee;
    }

    .filterCheckbox:hover input ~ .checkmark {
        background-color: #ccc;
    }

    .filterCheckbox input:checked ~ .checkmark {
        background-color: orange;
    }

    .checkmark:after {
        content: "";
        position: absolute;
        display: none;
    }

    .filterCheckbox input:checked ~ .checkmark:after {
        display: block;
    }

    .filterCheckbox .checkmark:after {
        left: 9px;
        top: 5px;
        width: 7px;
        height: 13px;
        border: solid white;
        border-width: 0 3px 3px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    /*--------------------------------------- MOBILE*/
    /*Button header*/
    .logoutSection {
        visibility: hidden;
    }

    @media (max-width: 767px) {
        .logoutSection {
            visibility: visible;
        }
    }

    @media (max-width: 1035px) {
        .box-header #dashboardName {
            width: 100%;
            padding-bottom: 10px;
            border-bottom: 1px solid #EEEEEE;
        }
    }

    @media (max-width: 900px) {
        .box-header .btn-group {
            display: block;
            float: left;
            margin: 10px 4px 0 0 !important;
        }

            .box-header .btn-group button {
                max-width: 33px;
                max-height: 33px;
                padding-left: 8px;
            }

        .box-header .btn-sm {
            float: right;
            margin: 10px 4px 0 0 !important;
            text-overflow: ellipsis;
        }

            .box-header .btn-sm span {
                display: none;
            }

        .mainTools {
            position: initial !important;
            float: none !important;
        }
    }
    /*Charts*/
    @media (max-width: 991px) {
        #charts-container, #mainContentBox, #leftContentBox {
            padding: 0;
        }

            #charts-container .ng-scope {
                padding: 0;
            }

        .barChartDiv canvas {
            padding: 0;
        }

        .bar-legend {
            width: auto;
            float: right;
            margin: 0 0 0 10px !important;
            text-align: left !important;
        }

        .chart-legend li {
            display: block !important;
        }

        .chart-outer-div .sensor-heading {
            font-size: 23px;
            margin-bottom: 15px;
        }

        #leftContentBox a {
            padding: 10px 0 10px 0;
        }
    }

    @media (max-width: 407px) {
        .bar-legend {
            margin-top: 10px !important;
        }
    }

    @font-face {
        font-family: 'OCR A Std';
        src: url('../OCR A Std Regular.ttf') format('truetype');
    }

    .always-top.affix {
        top: 25px;
    }

    .locationSubtitle:before {
        content: '' !important;
    }

    .bs-example {
        position: relative;
        padding: 45px 15px 15px;
        margin: 0 -15px 15px;
        /*
    border-color: #e5e5e5 #eee #eee;
    border-style: solid;
    border-width: 1px 0;
    -webkit-box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
    box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
    */
    }
        /* Echo out a label for the example */
        .bs-example:after {
            position: absolute;
            top: 15px;
            left: 15px;
            font-size: 12px;
            font-weight: bold;
            color: #959595;
            text-transform: uppercase;
            letter-spacing: 1px;
            content: attr(data-content);
        }
    /*
     * Callouts
     *
     * Not quite alerts, but custom and helpful notes for folks reading the docs.
     * Requires a base and modifier class.
     */
    /* Common styles for all types */
    .bs-callout {
        padding: 20px;
        margin: 20px 0;
        border: 1px solid #eee;
        border-left-width: 5px;
        border-radius: 3px;
    }

    .bs-callout h4 {
        margin-top: 0;
        margin-bottom: 5px;
    }

    .bs-callout p:last-child {
        margin-bottom: 0;
    }

    .bs-callout code {
        border-radius: 3px;
    }
    /* Tighten up space between multiple callouts */
    .bs-callout + .bs-callout {
        margin-top: -5px;
    }

    /* Variations */
    .bs-callout-danger {
        border-left-color: #ce4844;
    }

    .bs-callout-danger h4 {
        color: #ce4844;
    }

    .bs-callout-warning {
        border-left-color: #aa6708;
    }

    .bs-callout-warning h4 {
        color: #aa6708;
    }

    .bs-callout-info {
        border-left-color: #1b809e;
    }

    .bs-callout-info h4 {
        color: #1b809e;
    }

    .bs-callout-success {
        border-left-color: #449d44;
    }

    .bs-callout-success h4 {
        color: #449d44;
    }

    #gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .gallery-item {
        flex: 1 1 calc(33.333% - 10px);
        /*width: 13vw;*/
        height: 15rem;
        margin: 0;
        position: relative;
        overflow: hidden;
        border: 1px solid #ddd;
        border-radius: 5px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        transition: transform 0.3s ease-in-out;
        float: left;
        box-sizing: border-box;
    }

    .gallery-item:hover {
        transform: scale(1.05);
    }

    .gallery-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        cursor: pointer;
        transition: filter 0.3s ease;
        box-sizing: border-box;
    }

    .gallery-item:hover .gallery-img {
        filter: brightness(50%);
    }

    .gallery-metadata {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 20%;
        box-sizing: border-box;
        display: inline-block;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        padding: 5px;
        color: black;
        z-index: 1;
        pointer-events: none;
        background: rgb(60, 60, 60);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: bold;
    }

    @media only screen and (max-width: 795px) {
        .gallery-item {
            /*display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;*/
            flex: 1 1 100%;
        }
    }

    .gallery-placeholder {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200% 100%;
        animation: loadingShimmer 1.5s infinite;
        border-radius: 5px;
    }

    @keyframes loadingShimmer {
        0% {
            background-position: -200% 0;
        }

        100% {
            background-position: 200% 0;
        }
    }

    .full-screen-container {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.9);
        justify-content: center;
        align-items: center;
        z-index: 9998;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        cursor: zoom-out;
    }

    .full-screen-caption {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 7vh;
        z-index: 9999;
        color: white;
        background-color: rgba(0, 0, 0, 0.5);
        padding-left: 50px;
        padding-top: 15px;
        font-size: 24px;
        box-sizing: border-box;
    }

    .full-page-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #222d32; /* Semi-transparent black */
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 9999; /* Higher than any other element */
    }
    /*Images archive*/
    .main-image-wrapper {
        display: flex;
        justify-content: center; /* Centre l'image horizontalement */
        align-items: center;
        height: 400px; /* Hauteur fixe pour éviter l’agrandissement du panel */
        overflow: hidden;
        padding: 10px;
    }

    .main-image {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain; /* Ajuste l'image sans la déformer */
        border-radius: 5px;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
        cursor: pointer;
    }

    .thumbnail-container {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
        width: 100%;
        max-width: 650px;
        margin: auto;
    }

    .thumbnail-wrapper {
        display: flex;
        overflow-x: auto;
        scroll-behavior: smooth;
        max-width: 100%;
        padding: 5px;
    }

        .thumbnail-wrapper::-webkit-scrollbar {
            height: 10px; /* Épaisseur de la barre */
        }

        .thumbnail-wrapper::-webkit-scrollbar-track {
            background: #f1f1f1; /* Couleur de l’arrière-plan */
            border-radius: 10px;
        }

        .thumbnail-wrapper::-webkit-scrollbar-thumb {
            background: #888; /* Couleur de la barre */
            border-radius: 10px;
            transition: background 0.3s ease-in-out;
        }

            .thumbnail-wrapper::-webkit-scrollbar-thumb:hover {
                background: #555; /* Changement de couleur au survol */
            }

    .thumbnail-item {
        flex: 0 0 auto;
        margin: 0 5px;
        cursor: pointer;
    }

    .thumbnail-img {
        width: 80px;
        height: 60px;
        object-fit: cover;
        border-radius: 5px;
        transition: transform 0.2s;
    }

        .thumbnail-img:hover {
            transform: scale(1.1);
        }

    .thumbnail-title {
        margin-top: 5px;
        font-size: 12px;
        color: #333;
        text-align: center;
        max-width: 80px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .image-placeholder {
        width: 100%;
        height: 100%;
        background: linear-gradient( 90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75% );
        background-size: 200% 100%;
        animation: loadingShimmer 1.5s infinite;
        border-radius: 5px;
    }

    @keyframes loadingShimmer {
        0% {
            background-position: -200% 0;
        }

        100% {
            background-position: 200% 0;
        }
    }
    /* Interventions (Clearstream) */
    .itv-image-container {
        position: relative;
        display: inline-block;
    }

        .itv-image-container img {
            display: block;
        }

    .delete-itv-img {
        position: absolute;
        top: 10px;
        right: 5px;
        background-color: red;
        color: white;
        font-size: 20px;
        font-weight: bold;
        width: 24px;
        height: 24px;
        text-align: center;
        line-height: 24px;
        border-radius: 50%;
        cursor: pointer;
        display: none;
    }

    .itv-img-spinner {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 40px;
        height: 40px;
        margin-top: -20px; /* Centrer verticalement */
        margin-left: -20px; /* Centrer horizontalement */
        border: 4px solid rgba(255, 255, 255, 0.3);
        border-top-color: #fff;
        border-radius: 50%;
        animation: spin 1s linear infinite;
        display: none; /* Caché par défaut */
    }

    @keyframes spin {
        from {
            transform: rotate(0deg);
        }

        to {
            transform: rotate(360deg);
        }
    }

    .itv-image-container:hover .delete-itv-img {
        display: block;
    }

    a.disabled {
        pointer-events: none;
        opacity: 0.5;
    }

    .treeview-disabled {
        pointer-events: none;
        opacity: 0.6;
        cursor: not-allowed;
    }

    .vesta-tbl-wrap {
        overflow-x: auto;
    }

    .vesta-tbl {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
        border: 1px solid #ddd;
    }

        .vesta-tbl thead th {
            font-size: 11px;
            font-weight: 600;
            color: #777;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            padding: 7px 10px;
            border-bottom: 1px solid #ddd;
            background: #f9f9f9;
            text-align: left;
            white-space: nowrap;
        }

        .vesta-tbl tbody tr {
            border-bottom: 1px solid #f0f0f0;
            cursor: pointer;
            transition: background 0.1s;
        }

        .vesta-tbl > tbody > tr:nth-of-type(odd) {
            background-color: #f9f9f9;
        }

        .vesta-tbl tbody tr:hover {
            background: #f5f5f5;
        }

        .vesta-tbl tbody td {
            padding: 8px 10px;
            vertical-align: middle;
        }
    /*.vesta-tbl > tbody > tr:hover {
    background-color: #fff7d1;
}*/

/*Boutons à droite des inputs dans les formulaires asset edit et catalogItem edit*/
.flex-container {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 3px;
}

.flex-grow {
    flex-grow: 1;
    min-width: 0;
}

.maxWidth {
    max-width: 100%;
}