

.hidden,
.hide {
    display: none !important;
}

button.btn-check {
    position: static;
    clip: unset;
    pointer-events: auto;
}

.nav > li > a {
    display: block;
}

.navbar-expand-lg .navbar-nav > li {
    display: flex;
    align-items: stretch;
}

.form-inline {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 8px;
}
.form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
}
.form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
}
.form-inline .btn {
    flex: 0 0 auto;
}

/* BS5 navbar-collapse : forcer visibilité desktop quand expand-lg actif */
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }
    .navbar-expand-lg .navbar-toggler,
    .navbar-expand-lg .navbar-toggle {
        display: none !important;
    }
}

/* Bootstrap Table 1.22.4 — alignement toolbar BS5 */
.fixed-table-toolbar .btn-group {
    display: inline-flex;
}

.btn-block {
    display: block !important;
    width: 100% !important;
}

/* BS3 responsive visibility utilities → supprimées en BS5 */
@media (max-width: 767.98px) {
    .hidden-xs { display: none !important; }
    .visible-sm, .visible-md, .visible-lg { display: none !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .hidden-sm { display: none !important; }
    .visible-xs, .visible-md, .visible-lg { display: none !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .hidden-md { display: none !important; }
    .visible-xs, .visible-sm, .visible-lg { display: none !important; }
}
@media (min-width: 1200px) {
    .hidden-lg { display: none !important; }
    .visible-xs, .visible-sm, .visible-md { display: none !important; }
}

.float-left  { float: left !important; }
.float-right { float: right !important; }

/* */

.file-row img.img-mini {
    width: 100px;
    margin: 0;
    margin-left: 1em;
}

.padding-l-0 {
    padding-left: 0px !important;
}

.padding-b-12 {
    padding-bottom: 12px !important;
}

.text-left .form-control {
    display: inline-block;
    vertical-align: middle;

}

.titre-main-profil {
    text-transform: uppercase;
    font-size: 20px;
    text-align: center;
    margin: 25px 0 25px 0;
    color: #333e48;
}

.text-left .text-right {
    display: inline-block;
    float: right;
}

.text-right .opened {
    min-width: 185px;

}

#pharmacieFax, #pharmacieTel {
    -moz-appearance: textfield;
}

#pharmacieFax::-webkit-inner-spin-button, #pharmacieTel::-webkit-inner-spin-button {
    display: none;
}

#pharmacieFax #pharmacieTel::-webkit-outer-spin-button,
#pharmacieFax #pharmacieTel::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.declineForm .opened {
    min-width: 185px;

}

.declineForm {
    display: inline-block;
    margin-left: 8px;
}

.chatForm, .declineForm {
    display: inline-block; /* or inline */
}

.text-left .text-right .idOptions {
    height: 32px;
    font-size: 13px;
    padding-left: 20px;
    color: #8e8e8e;
    width: 134px;
    margin-left: 20px;
    border: none;
    border-radius: 0;
    background-color: #f2f2f2;
    box-shadow: none;
    -webkit-box-shadow: none;

}

.declineForm .idOption {
    height: 32px;
    font-size: 13px;
    padding-left: 20px;
    color: #8e8e8e;
    width: 128px;
    margin-left: 2px;
    border: none;
    border-radius: 0;
    background-color: #f2f2f2;
    box-shadow: none;
    -webkit-box-shadow: none;

}

/*#formFindByCodeClient {
    top: -10px;
    position: relative;
    display:inline;
}*/


@font-face {
    font-family: Montserrat;
    src: url("fonts/montserrat.ttf");
    font-weight: normal;
}

@font-face {
    font-family: Montserrat;
    src: url("fonts/montserrat-bold.ttf");
    font-weight: bold;
}

@font-face {
    font-family: Montserrat;
    src: url("fonts/montserrat-bolder.ttf");
    font-weight: 900;
}

body {
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 14px;
    width: 100%;
    height: 90vh;
    color: #8e8e8e;
    overflow-x: hidden;
}

.background-blanc-plein {
    background-color: white !important;
}

.front .container {
    margin-bottom: 27px;
}

p {
    color: #333e48;
}

a {
    cursor: pointer;
}


.container-margin {
    padding-top: 30px;
    padding-bottom: 50px;
}

.front .main-container {
    max-width: 1050px;
}

.admin .main-container {
    max-width: 700px;
}

.homepage .footer,
.login-admin .footer {
    color: #C0C4C7;
    background-color: #ffffff;
}

.footer {
    position: fixed !important;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    color: #A5A5A5;
    background: #fff;
    border-top: 1px solid #eee;
    padding: 8px 0;
    font-size: 12px;
    z-index: 1000;
}

body {
    padding-bottom: 38px !important;
}

.footer-accueil {
    margin-top: 50px;
    padding: 5px 0px 5px 0px;
    /*bottom: 0;*/
    /*position: absolute;*/
    /*background-color: #f5f5f5;*/
    /*color: #8e8e8e;*/
    width: 100%;
    text-align: center;
    /*font: normal normal normal 11px/17px Tahoma;*/
    /*letter-spacing: 0.82px;*/
    color: #A5A5A5;
    position: absolute;
    bottom: 0;
}

.footer-pic {
    width: 100%;
}

.special-height-for-main {
    min-height: 74vh;
}

.uppercase {
    text-transform: uppercase;
}

.hr {
    height: 1px;
    font-size: 1px;
    border-top: 1px solid #f2f2f2;
    margin-top: 40px;
    margin-bottom: 20px;
}

/* ===== Scrollbar CSS ===== */
/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: #161616 #eeeeee;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
    width: 16px;
}

*::-webkit-scrollbar-track {
    background: #eeeeee;
}

*::-webkit-scrollbar-thumb {
    background-color: #161616;
    border-radius: 0px;
    border: 0px none #ffffff;
}


/* Volet club laiddddddddddddddddddddddaoui */


.button-top-side-decla-service {
    display: none;
}

#side_decla_service {
    position: absolute;
    max-width: 500px;
    /*height: 580px;
      border-radius: 40px; */
    background-color: white;
    border: 1px solid #0091df;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-left: 10px;
    padding-right: 20px;
    padding-bottom: 8px;
    top: 90px;
    left: 0px;
    transition: all ease 500ms;
    text-align: center;
}

#side_decla_service > .content_decla_service {
    max-width: 400px;
    padding-right: 20px;
}

.side_decla_service_closed {
    position: absolute;
    left: -402px !important;
}

.content_decla_service .login_in_service {
    top: 346px;
    left: 755px;
    width: 390px;
    padding-bottom: 8px;
    height: 142px;
    /* UI Properties */
    border: 1px solid #10394F;
    opacity: 1;
}

.content_decla_service .logged_up_service {
    margin-top: 15px;
    top: 346px;
    left: 755px;
    width: 390px;
    padding-bottom: 52px;
    height: 195px;
    /* UI Properties */
    border: 1px solid #10394F;
    opacity: 1;
}

#side_decla_service > .fa-chevron-circle-left {
    color: #005ea9;
    font-size: 20px;
    position: absolute;
    right: 3px;
    display: none;
    cursor: pointer;
}

#side_decla_service > .fa-chevron-circle-right {
    color: #005ea9;
    font-size: 20px;
    position: absolute;
    right: 3px;
    cursor: pointer;
}


/* Volet club */

#side_service {
    position: absolute;
    width: 400px;
    height: 280px;
    /*border-top-right-radius: 40px;*/
    /*border-bottom-right-radius: 40px;*/
    background-color: white;
    border: 1px solid #8e8e8e;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-left: 10px;
    padding-right: 20px;
    bottom: 150px;
    top: 90px;
    text-align: center;
    left: 0px;
    transition: all ease 500ms;
}

#side_service > .content_service {
    max-width: 400px;
    padding-right: 10px;
}

#side_service_content {
    display: block;
    width: 500px;
    height: 80px;
}

.side_service_closed {
    position: absolute;
    left: -365px !important;
    transition: all ease 500ms;
}

#side_service > .fa-chevron-circle-left {
    color: #10384f;
    font-size: 20px;
    position: absolute;
    right: 10px;
    display: none;
    cursor: pointer;
}

#side_service > .fa-chevron-circle-right {
    color: #10384f;
    font-size: 20px;
    position: absolute;
    right: 10px;
    cursor: pointer;
}

.text-volet {
    color: #10384F;
    font-size: 13px;
    line-height: 1.4em;
}

.text-volet_blue {
    color: #00BCFF;
    font-size: 14px;
    line-height: 1.2em;
}

/** CHARTRE GRAPHIQUE **/
.vert {
    color: #0091DF;
}

.gris-fonce {
    color: #333e48;
}

.gris-clair {
    color: #f2f2f2;
}

.gris {
    color: #8e8e8e !important;
}

.white {
    color: #fff;
}

.bleu {
    color: #10384f;
}

.bleu_sombre {
    color: #10384f;
}

.dashed {
    border-style: dashed;
    border-width: 1px;
}

.rouge {
    color: red;
}

.img-mini {
    border: 1px solid #8e8e8e !important;
}

/** OVERLAY **/
#overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 3;
    cursor: progress;
}

#overlayInfos {
    margin-top: 50vh;
    transform: translateY(-50%);
    z-index: 3;
    color: #fff;
    font-size: 30px;
    text-align: center;
}

/** BLOC INFO CONTRAT BOX **/
.box {
    display: table;
    width: 100%;
    height: 3em;
    background-color: #f2f2f2;
    padding-left: 30px;
    position: relative;
    margin-top: 30px;
    float: left;
    border: 1px solid #DCDBDB;
}

.box .content {
    display: table-row;
}

.box .cell {
    display: table-cell;
    vertical-align: middle;
}

.box .info-banque {
    padding-top: 5px;
    padding-bottom: 5px;
}

.box .content .icon-container,
.box .content .text-container {
    display: table-cell;
    vertical-align: middle;
}

.box .content .text-container {
    line-height: 1.5;
    padding: 10px 10px 10px 15px;
}

.box .content .icon-container {
    width: 20px;
}

.box .content .text-container .info-banque {
    padding: 0;
}

.alter {
    margin-bottom: 3px;
    color: #0091DF;
    position: relative;
}

.box.arrow-left-center:before {
    width: 12px;
    height: 12px;
    content: " ";
    position: absolute;
    left: -6px;
    top: 50%;
    border-top: 1px solid #DCDBDB;
    border-right: none;
    border-left: 1px solid #DCDBDB;
    border-bottom: none;
    margin-top: -6px;
    background-color: #f2f2f2;
    transform: rotate(-45deg);
}

.vcenter {
    vertical-align: middle;
}

/** ICONS **/
/*todo vahir : stimapi update font*/
.icon {
    display: inline-block;
    position: relative;
    top: 0;
    line-height: 1;
}

.icon-svg {
    height: 30px;
    width: 30px;
    display: inline-block;
}

#nom-famille {
    cursor: pointer;
    color: #0091DF;
    text-decoration: underline;
}

.icon-svg + span {
    display: inline-block;
    vertical-align: middle;
    line-height: 25px;
}

/** BUTTONS **/
/*todo vahir : stimapi update font*/
.sd_button {
    font-size: 20px;
    position: relative;
    top: -3px;
}

.close_modal {
    font-size: 20px;
    position: relative;
    top: -18px;
    float: right;
}

.btn {
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 18px;
    letter-spacing: 0.03em;
    transition: background-color 0.15s, border-color 0.15s, opacity 0.15s;
}

.btn-primary, .btn-secondary {
    min-width: 0;
}

.btn .btn-secondary {
    min-width: 0;
}

.btn-secondary {
    color: #10384F;
    text-transform: uppercase;
    font-weight: 600;
}
/*!* Cancel buttons that use btn-bleu-generique get white text *!
.btn-secondary.btn-bleu-generique { color: #fff !important; }*/

.btn-primary, .btn-secondary .searcher {
    min-width: 0;
}

.btn-primary, .btn-default, .btn-secondary {
    text-transform: uppercase;
}

.btn-primary, .btn-primary:hover,
.btn-primary, .btn-primary[disabled]:hover {
    background-color: var(--color-primary);
    border: 1.5px solid var(--color-primary);
    font-weight: 600;
}

.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active.focus,
.btn-primary:active:focus,
.btn-primary:active:hover,
.btn-primary[disabled].active.focus,
.btn-primary[disabled].active:focus,
.btn-primary[disabled].active:hover,
.btn-primary[disabled]:active.focus,
.btn-primary[disabled]:active:focus,
.btn-primary[disabled]:active:hover,
.open > .dropdown-toggle.btn-primary.focus,
.open > .dropdown-toggle.btn-primary:focus,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary.focus, .btn-primary:focus,
.btn-primary[disabled].focus, .btn-primary[disabled]:focus {
    color: #fff;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-primary:hover:not([disabled]) {
    background-color: #9a0c6c;
    border-color: #9a0c6c;
    opacity: 1;
}

.btn-primary.active, .btn-primary:active, .open > .dropdown-toggle.btn-primary {
    color: #fff;
    border-color: var(--color-primary);
    background: var(--color-primary) none;
}

/*.btn-secondary, .btn-secondary:hover {
    background-color: #fff;
    color: #0091DF;
    border: 2px solid #0091DF;
}*/
.btn-secondary, .btn-secondary:hover {
    background: var(--color-primary) !important;
    border: none !important;
    color: white !important;
}

.btn.new {
    display: inline-block;
    width: 150px;
    height: 35px;
    text-transform: none;
}

.btn-secondary.new {
    border: solid 1px #0091DF;
}

.btn-secondary.active.focus,
.btn-secondary.active:focus,
.btn-secondary.active:hover,
.btn-secondary:active.focus,
.btn-secondary:active:focus,
.btn-secondary:active:hover,
.open > .dropdown-toggle.btn-secondary.focus,
.open > .dropdown-toggle.btn-secondary:focus,
.open > .dropdown-toggle.btn-secondary:hover,
.btn-secondary.focus, .btn-secondary:focus {
    color: #fff;
    background-color: #0091DF;
    border-color: #0091DF;
}

.btn-secondary.active, .btn-secondary:active, .open > .dropdown-toggle.btn-secondary {
    color: #fff;
    border-color: #0091DF;
    background: #0091DF none;
}


.btn-default {
    color: #fff;
    background-color: #0091DF;
    border: 1px solid #0091DF;
    border-radius: 0;
    padding: 3px 16px;
    min-width: 125px;
}

.btn-default:hover,
.btn-default.focus,
.btn-default:focus {
    background-color: #10384F;
    border: 2px solid #2e6da4;
    color: #fff;
}

.btn-default.disabled.focus,
.btn-default.disabled:focus,
.btn-default.disabled:hover,
.btn-default[disabled].focus,
.btn-default[disabled]:focus,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default.focus,
fieldset[disabled] .btn-default:focus,
fieldset[disabled] .btn-default:hover {
    background-color: #0091DF;
    border: 2px solid #0091DF;
    color: #fff;
}

.btn-default.btn-rouge {
    color: #fff;
    background-color: #10384f;
    border: 2px solid #10384f;
}

.btn-default.btn-rouge:hover,
.btn-default.btn-rouge.focus,
.btn-default.btn-rouge:focus {
    background-color: #0091DF;
    border: 2px solid #10384f;
    color: #fff;
}

.btn-default.btn-rouge.disabled.focus,
.btn-default.btn-rouge.disabled:focus,
.btn-default.btn-rouge.disabled:hover,
.btn-default.btn-rouge[disabled].focus,
.btn-default.btn-rouge[disabled]:focus,
.btn-default.btn-rouge[disabled]:hover,
fieldset[disabled] .btn-default.btn-rouge.focus,
fieldset[disabled] .btn-default.btn-rouge:focus,
fieldset[disabled] .btn-default.btn-rouge:hover {
    background-color: #af0000;
    border: 2px solid #af0000;
    color: #fff;
}

.btn-lg {
    padding: 5px 16px;
    font-size: 16px;
}

.btn-lg .icon {
    font-size: 22px;
}

.btn > span.icon {
    left: -5px;
}

.btn + .btn {
    margin-left: 20px;
}

.btn-succession {
    text-align: center;
    margin-top: 10px;
}

.btn-import .btn {
    margin-top: 10px;
    width: 360px;
}

.btn-log-index {
    position: absolute;
    bottom: 0;
    left: 0px;
    /*padding-left: 0!important;*/
    /*padding-right: 0!important;*/
    padding: 15px 0px 15px 0px !important;
    margin: 0 !important;
    width: calc(100% - 15px);
}

.login-admin .btn-log-index {
    width: 100%;
}

.btn-log-index.first-connexion {
    width: 100%;
    background-color: #10384f;
    border-color: #10384f;
}

.btn-log-index.first-connexion:focus,
.btn-log-index.first-connexion:hover {
    text-decoration: none;
    background-color: #10384f;
    border-color: #10384f;
    outline: none;
}

.bloc_droite_login .btn-log-index.first-connexion {
    width: calc(100% - 15px);
}

.homepage-text.first-connexion {
    color: #10384f;
    font-size: 18px;
}

.homepage-text.first-connexion div {
    margin-top: 10px;
}

.homepage-text.first-connexion strong {
    font-weight: 900;
}

.homepage-primo .homepage-text {
    padding-bottom: 0;
}

.homepage .login-container label {
    position: absolute;
    left: 50px;
}

/** HEADER **/
.header-logo {
    margin-left: auto;
    margin-right: auto;
    height: 28px;
    width: auto;
}

/** MENU **/
.stim-menu.navbar {
    min-height: 45px;
    border-radius: 0;
    border: none;
    font-size: 14px;
    /* background-image: linear-gradient(to right, #10384f, 0091DF); */
    color: #ffffff;
    background-color: white;
    text-transform: uppercase;
    font-style: italic;
    border-bottom: 1px solid #10384f;
    /*transform: skewX(-45deg);*/
}

.navbar-right {
    background-color: #ffffff;
}

.stim-menu.navbar .divider-vertical {
    height: 15px;
    margin: 17px 0 0 0;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #333;
}

.stim-menu .navbar-collapse {
    color: #333;
    padding-left: 10px;
}

.stim-menu .navbar-nav > li > a {
    padding-top: 12px;
    padding-bottom: 13px;
}


.stim-menu.navbar-default .navbar-brand {
    padding: 12px;
    height: 45px;
}

.stim-menu.navbar-default .navbar-nav > li > a {
    background-color: transparent;
    color: #10384f;
    font-weight: 650;
    text-transform: uppercase;
    text-decoration: none !important;
}

.stim-menu.navbar-default .navbar-nav > li > a:hover,
.stim-menu.navbar-default .navbar-nav > li > a:focus {
    text-decoration: none !important;
}

.stim-menu.navbar-default .navbar-nav > li > a:hover {
    background-color: rgba(0, 0, 0, 0.12);
    color: #FFFFFF;
}

.stim-menu.navbar-default .navbar-nav > .open > a,
.stim-menu.navbar-default .navbar-nav > .open > a:focus,
.stim-menu.navbar-default .navbar-nav > .open > a:hover,
.stim-menu.navbar-default .navbar-nav > .dropdown > a[aria-expanded="true"],
.stim-menu.navbar-default .navbar-nav > .dropdown > a.show {
    /*
    background-color: rgba(0, 0, 0, 0.18);
    */
    color: #FFFFFF;
}

.stim-menu.navbar-default .navbar-toggle {
    border-color: transparent;
    border-radius: 0;
}

.stim-menu.navbar-default .navbar-collapse,
.stim-menu.navbar-default .navbar-form,
.stim-menu.navbar-default .navbar-toggle .icon-bar {
    border-color: #10384f;
}


/* Dropdown stim-menu — styles de base (surchargés par stim-main.css) */
.stim-menu .navbar-nav > li > .dropdown-menu {
    margin-top: 0;
}

.navbar-brand {
    color: white !important;
    background-color: #10384f;
    font-style: normal !important;
}

.stim-menu .navbar-brand-icon {
    position: relative;
    top: -7px;
    max-width: 35px;
    max-height: 35px;
    margin-right: 10px;
}


.stim-menu .navbar-toggle .icon-bar {
    background-color: #fff;
}

.stim-menu .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
    background-color: transparent;
}

.navbar-active {
    /*border-bottom: 1px solid #0091DF;*/
    box-shadow: inset 0px -4px #10384f !important;
}

/** TITRE **/

h1, h2, h3, h4, a {
    color: var(--color-primary);
    text-decoration: none;
}

a:hover {
    color: var(--color-primary);
}

h1 {
    font-size: 32px;
    text-transform: uppercase;
    margin: 15px 0;
}

h2 {
    font-size: 30px;
    text-transform: capitalize;
}

h2.strong, h3.strong {
    font-weight: 700;
}

h3 {
    font-size: 18px;
    margin-bottom: 20px;
    margin-top: 30px;
}

h3.underline {
    border-bottom: 2px solid #10384f;
    padding-bottom: 5px;
}

h3.flex {
    width: 100%;
}

.title h2 {
    margin-bottom: 5px;
}

.title h2 + h2 {
    margin-top: 0;
    margin-bottom: 30px;
}

/** GRAND TITRE **/

.grand-titre {
    display: table;
    vertical-align: middle;
    width: 100%;
    background-color: var(--color-primary);
    color: white;
    height: 45px;
    line-height: 45px;
    font-size: 14px;
    text-align: center;
    clear: both;
}

.grand-titre .grand-titre-row {
    display: table-row;
    vertical-align: middle;

}

.grand-titre .grand-titre-sub-container {
    display: table-cell;
    width: 60px;
    line-height: 20px;
    font-size: 18px;
    vertical-align: middle;
}

.grand-titre .grand-titre-sub-container .icon {
    color: white;
    top: 1px;
    font-size: 20px;
}

.grand-titre .grand-titre-title {
    display: table-cell;
    text-align: left;
    padding-left: 0;
    text-transform: uppercase;
}

.grand-titre .extra-actions {
    display: table-cell;
    width: auto;
    padding-right: 15px;
    text-align: right;
}

.grand-titre .extra-actions .btn {
    background-color: var(--color-primary);
    color: #fff;
    padding: 5px;
}

.grand-titre .extra-actions .btn + .btn {
    margin-left: 0;
}

.grand-titre .extra-actions .btn:active {
    box-shadow: none;
}

.grand-titre .extra-actions .sd_button {
    top: 0;
}

.grand-titre ~ .grand-titre {
    margin-top: 35px;
}

/** GRAND TITRE ROND **/

.grand-titre-rond {
    clear: both;
    margin: 0 0 30px 0;
}

.grand-titre-rond h2 {
    color: #10384f;
    text-transform: uppercase;
    font-family: Montserrat, sans-serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    margin-top: 10px;
}

/** GRAND TITRE SIGNATURE **/

.grand-titre-signature {
    clear: both;
    margin: 0 0 10px 0;
}

.grand-titre-signature h2 {
    color: #10384f;
    text-transform: uppercase;
    font-family: Montserrat, sans-serif;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    margin-top: 70px;
}

.grand-titre-signature span.text-signature {
    font-weight: bolder;
}

/** TITRE MULTI CONTRAT **/

.titre-moyen h2 {
    color: #10384f;
    text-transform: uppercase;
    font-family: Montserrat, sans-serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    margin-top: 20px;
}

/** TITRE SECTION (FORMULAIRE) **/

.titre-section {
    text-transform: uppercase;
    margin: 10px 0;
    color: #10384f;
    padding-left: 15px;
    clear: both;
    font-size: 16px;
}

.titre-section .icon {
    font-size: 16px;
    top: -2px;
    padding-right: 5px;
}

/** SOUS MENU **/

.sous-menu {
    margin: 15px 0 0 0;
}

.sous-menu.nav-pills > li.active > a,
.sous-menu.nav-pills > li.active > a:focus,
.sous-menu.nav-pills > li.active > a:hover {
    background-color: var(--color-primary);
    color: white;
}

.sous-menu.nav-pills > li {
    margin-right: 1%;
    min-width: 122px;
}

.sous-menu.nav-pills > li > a {
    border-radius: 0;
    color: var(--color-primary);
    padding: 7px 15px;
    border: var(--color-primary) solid 1px;
    text-align: center;
}


.form-control {
    height: 40px;
    font-size: 13.5px;
    padding-left: 14px;
    color: #1F2937;
    border: 1px solid #D0D5DD;
    border-radius: 7px;
    background-color: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.form-control:focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.10);
    outline: none;
    background-color: #fff;
}

.form-control:hover:not(:focus):not([disabled]):not([readonly]) {
    border-color: #B0B7C3;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    background-color: #F9FAFB;
    color: #9CA3AF;
    cursor: not-allowed;
    border-color: #E5E7EB;
}

.form-control::placeholder {
    color: #9CA3AF;
    font-style: italic;
}


.forgot-login .form-control {
    background-color: #ffffff !important;
}

.form-group {
    margin-bottom: 20px;

}

.form-horizontal > .form-group {
    margin-right: 0;
    margin-left: 0;

}

form.small-input .form-group {
    margin-bottom: 8px;
}

#formDetailPharmacie .form-group {
    margin-bottom: 2px !important;
    padding-left: 0;
}

form.small-input#formDetailPharmacie .form-group > div:first-child,
form.small-input#formDetailPharmacie .form-group > div:nth-child(2) {
    padding-right: 0;
}

form.small-input .form-control {
    height: 25px;
    padding-left: 10px;
    padding-top: 0;
}

form.small-input textarea.form-control {
    height: auto;
}

form.small-input .form-section {
    margin: 0 15px 30px 15px;
}


#modalbayer .form-section {
    margin: 0 15px 0px 15px;
}

/*#formProfil > div > div > div:nth-child(1) > div > div.form-section {
    margin: 25px 46px 22px 44px;

}*/

form.small-input > .form-section:first-child {
    margin-top: 15px;
}

.input-container {
    background-color: #f2f2f2;
    padding: 1%;
}

.input-container label {
    margin-left: 2%;
    font-weight: normal;
    font-size: 12px;
    margin-bottom: 0;
}

.input-container input {
    border: none;
    background-color: #f2f2f2;
    color: #001652;
    width: 50%;
    font-size: 12px;
}

.input-container input:focus {
    outline: none;
}

.input-container textarea {
    border: none;
    background-color: #f2f2f2;
    width: 100%;
    color: #001652;
}

.input-container textarea:focus {
    outline: none;
}

.form-section div.form-group {
    /*margin-bottom: 6px;*/
}

.info-tips {
    font-size: 12px;
    line-height: 20px;
    margin-top: 2px;
    /*width: 70%;*/
}

.info-tips ~ div {
    margin-top: 30px;
}

.info-tips.tips {
    margin-top: -10px;
    margin-bottom: -20px;
}

.container-declaration {
    margin-bottom: 40px;
}

.container-declaration .form-inline > * {
    margin: 5px 3px;
}

.note-titre {
    font-size: 12px;
    color: #0091DF;
    word-spacing: 4px;
}

.banque .titre-section {
    margin-bottom: 3px;
}

.banque .note-titre {
    padding-left: 5px;
}

.top-buffer {
    margin-top: 50px;
}

input[type="checkbox"] {
    vertical-align: -2px;
}

.container-fluid.container-bo,
.container.container-bo {
    margin-right: auto;
    margin-left: auto;
}

.container-bo input[type="checkbox"] + label {
    font-weight: normal;
}

input[readonly] {
    cursor: not-allowed;
}

.table_op_mobile, .table_op_mobile div.checkbox {
    margin: 0 !important;
}

.table_op_mobile > td {
    padding: 0px !important;
}

/** POPUP **/
.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
    display: block !important;
}

.confirm-modal input[type="checkbox"] + label {
    font-weight: normal;
    margin-top: 10px;
    margin-left: 5px;
}

/** SELECT2**/

.select2.select2-container .select2-selection {
    height: 34px;
    line-height: 34px;
    color: #374151;
    border: 1px solid #D0D5DD;
    border-radius: 7px;
    background-color: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.select2-container--default.select2-container--open .select2-selection {
    border-color: #B70E80 !important;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.10) !important;
}

.select2.select2-container .select2-selection span {
    height: 34px;
    line-height: 34px;
    color: #374151;
    font-size: 13.5px;
    padding-left: 10px !important;
    white-space: break-spaces;
}

/* Flèche select2 globale */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 34px;
    width: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: solid #9CA3AF;
    border-width: 0 1.5px 1.5px 0 !important;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    margin-top: -4px;
    margin-left: -4px;
    transition: transform 0.18s ease, border-color 0.15s ease;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: #B70E80;
    transform: rotate(-135deg);
    margin-top: 0px;
}

/* Dropdown panel */
.select2-dropdown {
    border: 1px solid #D0D5DD !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    overflow: hidden;
    margin-top: 3px;
}

.select2-container--open .select2-dropdown--below {
    border-top: 1px solid #E5E7EB !important;
    border-radius: 0 0 8px 8px !important;
    margin-top: 2px;
}

.select2-container--open .select2-dropdown--above {
    border-bottom: 1px solid #E5E7EB !important;
    border-radius: 8px 8px 0 0 !important;
}

/* Search box inside dropdown */
.select2-search--dropdown {
    padding: 8px;
    background-color: #FAFAFA;
    border-bottom: 1px solid #F3F4F6;
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid #D0D5DD !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    color: #374151;
    outline: none;
    transition: border-color 0.15s ease;
    width: 100%;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: #B70E80 !important;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.08) !important;
    outline: none !important;
}

/* Results */
.select2-results__options {
    max-height: 240px;
    overflow-y: auto;
}

.select2-results__option {
    font-size: 13px;
    color: #374151;
    padding: 8px 12px;
    transition: background-color 0.1s ease;
    cursor: pointer;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #FDF2FA;
    color: #B70E80;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #F3F4F6;
    color: #111827;
    font-weight: 500;
}

.select2-container--default .select2-results__option--highlighted[aria-selected=true] {
    background-color: #FCE8F6;
    color: #B70E80;
    font-weight: 500;
}

/* Multiple select — tags */
.select2-container--default .select2-selection--multiple {
    min-height: 34px;
    height: auto;
    border: 1px solid #D0D5DD;
    border-radius: 7px;
    background-color: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    padding: 2px 6px;
    line-height: initial;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #B70E80;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.10);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #FCE8F6;
    border: 1px solid #E8A4D4;
    border-radius: 5px;
    color: #8B0060;
    font-size: 12px;
    padding: 2px 8px;
    margin-top: 4px;
    margin-right: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #B70E80;
    font-weight: bold;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
    margin-right: 2px;
    margin-left: 0;
    order: -1;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #8B0060;
}

.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    font-size: 13px;
    color: #374151;
    margin-top: 4px;
}

/* Placeholder */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9CA3AF;
    font-style: italic;
}

form.form-horizontal .select2.select2-container .select2-selection {
    height: 35px;
    line-height: 35px;
}

form.form-horizontal .select2.select2-container .select2-selection.select2-selection--multiple {
    min-height: 44px;
    height: auto;
    line-height: initial;
}

form.form-horizontal .select2.select2-container .select2-selection.select2-selection--multiple .select2-search.select2-search--inline {
    margin-top: 11px;
    margin-bottom: auto;
}

form.form-horizontal .select2.select2-container .select2-selection span {
    height: 35px;
    line-height: 35px;
}

.container-bo form.form-inline .select2.select2-container {
    margin-top: 0;
}

.intmail-link-container {
    min-width: 500px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    border-radius: 0;
    background-color: transparent;
    border: none;
}

#select-marque {
    padding: 5px 10px 10px 10px;
    display: flex;
    gap: 8px;
    font-weight: 900;
    position: inherit;
    top: 15px;
    background: #EFF7FF 0 0 no-repeat padding-box;
    border-radius: 10px;
    opacity: 1;
    flex-wrap: nowrap;
    align-items: center;
}

#select-marque > select {
    background-color: white;
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #D0DFFD;
    font: normal normal normal 14px/24px Tahoma;
    letter-spacing: 0;
    color: #494949;
    opacity: 1;
}

#select-format {
    padding: 5px 10px 10px 10px;
    display: flex;
    gap: 8px;
    font-weight: 900;
    position: inherit;
    top: 15px;
    background: #EFF7FF 0 0 no-repeat padding-box;
    border-radius: 10px;
    opacity: 1;
    flex-wrap: nowrap;
    align-items: center;
}

#select-format > select {
    background-color: white;
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #D0DFFD;
    font: normal normal normal 14px/24px Tahoma;
    letter-spacing: 0;
    color: #494949;
    opacity: 1;
}

#select-type {
    padding: 5px 10px 10px 10px;
    display: flex;
    gap: 8px;
    font-weight: 900;
    position: inherit;
    top: 15px;
    background: #EFF7FF 0 0 no-repeat padding-box;
    border-radius: 10px;
    opacity: 1;
    flex-wrap: nowrap;
    align-items: center;
}

#select-type > select {
    background-color: white;
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #D0DFFD;
    font: normal normal normal 14px/24px Tahoma;
    letter-spacing: 0;
    color: #494949;
    opacity: 1;
}

.service_merch {
    white-space: nowrap;
}

/** SELECT 2 SPECIAL **/

#select2-selectFamille-container,
#select2-selectMarque-container,
#select2-selectType-container,
#select2-selectFormat-container {
    height: 31px;
    background-color: white;
    box-shadow: none;
    -webkit-box-shadow: none;


    border: 1px solid #91BFE9;
    border-radius: 5px;

    font: normal normal normal 14px/31px Tahoma;
    letter-spacing: 0;
    color: #494949;
    opacity: 1;
}

/** FIN SELECT 2 SPECIAL **/

.select-thematique-text {
    display: inline-block;
    font: normal normal normal 12px/24px Tahoma;
    letter-spacing: 0;
    color: #013F78;
    text-transform: uppercase;
    opacity: 1;
    gap: 8px;
    vertical-align: middle;
    margin: 0 !important;
    position: relative;
    top: 4px;
}

.yellow-button-check {
    background-color: var(--color-secondary);
    color: white;
    padding: 4px 7px;
    border-radius: 5px;
    margin-bottom: 2px;
    cursor: pointer;
}

/** PARSLEY ERROR **/

.parsley-errors-list {
    list-style: none;
    margin: 2px 0 0 0;
    padding-left: 15px;
}

.parsley-errors-list > li, .parsley-required {
    color: #D30F4B;
}

.form-group.input-group .form-control {
    border-right: none;
    border-bottom: 1px solid #f2f2f2;
}

.form-control[disabled] ~ .input-group-text,
.form-control[readonly] ~ .input-group-text,
fieldset[disabled] .form-control ~ .input-group-text {
    background-color: #eee;
}

/** FLASHBAG **/
.flashbag-container {
    position: fixed;
    z-index: 100000000;
    left: 50%;
    top: 25%;
    transform: translateX(-50%);
    width: 430px;
}

.flashbag-container .alert {
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    background-color: #FFFFFF;
    border: unset;
}

.flashbag-container .alert.alert-success .alert-header {
    background-color: #7AD981;
}

.flashbag-container .alert.alert-danger .alert-header {
    background-color: #FF6A6A;
}

.flashbag-container .alert.alert-info .alert-header {
    background-color: var(--color-primary);
}

.flashbag-container .alert.alert-warning .alert-header {
    background-color: #f3c508;
}

.flashbag-container .alert-header {
    height: 30px;
    display: flex;
    gap: 5px;
    justify-content: flex-start;
    align-items: center;
    padding-left: 4px;
}

.flashbag-container .alert-dismissible .close {
    position: relative;
    top: unset;
    right: unset;
    color: #FFFFFF;
    margin-left: auto;
    padding-right: 10px;
    float: unset;
    font-size: 20px;
    font-weight: bold;
    text-shadow: unset;
    opacity: 1;
}

.flashbag-container .alert-header .alert-header-text {
    font-size: 14px;
    color: #FFFFFF;
    font-weight: bold;
}

.flashbag-container .alert-body {
    padding: 10px;
    color: #343434;
    font-size: 12px;
    height: 55px;
}

.flashbag-container img {
    width: 23px;
    height: 23px;
}


/** BOOTSTRAP TABLE & TABLE **/
table {
    color: #333;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f3f3f3;
}

.table-striped > tbody > tr:nth-of-type(even) {
    background-color: #f3f3f3;
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
    border-top: 5px solid #fff;
    vertical-align: middle;
}

table.table-bordered > tbody > tr > td {
    border: 1px solid #ddd;
}

.table-declaratif {
    max-width: 600px;
}

/*.btn-import {*/
/*    width: 230px;*/
/*    padding: 10px;*/
/*}*/

.table-striped .total td {
    background-color: var(--color-primary);
    color: #fff;
    border-top: 15px solid #fff;
}


.table-stim th {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    text-align: center !important;
    letter-spacing: 0.04em;
    color: #444;
}

.tr_new {
    border: #0091DF solid 1px !important;
}

.table-grey tr {
    background-color: #f5f5f5 !important;
}

.table-grey th {
    text-transform: inherit;
}

.table-grey td {
    text-align: left;
}

/* Datatable toolbar */
.fixed-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;   /* barre d'outils à GAUCHE (maquette) : export puis recherche */
    gap: 6px;
    padding: 10px 0 12px;
}

.fixed-table-toolbar .search {
    display: flex;
    align-items: center;
}

.fixed-table-toolbar .search > .form-control {
    height: 40px;
    min-width: 260px;
    background: #fafafa;
    border: 1.5px solid #e0d8ec;
    border-radius: 20px;
    font-size: 13px;
    color: #333;
    padding: 0 18px 0 38px;
    box-shadow: none;
    transition: border-color .15s, background .15s, box-shadow .15s;
    margin-top: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b8aec8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 12px center;
}

.fixed-table-toolbar .search > .form-control:focus {
    border-color: var(--color-primary, #c0006a);
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(192, 0, 106, .08);
    outline: none;
}

.fixed-table-toolbar .search > .form-control::placeholder {
    color: #b8aec8;
    font-size: 13px;
}

/* ── Toolbar action buttons ── */
.bootstrap-table .fixed-table-toolbar .btn,
.bootstrap-table .fixed-table-toolbar .btn-default,
.bootstrap-table .fixed-table-toolbar .btn-secondary {
    background: var(--color-primary, #c0006a);
    color: #fff;
    border: none;
    border-radius: 10px;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-left: 0;
    transition: background .15s, box-shadow .15s, transform .1s;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow: 0 2px 6px rgba(192, 0, 106, .22);
}

.bootstrap-table .fixed-table-toolbar .btn:hover,
.bootstrap-table .fixed-table-toolbar .btn-default:hover,
.bootstrap-table .fixed-table-toolbar .btn-secondary:hover,
.bootstrap-table .fixed-table-toolbar .btn:focus,
.bootstrap-table .fixed-table-toolbar .btn-default:focus,
.bootstrap-table .fixed-table-toolbar .btn-secondary:focus {
    background: #8c0050;
    color: #fff;
    box-shadow: 0 4px 12px rgba(192, 0, 106, .35);
    transform: translateY(-1px);
}

.bootstrap-table .fixed-table-toolbar .btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(192, 0, 106, .2);
}

.bootstrap-table .fixed-table-toolbar .glyphicon,
.bootstrap-table .fixed-table-toolbar .fa,
.bootstrap-table .fixed-table-toolbar .fas {
    color: #fff;
    font-size: 14px;
}

.bootstrap-table .fixed-table-toolbar .caret {
    color: rgba(255, 255, 255, 0.75);
    margin-left: 2px;
    font-size: 10px;
}

.bootstrap-table .fixed-table-toolbar .btn-group {
    display: flex;
    align-items: center;
    gap: 6px;
}

.bootstrap-table .fixed-table-toolbar .btn-group > .btn-group > .btn {
    border-radius: 10px;
    min-width: unset;
    padding: 0 12px;
    height: 40px;
}

.bootstrap-table .fixed-table-toolbar .columns-right {
    margin-left: 0;
}

/* columns dropdown panel */
.fixed-table-toolbar .columns .dropdown-menu,
.fixed-table-toolbar .columns-right.dropdown-menu {
    background: #fff;
    border: 1.5px solid #ede8f5;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    padding: 6px 0;
    min-width: 180px;
}

.fixed-table-toolbar .columns label {
    font-size: 13px;
    font-weight: 400;
    color: #333;
    cursor: pointer;
    padding: 6px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background .1s;
}

.fixed-table-toolbar .columns label:hover {
    background: #faf5fc;
}

.fixed-table-toolbar .btn-group > .btn-group:first-child > .btn {
    border-radius: 10px;
}

.bootstrap-table {
    background-color: #fff;
    /*min-height: 800px;*/
}

.bootstrap-table tbody .sd_button {
    top: 0;
}

.container-reminder .bootstrap-table {
    min-height: 0;
}

.bootstrap-table .table.table-stim {
    border-collapse: collapse !important;
}

.table-stim {
    border-collapse: collapse !important;
}

.bootstrap-table .table tbody {
    text-align: center;
    vertical-align: middle;
}

.bootstrap-table .table tbody td.align-left {
    text-align: center ;
}

/*.bootstrap-table tbody a:focus,*/
/*.bootstrap-table tbody a:hover {*/
/*    color: #0091DF;*/
/*}*/

.bootstrap-table .fixed-table-container tbody tr:first-child td {
    border-top: 5px solid #fff;
}

.bootstrap-table .fixed-table-toolbar .form-control {
    font-size: 13px;
}

#formProfil > div > div > div > div > div.row.conformite-container > div > div > div.conformite-container {

    font-size: 11px !important;

}

.pagination .pagination-goto .selector {
    height: 35px;
    width: 50px;
    padding: 5px;
    text-align: center;
}

.selector:focus::placeholder {
    color: transparent;
}

.fixed-table-toolbar .columns-right {
    margin-left: 0;
}

.table-stim {
    font-size: 12px;
}

.fixed-table-container thead th .both.asc {
    background-image: url("../images/table-bootstrap/datatable-up.png") !important;
}

.fixed-table-container thead th .both.desc {
    background-image: url("../images/table-bootstrap/datatable-down.png") !important;
}

.fixed-table-container {
    border: none;
}

.fixed-table-container thead th {
    border: none;
}

.fixed-table-container thead th:first-child,
.fixed-table-container thead th:first-child:not([data-not-first-th]) {
    border-left: none;
    border-top-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    -moz-border-radius-topleft: 0;
}

.fixed-table-container tbody td {
    border-left: none;
}

.fixed-table-container .bs-checkbox .th-inner {
    padding: 8px 0;
}

.fixed-table-toolbar .btn-group > .btn-group:last-child > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.table-striped > tbody > tr:nth-of-type(odd).sesame {
    background-color: #ffd4b1;
}

.table-striped > tbody > tr:nth-of-type(even).sesame {
    background-color: #ffd4b1;
}

.table-striped > tbody > tr:nth-of-type(odd).desactive {
    background-color: #ffe0e0;
}

.table-striped > tbody > tr:nth-of-type(even).desactive {
    background-color: #ffe0e0;
}


.table-striped > tbody > tr:nth-of-type(even).ope-cloture {
    background-color: #EBF9FF;
    color: #0091DF;

}

.table-striped > tbody > tr:nth-of-type(odd).ope-cloture {
    background-color: #EBF9FF;
    color: #0091DF;

}

.page-detail-pharmacie .table-stim tr.selected.ope-cloture td {
    background-color: #EBF9FF;
}

/**Colorer les contrats annulés**/

.table-striped > tbody > tr:nth-of-type(odd).cancel {
    color: #E92346;
}

.table-striped > tbody > tr:nth-of-type(even).cancel {
    color: #E92346;
}

.page-detail-pharmacie .table-stim tr.selected.cancel td {
    background-color: #FDE8EC;
}

.unsubscribed {
    color: #E92346;

}

.ope-cloture {
    color: #0091DF;

}

.tableau_facture {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 20px;

}

#datatableFacture, #datatableFacture th {
    text-align: center;
}

/** TABLEAU ANNEXE **/

.table_annexe {
    font-size: 10px;
}

.table_annexe th {
    text-align: center;
    background-color: #3699F2;
    color: white;
    font-weight: bolder !important;
}

.table_annexe tr td {
    vertical-align: top !important;
    text-align: left;
    min-width: 10%;
}

/** PAGINATION **/

/* BS3 pagination */
.pagination > .active > a,
.pagination > .active > span {
    color: #f3f3f3 !important;
}

.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
    color: #10384f !important;
}

.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    background-color: #f3f3f3 !important;
}

.pagination > li > a {
    background-color: #f3f3f3;
}

.fixed-table-pagination {
    padding: 10px 15px;
}

.pagination > li > a, .pagination > li > span {
    color: #10384f;
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
    color: white !important;
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* BS5 pagination — Bootstrap Table 1.22.4 génère .page-item / .page-link */
.pagination .page-link {
    color: #10384f;
    background-color: #f3f3f3;
}
.pagination .page-link:focus,
.pagination .page-link:hover {
    color: #10384f !important;
}
.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:focus,
.pagination .page-item.active .page-link:hover {
    color: white !important;
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.fixed-table-pagination div.pagination, .fixed-table-pagination .pagination-detail {
    color: var(--color-primary);
}

.pagination-detail .btn {
    border-radius: 0;
    min-width: 0;
    color: #fff;
}

.pagination .pagination-goto {
    display: inline-block;
    vertical-align: top;
    height: 35px;
    margin-right: 15px;
    width: auto;
}

.pagination .pagination-goto .selector {
    height: 35px;
    width: 50px;
    padding: 5px;
    text-align: center;
}

.pagination .pagination-goto .goto-submit {
    height: 35px;
    color: #fff;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
}

/** HOMEPAGE **/
#accueil_user,
#accueil_password {
    color: #10384f;
}

.homepage #accueil_user,
.homepage #accueil_password {
    padding-bottom: 5px;
    color: #10384f;
}

.homepage-primo #accueil_user,
.homepage-primo #accueil_password {
    padding-bottom: 5px;
    color: #10384f;
}

.homepage,
.login-admin,
.forgot-login {
}

.homepage .container,
.login-admin .container {
    margin-top: 50px;
    margin-bottom: 50px;
}

.homepage .logo-bayer-overlay, .primo .logo-bayer-overlay,
.login-admin .logo-bayer-overlay {
    display: block;
    max-width: 350px;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 35px;

}

.login-admin .logo-bayer-overlay {
    width: 360px;
    margin-bottom: 50px;
}

.homepage .logo-bayer-overlay {
    width: 150px;
    margin-bottom: 50px;
}

.homepage .header-homepage p {
    width: 680px;
    font-size: 18px;
    color: #10384f;
    text-align: center;
    margin: 15px auto 35px;
}

.homepage .header-homepage p strong {
    font-weight: 900;
}

.homepage h3 {
    color: #10384f;
    font-size: 26px;
    margin-top: 0;
    margin-bottom: 0;
    letter-spacing: 2px;
}

.homepage p {
    /*color: #0091DF;*/
    margin-top: 10px;
}

.homepage-text {
    padding: 15px 0 15px 0;
    text-align: center;
}

.login-admin .login-container {
    display: block;
    background: rgba(255, 255, 255, 1);
    /*max-width: 430px;*/
    height: 100%;
    margin: auto auto auto 0px;
    padding: 20px 20px 0px 20px !important;
    /*padding: 20px 20px 239px 20px!important;*/

}

.login-admin .bloc-login-admin {
    width: 100%;
    max-width: 540px;
    margin-right: auto;
    margin-left: auto;
}

.login-admin-card {
    border: 1px solid #d8dce6;
    box-shadow: 0 0 6px #00000029;
    border-radius: 10px;
    background: #ffffff;
    padding: 20px 35px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.login-admin-title {
    font-size: 22px;
    font-weight: bold;
    color: var(--color-primary);
    text-align: center;
}

.login-admin-subtitle {
    font-size: 22px;
    font-weight: normal;
    color: var(--color-primary);
    text-align: center;
    position: relative;
    top: -5px;
}

.login-admin-text {
    text-align: center;
    font: normal normal 14px/17px Tahoma;
    letter-spacing: 0;
    color: #494949;
    margin-bottom: 0;
    position: relative;
    top: -9px;
}

.login-admin-field-wrap {
    width: 100%;
    position: relative;
}

.login-admin-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 14px;
    pointer-events: none;
    z-index: 2;
}

.login-admin-input {
    display: block;
    width: 100%;
    height: 42px;
    border: 1px solid #cdd0db;
    border-radius: 6px;
    padding: 0 40px 0 36px;
    font-size: 14px;
    color: #333;
    background: #f9f9fb;
    outline: none;
    transition: border-color .2s;
    box-sizing: border-box;
}

.login-admin-input:focus {
    border-color: var(--color-primary);
    background: #fff;
}

.login-admin-input::placeholder {
    color: #aaa;
}

.login-admin-eye.unmask,
.login-admin-eye {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    padding: 0;
    font-size: 15px;
    line-height: 1;
    z-index: 2;
}

.login-admin-btn {
    margin-top: 4px;
}

.login-admin-forgot {
    font-size: 13px;
    color: var(--color-primary) !important;
    text-decoration: underline;
    text-align: center;
}

.homepage-primo .bloc_primo_login {
    width: 500px;
    height: 272px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #0075A6;
    color: #10384F;
}

.primo-retour {
    text-align: center !important;
    font: normal normal normal 18px/50px Tahoma;
    color: #10384F;
}

.login-admin .login-container {
    position: relative;
    margin: 0;
}

.homepage #bloc_picto_portail {
    width: 40px
}

.homepage .background-right {
    background: rgba(255, 255, 255, 0.6);
}

.bloc_login {
    position: relative;
    width: 450px;
    height: 288px;
}

.bloc_droite_login {
    margin-right: 105px;
    float: right;
    color: #0091DF;
}

.bloc_gauche_login,
.bloc_primo_login {
    background: rgba(255, 255, 255, 1);
    color: #005cb9;
}

.bloc_gauche_login {
    margin-left: 105px;
    float: left;
}

.bloc_primo_login {
    margin-left: auto;
    margin-right: auto;
    height: 100px;

    /* UI Properties */
    border: 1px solid #0075A6;
    opacity: 1
}

.pharmacie-static-bancaire {
    background-color: #F2F2F2;
    padding: 5px 17px 5px 14px;
    margin-top: 12px;

}

.bloc_primo_logged {
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
    height: 288px;

    /* UI Properties */
    border: 1px solid #0075A6;
    opacity: 1
}

input.form-control.float-label-control-accueil,
.bloc_login .login-container input.form-control.float-label-control-accueil {
    filter: none;
    background-color: #F4F4F4;
}

.form-group.form-group-homepage.float-label-control-accueil {
    padding-right: 50px;
    padding-left: 50px;
}

.homepage-titre {
    text-align: center;
    font: normal normal bold 21px Tahoma, Bold;
    letter-spacing: -0.1px;
    color: #10384F;
    opacity: 1;
}

.homepage-titre-logged {
    text-align: center;
    font: normal normal bold 21px Tahoma, Bold;
    letter-spacing: -0.1px;
    color: #0091DF;
    opacity: 1;
}

.homepage-sous-titre {
    font: normal normal 21px Tahoma, Regular;
    color: #0091DF;

}

.homepage-primo .homepage-sous-titre {
    margin-bottom: 10px;
    color: #10384F;

}

.homepage-texte-1 {
    margin-top: 40px;
    font-size: 18px;
}

.homepage-texte-2 {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 215px;
    font-size: 18px;
    font-weight: 900;
}


#formLoginFront > a {
    text-align: center !important;
    font: normal normal normal 18px/30px Tahoma;
    letter-spacing: 0px;
    color: #10384F;
    opacity: 1;
}

.homepage.homepage-primo .btn-homepage {
    bottom: 75px;
}

.btn-homepage.btn-homepage-primo:focus,
.btn-homepage.btn-homepage-primo:hover {
    outline: none;
    text-decoration: none;
}

.btn-homepage-primo,
.btn-primary.btn-homepage-primo:focus,
.btn-primary.btn-homepage-primo:hover {
    background-color: #10384f;
    border-color: #10384f;
}

.btn-homepage-login,
.btn-primary.btn-homepage-login:focus,
.btn-primary.btn-homepage-login:hover {
    background-color: #0091DF;
    border-color: #0091DF;
}

.btn-homepage .btn-text {
    margin-left: 10px;
    font-size: 16px;
    font-weight: 900;
}

.btn-homepage.btn-homepage-primo .btn-text {
    position: relative;
    top: -4px;
}

.bloc_login.bloc_droite_login .login-container input.float-label-control-accueil {
    border-bottom: 2px solid #0091DF;
    color: #0091DF;
}

.btn-bleu-generique {
    /*background: #6B7280 !important;*/
    color: #fff !important;
    text-align: center !important;
    border: none !important;
    filter: none !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}
.btn-bleu-generique:hover, .btn-bleu-generique:focus {
    background: #4B5563 !important;
    color: #fff !important;
}

.btn-bleu {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/0091DF+1,0091df+85,10384f+85,10384f+100 */
    background: var(--color-primary);
    text-align: left !important;
    border: none;
}

.btn-standard, .btn-standard:hover {
    background: var(--color-primary);
    border: none !important;
    color: white !important;
    text-transform: uppercase;

}

.btn-red, .btn-red:hover {
    background: rgb(187, 7, 7); /* Old browsers */
    border: none !important;
    color: white !important;
    text-transform: uppercase;

}

.btn-vert-generique {
    background: #AFC215 !important;
    color: #fff !important;
    text-align: center !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}
.btn-vert-generique:hover, .btn-vert-generique:focus {
    background: #97A712 !important;
    color: #fff !important;
}

.btn-vert-generique-large {
    width: 300px !important;
    background-color: #AFC215 !important;
    border: 1px solid #AFC215 !important;
}

.btn-bleu-generique-large {
    width: 300px !important;
    background-color: var(--color-primary) !important;
    border: 1px solid var(--color-primary) !important;
}

.btn-import .fa-cloud-download-alt, .btn-import .fa-cloud-upload-alt, .btn-import .fa-download, .icon-btn-float-right {

    float: right !important;
    padding-right: 12px;
    margin-top: 2px;
}

.btn-valid::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    /*content: "\f00c" !important;*/
    float: none !important;
    /*margin-left: 6px;*/
}

.btn-check::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f56f" !important;
    float: none !important;
    margin-left: 6px;
    color: #ffffff !important;
}

.btn-stats::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f080 " !important;
    float: none !important;
    margin-left: 6px;
}

.btn-lock::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f023" !important;
    float: none !important;
    margin-left: 6px;
}

.btn-lock {
    left: 0 !important;
}

.btn-cancel::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00d";
    float: none !important;
    margin-left: 6px;
}

.btn-envelope::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0e0";
    float: none !important;
    margin-left: 6px;
    color: #ffffff !important;
}

/* ===== CONTENEUR BOUTONS ANNULER/VALIDER — ALIGNEMENT GLOBAL ===== */
/* Cible toutes les variantes de conteneurs : .confirm, .row.text-center, .text-center.mt-20 */
.row.confirm,
div.confirm,
.btn-form-actions,
.row.text-center:has(.btn-vert-generique, .btn-bleu-generique),
.text-center.mt-20:has(.btn-vert-generique, .btn-bleu-generique) {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    padding: 16px 0 6px;
    text-align: left !important;
}
/* Annule les marges Bootstrap row négatives */
.row.confirm,
.row.text-center:has(.btn-vert-generique, .btn-bleu-generique) {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Empêche les boutons de s'étirer en flex */
.confirm .btn,
.btn-form-actions .btn,
.row.text-center .btn-vert-generique,
.row.text-center .btn-bleu-generique,
.text-center.mt-20 .btn-vert-generique,
.text-center.mt-20 .btn-bleu-generique {
    width: auto !important;
    flex: none !important;
    align-self: center;
}

.chevron-right::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f054";
    float: right !important;
    color: #ffffff !important;
}

.icon-search::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    /*content: "\f002";*/
    /*float: right !important;*/
    color: #ffffff !important;
}

.ico_sauve::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\e988";
    float: right !important;
    color: #ffffff !important;
}

.icon-send::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f2f6";
    float: right !important;
    color: #ffffff !important;
}

.icon-edit::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f044";
    float: right !important;
    color: #ffffff !important;
}

.icon-history::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f1da";
    float: right !important;
    color: #ffffff !important;
    /*padding-right: 12px !important;;*/
}

.icon-download::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f019";
    float: right !important;
    color: #ffffff !important;
}

.arrow-up::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35b";
    float: right !important;
    color: #ffffff !important;
}

.icon-alt::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
    float: right !important;
    color: #ffffff !important;
}

.icon-open::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f07c";
    float: right !important;
    color: #ffffff !important;
}

.btn-pdf::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f1c1";
    float: right !important;
    color: #ffffff !important;
}

.icon-export::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f56e";
    float: right !important;
    color: #ffffff !important;
}

.icon-download::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f019";
    float: right !important;
    color: #ffffff !important;
}

.btn-blanc-generique {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#89d329+1,89d329+53,63a82f+53,63a82f+100 */
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,f6f6f6+47,ededed+100;White+3D+%231 */
    background: rgb(255, 255, 255); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgb(255, 255, 255) 1%, rgb(255, 255, 255) 85%, rgb(16, 56, 79) 85%, rgb(16, 56, 79) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgb(255, 255, 255) 1%, rgb(255, 255, 255) 85%, rgb(16, 56, 79) 85%, rgb(16, 56, 79) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(110deg, rgb(255, 255, 255) 1%, rgb(255, 255, 255) 80%, rgb(16, 56, 79) 80%, rgb(16, 56, 79) 100%) !important; /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#89d329', endColorstr='#63a82f', GradientType=1); /* IE6-9 fallback on horizontal gradient */
    text-align: left !important;
    border: 1px solid #10384f !important;
    opacity: 1;

}

.bloc_login.bloc_droite_login .login-container input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgba(53, 166, 198, 0.6);
    opacity: 1; /* Firefox */
}

.bloc_login.bloc_droite_login .login-container input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(53, 166, 198, 0.6);
}

.bloc_login.bloc_droite_login .login-container input::-ms-input-placeholder { /* Microsoft Edge */
    color: rgba(53, 166, 198, 0.6);
}

.homepage-primo .login-container input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgba(0, 94, 169, 0.5);
    opacity: 1; /* Firefox */
}

.homepage-primo .login-container input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(0, 94, 169, 0.5);
}

.homepage-primo .login-container input::-ms-input-placeholder { /* Microsoft Edge */
    color: rgba(0, 94, 169, 0.5);
}

/* Change Autocomplete styles in Chrome*/
.login-container input:-webkit-autofill,
.login-container input:-webkit-autofill:hover,
.login-container input:-webkit-autofill:focus {
    -webkit-text-fill-color: #10384f;
    -webkit-box-shadow: 0 0 0 1000px #000 inset;
    transition: background-color 5000s ease-in-out 0s;
}

.bloc_login.bloc_droite_login .login-container input:-webkit-autofill {
    -webkit-text-fill-color: #0091DF;
}

.bloc_login.bloc_droite_login .float-label-control-accueil label {
    color: #0091DF;
}

.bloc_login.bloc_droite_login .float-label-control-accueil input:not(.empty):focus ~ label,
.bloc_login.bloc_droite_login .float-label-control-accueil textarea:not(.empty):focus ~ label {
    color: #0091DF;
}

.bloc-login-admin {
    height: 318px;
}

.grand-titre-homepage {
    /*clear: both;*/
    margin: 0 0 20px 0;
}

.grand-titre-homepage h2 {
    color: #10384f;
    /*text-transform: uppercase;*/
    font-family: Montserrat, sans-serif;
    font-weight: 900;
    font-size: 28px;
    margin-bottom: 25px;
    text-align: center;
}

#accueil-identification {
    text-align: center;
    font: normal normal bold 21px/30px Tahoma;
    letter-spacing: -0.1px;
    color: var(--color-primary);
    opacity: 1;
}

.grand-titre-homepage i {
    margin-bottom: 34px;
    margin-top: 0;
}

.form-group-homepage {
    margin-bottom: 10px;
}

.homepage .login-container h3 {
    margin-top: 0;
}

.homepage .login-container .form-group:last-child,
.login-admin .login-container .form-group:last-child {
    margin-bottom: 0;
}

.homepage .container-contact-us {
    text-align: center;
    margin-top: 55px;
}

.login-admin .container-contact-us {
    text-align: center;
    text-decoration: underline;
    color: var(--color-primary);
    margin-top: 55px;

}

.homepage .container-contact-us a {
    color: #10384F;
    text-decoration: underline dotted;
    font-style: italic;
    margin-bottom: 17px;
    margin-top: 8px;
}

.login-admin .container-contact-us a {
    font: normal normal bold 14px Tahoma;
    margin-bottom: 17px;
    margin-top: 8px;
    text-align: left;
    text-decoration: underline;
    letter-spacing: 0px;
    color: var(--color-primary);
    opacity: 1;
}

.homepage .container-contact-us a {
    margin-left: 7px;
    margin-bottom: 10px;
}

.svg_form_accueil {
    max-height: 15px;
}

.float-label-control-accueil .homepage-icon {
    position: absolute;
    left: 57px;
    bottom: 14px;
    color: #10384F;
}

.float-label-control-accueil img.homepage-icon {
    width: 18px;
}

input#accueil_user,
input#accueil_password {
    padding-left: 35px;
}

.btn-picto {
    border: solid 1px #0091DF;
    width: auto;
    height: 36.5px;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 0;
    right: 0;
    text-align: center;

}

.btn-picto:hover, .btn-picto:visited {
    text-decoration: none;
}

.btn-picto span {
    background-color: white;
    width: 155px;
    line-height: 36px;
    text-align: center;
    color: #0091DF;
    font-size: 18px;
    letter-spacing: 1.35px;
}

.btn-picto div {
    width: 37px;
    background-color: #0091DF !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

/** PORTAIL PORTAIL PORTAIL PORTAIL PORTAIL PORTAIL**/

#bloc_picto_portail > a {
    margin: 0;
    padding: 0;
    color: white;

}


#bloc_picto_portail {
    position: absolute;
    top: 0;
    right: 0px;
    background-color: #0091DF !important;
    color: white !important;
    width: 130px;
    height: 30px !important;
    display: flex;
    flex-direction: row;
    text-align: center;


}

#bloc_picto_portail > * {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    margin: auto !important;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 20px;
    border-right: 2px solid white;
    text-decoration: none;
    color: white;

}

#bloc_picto_portail > i {
    width: 24px !important;
    height: 24px !important;
}

#bo_ope_bayer {

    padding-right: 30px;
    clip-path: polygon(0 0, 100% 0, 83% 100%, 0 100%);
}

.home_portail {
}

.portail {
    margin-top: 30px;
    text-align: center !important;
    font-size: 28px !important;
}

.bloc_portail {
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bloc_portail_content {
    display: flex;
    flex-direction: column;
    color: #10384f;
}

.btn-portail {
    width: 180px !important;
    margin: auto;
    font-weight: 900;
    margin-top: 20px;
    padding: 10px 0px;
}

.picto_portail {
    height: 15px;
    color: #ffffff !important;
}

.blanc_plein {
    background-color: rgba(255, 255, 255, 1);
}

.blanc_transparent_40 {
    background-color: rgba(255, 255, 255, 0.4);
}

.blanc_transparent_50 {
    background-color: rgba(255, 255, 255, 0.5);
}

.blanc_transparent_60 {
    background-color: rgba(255, 255, 255, 0.6);
}

.blanc_transparent_70 {
    background-color: rgba(255, 255, 255, 0.7);
}

.blanc_transparent_80 {
    background-color: rgba(255, 255, 255, 0.8);
}

.blanc_transparent_85 {
    background-color: rgba(255, 255, 255, 0.85);
}

.btn-signatures div span {
    width: 35px;
    height: 35px;
    background-color: white;
    color: #10384f;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-signatures .btn-portail {
    display: flex;
    justify-content: flex-start;
}

/** END PORTAIL**/


/**  ACCUEIL ACCUEIL ACCUEIL ACCUEIL ACCUEIL ACCUEIL ACCUEIL   **/
.titre-main-front {
    text-transform: uppercase;
    font-size: 20px;
    /*font-weight: bold;*/
    text-align: center;
    color: #10384f;
    margin: 25px 0 0 0;

}

.titre-main-front.sans-actions {
    text-transform: inherit;
    font-size: 19px;
    margin: 7px 0 7px 0;
}

.container-sans-actions {
    background: white;
    box-shadow: 4px 4px 10px #b9b9b9;
    margin-top: 3em;
    margin-right: 0px;
    margin-left: 0px;
    padding: 8px;
}

.container-sans-actions .btn-filtre-op {
    font-size: 11px;
}

.bloc-pharma-operation-filtre {
    background-color: #10384f;
    color: #fff;
    padding: 5px;
    text-transform: uppercase
}

.titre-main-front > i {
    margin-right: 15px !important;
}

.container-contact .titre-main-front .icone-titre {
    height: 25px;
    padding-bottom: 4px;
    padding-right: 10px;
}

.sous-types {
    background-color: white;
}

.div-menu-documents {
    padding-left: 0;
    padding-right: 0;
    text-align: center;


    margin-top: 8px;
    font-weight: bold;
    display: flex;
    justify-content: center;

}

.div-menu-documents svg {
    position: relative;
    top: 2px;
}

a.menu-documents {
    display: inline-block;
    color: #10384F;
    flex-grow: 1;

}

.menu-documents {
    padding: 9px 20px 9px 20px;
}

.menu-documents > div {
    display: inline-block;
}

.menu-documents > div > span {
    width: 27px;
    height: 27px;
    background: #10384F;
    border-radius: 30px;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
}

.menu-documents-active {
    padding: 9px 20px 9px 20px;
    background-color: #10384F;
}

a.menu-documents-active {
    color: #ffffff;
}

.menu-documents:hover,
.menu-documents:focus {
    background-color: #10384F;
    color: #ffffff;
    text-decoration: none;
    transition: all ease 300ms;
}

.menu-documents:hover > div > span {
    background: #ffffff;
    color: #0f0f0f;
}

.div-menu-filtre {
    text-align: center;
}

/*-----------------------------------------------------------------------------------*/


.div-menu-filtre a.btn-primary, .div-menu-documents a.btn-primary {
    display: inline-block;
    width: 350px;
    height: 100%;
    margin-top: 20px;
    background-color: #ffffff;
    color: rgb(16, 56, 79);
    border-radius: 30px;
    border: 1px solid #10384F !important;
    padding-top: 8px;
    padding-bottom: 8px;
    text-transform: none;
    text-decoration: none;
}

.div-menu-filtre a.btn-primary.filtre-historique {
    top: 187px;
    left: 1221px;
    width: 350px;
    height: 35px;
    /* UI Properties */
    border-radius: 18px;
    opacity: 0.5;

}


.div-menu-filtre a.btn-primary.filtre-historique {
    text-align: center;
    letter-spacing: 0px;
    color: #10384f;
    opacity: 1;
}

.div-menu-filtre a.btn-primary:hover,
.div-menu-filtre a.btn-primary:focus,
.div-menu-documents a.btn-primary:hover,
.div-menu-documents a.btn-primary:focus {
    transition: all ease 300ms;
    background-color: #10384F;
    color: #ffffff;
}

.div-menu-filtre a.btn-primary.filtre-active, .div-menu-documents a.btn-primary.filtre-active {
    background-color: #10384F;
    color: #ffffff;
}

.div-menu-filtre svg {
    margin-right: 3px;
}

.div-menu-filtre .actions,
.div-menu-filtre .all-operations {
    padding-left: 0;
    padding-right: 0;
}

.sous-titre {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #232323;
    margin: 25px 0px 0px 0px;
}

#annee_operation + span {
    padding-bottom: 10px;
}

.row-front {
    margin-top: 30px;
}

.bloc-front {
    background-color: white;
    padding: 0;
    max-width: 350px;
    box-shadow: 4px 4px 10px #b9b9b9;
}

.container:not(.container-produit) .bloc-front {
    margin: 0 20px 0 20px;
}

.cycle-operation {
    padding: 1px 20px !important;
}

.bloc-documents {
    padding: 0 !important;
    padding-left: 10px !important;
}

.titre-front {
    width: 100%;
    text-align: center;
    /*background-color: #f4661c;*/
    color: white;
    height: 28px;
    font-weight: bold;
    padding-top: 4px;
}

.container-contact .titre-front {
    height: 35px;
    line-height: 25px;
}

.text-contact {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    color: #232323;
    line-height: 1.7;
    font-size: 12px;
}

.text-contact h3 {
    margin-top: 0;
    margin-bottom: 3px;
    font-size: 13px;
    color: #10384f;
    text-transform: uppercase;
}

.text-contact ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.aide-plateforme {
    text-align: justify;
}

.text-contact strong {
    font-weight: 900;
}

.image-operation img {
    max-height: 220px;
    max-width: 300px;
}

.image-contact {
    height: 50px;
}

.image-contact img {
    max-height: 50px;
    opacity: 0.5;
}

.image-contact.img-reduce img {
    height: 80%;
}

.bloc-detail-operation {
    padding: 10px 20px !important;
    font-size: 10px;
    display: none;
}

.bloc-detail-document {
    padding: 0px 20px !important;
    font-size: 10px;
    display: none;
}

.image-operation,
.image-contact {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;

}

.cycle-operation {
    padding: 10px 0 10px 0;
    border-top: 1px solid rgba(185, 185, 185, 0.38);
    margin-bottom: 12px;

}

.lien-cycle-operation {
    /*float: left!important;*/
    vertical-align: middle !important;
    text-decoration: none !important;
    color: #232323;
    font-weight: bold;
    padding-top: 6px;
    cursor: pointer;
    letter-spacing: 0.1em;
    /*margin-bottom:10px !important;*/
}

.lien-nom-operation {
    float: left !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    color: #8e8e8e;
    font-weight: bold;
    padding-top: 6px;
    padding-right: 14px;
    cursor: pointer;
    margin-left: -14px;
    letter-spacing: 0.1em;
    font-size: 10px;
    /*margin-bottom:10px !important;*/
}

.lien-libelle-operation {
    float: left !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    color: #8e8e8e;
    font-weight: bold;
    padding-top: 6px;
    padding-right: 14px;
    cursor: pointer;
    letter-spacing: 0.1em;
    font-size: 9px;
    /*margin-bottom:10px !important;*/
}

.lien_acces_operation {
    color: #0091DF;
    font-weight: bolder;
    text-decoration: underline;
}

.lien_acces_operation:hover {
    color: #0091DF;
}

.btn-operation {
    float: right;
    font-size: 9px;
    width: 100% !important;
    margin-top: 7px;
}

#comMessage::placeholder {
}


.btn-operation-details {
    left: 0px;
    font-size: 9px;
    min-width: 70px !important;
    width: 70px !important;
    margin: 8px 0px;
    background-color: #10384f !important;
    border-color: #10384f !important;
    font-weight: bold !important;
    text-align: center !important;
}


.btn-operation-details-large {
    float: right;
    font-size: 9px;
    width: 190px !important;
    background-color: #10384f !important;
    border-color: #10384f !important;
    font-weight: bold !important;
}

.fleche-operation {
    margin: 0px 10px 0px 10px;
    font-size: 18px;
    float: right;
}

.dates-prestation, .details_operations_dates {
    font-size: 10px;
    color: #8e8e8e;
}

.dates-prestation-document, .details_operations_dates-document {
    font-size: 10px;
    color: #0091DF;
}

.fleche-haut {
    display: none;
}

.icones-documents-gauche {
    background-color: #10384f !important;
    color: white;
    font-size: 24px;
    text-align: center;
    border-right: 1px solid white;
}

.icones-documents-droite {
    background-color: #0091DF !important;
    color: white;
    font-size: 24px;
    text-align: center;
    margin-left: 1px;
    border-left: 1px solid white;
}

/**  END ACCUEIL   **/

/** FRONT PRODUITS **/

.container-produit .bloc-front {
    max-width: initial;
}

.bloc-front .ligne-download {
    display: table;
    width: 100%;
    height: 50px;
    font-size: 12px;
    color: #232323;
}

.bloc-front .ligne-download:not(:last-child) {
    border-bottom: solid 1px #b4b4b4;
}

.bloc-front .ligne-download > div,
.bloc-front .ligne-download > a {
    display: table-cell;
    vertical-align: middle;
}

.bloc-front .ligne-download > div.cell-texte {
    padding-left: 15px;
}

.bloc-front .ligne-download > a.btn-dl,
.bloc-front .ligne-download > a.btn-view {
    width: 45px;
    height: 100%;
    text-align: center;
}

.bloc-front .ligne-download > a.btn-dl {
    background-color: #10384f;
    border-right: solid 1px white;
}

.bloc-front .ligne-download > a.btn-view {
    background-color: #0091DF;
}

/** END FRONT PRODUITS **/

.histo_2019 {
    margin-top: 0px;
}

.histo_2019 > table > thead > tr > th {
    text-align: center !important;
}

/** OPERATIONS **/
#annee_operation #select2-annee_operation-container {
    margin-top: 0 !important;
    /*width: 80px!important;*/

}

#annee_operation > .selection {
    margin: 0;
}

/** OPERATIONS **/


/** SWAL MODAL **/
.popup-actibiota.swal2-popup .swal2-title {
    color: white;
}

.popup-actibiota.swal2-popup .swal2-content {
    color: white;
    font-size: 14px;
    line-height: 18px;
}

.popup-actibiota.swal2-popup .swal2-confirm {
    box-shadow: none;
    border-right-color: white;
    border-left-color: white;
    color: #3085d6;
    background-color: white;
}

.popup-bayer.swal2-popup {
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.popup-bayer.swal2-popup .swal2-title {
    /*margin-bottom: 25px;*/
}

.popup-bayer.swal2-popup .swal2-content {
    line-height: 18px;
    font-size: 14px;
    margin-bottom: 25px;
}

.popup-bayer.swal2-popup .swal2-styled.swal2-confirm,
.popup-bayer.swal2-popup .swal2-styled.swal2-cancel {
    box-shadow: none;
    border-radius: 0;
    background-color: #0091DF;
    border-color: #0091DF;
    color: #fff;
    text-transform: uppercase;
    min-width: 180px;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    background-image: none;
}

.popup-bayer.swal2-popup .swal2-actions button + button {
    margin-left: 50px;
}

/** Confirm modal **/
.jconfirm-modal .login-confirm-title {
    color: #333e48;
    text-transform: none;
    font-size: 14px;
    font-weight: 600;
    margin: 10px 0 0 0;
}

.jconfirm-modal .login-confirm-content {
    text-align: center;
}

.jconfirm-modal .login-confirm-content span {
    display: block;
    text-transform: uppercase;
    font-weight: 600;
    color: #0091DF;
}

/*  jConfirm global — tous les modals de la plateforme*/
.jconfirm .jconfirm-box .jconfirm-buttons {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    background: #f8f8f8 !important;
    border-top: 1px solid #eee !important;
    float: none !important;
    text-align: right !important;
    overflow: hidden;
}

/* Tous les boutons jconfirm : taille auto */
.jconfirm .jconfirm-box .jconfirm-buttons button {
    width: auto !important;
    min-width: 90px;
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
    padding: 7px 18px !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: background .2s;
}

/* Bouton principal (Confirmer / Valider) — vert #AFC215 */
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-vert-generique,
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-valid {
    background-color: #AFC215 !important;
    border-color: #AFC215 !important;
    color: #fff !important;
}
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-primary {
    background-color: #B70E80 !important;
    border-color: #B70E80 !important;
    color: #fff !important;
}

.jconfirm .jconfirm-box .jconfirm-buttons button.btn-primary:hover {
    background-color: #950b69 !important;
}

/* Bouton secondaire (Annuler) — gris neutre */
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-cancel,
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default,
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-secondary,
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-bleu-generique {
    background-color: #e9ecef !important;
    border-color: #ced4da !important;
    color: #495057 !important;
}

.jconfirm .jconfirm-box .jconfirm-buttons button.btn-cancel:hover,
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default:hover {
    background-color: #dee2e6 !important;
}

/* Header — neutraliser le fond rose par défaut du theme */
.jconfirm .jconfirm-box .jconfirm-title-c {
    background: #fff !important;
    border-bottom: 1px solid #eee !important;
    padding: 14px 18px 12px !important;
}

.jconfirm .jconfirm-box .jconfirm-title-c .jconfirm-title {
    color: #B70E80 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    display: block !important;
}

/*  Confirmation modale thème plateforme Biocodex*/
.confirm-modal.jconfirm.jconfirm-white .jconfirm-box,
.confirm-modal.jconfirm.jconfirm-light .jconfirm-box {
    border-radius: 10px !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .15) !important;
    overflow: hidden;
    padding-bottom: 0 !important;
}

/*  SweetAlert2 popup Biocodex  */
.swal-biocodex.swal2-popup {
    border-top: 4px solid #B70E80 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 32px rgba(183, 14, 128, .15) !important;
    padding-bottom: 0 !important;
    overflow: hidden;
}

.swal-biocodex .swal2-title {
    font-size: 15px !important;
    color: #222 !important;
    font-weight: 700 !important;
    padding: 4px 0 4px !important;
    margin: 0 !important;
}

.swal-biocodex .swal2-content {
    font-size: 13px !important;
    color: #555 !important;
    font-weight: 400 !important;
    padding: 4px 0 0 !important;
    margin: 0 !important;
}

.swal-biocodex .swal2-actions {
    background: #f8f8f8 !important;
    border-top: 1px solid #eee !important;
    margin: 10px 0 0 !important;
    padding: 10px 20px !important;
    width: 100% !important;
    justify-content: center !important;
    gap: 10px !important;
}

.swal-biocodex .swal2-confirm,
.swal-biocodex .swal2-cancel {
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 24px !important;
    min-width: 110px !important;
}

/* Header — fond blanc avec bordure rose en haut */
.confirm-modal.jconfirm .jconfirm-title-c {
    background: #fff !important;
    border-bottom: 2px solid #f0e0f0 !important;
    padding: 14px 18px 12px !important;
}

.confirm-modal.jconfirm .jconfirm-title-c .jconfirm-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #B70E80 !important;
    display: block !important;
}

/* Masquer l'icône jconfirm (on met la nôtre dans le titre via JS) */
.confirm-modal.jconfirm .jconfirm-title-c .jconfirm-icon-c {
    display: none !important;
}

/* Contenu */
.confirm-modal.jconfirm .jconfirm-content-pane {
    background: #fff;
    padding: 14px 18px !important;
    font-size: 13px;
    line-height: 3;
    color: #333 !important;
}

.stim-jconfirm-content,
.confirm-modal.jconfirm .jconfirm-content,
.confirm-modal.jconfirm .jconfirm-content-pane .jconfirm-content {
    color: #333 !important;
    font-size: 14px;
}

.jconfirm .jconfirm-box div.jconfirm-content-pane.no-scroll {
    height: auto !important;
}

.confirm-modal.jconfirm .jconfirm-buttons {
    background: #f8f8f8 !important;
    border-top: 1px solid #eee !important;
    padding: 12px 16px !important;
    text-align: right !important;
    float: none !important;
}

.confirm-modal.jconfirm .jconfirm-buttons button {
    display: inline-block !important;
    width: auto !important;
    color: #fff !important;
    background-color: #B70E80 !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 7px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin: 0 4px !important;
    transition: background .2s;
}

.confirm-modal.jconfirm .jconfirm-buttons button:hover {
    background-color: #950b69 !important;
}

.confirm-modal.jconfirm .jconfirm-buttons button.btn-cancel,
.confirm-modal.jconfirm .jconfirm-buttons button.btn-default,
.confirm-modal.jconfirm .jconfirm-buttons button.btn-secondary {
    background-color: #e9ecef !important;
    color: #495057 !important;
    border: 1px solid #ced4da !important;
}

.confirm-modal.jconfirm .jconfirm-buttons button.btn-cancel:hover,
.confirm-modal.jconfirm .jconfirm-buttons button.btn-default:hover,
.confirm-modal.jconfirm .jconfirm-buttons button.btn-secondary:hover {
    background-color: #dee2e6 !important;
    color: #333 !important;
}

#unclickable {
    position: relative;
    z-index: 3;
    font-size: 0.8em;
}

.swal_confirmBtn, .swal_confirmBtn:visited, .swal_confirmBtn:focus, .swal_confirmBtn:active, a.swal_confirmBtn {
    tab-index: -1;
    margin-top: 10px;
    margin-bottom: 20px;
    font-weight: bold;
    color: white !important;
    text-decoration: none !important;
    text-decoration-style: unset;
}

.swal_titreModal {
    font-size: 14px;
    font-weight: 900;
    text-align: center;
    color: #10384f;
    margin: 25px 0 0 0;
}

.familly {
    font-size: 16px;

}

.family {
    font-size: 15px;

}

.swal_closeBtn {
    color: white !important;
    background-color: #0091DF !important;
    border: 1px solid #0091DF !important;
    font-size: 32px !important;
    font-weight: bolder !important;
    border-radius: 20px 20px 20px 20px !important;
    position: absolute !important;
    top: -15px !important;
    right: -15px !important;
}

/*NOUVEAUTES*/


.titre_nouveautes {
    font-size: 20px;
    font-weight: 900;
    text-align: center;
    color: #10384f;
    margin: 5px 0 15px 0;
}

.titre_form_sondage {
    margin-right: 25px;
}

.table-sondage-nouveautes {
    width: 350px;
    margin: auto;
    color: #8e8e8e;
}

.table-sondage-nouveautes td:nth-child(1) {
    text-align: left !important;
    width: 250px;
    padding-bottom: 5px;
}

.content-sidebar-nouveautes {
    position: absolute;
    left: 0;
    top: 250px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    width: 300px;
    height: 300px;
    background-color: white;
    border-radius: 0 30px 30px 0;
    transition: all ease 300ms;

}


#content-sidebar-nouveautes > img {
    position: relative;
}

.nouveaute-chevron {
    cursor: pointer;
    position: absolute;
    text-align: center;
    vertical-align: center;
    padding-top: 3px;
    padding-right: 1px;
    top: 130px;
    left: 285px;
    color: white;
    font-size: 18px;
    width: 30px;
    height: 30px;
    background-color: #0091DF !important;
    border-radius: 20px 20px;
}


#content-sidebar-nouveautes > a {
    margin-top: 10px;
}


.content-sidebar-nouveautes-closed {
    position: absolute;
    top: 250px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    width: 300px;
    height: 300px;
    background-color: white;
    border-radius: 0 30px 30px 0;
    left: -280px !important;
    transition: all ease 300ms;

}

/*NOUVEAUTES*/

/** MES ACCORDS **/
.accord-content {
    margin-top: 15px;
}

.accord-content .btn {
    margin: 10px 0 15px 0;
}

/** CONTACT EXTERIEUR **/
.container-contact-ext {
    margin-top: 35px;
}

/** MESSAGERIE **/
.historique-messagerie-content {
    margin: 10px 0;
    /*min-height: 200px;*/
    overflow-y: auto;
}

.admin .historique-messagerie-content {
    height: auto;
    max-height: 500px;
    max-width: 500px;
    padding-right: 10px;
}

.admin .historique-messagerie-content-communication {
    height: auto;
    max-height: auto;
    max-width: 1000px;
    padding-right: 10px;
}

.historique-messagerie-content .message + .message {
    margin-top: 15px;
}

.btn-swil {
    color: #7f007f !important;
}

.swal_confirmBtn, .swal_confirmBtn:visited, .swal_confirmBtn:focus, .swal_confirmBtn:active, a.swal_confirmBtn {
    tab-index: -1;
    margin-top: 10px;
    margin-bottom: 20px;
    font-weight: bold;
    color: white !important;
    text-decoration: none !important;
    text-decoration-style: unset;
}

.swal_titreModal {
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    color: #10384f;
    margin: 15px 0 0 0;
}

.swal_closeBtn {
    color: white !important;
    background-color: #0091DF !important;
    border: 1px solid #0091DF !important;
    font-size: 32px !important;
    font-weight: bolder !important;
    border-radius: 20px 20px 20px 20px !important;
    position: absolute !important;
    top: -15px !important;
    right: -15px !important;
}

/*NOUVEAUTES*/


.titre_nouveautes {
    font-size: 20px;
    font-weight: 900;
    text-align: center;
    color: #10384f;
    margin: 5px 0 15px 0;
}

.titre_form_sondage {
    margin-right: 25px;
}

.table-sondage-nouveautes {
    width: 350px;
    margin: auto;
    color: #8e8e8e;
}

.table-sondage-nouveautes td:nth-child(1) {
    text-align: left !important;
    width: 250px;
    padding-bottom: 5px;
}

.content-sidebar-nouveautes {
    position: absolute;
    left: 0;
    top: 250px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    width: 300px;
    height: 300px;
    background-color: white;
    border-radius: 0 30px 30px 0;
    transition: all ease 300ms;

}


#content-sidebar-nouveautes > img {
    position: relative;
}

.nouveaute-chevron {
    cursor: pointer;
    position: absolute;
    text-align: center;
    vertical-align: center;
    padding-top: 3px;
    padding-right: 1px;
    top: 130px;
    left: 285px;
    color: white;
    font-size: 18px;
    width: 30px;
    height: 30px;
    background-color: #0091DF !important;
    border-radius: 20px 20px;
}


#content-sidebar-nouveautes > a {
    margin-top: 10px;
}


.content-sidebar-nouveautes-closed {
    position: absolute;
    top: 250px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: column !important;
    width: 300px;
    height: 300px;
    background-color: white;
    border-radius: 0 30px 30px 0;
    left: -280px !important;
    transition: all ease 300ms;

}

/*NOUVEAUTES*/


.historique-messagerie-content .message.operateur .header-content {
    display: table;
    width: 80%;
    margin-right: 20%;
    text-align: left;
}

.historique-messagerie-content .message.pharmacie .header-content {
    display: table;
    width: auto;
    margin-left: auto;
    text-align: right;
    padding-right: 5px;
}

.historique-messagerie-content .header-content .informations {
    display: table-row;
}

.historique-messagerie-content .header-content .informations .etat,
.historique-messagerie-content .header-content .informations .type,
.historique-messagerie-content .header-content .informations .date,
.historique-messagerie-content .header-content .informations .qui {
    display: table-cell;
    padding: 2px;
}

.historique-messagerie-content .header-content .informations .etat {
    width: 20px;
    font-size: 20px;
    color: #0091DF;
    text-align: center;
}

.historique-messagerie-content .header-content .informations .etat .icon.ico_coche_cercle {
    top: 1px;
}

.historique-messagerie-content .header-content .informations .etat .icon.ico_cercle.full {
    top: -2px;
    background-color: #0091DF;
    border-radius: 50%;
    font-size: 11px;
}

.historique-messagerie-content .header-content .informations .type .sd_button {
    top: 0;
}

.historique-messagerie-content .header-content .informations .date {
    width: 210px;
}

.historique-messagerie-content .message.pharmacie .header-content .informations .date,
.historique-messagerie-content .message.pharmacie .header-content .informations .qui {
    text-align: left;
}

.historique-messagerie-content .message-content {
    background-color: #EAEAEA;
    width: 100%;
    display: block;
    padding: 10px;
    min-height: 70px;
}

.historique-messagerie-content .message.operation .message-content {
    background-color: #EAEAEA;
}

.historique-messagerie-content .message.pharmacie .message-content {
    background-color: #F7F7F7;
}

.historique-messagerie-content .already-uploaded-container {
    overflow: hidden;
    margin-top: 20px;
    padding-bottom: 2px;
}

/** PROFIL **/
.container-profil .bloc-decla {
    margin: 15px 0;
    text-align: center;
}

.container-profil .dashed .preview-img-container {
    margin: 0 0 10px 0;
}

.container-profil .dashed {
    border: 2px dashed #10384f;
    padding: 15px;
    margin: 0 0 15px 0;
}

.container-profil .dashed a {
    color: #333e48;
    text-decoration: underline;
    font-weight: bold;
    clear: both;
}

.unmask {
    position: absolute;
    top: 11px;
    right: 0px;
    border: none;
    background-color: transparent;
    color: #10384f;
}

.unmaskControl {
    position: absolute;
    top: 11px;
    right: 0px;
    border: none;
    background-color: transparent;
    color: #10384f;
}

.form-password {
    position: relative;
}

/** PRIMO CONNEXION **/
.container-primo .logo-bayer-overlay {
    width: 77px;
    margin-top: 20px;
    margin-bottom: 40px;
}

.container-primo .background-blanc-plein {
    padding-bottom: 20px;
}

.container-primo h4 {
    margin-top: 15px;
    font-weight: 900;

}

.titre-rgpd {
    margin-top: 15px;
    font-weight: 900;
    font-size: 16px;
    word-spacing: -1px;
    margin-bottom: 10px;
}

.container-primo form.small-input .form-group > div:first-child {
    padding-right: 0;
}

.container-primo .conformite-container h3 {
    margin-top: 15px;
}

.container-primo .remarque {
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.2;
    color: #10384f;
    font-style: italic;
}

/** ACCUEIL SIGNATURE **/

.container-homepage .operation-preview {
    margin-top: 30px;
    margin-bottom: 100px;
    text-align: center;
    min-height: 200px;
}

.container-homepage .operation-preview h4 {
    font-weight: 600;
}

.container-homepage .operation-preview .preview-img-container {
    display: table;
    height: 120px;
    width: 100%;
}

.container-homepage .operation-preview .preview-img-container div {
    display: table-cell;
    vertical-align: middle;
}

.container-homepage .operation-preview .preview-img-container img {
    display: block;
    margin: auto;
    object-fit: cover;
    max-height: 120px;
}

.container-homepage .operation-preview .btn {
    min-width: 270px;
}

.container-homepage .operation-preview .action-container div + div {
    margin-top: 15px;
    margin-left: 0;
}

/** CONTAINER HISTORIQUE **/
.container-historique .btn-operation {
    width: 75px !important;
    min-width: initial;
    background-color: #10384f;
    border-color: #10384f;
}

.container-historique .btn-operation:focus:active {
    background-color: #10384f;
    border-color: #10384f;
}

/*  Historique — modernisation table FO  */

/* Wrapper carte autour du bloc Bootstrap Table */
.container-historique .bootstrap-table {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    border: 1.5px solid #F0EAF6;
}

/* Toolbar (boutons + recherche) intégrée dans la carte */
.container-historique .fixed-table-toolbar {
    padding: 14px 18px 10px;
    background: #fff;
    border-bottom: 1px solid #F3EDF9;
}

/* En-tête colonnes */
.container-historique .fixed-table-container thead tr:first-child th {
    background: #FAFAFA !important;
    color: #4B5563;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 12px 14px !important;
    border-bottom: 2px solid #EDE9F6 !important;
    border-right: none !important;
    border-left: none !important;
    border-top: none !important;
}

/* Séparateur vertical entre colonnes header */
.container-historique .fixed-table-container thead tr:first-child th + th {
    border-left: 1px solid #EDE9F6 !important;
}

/* Ligne filtres */
.container-historique .fixed-table-container thead tr.filter-control-row th {
    background: #F9F5FC !important;
    padding: 6px 8px 8px !important;
    border-bottom: 1.5px solid #EDE9F6 !important;
    border-right: none !important;
    border-left: none !important;
}

.container-historique .fixed-table-container thead tr.filter-control-row select,
.container-historique .fixed-table-container thead tr.filter-control-row input {
    height: 28px;
    border-radius: 20px;
    border: 1px solid #DDD5EA;
    background-color: #fff;
    font-size: 11.5px;
    color: #4B5563;
    padding: 0 26px 0 10px;
    background-repeat: no-repeat;
    background-position: right 8px center;
    transition: border-color .15s;
}

.container-historique .fixed-table-container thead tr.filter-control-row input {
    background-image: none;
    padding: 0 10px;
}

.container-historique .fixed-table-container thead tr.filter-control-row select:focus,
.container-historique .fixed-table-container thead tr.filter-control-row input:focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.1);
    outline: none;
}

/* Cellules données */
.container-historique .fixed-table-container tbody td {
    border-bottom: 1px solid #F3EDF9 !important;
    padding: 13px 14px !important;
    vertical-align: middle;
    color: #374151;
    font-size: 13px;
}

.container-historique .table-striped > tbody > tr:hover > td,
.container-historique .bootstrap-table .table > tbody > tr:hover > td {
    background-color: #FDF5FC !important;
}

/* Supprime alternance grise — fond blanc uniforme */
.container-historique .table-striped > tbody > tr:nth-of-type(odd) > td,
.container-historique .table-striped > tbody > tr:nth-of-type(even) > td {
    background-color: #fff !important;
}

a.hist-dl-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    white-space: nowrap;
    background: rgba(183, 14, 128, 0.06);
    border: 1.5px solid rgba(183, 14, 128, 0.20);
    border-radius: 22px;
    padding: 3px 12px 3px 4px;
    transition: background .15s, border-color .15s, box-shadow .15s;
    line-height: 1;
}

a.hist-dl-chip:hover {
    background: rgba(183, 14, 128, 0.13);
    border-color: rgba(183, 14, 128, 0.40);
    box-shadow: 0 2px 8px rgba(183, 14, 128, 0.12);
    text-decoration: none;
}

a.hist-dl-chip i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--color-primary, #B70E80);
    color: #fff;
    border-radius: 50%;
    font-size: 10px;
    flex-shrink: 0;
    transition: transform .15s;
}

a.hist-dl-chip:hover i {
    transform: translateY(-1px);
}

a.hist-dl-chip span {
    color: var(--color-primary, #B70E80);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

a.msg-close-link {
    display: inline;
    color: #c0392b;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
    transition: color .15s;
}
a.msg-close-link:hover {
    color: #922b21;
    text-decoration: underline;
}
a.msg-close-link i {
    font-size: 9px;
    margin-right: 4px;
    vertical-align: middle;
    text-decoration: none;
}

#datatableMessagerie thead tr th {
    background: #faf4f8;
    color: #7a2060;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border-right: 1px solid #e8d6e4 !important;
    border-bottom: 2px solid #d4a0c4 !important;
    border-top: none !important;
}
#datatableMessagerie thead tr th:last-child {
    border-right: none !important;
}

.msg-new-btn-row {
    padding-bottom: 12px;
}

.msg-contact-card {
    background: #fafafa;
    border: 1px solid #e8dce8;
    border-radius: 10px;
    padding: 0;
    overflow: hidden;
}
.msg-contact-section {
    padding: 14px 18px;
    border-bottom: 1px solid #f0e6f0;
}
.msg-contact-section:last-child {
    border-bottom: none;
}
.msg-contact-heading {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #B70E80;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.msg-contact-section p {
    margin: 0 0 4px;
    font-size: 13px;
    color: #444;
    line-height: 1.5;
}
.msg-contact-section p:last-of-type {
    margin-bottom: 0;
}
.msg-contact-section a {
    color: #B70E80;
}
.msg-contact-section a:hover {
    color: #8a0a60;
}
.msg-contact-section .btn {
    margin-top: 10px;
    font-size: 12px;
}

/* Pagination intégrée */
.container-historique .fixed-table-pagination {
    border-top: 1.5px solid #F0EAF6;
    background: #FAFAFA;
    padding: 10px 16px;
    border-radius: 0 0 14px 14px;
}

/* Sort arrows */
.container-historique .sortable .both,
.container-historique .sortable .asc,
.container-historique .sortable .desc {
    opacity: 0.45;
}

.container-historique .sortable.desc .desc,
.container-historique .sortable.asc .asc {
    opacity: 1;
    color: var(--color-primary, #B70E80);
}

/** SIGNATURE ETAPE 1 **/

.etape1-content {
    margin-top: 15px;
    text-align: center;
    background-color: white;
    padding: 20px 20px;
    margin-bottom: 100px;
}


.signature-bloc {
    margin-top: 30px;
    text-align: center;
    background-color: #E5F7FF;
    padding: 25px 20px;
    margin-bottom: 0px;
}

.instructions-text-gras {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #333E48;
    margin-bottom: 20px;
}

.signature-bloc .instructions-text {
    font-size: 14px;
    color: #333E48;

}

.etape1-content .illustration-ordi-container {
    margin: 10px 0;
}

/** SIGNATURE ETAPE 3 **/

.etape3-content .contrat {
    height: 500px;
    margin-top: 15px;
    padding: 15px;
    background-color: #fff;
    color: #333e48;
    overflow-y: scroll;
    border: 1px solid #333;
}

.etape3-content .annexe {
    height: 300px;
    margin-top: 15px;
    padding: 15px;
    background-color: #fff;
    color: #333e48;
    overflow-y: scroll;
    border: 1px solid #333;
}

.etape3-content .contrat-instructions {
    margin: -30px 0 0;
    text-align: center;
    color: #10384f;
}

.etape3-content .contrat-instructions-annexe {
    margin: 0px;
    text-align: center;
    color: #10384f;
}

.etape3-content .contrat-instructions strong {
    font-weight: 900;
    text-transform: capitalize;
}

.etape3-content .contrat-instructions-annexe strong {
    font-weight: 900;
    text-transform: capitalize;
}

.etape3-content .contrat-instructions svg {
    position: relative;
    top: 25px;
    margin: 0 15px;
}

.etape3-content .contrat-instructions-annexe svg {
    position: relative;
    top: 25px;
    margin: 0 15px;
}

.etape3-content .contrat-instructions-annexe svg {
    position: relative;
    top: 25px;
    margin: 0 15px;
}

.etape3-content .autre-contrat-instructions {
    margin-top: 25px;
    margin-bottom: 0;
    display: table;
    border: 2px solid #10384f;
    padding: 0;
    position: relative;
    width: 100%;
}

.etape3-content .autre-contrat-instructions .instructions-icon {
    display: table-cell;
    background-color: #10384f;
    width: 60px;
    padding: 5px;
    text-align: center;
    vertical-align: middle;
}

.operations_to_cancel {
    display: none;
}

.operations_to_cancel div {
    border: 1px solid #0091DF;
    padding: 10px 10px;
    color: #0091DF;
    margin-top: 15px;
    margin-bottom: 15px;
}

.operations_to_cancel div:hover {
    border: 1px solid #0091DF;
    padding: 10px 10px;
    color: white;
    margin-top: 15px;
    margin-bottom: 15px;
    background-color: #0091DF;
    transition: ease-in 100ms;
}

.operations_to_cancel a:hover, .operations_to_cancel a:visited, .operations_to_cancel a:link, .operations_to_cancel a:active {
    text-decoration: none;
}


#blocCommunicationPharmacie .group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.group-child {
    padding: 0 12px 0 12px;
    margin-top: 15px;
}


.group-child .col-form-label {
    margin: auto;
    font-size: 12px;
}

.group-child .select-filtre-container {
    padding-left: 6px;
}

.group-child .select-filtre-container .select2.select2-container .select2-selection span {
    font-size: 14px;
}

.group-child .select-filtre-container .select2.select2-container {
    margin-top: 0 !important;
}


.etape3-content .autre-contrat-instructions .instructions-text {
    display: table-cell;
    color: #10384f;
    text-align: center;
    vertical-align: middle;
    padding: 8px 10px;
    min-width: 120px;
}

#telephoneFind {
    height: 32px !important;


}

.etape3-content .autre-contrat-instructions .instructions-text .instructions-row1 {
    font-size: 15px;
}

.etape3-content .autre-contrat-instructions .instructions-text .instructions-row2 {
    font-size: 17px;
    font-weight: bold;
    text-transform: uppercase;
}

.etape3-content .signature {
    background-color: #fff;
    border: 4px solid #0091DF;
    margin-bottom: 10px;
}

.etape3-content .signature_annexe {
    background-color: #fff;
    border: 4px solid #0091DF;
    margin-bottom: 10px;
}

.etape3-content .signature canvas {
    width: 100%;
    height: 180px;
}

.etape3-content .erase-action {
    text-transform: uppercase;
    text-decoration: underline;
    color: #0091DF;
}

.etape3-content .checkbox-container label {
    font-weight: bold;
    color: white;
    margin-left: 7px;
}

.checkbox-container-annexe {
    color: #10384f;
}

.etape3-content .checkbox-container-annexe label {
    font-weight: bold;
    color: #10384f;
    margin-left: -20px;
}

.etape3-content .checkbox-container input {
    margin-top: 2px;
    margin-left: 0;
}

.nombre-contrat {
    color: #10384f;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: -50px;
}

.etape3-content .bloc-checkbox {
    display: table;
    width: 100%;
    height: 48px;
}

.etape3-content .bloc-checkbox > div {
    height: 100%;
    display: table-cell;
}

.etape3-content .bloc-checkbox .checkbox-container {
    vertical-align: middle;
    background-color: #10384f;
}

.etape3-content .bloc-checkbox .checkbox-container .checkbox {
    margin-top: 5px;
    margin-bottom: 0;
    margin-left: 15px;
}

.checkboxAnnexe {
    position: relative !important;
}

.etape3-content .div-fleche {
    width: 60px;
    text-align: center;
}

.etape3-content .fleche-contrat {
    margin-top: 5px;
    margin-left: -13px;
    animation: slide1 1s ease-in-out infinite;
}

.etape3-content .warning-contrat {
    margin-top: 5px;
}

@keyframes slide1 {
    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(15px, 0);
    }
}

.etape3-content .cgu label {
    font-weight: bold;
    color: #333e48;
}

.etape3-content .cgu input {
    margin-top: 2px;
    margin-left: 0;
}

/** PROFIL PHARMACIE **/

.container-profil .conformite-container {
    margin-top: 25px;
}

.container-profil .conformite-container .alert h3 {
    margin-top: 20px;
}

/** DECLARATION **/

.declaration-content > form > p {
    margin-top: 15px;
}

.declaration-content .courrier-container p {
    margin-bottom: 0;
}

.declaration-content .courrier-container .pense-bete {
    margin: 10px 0 35px 0;
    font-size: 16px;
    color: #0091DF;
    text-transform: uppercase;
    font-weight: bold;
}

.declaration-content .courrier-container .pense-bete .icon {
    font-size: 24px;
}

.declaration-content .info-tips {
    margin-bottom: 15px;
    clear: both;
}

.container-prestation {
    margin-bottom: 0px;
}

.container-declaration .container-prestation {
    text-align: left;
}

.container-declaration .container-prestation h3 {
    font-size: 14px;
    margin: 0;
    color: #333e48;
    font-weight: 800;
    margin-top: 5px;
}

.container-declaration .operation-preview .preview-img-container {
    height: 200px;
}

.container-declaration .operation-preview .preview-img-container img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

.container-declaration .container-remuneration {
    margin-top: 10px;
}

.container-declaration .container-prestation h4 {
    font-size: 13px;
    color: #bfbfbf;
    margin: 2px 0;
    font-weight: 600;
}

.container-declaration h3 {
    margin-bottom: 0;
    font-size: 21px;
}

.container-declaration .dashed,
.container-profil .dashed {
    border: 2px dashed #10384f;
    padding: 15px;
    margin: 0 0 15px 0;
}

.container-declaration .dashed a,
.container-profil .dashed a {
    color: #333e48;
    text-decoration: underline;
    font-weight: bold;
    clear: both;
}

.container-declaration .dashed .preview-img-container,
.container-profil .dashed .preview-img-container {
    margin: 0 0 10px 0;
}

.container-declaration .decla-title,
.container-profil .decla-title {
    text-transform: uppercase;
    color: #10384f;
    font-size: 18px;
    font-weight: bold;
    position: relative;
    top: -3px;
}

.container-declaration .contrat-detail .action-container {
    margin-top: 5px;
}

.container-declaration .contrat-detail .action-container a {
    text-decoration: underline;
    font-weight: 400;
    padding-left: 3px;
}

.container-declaration .contrat-detail .action-container a:hover {
    text-decoration: underline;
    color: #10384f;
    font-weight: 400;
}

.container-declaration form {
    margin-top: 15px;
}

.container-declaration label {
    margin-right: 5px;
}

.container-declaration .paiement-tips {
    margin-top: 15px;
}

.container-declaration .bloc-decla {
    margin-top: 15px;
}

.container-declaration .form-control {
    height: 30px;
}

.container-declaration label {
    color: #333e48;
    font-weight: 600;
    font-size: 13px;
}

.container-declaration .contrat-detail + .contrat-detail {
    margin-top: 10px;
}

.container-declaration .decla-ventes .form-inline .form-group + .form-group {
    margin-left: 45px;
}

.container-declaration .decla-ventes .sous-titre-ventes {
    font-size: 13px;
}

.action-readmore {
    color: #35a6c6;
    font-weight: bold;
    /*text-decoration: underline;*/
}

.action-readmore:hover {
    color: #35a6c6;
    font-weight: bold;
    /*text-decoration: underline;*/
}


.readmore-small {
    margin-bottom: 0px;
}

#declarationCourrier {
    display: none;
    clear: both;
    margin: 80px auto 30px auto;
    max-width: 600px;
    background-color: #f2f2f2;
    padding: 20px;
}

#declarationCourrier p:last-child {
    margin-bottom: 0;
}

.warning-objectif-ventes {
    text-transform: uppercase;
    color: red;
}

.display-tb {
    display: inline-table
}

.display-tb > .icon-container {
    width: 15px;
    display: table-cell;
}

.form-control.input-banque[readonly] {
    background-color: #F4F4F4;
}

.table-declaration-ventes {
    width: initial;
}

.container-declaration .table-declaration-ventes {
    margin-left: auto;
    margin-right: auto;
}

.table-declaration-ventes tr:not(:first-child) th {
    height: 65px;
    overflow: hidden;
}

.table-declaration-ventes tr:first-child th {
    text-align: center;
    min-width: 110px;
}

.table-declaration-ventes div.form-group {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
}

.table-declaration-ventes .form-group .form-control {
    height: 30px;
    padding-top: 6px;
}

.div-tableau-declaratif-ventes {
    overflow-x: auto;
    white-space: nowrap;
}

#divSelectDeclarationMode {
    width: 530px;
    margin-left: auto;
    margin-right: auto;
}

.bloc_txt_sig_annexe {
    color: #0091DF;
    font-size: 20px;
    border: 2px solid #0091DF;
    display: flex;
    justify-content: space-between;
}

.icone_sig_annexe {
    padding: 15px 15px;
    background-color: #0091DF;
    color: white;
    font-size: 38px;
    align-self: center;

}

.txt_sig_annexe {
    align-self: center;
    flex-grow: 1;
}

#tableau_produit_declaration, #tableau_produit_declaration td {
    border: 1px solid #CFDDE6;
    border-collapse: collapse;
    color: #59657B;
    font-weight: 900;
    padding: 2px 2px;
}

#tableau_produit_declaration tr td:nth-child(1), #tableau_produit_declaration tr td:nth-child(2), #tableau_produit_declaration tr td:nth-child(3) {
    border-right: 0px solid;
}

#tableau_produit_declaration tr td:nth-child(2), #tableau_produit_declaration tr td:nth-child(3), #tableau_produit_declaration tr td:nth-child(4) {
    border-left: 0px solid;
}

#tableau_produit_declaration tr:nth-child(1) {
    background-color: #ECF2FF;
}

#tableau_produit_declaration th {
    border-top: 1px solid #CFDDE6 !important;
    font-weight: 900;
}

#tableau_produit_declaration td {
    text-align: left;
}

/** DECLARATIF BO **/

.info-banque {
    padding-left: 15px
}

.info-banque-icon {
    font-size: 20px;
}

/** BO DETAIL BANQUE **/
#formDetailBanque .label-statut {
    margin-top: 12px;
    font-size: 17px;
}

.preview-rib span {
    display: inline-block;
}

.preview-rib span {
    margin-right: 10px;
}

/** UPLOAD (reprise sur historique des styles hardcodés dans le html) todo optimiser **/

.bloc-upload {
    margin-bottom: 15px;
}

.bloc-upload .img-display {
    text-align: center;
    line-height: 0.7em;
    margin-top: 5px;
    margin-bottom: 1em;
}

.bloc-upload .img-mini {
    text-align: center;
    width: 70px;
    max-height: 141px;
    margin: 1em;
    border: none !important;
}

.bloc-upload .id-actions {
    display: none;
}

.bloc-upload .table-file-upload {
    width: 100%;
}

.bloc-upload .table-file-upload .fileupload-process {
    display: none;
}

.bloc-upload .table-file-upload .fileupload-process .progress-bar {
    width: 0;
}

.bloc-upload .id-previews {
    min-height: 150px;
}

.bloc-upload .id-previews .file-row-1 {

    float: left;
    width: 100px;
    margin-left: 10px;
}

.bloc-upload .id-previews .file-row-1 .preview-container {
    height: 141px;
    position: relative;
    width: 100px;
}

.bloc-upload .preview-container .preview img {
    width: 100%;
}

.bloc-upload .preview-container .preview + div {
    margin-top: 10px;
}

.bloc-upload .preview-container .preview .progress-bar {
    width: 0;
    background-color: #333;
}

.bloc-upload .preview-container .id-transfert_ok {
    text-align: center;
    display: none;
    color: #2081c9;
    font-size: 14px;
}

.bloc-upload .under-action-container {
    width: 100%;
}

.bloc-upload .under-action-container .name-size {
    width: 250px;
}

.bloc-upload .under-action-container .name-size p {
    display: none;
}

.bloc-upload .under-action-container .name-size .delete-container {
    text-align: right;
}

.bloc-upload .under-action-container .name-size .delete-container > div {
    margin-top: 10px;
}

.bloc-upload .under-action-container .name-size .delete-container > div > button {
    display: none;
}

.bloc-upload .file-row-2 {
    width: 100px;
    margin-left: 234px;
}

.bloc-upload .file-row-2 .bloc-upload {
    height: 141px;
    position: relative;
    width: 100px;
    cursor: pointer;
}

.bloc-upload .file-row-2 .bloc-upload img {
    width: 100%;
}

/* === Dropzone redesign global === */

/* Conteneur .file-row-2 : pleine largeur, sans marge fixe */
.upload-container .bloc-upload .file-row-2 {
    width: 100% !important;
    margin: 12px 0 0 !important;
    display: block;
}

/* Le bloc-upload intérieur = zone de drop visuelle */
.upload-container .bloc-upload .file-row-2 .bloc-upload {
    width: 100% !important;
    height: auto !important;
    min-height: 78px;
    border: 2px dashed var(--color-primary, #B70E80) !important;
    border-radius: 12px !important;
    background: #f7f7f7 !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    box-sizing: border-box;
}

.upload-container .bloc-upload .file-row-2 .bloc-upload:hover {
    background: rgba(183,14,128,0.04) !important;
}

/* Supprimer min-height du previews container */
.upload-container .id-previews {
    min-height: 0 !important;
}

/* Cacher la zone de drop quand un fichier est ajouté */
.upload-container .id-previews:has(.dz-preview) .file-row-2 {
    display: none !important;
}

/* Triggers cliquables (fileinput-button / fileinput-button-illu) */
.upload-container .fileinput-button,
.upload-container .fileinput-button-illu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px;
    width: 100% !important;
    min-height: 78px;
    text-decoration: none !important;
    padding: 14px 24px;
    box-sizing: border-box;
    border: none !important;
    background: transparent !important;
}

/* Masquer les images SVG */
.upload-container .fileinput-button img,
.upload-container .fileinput-button-illu img {
    display: none;
}

/* Icône bleue (document image) */
.upload-container .fileinput-button::before,
.upload-container .fileinput-button-illu::before {
    content: '\f1c5';
    font-family: 'Font Awesome 5 Free';
    font-weight: 400;
    font-size: 30px;
    color: #0091DF;
    flex-shrink: 0;
    line-height: 1;
}

/* Texte rose */
.upload-container .fileinput-button::after,
.upload-container .fileinput-button-illu::after {
    content: 'Déposer votre fichier\A(Cliquer ou glisser-déposer)';
    white-space: pre;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-primary, #B70E80);
    line-height: 1.75;
}

/* === Preview fichier ajouté — design carte bleue === */

.dz-preview {
    display: flex !important;
    align-items: center;
    width: 100%;
    border: 2px solid var(--color-primary, #B70E80) !important;
    border-radius: 12px !important;
    background: #fff !important;
    padding: 10px 14px;
    box-sizing: border-box;
    float: none !important;
    margin: 0 !important;
    gap: 12px;
}

/* Table → flex */
.dz-preview > table { display: flex; width: 100%; }
.dz-preview > table > tbody { display: flex; width: 100%; align-items: center; gap: 12px; }
.dz-preview > table > tbody > tr { display: contents; }
.dz-preview > table > tbody > tr > td { display: flex; align-items: center; }

/* Thumbnail */
.dz-preview .preview-container { flex-shrink: 0; }
.dz-preview .preview img {
    width: 58px !important;
    height: 52px !important;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    display: block;
}

/* Barre de progression + status : cachés */
.dz-preview .partial-progress,
.dz-preview #transfert_ok { display: none !important; }

/* Zone centre : icône œil + texte statut */
.dz-preview .under-action-container { flex: 1; min-width: 0; display: block; }
.dz-preview .under-action-container > tbody { display: flex; align-items: center; gap: 14px; padding: 0; }
.dz-preview .under-action-container > tbody > tr { display: contents; }
.dz-preview .under-action-container > tbody > tr > td { display: flex; align-items: center; }

.dz-preview .name-size {
    display: flex !important;
    align-items: center;
    gap: 14px;
    flex: 1;
    min-width: 0;
}

/* Cacher nom et taille du fichier */
.dz-preview p.name, .dz-preview p.size { display: none !important; }

/* Cercle œil rose */
.dz-preview .name-size::before {
    content: '\f06e';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 15px;
    color: var(--color-primary, #B70E80);
    width: 36px;
    height: 36px;
    min-width: 36px;
    border: 2px solid var(--color-primary, #B70E80);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Texte statut */
.dz-preview .name-size::after {
    content: 'Fichier prêt à être envoyé';
    font-size: 13.5px;
    color: #888;
    font-weight: 400;
    white-space: nowrap;
}

/* Bouton supprimer → × rose circle */
.dz-preview .delete-container { flex-shrink: 0; margin-left: auto; }
.dz-preview .delete {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
    border-radius: 50% !important;
    border: 2px solid var(--color-primary, #B70E80) !important;
    background: transparent !important;
    color: var(--color-primary, #B70E80) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: background .15s, color .15s;
}
.dz-preview .delete:hover {
    background: var(--color-primary, #B70E80) !important;
    color: #fff !important;
}
/* Cacher icône trash et span "Supprimer" */
.dz-preview .delete .fas { display: none !important; }
.dz-preview .delete span { display: none !important; }
/* Afficher × via ::before */
.dz-preview .delete::before {
    content: '\f00d';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 14px;
}

/* sendDisplayForDropzone — structure .dz-image / .dz-details / .dz-remove */
.dz-preview .dz-image {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.dz-preview .dz-image img.img-mini {
    width: 56px !important;
    height: 50px !important;
    max-height: 50px !important;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #e8e8e8 !important;
    display: block;
    margin: 0 !important;
}
.dz-preview .dz-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
}
.dz-preview .dz-filename {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    color: #333;
}
.dz-preview .dz-size {
    font-size: 12px;
    color: #888;
}
.dz-preview .dz-progress { display: none !important; }
.dz-preview .dz-error-message { display: none !important; }
.dz-preview a.stim-dz-remove-preloaded {
    flex-shrink: 0;
    margin-left: auto;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    border: 2px solid var(--color-primary, #B70E80) !important;
    color: var(--color-primary, #B70E80) !important;
    background: transparent !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0;
    line-height: 0;
    transition: background .15s, color .15s;
}
.dz-preview a.stim-dz-remove-preloaded::before {
    content: '\f00d';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 14px;
    line-height: 1;
}
.dz-preview a.stim-dz-remove-preloaded:hover {
    background: var(--color-primary, #B70E80) !important;
    color: #fff !important;
}

/* Conteneur #previews — empilement vertical au lieu de float */
.bloc-upload .id-previews {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    min-height: 0 !important;
}
#previews .img-preview-stimdata {
    float: none !important;
    margin-left: 0 !important;
    width: 100%;
}

.bloc-upload.bloc-upload-height {
    height: inherit !important;
    display: flex;
    justify-content: center;
}

.bo_bloc_upload {
    text-align: center;
}

.text_upload_fichiers, .text_upload_fichiers_scd {
    margin-top: auto;
    margin-bottom: auto;
}

.text_upload_fichiers_scd {
    display: none;
    align-items: center;
}

.delete_uploaded_file {
    background-color: #f2f2f2;
    border: inherit;
    margin: 5px;
}

.already_upload .delete_uploaded_file {
    background-color: inherit;
}

.delete_uploaded_file svg {
    font-size: 1.6em;
    color: #fab700;
}

.delete_uploaded_file.without {
    background-color: white;
    border: 0px;
    padding-right: 0px;
    vertical-align: middle;
    padding-top: 3px;
    margin: 0px;
}

.delete_uploaded_file.without svg {
    font-size: 1.3em;
}

.upload_fichiers {
    color: #013f78;
    font-size: 13px;
    font-weight: bold;
    display: none;
    padding-top: 10px;
    text-align: center;
}

.row.dashed.dashed-upcontainer {
    padding: 20px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.error-import-container ul {
    list-style-type: none;
    color: red;
}

.warning-import-container ul {
    list-style-type: none;
    color: orange;
}

.text-center .confirm {
    margin-top: 10px;

}

.text-center .extensions {
    margin-top: 20px;
}

.img-preview-stimdata {
    float: left;
    margin-left: 10px;
    margin-outside: 10px;
}

.already-uploaded-container .img-preview-stimdata {
    margin-left: 0;
}

.gabarit-container {
    clear: both;
    margin: 15px 0;
}

.gabarit-container a {
    color: #333e48;
}

/*
   PAGES IMPORT BO
   */

div:has(#formImportTest) {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 28px rgba(0,0,0,0.07);
    border: 1.5px solid #F0EAF6;
    padding: 32px 36px;
    margin-top: 8px;
}

/* Titre de section */
div:has(#formImportTest) h3.underline {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-primary, #B70E80);
    border-bottom: 2px solid rgba(183,14,128,0.18);
    padding-bottom: 12px;
    margin-bottom: 18px;
    font-size: 20px;
    font-weight: 700;
}

div:has(#formImportTest) h3.underline .icon {
    color: var(--color-primary, #B70E80);
}

/* Description de l'import */
#formImportTest > p {
    font-size: 13.5px;
    color: #6B7280;
    margin-bottom: 18px;
    padding: 10px 14px;
    background: #F9F5FE;
    border-left: 3px solid var(--color-primary, #B70E80);
    border-radius: 0 8px 8px 0;
}

/* Zone upload */
#formImportTest .upload-container {
    margin-bottom: 0;
}

/* Lien gabarit */
.gabarit-container {
    margin: 14px 0 !important;
}

.gabarit-container a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: #0091DF !important;
    text-decoration: none;
    padding: 5px 12px;
    border: 1.5px solid rgba(0,145,223,0.30);
    border-radius: 20px;
    background: rgba(0,145,223,0.05);
    transition: background .15s, border-color .15s;
}

.gabarit-container a::before {
    content: '\f019';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 11px;
}

.gabarit-container a:hover {
    background: rgba(0,145,223,0.12);
    border-color: rgba(0,145,223,0.55);
    text-decoration: none;
}

/* Bouton "Tester le fichier" */
#formImportTest .col-12.text-center {
    margin-top: 20px;
}

#importBtn {
    min-width: 200px;
    padding: 11px 28px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em;
    border-radius: 10px !important;
    gap: 8px;
}

#importBtn::before {
    content: '\f0c7';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 12px;
}

/* Séparateur entre les deux formulaires */
#formImportConfirm {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1.5px dashed #E9D5F0;
}

/* Message de confirmation */
#formImportConfirm > p {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #065F46;
    background: #ECFDF5;
    border: 1px solid #6EE7B7;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 18px;
    font-weight: 500;
}

#formImportConfirm > p::before {
    content: '\f058';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 16px;
    color: #059669;
    flex-shrink: 0;
}

#formImportConfirm .form-group {
    display: flex !important;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
}

#formImportConfirm .form-group .col-6 {
    flex: 1;
    min-width: 120px;
    width: auto !important;
    padding: 0;
}

#formImportConfirm .form-group .col-6 .btn,
#formImportConfirm .form-group .col-6 a.btn {
    width: 100%;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 11px 20px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
}

/* Conteneurs erreurs / avertissements */
.error-import-container,
.warning-import-container {
    margin-top: 16px;
}

.error-import-container:has(li),
.warning-import-container:has(li) {
    border-radius: 10px;
    padding: 12px 16px;
    border: 1.5px solid;
}

.error-import-container:has(li) {
    background: #FEF2F2;
    border-color: #FECACA;
}

.error-import-container:has(li) li {
    color: #B91C1C;
    font-size: 12.5px;
    line-height: 1.7;
}

.warning-import-container:has(li) {
    background: #FFFBEB;
    border-color: #FDE68A;
}

.warning-import-container:has(li) li {
    color: #92400E;
    font-size: 12.5px;
    line-height: 1.7;
}

.error-import-container ul,
.warning-import-container ul {
    margin: 0;
    padding-left: 18px;
}

/** BO LOGIN **/

.admin .login .info-tips {
    margin-top: 0;
}

/** BO OPERATION **/
#famille_color {
    display: none;
}

#famille_new {
    display: none;
}

#famille_color {
    color: #ffffff;
}

#color_label {
    color: #ffffff;
}

#row_sous_type {
    display: none;
}


.admin .operation-content {
    margin-top: 0;
}

.admin .operation-dates {
    margin: 0;
    padding: 0;
    text-align: center;
    list-style: none;
}

.admin .operation-content .detail-operation {
    font-size: 20px;
}

/** BO PHARMACIE **/

.wrap-btn-ajout-phie a {
    margin-bottom: 20px;
    margin-top: 30px;
    padding-bottom: 5px;
    position: absolute;
    top: -11px;
    right: 15px;
}

#nom-pharma {
    cursor: pointer;
    color: var(--color-primary);
    text-decoration: underline;
}

.wrap-btn-ajout-phie a span {
    padding-left: 8px;
}

/** BO DETAIL PHARMACIE **/
.page-detail-pharmacie .row.dashed.dashed-upcontainer {
    margin-bottom: 15px;
    text-align: center;
}

.page-detail-pharmacie .extra-container {
    padding-right: 50px;
    padding-top: 15px;
}

.page-detail-individu .row.dashed.dashed-upcontainer {
    margin-bottom: 15px;
    text-align: center;
}

.page-detail-individu .extra-container {
    padding-right: 50px;
}

/*.page-detail-pharmacie .titre-section {*/
/*    text-transform: uppercase;*/
/*    margin: 10px 0 0 0;*/
/*    color: var(--color-primary);*/
/*    padding-left: 1px;*/
/*    clear: both;*/
/*    font-size: 13px;*/
/*}*/

.page-detail-pharmacie .bootstrap-table {
    min-height: inherit;
}

.page-detail-pharmacie .pharmacie-static-infos ul, .pharmacie-static-bancaire ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}

.page-detail-pharmacie .operation-content {
    margin-top: 10px;
}

.page-detail-pharmacie .operation-content .select2.select2-container {
    margin-top: 0;

}

.page-detail-pharmacie .operation-content .form-inline > * {
    margin: 0 5px;
}

.page-detail-pharmacie .operation-content label {
    margin-bottom: 0;
}

.page-detail-pharmacie .operation-content .select2.select2-container .select2-selection span {
    font-size: 14px;
}

.page-detail-pharmacie .operation-content .select2.select2-container .select2-selection span,
.page-detail-pharmacie .operation-content .select2.select2-container .select2-selection {
    height: 24px;
    line-height: 24px;
}

.page-detail-pharmacie .table-stim tr.selected td {
    background-color: #ADD8E6;
}

.page-detail-pharmacie .table-stim tr.selected.sesame td {
    background-color: #ffaa66;
}

.page-detail-pharmacie .sectorisation-title {
    color: #10384F;
    font-size: 15px;
    font-weight: 500;
}

.page-detail-pharmacie .signature-container img {
    width: 100%;
    max-height: 180px;
    object-fit: contain;
}

.page-detail-pharmacie #infosComplementaires {
    margin-top: 13px;
}

.page-detail-pharmacie #coordonneesBancaires {
    margin-top: 36px;
}

.page-detail-pharmacie .dt-filter-operations {
    padding-left: 5px;
}

.page-detail-pharmacie .dt-filter-communications,
.page-detail-pharmacie .dt-filter-operations {
    margin-top: 14px;
}

.page-detail-pharmacie .operation-content {
    margin-top: 15px;
}

.page-detail-pharmacie .row.dashed.dashed-upcontainer {
    margin-bottom: 15px;
}

.page-detail-pharmacie .preview-img-container {
    margin-top: 15px;
}

.page-detail-pharmacie .historique-inscription-title {
    text-transform: uppercase;
    color: #10384f;
    margin-top: 25px;
    margin-bottom: 0;
}

#formActionMultiple {
    margin-bottom: 12px;
}

/** https://pasteboard.co/IgXcNpZ.png **/
.page-detail-pharmacie .form-horizontal label ~ .select2.select2-container {
    margin-top: 0;
}

/** DETAIL PHARMACIE MENU RAPIDE **/
.quick-nav-container {
    position: relative;
    z-index: 999;
}

.quick-nav {
    list-style: none;
    position: absolute;
    right: 10px;
    top: -6px;
    direction: rtl;
    padding: 0;
}

.quick-nav li {
    display: block;
    width: 40px;
    height: 45px;
    margin-top: 6px;
    color: #fff;
    text-align: center;
    line-height: 45px;
    z-index: 999;
}

.quick-nav li.nav-link {
    background-color: var(--color-primary);
    position: relative;
}

.nav-link-deactivated, .nav-link-deactivated > * {
    background-color: var(--color-inactif) !important;
}


.quick-nav li.nav-link .link-info,
.quick-nav li.nav-modal .modal-info {
    display: none;
    position: absolute;
    white-space: nowrap;
    width: auto;
    height: 45px;
    top: 0;
    background: #ffffff !important;
    border: 1px solid var(--color-primary);
    color: var(--color-primary) !important;
    right: 50px;
    padding: 0 10px;
    line-height: 45px;
}

.quick-nav li.nav-link .link-info:after,
.quick-nav li.nav-modal .modal-info:after {
    content: "";
    position: absolute;
    top: 16px;
    right: -5px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    display: inline-block;
    background-color: #ffffff !important;
    border-bottom: 1px solid var(--color-primary);
    border-right: 1px solid var(--color-primary);
    width: 10px;
    height: 10px;
}

/*.quick-nav li.nav-link-deactivated .link-info:after,*/
/*.quick-nav li.nav-modal .modal-info:after {*/
/*    content: "";*/
/*    position: absolute;*/
/*    top: 16px;*/
/*    right: -4px;*/
/*    transform: rotate(-45deg);*/
/*    -webkit-transform: rotate(-45deg);*/
/*    display: inline-block;*/
/*    background-color: var(--color-secondary);*/
/*    width: 10px;*/
/*    height: 10px;*/
/*}*/

.quick-nav li.nav-link:hover .link-info,
.quick-nav li.nav-modal:hover:not(.open) .modal-info {
    display: block;
}

.quick-nav li.nav-modal {
    position: relative;
    background-color: var(--color-primary);
    direction: rtl;
}

.quick-nav li.nav-modal a {
    text-decoration: none;
}

.quick-nav li.nav-modal.open {
    background-color: var(--color-primary);
    direction: ltr;
    text-align: left;
    min-width: 280px;
    width: auto;
}

.quick-nav li a.action-confirm-redirection {
    color: #fff;
    font-size: 20px;
}

.quick-nav-icon {
    color: #fff;
    font-size: 20px;
}

/* BO DETAIL HISTO */
#bloc_histo_cnx .pagination {
    display: inline-flex !important;
}

.nav-modal .extra-actions-container,
.nav-modal .label-container {
    display: none;
}

.nav-modal.open > div {
    display: inline-block;
}

.nav-modal .label-container {
    font-size: 20px;
    text-transform: uppercase;
}

.nav-modal .icon-container {
    font-size: 20px;
    padding: 0 10px 0 20px;
    cursor: pointer;
}

.nav-modal.open .extra-actions-container {
    float: right;
    padding-right: 5px;
}

.nav-modal.open .extra-actions-container .btn {
    /*background-color: #3a6eb3;*/
    color: #fff;
    padding: 5px;
}

.nav-modal.open .extra-actions-container.btn + .btn {
    margin-left: 0;
}

.nav-modal.open .extra-actions-container .btn:active {
    box-shadow: none;
}

.nav-modal.open .extra-actions-container .sd_button {
    top: 0;
}

.nav-modal.open .extra-actions-container .btn + .btn {
    margin-left: 0;
}

.nav-modal.open .extra-actions-container a {
    font-size: 14px;
}

.quick-nav-container .bootstrap-table {
    min-height: inherit;
}

.quick-nav-container .nav-modal-page {
    display: none;
    box-shadow: -6px 6px 8px 2px #aaa;
    direction: ltr;
    background-color: #fff;
}

.quick-nav-container .nav-modal-page > * {
    background-color: #fff;
    padding: 15px;
    text-align: center;
    color: #8e8e8e;
}

.nav-modal.open + .nav-modal-page {
    display: block;
}

.nav-modal.open,
.nav-modal.open + .nav-modal-page {
    -webkit-animation: animationOpen 0.5s normal forwards ease;
    -moz-animation: animationOpen 0.5s normal forwards ease;
    animation: animationOpen 0.5s normal forwards ease;
    -webkit-transform-origin: 100% 0;
    -moz-transform-origin: 100% 0;
    transform-origin: 100% 0;
}

@-webkit-keyframes animationOpen {
    from {
        transform: scaleX(0)
    }
    to {
        transform: scaleX(1)
    }
}

@-moz-keyframes animationOpen {
    from {
        transform: scaleX(0)
    }
    to {
        transform: scaleX(1)
    }
}

@keyframes animationOpen {
    from {
        transform: scaleX(0)
    }
    to {
        transform: scaleX(1)
    }
}

/** DETAIL PHARMACIE SWAL CONFIRM **/

.confirm-bo-bayer.popup-bayer.swal2-popup {
    padding: 0;
}

.confirm-bo-bayer.popup-bayer.swal2-popup .swal2-title {
    width: 100%;
}

.confirm-bo-bayer.popup-bayer.swal2-popup .swal2-content {
    padding: 15px;
}

.confirm-bo-bayer.popup-bayer.swal2-popup .swal2-actions {
    margin: 10px 10px 24px 10px;
    gap: 14px;
}

.confirm-bo-bayer.popup-bayer.swal2-popup .swal2-actions button + button {
    margin-left: 0;
}

.confirm-bo-bayer.popup-bayer.swal2-popup .swal2-styled {
    text-transform: none !important;
    border-radius: 30px !important;
    min-width: 130px !important;
    padding: 9px 26px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px;
}

/** BO SYNTHESE **/

h3.titre-datatable > span.infos {
    float: right;
}

.container-synthese .fixed-table-pagination {
    display: none !important; /* fixed-table-pagination append with js */
}

.container-synthese .bootstrap-table thead > tr > .percent .th-inner,
.container-synthese .bootstrap-table tbody > tr > td.percent {
    padding-left: 0;
    padding-right: 15px;
}

#modalBody.container-synthese .informations p {
    text-align: justify;
}

/*  SYNTHESE */
#datatableSynthese thead tr th {
    background: #F2F2F2;
    color: #212121;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0;
    border-right: none !important;
    border-bottom: none !important;
    border-top: none !important;
    white-space: nowrap;
}
#datatableSynthese thead tr th:last-child {
    border-right: none !important;
}
#datatableSynthese thead tr th .th-inner {
    color: #212121 !important;
}
#datatableSynthese tbody tr.info td,
#datatableSynthese tbody tr td[colspan] {
    background: #F2F2F2 !important;
    font-weight: 700;
    color: #212121;
}
#datatableSynthese tbody tr:nth-child(even) td {
    background: #FAFAFA;
}
#datatableSynthese tbody tr:hover td {
    background: #F1F1F3 !important;
}
.container-synthese .fixed-table-toolbar {
    padding-bottom: 10px;
}
.container-synthese .bootstrap-table tbody td.percent,
.container-synthese .bootstrap-table thead th.percent {
    min-width: 42px;
    text-align: center;
}

.fixed-table-container tbody td .th-inner, .fixed-table-container thead th .th-inner {
    white-space: inherit;
}

.fixed-table-container tbody td:nth-child(3) {
    white-space: nowrap;
}

.view {
    margin: auto;
    /*width: 600px;*/
}

.wrapper {
    position: relative;
    overflow: auto;
    white-space: nowrap;
}

.white-space-wrap {
    white-space: normal;
}

.sticky-col {
    position: sticky;
    position: -webkit-sticky;
    background-color: #f3f3f3;
}

.first-col {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    left: 0px;
    z-index: 30;
}

.second-col {
    width: 150px;
    min-width: 150px;
    max-width: 150px;
    left: 100px;
    z-index: 30;
}

.third-col {
    width: 150px;
    min-width: 200px;
    max-width: 200px;
    left: 250px;
    z-index: 30;
}

.fourth-col {
    width: 150px;
    min-width: 160px;
    max-width: 160px;
    left: 450px;
    z-index: 30;
}

.th-inner {
    /*
    background-color: white;
    */
    /*padding-top: 65px !important;*/
}

/** BO DETAIL CAMPAGNE **/
.email-container-preview {
    width: 100%;
    height: 800px;
    margin-top: 35px;
}

.container-bo .variables-container {
    margin-top: 35px;
}

.container-bo .variables-container ul {
    list-style: none;
}

/** BO ENVOI CAMPAGNE **/
.form-horizontal .checkbox.check-ignorer {
    margin-top: 20px;
}

/** BO CIBLAGE **/

.container-ciblage form.small-input .btn-primary[type='submit'] {
    height: 25px;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 8px;
}

/** BO BLOC REMINDER **/

.reminder-container {
    display: table;
    width: 100%;
    padding: 10px;
    background-color: #eee;
}

.reminder-container .reminder {
    display: table-row;
    vertical-align: middle;
    width: 100%;
    color: #333;
}

.reminder-container .reminder .description {
    display: table-cell;
    width: 80%;
}

.reminder-container .reminder .description strong {
    color: #8e8e8e;
}

.reminder-container .reminder .action {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
}

.reminder-container .reminder .action .btn-reminder {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.42857143;
    text-align: center;
}

.reminder-container .no-reminder {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

/** BO BLOC ACTIONS RAPIDES **/

.bloc-actions-rapides-container .actions-list {
    margin: 10px 0;
    padding: 0;
    list-style: none;
}

.bloc-actions-rapides-container .actions-list li {
    color: #0091DF;
    text-transform: uppercase;
    padding-top: 10px;
    font-size: 12px;
    font-weight: 600;
}

/** BO DECLARATIF **/
.container-declaratif-bo .declaratif-photo-preview {
    width: auto;
    height: auto;
    max-height: 200px;
}

.bloc-actions-rapides-container .actions-list li .sd_button {
    top: 2px;
    padding-right: 5px;
}

/** BO SIGNATURE */
/* ===== BO SIGNATURE — DESIGN COOPER ===== */
.container-signature-bo .sig-filter-card {
    position: relative;
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-left: 4px solid var(--color-primary);
    border-radius: 10px;
    padding: 14px 20px;
    margin-bottom: 22px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    display: flex;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}
.container-signature-bo .sig-filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
}
.container-signature-bo .sig-filter-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6B7280;
    margin: 0;
}
/* Select2 sur filtres signature */
.container-signature-bo .sig-filter-card .select2-container {
    min-width: 200px;
}

/* Card tableau */
.container-signature-bo .sig-table-content .fixed-table-container {
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
}

.container-signature-bo .signature-preview {
    width: auto;
    height: auto;
    max-height: 200px;
    max-width: 400px;
}

.container-signature-bo .table-stim tr.selected td {
    background-color: #ADD8E6;
}

/** BO GESTION EXPORT **/
.container-gestion-export .align-operation {
    margin-top: 6px;
}

.container-gestion-export .btn-flex {
    display: flex;
    flex-wrap: wrap;
}

.btn-flex .btn-export {
    margin: 0 10px 10px 0;
}

.align-operation .btn {
    margin-left: inherit;
    margin-bottom: 10px;
}

/** BO GESTION PRESTATION **/
.gestion-prestation-container .new-container {
    margin: 15px 0;
}

/** BO RELEASE NOTE **/

.container-release-note .btn {
    min-width: 180px;
}

.container-release-note form.small-input .form-group > div:first-child {
    padding-right: 0;
}

.container-release-note h3 {
    font-size: 17px;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 5px;
}

.container-release-note .note {
    margin: 30px 0;
}

.container-release-note .note .title-container {
    border-bottom: 1px solid #10384f;
    vertical-align: middle;
    margin-bottom: 10px;
}

.container-release-note .note .title-container h3 {
    display: inline-block;
    min-width: calc(100% - 150px);
    vertical-align: middle;
    line-height: 40px;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-size: 17px;
    color: #10384f;
    font-weight: bold;
}

.container-release-note .note .title-container .btn {
    display: inline-block;
    min-width: 150px;
    width: 150px;
    padding: 3px 16px;
}

.container-release-note .note h4 {
    font-size: 12px;
    color: grey;
}

.container-release-note .note h5 {
    text-transform: uppercase;
    font-size: 14px;
    color: #10384f;
    font-weight: 200;
}

.container-release-note .piece-jointe-container {
    margin-right: 15px;
    display: inline-block;
}

.container-release-note .piece-jointe-container-table {
    display: table;
    text-align: center;
    vertical-align: middle;
}

.container-release-note .piece-jointe-container .piece-jointe-icon {
    display: table-row;
}

.container-release-note .piece-jointe-container .piece-jointe-libelle {
    font-size: 12px;
    margin-top: 10px;
    display: block;
    max-width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/** BLOC COMMUNICATIONS **/

.communication-filters-container {
    margin: 15px 0;
    vertical-align: middle;
    height: 24px;
    color: #333;
}

.communication-filters-container .sd_button {
    color: #333e48;
    font-size: 21px;
    line-height: 24px;
    margin: 0 1px;
    vertical-align: middle;
}

.communication-filters-container .sd_button.selected {
    color: var(--color-primary);
}

.communication-filters-container .sd_button.disabled {
    color: #f2f2f2;
    cursor: not-allowed;
}

/** DETAIL COMMUNICATION — modale **/

/* Corps de la modale : marges latérales généreuses */
.container-detail-communication .modal-body {
    padding: 0px 28px 12px 28px !important;
    overflow-x: hidden;
}

.container-detail-communication .modal-footer {
    padding: 14px 28px;
    border-top: 1px solid #f0f0f0;
}

/* Neutraliser les marges Bootstrap sur le formulaire et ses sections */
.container-detail-communication #formCommunication {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

.container-detail-communication .form-section {
    margin: 0 !important;
}

.container-detail-communication .form-communication-content,
.container-detail-communication .communication-filters-container,
.container-detail-communication .form-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Titres de section */
.container-detail-communication .titre-section span {
    color: var(--color-primary);
}

.container-detail-communication .titre-section {
    margin-bottom: 8px;
    padding: 0;
}

/* Historique des messages */
/*.container-detail-communication .historique-messagerie-content {*/
/*    min-height: unset;*/
/*    margin: 0 0 12px;*/
/*    border-radius: 8px;*/
/*    background: #fafafa;*/
/*    border: 1px solid #f0f0f0;*/
/*    padding: 12px;*/
/*}*/

/* Labels alignés — largeur fixe */
.container-detail-communication .stim-form-label-container {
    min-width: 110px;
    width: 110px;
}

/* Select2 pleine largeur */
.container-detail-communication .stim-form-right-container .select2.select2-container {
    width: 100% !important;
}

/* Champs : flex colonne avec espacement uniforme */
.container-detail-communication .form-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 8px;
}

/* Neutraliser les marges du pattern stim-rows-container */
.container-detail-communication .form-section .stim-rows-container,
.container-detail-communication .form-section .mb-10 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Section rappel séparée visuellement */
.container-detail-communication .form-communication-content > div:last-child .titre-section {
    margin-top: 16px;
}

/* Coins arrondis sur les champs */
.container-detail-communication .stim-form-label-container {
    border-radius: 6px 0 0 6px;
}

.container-detail-communication .stim-form-right-container {
    border-radius: 0 6px 6px 0;
}

/** DETAIL CONTRAT **/

.title-contrat-detail {
    margin: 0 auto;
    max-width: 740px;
}

/** MODAL DETAILS PHARMACIE **/
#formDetailPhoto .img-mini {
    height: 141px;
}

/** RECAPTCHA **/

.g-recaptcha {
    display: inline-block;
}

/** MODAL **/

.modal-xl {
    width: fit-content;
    min-width: 500px;
    max-width: 75vw;
}

.modal.stim-modal .modal-content {
    border-radius: 10px;
    overflow: hidden;
}

.modal.stim-modal .modal-content .modal-header {
    border-bottom: 0;
    background-color: #0091DF;
    color: #fff;
    text-transform: uppercase;
    padding: 0 !important;
}

.rgpd-modal-text {
    font-size: 13px;
    line-height: 18px;
}

.rgpd-modal-text-strong {
    text-transform: uppercase;
    font-size: 15px !important;
}


.modal.stim-modal .modal-content .modal-footer {
    border-top: 0;
    text-align: center;
    padding: 15px;
}

/*#modalbayer > div > div > div.modal-footer*/
/*#modalbayer .modal-footer {
    border-top: 0;
    text-align: center;
    padding: 0px;
}*/

.modal.modal-declaratif {
    margin-top: 200px;
}

.stim-modal .declaration-content input[type="checkbox"] {
    margin-top: 10px;
    margin-left: 15px;
}

/** MODAL DETAILS FACTURE **/

form.statut-facture .informations {
    padding-top: 10px;
}

/** NOTIFICATIONS **/
.modal-dialog.modal-notif .grand-titre-title {
    text-align: center;
    font-size: 16px;
}

.modal-dialog.modal-notif .grand-titre-sub-container {
    width: 53px;
}

.modal-dialog.modal-notif .grand-titre-title .nav-left {
    padding-right: 25px;
}

.modal-dialog.modal-notif .grand-titre-title .nav-right {
    padding-left: 25px
}

.modal-dialog.modal-notif div.extra-actions {
    width: 45px;
    min-width: initial;
}

.modal-dialog.modal-notif .titre-section,
.bloc-notif .titre-section {
    padding-left: 0;
    margin-bottom: 5px;
    font-size: 17px;
    font-weight: bold;
}

.modal-dialog.modal-notif .sous-titre-section,
.bloc-notif .sous-titre-section {
    color: black;
    padding-bottom: 15px;
    font-size: 15px;
    font-weight: bold;
}

.modal-dialog.modal-notif .contenu {
    text-align: justify;
}

.piece-jointe-popup {
    margin-top: 15px;
}

.piece-jointe-popup a,
.piece-jointe-page a {
    color: #0091DF;
}

.stim-menu.navbar-default .navbar-nav > li.menu-notif a {
    font-weight: 900;
    font-size: 13px;
}

.stim-menu.navbar-default .navbar-nav > li.menu-notif a .nbr-notif {
    padding-left: 2px;
}

.bloc-notif .titre-section {
    margin-top: 0;
}

.piece-jointe-page {
    margin-bottom: 10px;
}

.no-notif > div {
    display: table;
    color: #0091DF;
}

.no-notif > div span {
    display: table-cell;
    vertical-align: middle;
}

/** INDISPONIBLE **/

.indisponible .container > .row {
    margin-top: 50px;
    text-align: center;
}

.indisponible .bloc-indisponible {
    padding: 0 30px 25px 30px;
}

.indisponible .bloc-indisponible h1 {
    margin-top: 32px;
    font-size: 36px;
    text-transform: none;
}

.indisponible .bloc-indisponible h3 {
    margin-top: 10px;
    font-size: 15px;
    font-weight: 900;
}

.indisponible .bloc-indisponible p {
    padding-bottom: 10px;
}

.indisponible .bloc-indisponible a {
    display: block;
    margin-top: 18px;
    color: #0091DF;
}

/** IMPORT INSCRIPTIONS MANUEL **/

.form-horizontal .checkbox-import {
    margin-bottom: 15px;
}

#btnModifierBanque {
    min-width: 200px;
}

.container-profil .decla-banque-child {
    width: 50%;
    margin-top: 0;

}

.decla-banque-child {
    margin-top: auto;
}


/*
.with-border {
    border: 1px solid dimgray;
    padding: 25px;
}
*/
.decla-banque-child .bloc_banque {
    margin-bottom: 5px !important;
}

.btn-modifier-banque {
    display: flex;
    justify-content: center;
}

.decla-banque-valider {
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin-bottom: 15px;
    flex-direction: row;
    flex-wrap: wrap;
}

.decla-banque-child #bloc_upload_rib {

    text-align: center !important;
}

/** FLOATING FORM LABEL **/

.float-label-control {
    position: relative;
}

/** PLACEHOLDER COLOR **/
.float-label-control ::-webkit-input-placeholder {
    color: #aaaaaa;
}

.float-label-control :-moz-placeholder {
    color: #aaaaaa;
}

.float-label-control ::-moz-placeholder {
    color: #aaaaaa;
}

.float-label-control :-ms-input-placeholder {
    color: #aaaaaa;
}

/** PLACEHOLDER COLOR **/

.float-label-control input:-webkit-autofill,
.float-label-control textarea:-webkit-autofill {
    background-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    -moz-box-shadow: 0 0 0 1000px #ffffff inset !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #1F2937 !important;
}

.float-label-control input, .float-label-control textarea, .float-label-control label {
    box-shadow: none;
    -webkit-box-shadow: none;
    font: normal normal 13.5px Tahoma;
}

.float-label-control input:focus,
.float-label-control textarea:focus {
    box-shadow: none;
    -webkit-box-shadow: none;
    border-color: #B70E80 !important;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.08) !important;
    outline: none;
}

.float-label-control textarea:focus {
    padding-bottom: 4px;
}

.float-label-control input,
.float-label-control textarea {
    display: block;
    width: 100%;
    padding: 18px 14px 6px 14px;
    border: 1px solid #D0D5DD;
    border-radius: 8px;
    background-color: #ffffff;
    outline: none;
    margin: 0;
    color: #1F2937;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    height: 52px;
}

#accueil_user::placeholder, #accueil_password::placeholder {
    font-family: Tahoma, serif;
    font-size: 14px;
    color: #10384F;
}

form.small-input .float-label-control .form-control::placeholder {
    padding-top: 15px !important;

}


.float-label-control textarea {
    padding: 0.1em 0 5px 0;
}

.float-label-control label {
    position: absolute;
    font-weight: 500;
    top: 7px;
    left: 14px;
    color: #9CA3AF;
    z-index: 2;
    font-size: 11px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    pointer-events: none;
    -moz-animation: float-labels 300ms none ease-out;
    -webkit-animation: float-labels 300ms none ease-out;
    -o-animation: float-labels 300ms none ease-out;
    -ms-animation: float-labels 300ms none ease-out;
    -khtml-animation: float-labels 300ms none ease-out;
    animation: float-labels 300ms none ease-out;
    animation-play-state: running !important;
    -webkit-animation-play-state: running !important;
}

.float-label-control input:focus ~ label,
.float-label-control input:not(.empty) ~ label {
    color: #B70E80;
}

form.small-input .float-label-control label {
    top: 0.75em;
}

form.small-input .float-label-control .form-control {
    height: 35px;
    padding-left: 10px;
    padding-top: 15px;
    font-size: 15px;
}

#formProfil .float-label-control .form-control {

    padding-top: 0px;
}

#formProfilAdmin .float-label-control .form-control, #formProfil1 .float-label-control .form-control, #formProfil2 .float-label-control .form-control {
    padding-top: 18px !important;

}

/* TODO ANAIS: A supprimer quand on met le new bon design de formulaire */
#formProduit .float-label-control input.form-control {
    padding-left: 14px;
}

#formProduit .float-label-control input.form-control:not(.empty) {
    height: 52px;
    padding-top: 18px;
}

#formProduit .float-label-control label {
    top: 7px;
}

form.small-input .float-label-control textarea.form-control {
    height: auto;
}

form.small-input .float-label-control .btn.dropdown-toggle.btn-default {
    height: 35px;
}

form.small-input .float-label-control div ~ div label {
    left: 25px;
}

.float-label-control input.empty ~ label,
.float-label-control textarea.empty ~ label,
.float-label-control select.empty ~ label {
    display: none;
}

form.small-input .float-label-control .select2-selection__rendered {
    height: 35px;
    padding-left: 10px;
    padding-top: 6px;
    font-size: 15px;
}

#formProfil .float-label-control .select2-selection__rendered {
    padding-top: 1px !important;
}

.float-label-control input:not(.empty) ~ label,
.float-label-control textarea:not(.empty) ~ label,
.float-label-control select:not(.empty) ~ label {
    z-index: 1;
}

.float-label-control input:not(.empty):focus ~ label,
.float-label-control textarea:not(.empty):focus ~ label,
.float-label-control select:not(.empty):focus ~ label {
    color: #aaaaaa;
}

.float-label-control.label-bottom label {
    -moz-animation: float-labels-bottom 300ms none ease-out;
    -webkit-animation: float-labels-bottom 300ms none ease-out;
    -o-animation: float-labels-bottom 300ms none ease-out;
    -ms-animation: float-labels-bottom 300ms none ease-out;
    -khtml-animation: float-labels-bottom 300ms none ease-out;
    animation: float-labels-bottom 300ms none ease-out;
}

.float-label-control.label-bottom input:not(.empty) ~ label,
.float-label-control.label-bottom textarea:not(.empty) ~ label {
    top: 3em;
}

form.small-input .form-group.float-label-control {
    margin-top: 0;
}

/* TODO ANAIS: A supprimer quand on met le new bon design de formulaire */
#add-pharmacie-form input {
    margin-top: 5px;
    padding-bottom: -5px;
}

#add-pharmacie-form input:not(.empty) ~ label {
    left: 10px;
    font-size: 0.65em;
}
/* END TODO ANAIS */

/* BO page statistiques */
.content {
    max-width: fit-content;
}

.report-overview-module {
    box-shadow: 4px 4px 10px #b9b9b9;
    border-radius: 25px;
    padding-left: 15px;
}

.graph-header {
    width: 100%;
    text-align: left;
}

.graph-header .box-header {
    background-color: #fafafa;
    font-weight: 400;
    font-size: 18px;
    height: 60px;
    padding: 6px 0 0px 10px;
    border-bottom: 2px solid #ececec;
}

.report-statistic-box {
    float: left;
    width: 33.333%;
    height: 200px;
    background-color: #fafafa;
    text-align: center;
}

.report-statistic-box .box-header {
    font-weight: 400;
    font-size: 11px;
    padding-top: 20px;
    height: 44px;
}

.report-statistic-box .box-header span {
    display: inline-block;
    width: 50%;
    height: 25px;
    vertical-align: middle;
}


.report-statistic-box .box-content {
    position: relative;
    margin: 20px auto 15px;
    width: 25%;
    height: 25%;
}

.report-statistic-box .box-content .sentTotal {
    font-size: 46px;
    font-weight: 400;
    color: #80cdbe;
    padding-top: 32px;
}

.report-statistic-box .box-content .percentage {
    position: absolute;
    font-size: 22px;
    top: 30%;
    left: 22% !important;
}

.report-statistic-box .box-content .conversionValue {
    font-size: 28px;
    font-weight: 300;
    color: #f5ab34;
    padding-top: 46px;
}

.conversionValue .conversionCurrency {
    font-size: 18px;
    font-weight: 400;
    color: #f5ab34;
    padding-top: 46px;
}

.report-statistic-box .delivery-rate {
    color: #10384f;
}

.report-statistic-box .open-rate {
    color: #10384f;
}

.report-statistic-box .click-to-open {
    color: #10384f;
}

.report-statistic-box .box-foot {
    position: relative;
    font-size: 13px;
    font-weight: 400;
    padding: 0 20px;
}

.report-statistic-box .box-foot .box-foot-stats {
    font-size: 15px;
}

.report-statistic-box .box-foot .box-foot-left {
    float: left;
    text-align: left;
}

.report-statistic-box .box-foot .box-foot-right {
    float: right;
    text-align: right;
}

.report-statistic-box .box-foot .arrow {
    display: none;
    position: absolute;
    width: 15px;
    height: 15px;
}

@media (max-width: 1024px) {
    .report-statistic-box {
        width: 50%;
    }
}

/* Deuxime block PAGE STATISTIQUES */
.sectionClass {
    padding: 20px 0px 50px 0px;
    position: relative;
    display: block;
}

.headerLine {
    width: 160px;
    height: 2px;
    display: inline-block;
    /*background: #101F2E;*/
}

.projectFactsWrap {
    display: flex;
    margin-top: 30px;
    flex-direction: row;
    justify-content: space-between;
    justify-content: center;
    width: 100%;
}

.projectFactsWrap:first-child {
}

.graph_annee {
    margin-top: 2em;
    margin-bottom: 2em;
}

#projectFacts .fullWidth {
    padding: 0;
}

.projectFactsWrap .item {
    padding: 10px;
    text-align: center;
    box-shadow: 0px 0px 8px #00000029;
    border-radius: 25px;
    background: white;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.projectFactsWrap:first-child {
    margin-right: 2em;
}

.col-lg-12 .fullWidth {
    display: flex;
    flex-direction: row;
    max-width: 850px;
    margin: auto;
}

.columns .projectFactsWrap {
    margin-top: 0px;
}

.projectFactsWrap-divider {
    padding: 20px;
    width: 50%;
}

.projectFactsWrap .item1 {
    text-align: center;
    margin-right: 10px;
    background: #f8f8f8;
    width: 100%;
    display: flex;
    justify-content: left;
    align-items: center;
    height: 44px;
}

.projectFactsWrap .item1 span {
    padding: 15px;
    justify-content: left;
    background: #0091DF;
    color: #ffffff;
    height: 44px;
}

.projectFactsWrap .item1 span svg {
    display: flex;
}

.projectFactsWrap .item1 p.number_phies {
    font-size: 18px;
    color: #212121;
}

.projectFactsWrap .item1 p {
    color: #919191;
    padding-left: 20px;
    margin-bottom: 0px;
}

.projectFactsWrap .item span.divider-stat {
    height: 70%;
    width: 1px;
    background: #e6e6e6;
}

.projectFactsWrap .item p.number {
    font-size: 40px;
    padding: 0;
    font-weight: bold;
}

.projectFactsWrap .item p {
    color: #0091DF;
    font-size: 12px;
    margin: 0;
    padding: 10px;
}

.projectFactsWrap-divider p:first-child {
    color: #919191;
}

.projectFactsWrap .item p.connected {
    color: #10384f;
}

.projectFactsWrap .item span {
    width: 60px;
    height: 2px;
    display: block;
    margin: 0 auto;
}

.projectFactsWrap .item i {
    vertical-align: middle;
    font-size: 50px;
    color: rgba(255, 255, 255, 0.8);
}

.highcharts-figure {
    box-shadow: 0px 0px 8px #00000029;
    border-radius: 18px;
    padding: 25px;
}

.lien_gestion_affichage {
    display: flex;
    justify-content: space-between;
    padding-bottom: 25px;
}

.lien_gestion_affichage .graph_annee_entete {
    width: 100%;
    display: flex;
    padding-left: 10px;
    align-items: center;
}

.lien_gestion_affichage .graph_annee_entete p {
    align-items: center;
    padding-left: 15px;
    color: #212121;
    font-size: 18px;
    margin-bottom: 0px;
}

.lien_gestion_affichage .graph_annee_entete svg {
    color: #0091DF;
    font-size: 16px;
}

.graph_annee_choix {
    display: flex;
    justify-content: flex-end;
}

.graph_annee_choix div {
    padding: 5px 10px 5px 10px;
    font-size: 12px;
    font-weight: bold;
    width: 90px;
    text-align: center;
}

.graph_annee_choix div a {
    text-decoration: none;
}

.graph_annee_choix .mois {
    margin-right: 10px;

}

.week_actif {
    background: #0091DF;
}

.week_actif > a {
    color: white;
}

.week_inactif {
    background: white;
    color: #10384f;
    border: 1px solid #0091DF;

}


.graph_annee_choix .semaine {
    /*border: 1px solid #0091DF;*/
}

@media (max-width: 786px) {
    .projectFactsWrap .item {
        flex: 0 0 50%;
    }

    .flashbag-container {
        width: 80%;
    }
}

/* Troisième block */
.highcharts-figure, .highcharts-data-table table {
    min-width: 310px;
    max-width: 850px;
    margin: 1em auto;
}

#container {
    height: 600px;
}

.highcharts-data-table table {
    font-family: Verdana, sans-serif;
    border-collapse: collapse;
    border: 1px solid #EBEBEB;
    margin: 5px auto;
    text-align: center;
    width: 100%;

}

.highcharts-data-table caption {
    padding: 1em 0;
    font-size: 1.2em;
    color: #555;
}

.highcharts-data-table th {
    font-weight: 600;
    padding: 0.5em;
}

.highcharts-data-table td, .highcharts-data-table th, .highcharts-data-table caption {
    padding: 0.5em;
}

.highcharts-data-table thead tr, .highcharts-data-table tr:nth-child(even) {
    background: #f8f8f8;
}

.highcharts-data-table tr:hover {
    background: #f1f7ff;
}

@keyframes float-labels {
    0% {
        opacity: 0;
        color: #aaa;
        top: 0.1em;
        font-size: 0.85em;
    }
    20% {
        font-size: 0.85em;
        opacity: 0.1;
    }
    30% {
        top: 0.1em;
        opacity: 0.3;
    }
    50% {
        opacity: 0.5;
        font-size: 0.85em;
    }
    100% {
        top: 0.75em;
        opacity: 1;
    }
}

@-webkit-keyframes float-labels {
    0% {
        opacity: 0;
        color: #aaa;
        top: 0.1em;
        font-size: 0.85em;
    }
    20% {
        font-size: 0.85em;
        opacity: 0.1;
    }
    30% {
        top: 0.1em;
        opacity: 0.3;
    }
    50% {
        opacity: 0.5;
        font-size: 0.85em;
    }
    100% {
        top: 0.75em;
        opacity: 1;
    }
}

@keyframes float-labels-bottom {
    0% {
        opacity: 1;
        color: #aaa;
        top: 0.1em;
        font-size: 1.5em;
    }
    20% {
        font-size: 1.5em;
        opacity: 0;
    }
    30% {
        top: 0.1em;
    }
    50% {
        opacity: 0;
        font-size: 0.85em;
    }
    100% {
        top: 3em;
        opacity: 1;
    }
}

@-webkit-keyframes float-labels-bottom {
    0% {
        opacity: 1;
        color: #aaa;
        top: 0.1em;
        font-size: 1.5em;
    }
    20% {
        font-size: 1.5em;
        opacity: 0;
    }
    30% {
        top: 0.1em;
    }
    50% {
        opacity: 0;
        font-size: 0.85em;
    }
    100% {
        top: 3em;
        opacity: 1;
    }
}


/** FLOATING FORM LABEL **/ /** FLOAT LABEL ACCUEIL **/ /** FLOAT LABEL ACCUEIL **/ /** FLOAT LABEL ACCUEIL **/

.float-label-control-accueil {
    position: relative;
}

/** PLACEHOLDER COLOR **/
.float-label-control-accueil ::-webkit-input-placeholder {
    color: #aaaaaa;
}

.float-label-control-accueil :-moz-placeholder {
    color: #aaaaaa;
}

.float-label-control-accueil ::-moz-placeholder {
    color: #aaaaaa;
}

.float-label-control-accueil :-ms-input-placeholder {
    color: #aaaaaa;
}

/** END PLACEHOLDER COLOR **/

.float-label-control-accueil input:-webkit-autofill,
.float-label-control-accueil textarea:-webkit-autofill {
    background-color: #f2f2f2 !important;
    -webkit-box-shadow: 0 0 0 1000px #f2f2f2 inset !important;
    -moz-box-shadow: 0 0 0 1000px #f2f2f2 inset !important;
    box-shadow: 0 0 0 1000px #f2f2f2 inset !important;
}

.float-label-control-accueil input, .float-label-control-accueil textarea, .float-label-control-accueil label {
    font-size: 1.3em;
    box-shadow: none;
    -webkit-box-shadow: none;
}

.float-label-control-accueil input:focus,
.float-label-control-accueil textarea:focus {
    box-shadow: none;
    -webkit-box-shadow: none;
    border-bottom-width: 2px;
}

.float-label-control-accueil textarea:focus {
    padding-bottom: 4px;
}

.float-label-control-accueil input,
.float-label-control-accueil textarea {
    display: block;
    width: 100%;
    padding: 0.1em 0 1px 0;
    border: none;
    border-radius: 0;
    outline: none;
    margin: 0;
}

.float-label-control-accueil textarea {
    padding: 0.1em 0 5px 0;
}

/** label out of focus **/
.float-label-control-accueil label {
    position: absolute;
    font-weight: normal;
    top: -1.0em;
    left: 10px;
    color: #10384f;
    z-index: -1;
    font-size: 0.75em;
    -moz-animation: float-labels 300ms none ease-out;
    -webkit-animation: float-labels 300ms none ease-out;
    -o-animation: float-labels 300ms none ease-out;
    -ms-animation: float-labels 300ms none ease-out;
    -khtml-animation: float-labels 300ms none ease-out;
    animation: float-labels 300ms none ease-out; /* There is a bug sometimes pausing the animation. This avoids that.*/
    animation-play-state: running !important;
    -webkit-animation-play-state: running !important;
}

form.small-input .float-label-control-accueil label {
    top: 0.75em;
}

form.small-input .float-label-control-accueil .form-control {
    height: 35px;
    padding-left: 10px;
    padding-top: 15px;
    font-size: 15px;
}

form.small-input .float-label-control-accueil textarea.form-control {
    height: auto;
}

form.small-input .float-label-control-accueil .btn.dropdown-toggle.btn-default {
    height: 35px;
}

form.small-input .float-label-control-accueil div ~ div label {
    left: 25px;
}

.float-label-control-accueil input.empty ~ label,
.float-label-control-accueil textarea.empty ~ label {
    display: none;
}

.float-label-control-accueil input:not(.empty) ~ label,
.float-label-control-accueil textarea:not(.empty) ~ label {
    z-index: 1;
}

/**LABEL when focused**/
.float-label-control-accueil input:not(.empty):focus ~ label,
.float-label-control-accueil textarea:not(.empty):focus ~ label {
    color: #10384f;
}

.float-label-control-accueil.label-bottom label {
    -moz-animation: float-labels-bottom 300ms none ease-out;
    -webkit-animation: float-labels-bottom 300ms none ease-out;
    -o-animation: float-labels-bottom 300ms none ease-out;
    -ms-animation: float-labels-bottom 300ms none ease-out;
    -khtml-animation: float-labels-bottom 300ms none ease-out;
    animation: float-labels-bottom 300ms none ease-out;
}

.float-label-control-accueil.label-bottom input:not(.empty) ~ label,
.float-label-control-accueil.label-bottom textarea:not(.empty) ~ label {
    top: 3em;
}

.float-label-control-accueil input,
.float-label-control-accueil textarea {
    padding-left: 20px;
    margin-top: 5px;
}

form.small-input .form-group.float-label-control-accueil {
    margin-top: 0;
}


@keyframes float-labels {
    0% {
        opacity: 0;
        color: #aaa;
        top: 0.1em;
        font-size: 0.85em;
    }
    20% {
        font-size: 0.85em;
        opacity: 0.1;
    }
    30% {
        top: 0.1em;
        opacity: 0.3;
    }
    50% {
        opacity: 0.5;
        font-size: 0.85em;
    }
    100% {
        top: 0.75em;
        opacity: 1;
    }
}

@-webkit-keyframes float-labels {
    0% {
        opacity: 0;
        color: #aaa;
        top: 0.1em;
        font-size: 0.85em;
    }
    20% {
        font-size: 0.85em;
        opacity: 0.1;
    }
    30% {
        top: 0.1em;
        opacity: 0.3;
    }
    50% {
        opacity: 0.5;
        font-size: 0.85em;
    }
    100% {
        top: 0.75em;
        opacity: 1;
    }
}

@keyframes float-labels-bottom {
    0% {
        opacity: 1;
        color: #aaa;
        top: 0.1em;
        font-size: 1.5em;
    }
    20% {
        font-size: 1.5em;
        opacity: 0;
    }
    30% {
        top: 0.1em;
    }
    50% {
        opacity: 0;
        font-size: 0.85em;
    }
    100% {
        top: 3em;
        opacity: 1;
    }
}

@-webkit-keyframes float-labels-bottom {
    0% {
        opacity: 1;
        color: #aaa;
        top: 0.1em;
        font-size: 1.5em;
    }
    20% {
        font-size: 1.5em;
        opacity: 0;
    }
    30% {
        top: 0.1em;
    }
    50% {
        opacity: 0;
        font-size: 0.85em;
    }
    100% {
        top: 3em;
        opacity: 1;
    }
}

/** FLOATING FORM LABEL **/ /** FLOAT LABEL ACCUEIL **/ /** FLOAT LABEL ACCUEIL **/ /** FLOAT LABEL ACCUEIL **/

.p-rgpd {
    text-align: justify !important;
}

.modal-rpgd {
    text-align: justify;
    padding: 10px 40px;
    max-width: 100%;
}

.modal-dialog .modal-rpgd p {
    color: #333e48;
}

/** BO GESTION FACTURE **/
.gestion-facture-container .bootstrap-table {
    min-height: inherit;
}

/** BO PAIEMENT — filter bar **/
.paiement-filter-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.paiement-date-group {
    display: flex;
    align-items: center;
    border: 1px solid #D0D5DD;
    border-radius: 6px;
    overflow: hidden;
    height: 38px;
}

.paiement-date-label {
    flex-shrink: 0;
    padding: 0 10px;
    background-color: #F4F5F7;
    border-right: 1px solid #D0D5DD;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6B7280;
    white-space: nowrap;
    line-height: 38px;
}

.paiement-date-input {
    width: 130px;
    border: none;
    outline: none;
    padding: 0 10px;
    font-size: 13px;
    color: #374151;
    background: #fff;
    height: 38px;
}

.paiement-date-input::placeholder {
    color: #9CA3AF;
}

.paiement-btn-valider {
    flex-shrink: 0;
    height: 38px;
    padding: 0 20px;
    white-space: nowrap;
}

/** ANIMATION BOUTON **/


/** SELECTION DATE HISTORIQUE **/
/*.navbar-default .navbar-brand:focus, .navbar-default .navbar-brand:hover  {
    background-color: unset !important;

}*/

/*.navbar-brand:hover {
    background-color: unset !important;
}*/
.navbar-default .navbar-brand:focus, .navbar-default .navbar-brand:hover {
    color: #5e5e5e;
    background-color: #10384f !important;
}

#table_year_slider {
    /*margin-right: 3px;*/
    /*margin-left: 3px;*/
    font-size: 18px;
}

.year_slider {
    background-color: #ffffff;
    margin-top: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    color: #10384f;
    margin-bottom: 30px;
}

.chevron {
    background-color: #10384f;
    color: white;
    cursor: pointer;

}

.annee_operation {
    padding-left: 75px;
}


/** page operation btn switch off on **/

.remove-bloc {
    margin-top: 1em;
    float: right;
    margin-bottom: 1em;

}

.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.sliderOp {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.sliderOp:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .sliderOp {
    background-color: #2196F3;
}

input:focus + .sliderOp {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .sliderOp:before {

    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.sliderOp.round {
    border-radius: 34px;
}

.sliderOp.round:before {

    border-radius: 50%;
}

/** MODAL MILLESIME**/

.millesime {
    text-align: center;
    font-size: 18px;
    border-bottom: 2px solid #10384f;
    color: #10384f;
    padding-top: 5px;
    padding-bottom: 5px;
}

.millesime {
    text-decoration: none;
    text-decoration-style: unset;
}

.lien-millesime:hover {
    text-decoration-style: unset;
    text-decoration: none !important;
}

.millesime:hover {
    text-decoration: none !important;
    background-color: #10384f;
    color: white !important;
    transition: all ease 100ms;
}

.lien-millesime:hover {
    text-decoration-style: unset;
    text-decoration: none !important;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
    border-radius: 6px 0 6px 6px;
}

/* MODAL OPERATIONS */
.modal.stim-modal-operation .modal-content-operation {
    border-radius: 0;
}

.modal.stim-modal-operation .modal-content-operation .modal-header-operation {
    border-bottom: 0;
    background-color: #fab700;
    color: #fff;
    text-transform: uppercase;
    padding: 0;
}

.stim-modal-operation input[type="checkbox"] {
    margin-top: 10px;
}

.stim-modal-operation .declaration-content input[type="checkbox"] {
    margin-top: 10px;
    margin-left: 15px;
}

.form-new-operation {
    margin-bottom: 10px;
}

.modal .modal-dialog.modal-nouvelle-operation {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition-duration: 0s;
}

.modal-body-operation {
    position: relative;
    padding: 15px;
    background-color: white;
}

.alerte-operation-produit-existant {
    text-transform: uppercase;
    border: 4px solid darkred;
    text-align: center;
    font-weight: bolder;
    font-size: 18px;
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 8px 10px;
    animation-name: blinking;
    animation-duration: 1s;
    animation-iteration-count: 100;
}

.alerte-titre, .alerte-sous-titre {
    text-align: center;
}

.alerte-texte {
    text-align: justify;
    margin-top: 25px;
    border: 1px solid lightgrey;
    border-radius: 15px;

}

.alerte-bouton {
    margin-top: 25px;
}


@keyframes blinking {
    50% {
        border-color: #fff;
    }
}


/** RESPONSIVE **/
@media (max-width: 767px) {

    form.small-input .form-group > div:first-child {
        padding-left: 15px;
    }

    form.small-input#formDetailPharmacie .form-group > div:first-child,
    form.small-input#formDetailPharmacie .form-group > div:nth-child(2) {
        padding-left: 0;
    }

    form.small-input .form-group > div:last-child {
        padding-left: 15px;
        padding-right: 15px;
    }

    form.small-input .form-group > div + div {
        margin-top: 20px;
    }

    .stim-menu .navbar-toggle {
        float: left;
        margin-left: 5px;
    }

    /*.stim-menu.navbar-default .navbar-nav .open .dropdown-menu > li > a {*/
    /*    color: #ffffff;*/
    /*}*/
    .stim-menu.navbar-default .navbar-nav .open .dropdown-menu > li.dropdown-submenu > a:hover,
    .stim-menu.navbar-default .navbar-nav .open .dropdown-menu > li.dropdown-submenu > a:focus,
    .stim-menu.navbar-default .navbar-nav .show .dropdown-menu > li.dropdown-submenu > a:hover,
    .stim-menu.navbar-default .navbar-nav .show .dropdown-menu > li.dropdown-submenu > a:focus {
        background-color: #ffffff;
    }

    .stim-menu.navbar-default .navbar-nav .open .dropdown-menu > li.dropdown-submenu:hover > a,
    .stim-menu.navbar-default .navbar-nav .show .dropdown-menu > li.dropdown-submenu:hover > a {
        color: #10384f;
    }

    .homepage p {
        width: inherit;
    }

    .btn-group {
        display: none;
    }

    form.small-input .float-label-control label {
        top: 0.1em;
        left: 20px;
    }

    form.small-input .float-label-control select ~ label {
        top: 8px;
        left: 20px;
    }

    form.small-input .float-label-control-accueil label {
        top: 0.1em;
        left: 20px;
    }

    form.small-input .float-label-control-accueil select ~ label {
        top: 8px;
        left: 20px;
    }

    @keyframes float-labels {
        0% {
            opacity: 0;
            color: #aaa;
            top: -0.5em;
            font-size: 0.85em;
        }
        20% {
            font-size: 0.85em;
            opacity: 0.1;
        }
        30% {
            top: -0.1em;
            opacity: 0.3;
        }
        50% {
            opacity: 0.5;
            font-size: 0.85em;
        }
        100% {
            top: 0.1em;
            opacity: 1;
        }
    }

    @-webkit-keyframes float-labels {
        0% {
            opacity: 0;
            color: #aaa;
            top: -0.5em;
            font-size: 0.85em;
        }
        20% {
            font-size: 0.85em;
            opacity: 0.1;
        }
        30% {
            top: -0.1em;
            opacity: 0.3;
        }
        50% {
            opacity: 0.5;
            font-size: 0.85em;
        }
        100% {
            top: 0.1em;
            opacity: 1;
        }
    }

    form.small-input .form-control {
        height: 50px;
        padding-left: 10px;
        position: relative;
        padding-top: 18px;
    }

    form.small-input .btn.dropdown-toggle.btn-default {
        height: 50px;
    }


    #table_year_slider {
        margin-right: 3px;
        margin-left: 3px;
        font-size: 14px;
        margin-bottom: 25px;
    }

    #liste_annee {
        width: 85%;
    }

    #table_year_slider > .chevron {
        width: 5%;
    }


}

@media (min-width: 768px) {

    .stim-menu.navbar-default .navbar-nav > li > #historique:before {
        display: inline-block;
        width: 1px;
        height: 15px;
        background-color: #707070;
        content: '';
        position: relative;
        left: -17px;
    }

    .stim-menu.navbar-default .navbar-nav > li:first-child > a:before {
        display: none;
    }

    .stim-menu .navbar-collapse .nav > .divider-vertical {
        display: none;
    }

    .page-detail-pharmacie .remove-right-padding {
        padding-right: 0;
    }
}

.ligne {
    width: 499px;

}

@media (max-width: 1200px) {

    .bloc_gauche_login {
        margin-left: 0;
    }

    .bloc_droite_login {
        margin-right: 0;
    }

    .btn-log-index.first-connexion {
        text-align: center;
    }
}

@media (max-width: 991px) {

    .bloc_gauche_login,
    .bloc_droite_login {
        float: none;
        margin-left: auto;
        margin-right: auto;
    }

    .etape3-content .contrat-instructions {
        margin-top: 10px;
    }

    .etape3-content .contrat-instructions svg {
        position: relative;
        top: -10px;
        margin: 0 15px;
        font-size: 19px;
        display: inline-block;
    }

    .etape3-content .contrat-instructions strong {
        display: inline-block;
        width: 60%;
    }

    .footer-accueil {
        bottom: unset !important;
    }
}

@media (max-width: 768px) {

    .grand-titre-homepage-row {
        padding-top: 10px !important;
    }

    .homepage .logo-bayer-overlay,
    .login-admin .logo-bayer-overlay {
        display: block;
        max-width: 300px;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 35px;

    }

    .login-admin .logo-bayer-overlay {
        width: 220px;
        margin-bottom: 50px;
    }

    .login-admin .bloc-login-admin {
        padding: 0 16px;
        box-sizing: border-box;
    }

    .login-admin-card {
        padding: 25px 20px 20px;
    }

    .login-admin .container {
        padding-left: 0;
        padding-right: 0;
    }

    .btn-log-index {
        position: absolute;
        bottom: 0;
        left: 15px;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0px 15px;
        /*width: calc(100% - 30px);*/
        width: calc(100% - 15px);
    }

    .btn-log-index.first-connexion {
        margin-left: -15px !important;
        text-align: center;
    }

    .login-admin .btn-log-index {
        left: 0;
        width: 100%;
    }

    .portail {
        margin-top: 5px;
    }

    #LogobayerBleuPortail {
        display: none;
    }

    .bloc-front,
    .bloc-front {
        padding: 0 0;
        margin-top: 15px;
    }

    .titre-main-front {
        font-size: 14px;
    }

    #span_operations:after {
        content: " \A ";
        white-space: pre;
        width: 30% !important;
    }

    .menu-documents {
        padding: 0;
        margin: 0px 5px 0px 5px;
        padding: 12px 4px 10px 4px;
        font-size: smaller;
    }

    .menu-documents-active {
        background-color: #f5f5f5 !important;
        color: #10384f !important;
    }

    #annee_operation + span {
        width: 35% !important;
    }

    #divSelectDeclarationMode {
        width: 350px;
    }

    .pharma-stats-row {
        flex-direction: column;
    }

    #infoDateOperation {
        flex-direction: column !important;
    }
}


@media (max-width: 400px) {

    .homepage .logo-bayer-overlay,
    .login-admin .logo-bayer-overlay {
        display: block;
        max-width: 200px;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 35px;

    }

    .login-admin .logo-bayer-overlay {
        width: 150px;
        margin-bottom: 50px;
    }

    .logo-club-bayer-overlay {
        max-width: 150px;
        margin-bottom: 50px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    form .btn + .btn {
        margin-top: 5px;
        margin-left: 0;
    }

    .etape3-content {
        margin: 0 25px;
    }

    #divSelectDeclarationMode {
        width: 290px;
    }
}

@media (max-height: 400px) {
    .homepage .container,
    .login-admin .container {
        margin-top: 50px;
    }
}

@media (min-width: 1200px) {
    .container-declaration .input-titulaire {
        width: 300px;
    }

    .container-declaration .input-bic {
        width: 300px;
    }

    .container-declaration .input-iban {
        width: 300px;
    }
}

@media (max-height: 1130px) {
    .modal.modal-declaratif {
        margin-top: 0;
    }
}

.qrcode-signature-container {
    margin-top: 50px;
}

.qrcode-signature {
    text-align: center;
}

.qrcode-signature-text {
    text-align: center;
    margin-top: 10px;
}

.etape-fin-signature-mobile {
    text-align: center;
    margin-top: 60px;
}

.modal .qrcode-signature-container {
    margin-top: 20px;
}

.operation-non-cloturable {
    color: #ff0000 !important;
}

.operation-cloturable {
    color: #1f801f !important;
}

.operation-cloture {
    color: #0000ff !important;
}

#declaratifEtat {
    margin-bottom: 10px;
    text-align: center;
}

.declaratif-table .th-inner {
    padding-top: 0 !important;
}

.declaratif-table. table > thead:first-child > tr:first-child > th {
    height: 0;
}

.declaratif-table {
    margin-top: 60px;
}


.info-env-no-prod {
    background-color: #FFE2E2 !important;
    text-align: center !important;
    font-weight: 900;
    width: 100%;
    color: #E92346 !important;
    padding: 5px;
    text-transform: uppercase;
    margin: 3px 0px 3px 0px;
}

.sticky-info {
    position: fixed;
    top: 50%;
    transform: rotate(-90deg) translateY(-55px);;
}

.sticky-info .info-env-no-prod {
    padding-left: 10px;
    padding-right: 10px;
}

.force-inscription {
    margin-left: 15px;
    margin-right: 10px

}

.force-vente .force-inscription {
    margin-left: 0px;
    margin-right: 0px

}

.force-inscription input[type="checkbox"].toggle {
    top: 5px;
    height: 16px !important;
    min-height: 16px !important;
    width: 27px !important;
    border-radius: 18px !important;
    display: inline-block;
    position: relative;
    margin: 0;
    margin-left: 1.16em;
    border: 2px solid #ECECEC !important;
    background-color: #ECECEC !important;
    transition: all 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer
}

.force-inscription input[type="checkbox"].toggle:focus {
    outline: 0
}

.force-inscription input[type="checkbox"].toggle:after {
    content: "";
    position: absolute;
    top: -3px;
    left: -9px;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(44, 44, 44, 0.2);
    transition: all 0.2s cubic-bezier(0.5, 0.1, 0.75, 1.35)
}

.force-inscription input[type="checkbox"].toggle:checked {
    border-color: #ECECEC !important;
    background-color: #0091DF !important
}

.force-inscription input[type="checkbox"].toggle:checked:after {
    transform: translatex(22px)
}

#datatableBoFacturables .declaratif-photo {
    cursor: pointer;
    color: var(--color-primary);
    text-decoration: underline;

}

#myDiv > div {
    background-color: #ffcccc;
    border: 1px solid #ff0000;
    color: #E92346;
    padding: 10px;
    margin-bottom: 10px;
    text-align: center;
}

.hide-me {
    opacity: 0;
    height: 0;
    width: 0;
}

.toggle {
    position: relative;
    display: inline-block;
    margin-top: 0.5rem;
    margin-bottom: 5px;
    width: 28px;
    height: 15px;
    background-color: hsl(0, 0%, 85%);
    border-radius: 25px;
    cursor: pointer;
    transition: background-color 0.25s ease-in;
}

.toggle::after {
    content: '';
    position: absolute;
    top: -1px;
    left: 0px;
    width: 18px;
    height: 18px;
    background-color: white;
    border-radius: 50%;
    transition: all 0.25s ease-out;
    box-shadow: gray 0px 0px 2px;
}

.toggle-label {
    margin-left: 0;
    margin-right: 5px;
    position: relative;
    top: 0;
}

.cont_toggle {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 7px;
    color: #232323;
}

.toggle_input {
    display: flex;
    align-items: center;
}

.toggle_input .toggle {
    margin: 0;
}

#contratActif:checked + .toggle, #contratAdmin:checked + .toggle {
    background-color: hsl(219, 100%, 68%);
}

#contratActif:checked + .toggle::after, #contratAdmin:checked + .toggle::after {
    transform: translateX(13px);
}

.ck > h2 {
    font-size: 20px;
}

#start_conditions_arrow, #probability_arrow, #start_conditions_probability_inputs_arrow, #start_conditions_probability_inputs2_arrow, #start_conditions_probability_inputsATC_arrow {
    background-color: #10384F;
    padding: 6px;
    margin-left: 17px;
    margin-right: 17px;

}

.title-arrow {
    float: left;
    color: white;
    font-weight: bold;
    padding-left: 4px;
}


.bloc-service {
    margin-bottom: -20px;
    margin-top: -21px;
}

.sectorisation-title-service {
    color: #10384F !important;
    font-size: 15px;
    font-weight: 500;
    text-align: left !important;
    padding: 8px !important;
    margin-left: 11px;
    margin-bottom: -14px;

}

.secto_bloc1 {
    padding: 0 3px !important;
    font-size: 12px !important;
    margin-bottom: 10px;
}

.secto_bloc2 {
    padding: 0px 3px !important;
    font-size: 12px !important;

}

.bloc-service .float-label-control .form-control {
    height: 35px;
    padding-left: 10px;
    padding-top: 15px;
    font-size: 15px;
}

.bloc-service .float-label-control label {

    top: 0.4em !important;
}

.arrow {
    border: solid white;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    margin-right: 7px;
}

.arrow.right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.arrow.left {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.arrow.up {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
}

.arrow.down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

#start_conditions_probability_inputs {
    display: none;
}

#start_conditions {
    display: none;
    margin-top: -7px;

}

.quick-nav-container .nav-modal-page > * {
    background-color: #fff;
    padding: 15px;
    text-align: right;
    color: #8e8e8e;
}

/*div.secto_bloc1 > input, div.secto_bloc2 > input {
    font-size: 13px;
    padding-left: 6px !important;
}*/


/* AVATAR */

.stim-avatar-container {
    max-height: 327px;
}

.avatar-container .stim-titre {
    padding-top: 17px;
    color: #013F78;
}

.avatar-name {
    text-align: center;
    font: normal normal bold 12px/21px Tahoma;
    color: #013F78;
}

.avatar-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.avatar-circle {
    width: 102px;
    height: 102px;
    border-radius: 50px;
    background: #FFFFFF no-repeat padding-box;
    border: 1px solid #91BFE9;
    margin-bottom: 11px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

}

.avatar-subcircle {
    width: 100%;
    height: 100%;
    background: #91BFE9 no-repeat padding-box;
    border-radius: 50px;
    border: 7px solid white;
    display: flex;
    justify-content: center;
    align-items: center;

}

.avatar-subcircle i {
    font-size: 39px;
    color: white;
}

.avatar-container .btn-stim-primary {
    padding: 8px 20px !important;
    margin-bottom: 40px;

}

.table_profil {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
}

.cell_profil {
    /*border: 1px solid #ccc;*/
    padding: 12px;
    /*margin: 5px;*/
    /*height: 160px;*/
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.img_prdt {
    margin-bottom: 5px;
}

.img_prdt_actif {
    box-shadow: 1px 1px 10px 4px #2081C9;
    border-radius: 50%;

}

/* fin AVATAR */

/* AVATAR RESPONSIVE */
@media screen and (min-width: 320px) and (max-width: 475px) {
    .table_profil {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 5px;
    }
}

@media screen and (min-width: 475px) and (max-width: 768px) {
    .table_profil {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }
}

/* AVATAR LONG */

.avatar-container-long {
    display: flex;
    flex-direction: column;
    max-height: 124px;
    flex-wrap: wrap;
    position: relative;
    top: -9px;

    align-items: center;
    justify-content: center;
}

.avatar-nom {
    /*display: flex;*/
    /*justify-content: center;*/
    /*align-items: center;*/
    font: normal normal bold 18px/21px Tahoma;
    color: #013F78;
}

.avatar-container-long .btn-stim-primary {
    padding: 8px 20px !important;
    margin-bottom: 15px;

}

.avatar-btn {
    margin: 10px 0 0 10px;
}


/* fin AVATAR LONG */

/* Cooper v.3 - Portail + Medias Queries */

@media screen and (min-width: 300px) and (max-width: 749px) {
    .actualites {
        display: flex;
        flex-direction: column;
    }

    .texte_right {
        margin: 5px !important;
    }
}

.big-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(1, 235px);
    grid-column-gap: 26px;
    grid-row-gap: 29px;
    grid-template-areas: "cards actualites actualites actualites";
}

@media (min-width: 300px) and (max-width: 997px) {
    .big-grid {
        display: flex;
        flex-direction: column;
    }
}

@media (min-width: 998px) and (max-width: 1440px) {
    .big-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, 235px);
        grid-column-gap: 26px;
        grid-row-gap: 29px;
        grid-template-areas: "cards actualites actualites";
    }
}


/* fin Cooper v.3 - Portail + Medias Queries */

/* Stim / Cooper v.3 - Outils + Merchandising + Medias Queries */

.text-subtitle {
    text-align: center;
    font: normal normal normal 18px/18px Tahoma;
    letter-spacing: 0px;
    color: #494949;
    opacity: 1;
    padding-left: 30px;
}

@media (min-width: 300px) and (max-width: 1024px) {
    .text-subtitle {
        padding-left: 0px;
    }
}


.merchandising-carrousel img {
    border: 1px solid #c3c3c3;
}


.big-grid-merchandising {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(1, 235px);
    grid-column-gap: 26px;
    grid-row-gap: 29px;
    grid-template-areas: "actualites actualites actualites actualites";
}

@media (min-width: 300px) and (max-width: 997px) {
    .big-grid-merchandising {
        display: flex;
        flex-direction: column;
    }
}

.carrousel-text {
    font-weight: bold;
    color: #494949;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    white-space: nowrap;
    text-align: center;
}

.actualites {
    border: 1px solid #91BFE9;
    border-radius: 10px;
    grid-area: actualites;
}


.bloc-portail {
    border: 1px solid #91BFE9;
}

.yellow-button-check.left {
    margin-right: 50px;
}

.yellow-button-check.right {
    margin-left: 50px;
}

.merchandising-carrousel {
    display: flex;
    align-items: center;
    gap: 5px;
    overflow: hidden;
    max-width: 900px;
    margin: auto;
}

.carousel-track {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 18px;

    scrollbar-width: none;
    -ms-overflow-style: none;
}

.carousel-track img {
    width: 229px;
    height: 232px;
    flex-shrink: 0;
}

.image-hover-container {
    position: relative;
}

.image-hover-container .overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 20px;
    color: white;
    background-color: var(--color-secondary);
    padding: 5px 10px;
    border-radius: 100px;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 500;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;

}

.image-hover-container .dark-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 1;
}

.image-hover-container:hover .dark-overlay,
.image-hover-container:hover .overlay {
    opacity: 1;
}

/* fin Stim / Cooper v.3 - Outils + Merchandising + Medias Queries */

/* Stim / Cooper v.3 - Point de vente + Medias Queries */

.pdv-text,
.pdv-pics {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid #91BFE9;
    border-radius: 10px;
    opacity: 1;
    width: 49%;
    padding: 19px;
    padding-top: 25px;
    padding-bottom: 38px;
}

.pdv-text {
    margin-right: 14px;
    padding-right: 35px;
}

.pdv-pics {
    margin-left: 14px;
    padding-top: 10px;
    padding-bottom: 11px;
    display: flex;
    align-content: center;
    justify-content: space-around;
    align-items: center;
}

.pdv-pics img {
    width: 162px;
    height: 182px;
    object-fit: cover;
}

.pdv-text p {
    text-align: left;
    font: normal normal normal 14px/16px Tahoma;
    letter-spacing: 0px;
    color: #494949;
    opacity: 1;
}

.pdv {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center
}

@media (min-width: 300px) and (max-width: 1201px) {
    .pdv {
        flex-direction: column;
    }

    .pdv-text,
    .pdv-pics {

        width: 99%;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 10px;

    }

}

@media (min-width: 300px) and (max-width: 644px) {
    .pdv {
        flex-direction: column;
    }

    .pdv-text,
    .pdv-pics {

        width: 99%;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 10px;

        flex-wrap: wrap;

    }

    .pdv-pics img {
        padding-bottom: 10px;
    }

}

@media (min-width: 300px) and (max-width: 501px) {

    .btn-containment {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
}

/* fin Cooper v.3 - Point de vente + Medias Queries */

/* Cooper v.3 - Page Equipe -> Suivi par individu + Medias Queries */

.indiv-list-container {
    background: #EFF7FF 0% 0% no-repeat padding-box;
    border: 1px solid #91BFE9;
    border-radius: 24px;
    opacity: 1;
    display: flex;
    padding: 10px 10px 0 35px;
    gap: 42px;
}

.indiv-list-individu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.indiv-list-individu p {
    text-align: center;
    font: normal normal bold 12px/14px Tahoma;
    letter-spacing: 0;
    color: #013F78;
    opacity: 1;
}

.formation-info {
    padding: 23px 14px;
    background: #EFF7FF 0 0 no-repeat padding-box;
    border: 1px solid #91BFE9;
    border-radius: 24px;
    opacity: 1;
    margin-right: 20px;
    height: fit-content;
    max-width: 340px;
    min-width: 320px;
}

.formation-users-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.formation-info-txt {
    background: #FFFFFF 0 0 no-repeat padding-box;
    border-radius: 17px;
    opacity: 1;
    padding: 10px 18px;
}

.formation-info-txt p {
    text-align: left;
    font: normal normal bold 12px/14px Tahoma;
    letter-spacing: 0;
    color: #013F78;
    opacity: 1;
    margin: 0 !important;
}

.team-card-text {
    font: normal normal bold 14px/17px Tahoma;
    letter-spacing: 0;
    color: #013F78;
    opacity: 1;
}

.big-grid-team {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /*grid-template-rows: repeat(1, 235px);*/
    grid-column-gap: 25px;
    grid-row-gap: 29px;
    grid-template-areas: "formation formation formation";
}

.formation-container {
    display: flex;
}

.highcharts-credits {
    opacity: 0 !important;
}

.opacity-blurred {
    opacity: 0.40 !important;
}

.formation-data {
    display: flex;
    justify-content: center;
    align-items: center;
}

.formation-data-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.formation-infos {
    background: #FFFFFF 0 0 no-repeat padding-box;
    border: 1px solid #013F78;
    border-radius: 10px;
    padding: 0 40px;
    margin-left: 8px;
    margin-right: 8px;
}

.formation-infos p {
    text-align: center;
    font: normal normal bold 17px/30px Montserrat;
    letter-spacing: 0;
    color: #013F78;
    font-weight: 800;

    margin: 0;
}

.formation-data-text p {
    font: normal normal normal 11px/12px Tahoma;
    letter-spacing: 0;
    color: #013F78;
    text-transform: uppercase;
    opacity: 1;
}

.fa-circle {
    padding-right: 4px;
    font-size: 9px;
}

@media (min-width: 300px) and (max-width: 600px) {
    .formation-info {
        margin-right: 0;
    }

    .indiv-list-container {
        background: #EFF7FF 0 0 no-repeat padding-box;
        border: 1px solid #91BFE9;
        border-radius: 24px;
        opacity: 1;
        display: flex;
        padding: 10px 10px 0;
    }

    .indiv-list-individu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-right: 10px;
    }
}

@media (min-width: 300px) and (max-width: 1470px) {
    .indiv-list-container {
        overflow-x: scroll;
    }

}

@media (min-width: 300px) and (max-width: 649px) {
    .formation-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

}

@media (min-width: 300px) and (max-width: 649px) {
    .big-grid-team {
        display: flex;
        flex-direction: column;
    }
}

@media (min-width: 650px) and (max-width: 997px) {
    .big-grid-team {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-areas: "formation";
    }
}


@media (min-width: 997px) and (max-width: 1500px) {
    .big-grid-team {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: "formation formation";
    }
}

@media (min-width: 300px) and (max-width: 400px) {
    .btn-team-primary, .btn-team-secondary {
        padding: 10px 30px;
    }
}


/* fin Cooper v.3 - Page Equipe -> Suivi par individu */

/* Cooper v.3 - Page Equipe -> Modal / Voir le détail du suivi ( suivi_formation_team.php ) */

.blue-rond-pic {
    width: 53px;
    height: 53px;
    border: 2px solid #91bfe9;
    border-radius: 50px;
}

.suivi-formation-avancement {
    display: flex;
    justify-content: center;
}

.suivi-formation-team-txt {
    text-align: center;
    font: normal normal bold 14px/15px Tahoma;
    letter-spacing: 0;
    color: #494949;
}

.suivi-avancement-data {
    min-width: 300px;
}

.suivi-formation-end-text {
    text-align: center;
    font: normal normal normal 12px/15px Tahoma;
    letter-spacing: 0;
    color: #013F78;
    padding: 0 66px;
}

.avancement-container-green p,
.avancement-container-yellow p,
.avancement-container-red p {
    text-align: left;
    font: normal normal normal 14px/18px Montserrat !important;
    letter-spacing: 0;
    opacity: 1;
    margin: 0;
}

.avancement-container-green p {
    color: #7AD981 !important;
}

.avancement-container-yellow p {
    color: #fbb400 !important;
}

.avancement-container-red p {
    color: #e92346 !important;
}

@media (min-width: 300px) and (max-width: 650px) {
    .suivi-formation-end-text {
        padding: 0 20px;
    }

    .suivi-avancement-data {
        min-width: 200px;
    }
}

/* fin  Cooper v.3 - Page Equipe -> Modal / Voir le détail du suivi ( suivi_formation_team.php ) */
#containerBlocPharmacieFormation, #containerBlocPharmacieEquipe {
    display: none;
}

.menuSwitchDatatablePharmacie > span {
    /*visibility: hidden;*/
    opacity: 0.5;
    transition: visibility 0s, opacity 0.5s linear;
    cursor: pointer;

}

.menuSwitchDatatablePharmacie:hover > span {
    visibility: visible;
    opacity: 1;
}

/* Cooper v.3 - Page login.php -> Modal ( modal_tuto_connexion.php ) */

.tuto-connexion-text p {
    text-align: center;
    font: normal normal normal 14px/14px Tahoma;
    letter-spacing: 0px;
    color: #494949;
    /*padding: 0px 46px;*/
}

.bold {
    font-weight: bold;
}

.modal-tuto-header-title {
    vertical-align: middle;
    width: 100%;
    background-color: white;
    height: 45px;
    text-align: center;
    clear: both;
    font: normal normal normal 18px/22px Tahoma;
    letter-spacing: 0;
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tuto-img {
    width: 100%;
    height: 177px;
    object-fit: contain;
    display: inline-block !important;
}

@media (min-width: 300px) and (max-width: 650px) {
    .tuto-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: inline-block;
    }
}

#remuneration-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background-color: #fff;
    min-height: 35px;
    margin-bottom: .5rem;
}

#remuneration-tags .tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: default;
}

#remuneration-input {
    width: 100%;
    height: 40px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f9fafb;
    color: #111827;
    padding: .6rem .9rem .6rem 2.4rem;
    font-size: 12px;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;

    background-repeat: no-repeat;
    background-position: 12px center;
    background-size: 18px;
}

#remuneration-input::placeholder {
    color: #9ca3af;
}

#remuneration-input:hover {
    border-color: #d1d5db;
    background: #fff;
}

#remuneration-input:focus {
    outline: 0;
    border-color: var(--color-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

.tag {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-primary);
    color: white;
    font-weight: bold;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    position: relative;
    min-width: 60px;
}

.tag .fa-times {
    margin-left: 10px;
    font-size: 13px;
    color: #fff;
    cursor: pointer;
    transition: color 0.2s ease;
}

.tag .fa-times:hover {
    color: #dcdcdc;
}

.tag.saved-tag .fa-times {
    display: none;
}

.tags-input {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 0.2px solid #ddd;
    border-radius: 6px;
    background: #fff;
    min-height: 35px;
    margin-bottom: 8px;
}


.tag.saved-tag {
    opacity: .6;
}

.tag .remove-tag {
    cursor: pointer;
}

#bloc-prestations-fixes .tags-prestation {
    margin-bottom: .5rem;
}

.prestation-input {
    width: 100%;
    height: 40px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f9fafb;
    color: #111827;
    padding: .6rem .9rem .6rem 2.4rem;
    font-size: 12px;
    line-height: 1.2;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;

    background-repeat: no-repeat;
    background-position: 12px center;
    background-size: 18px;
}

.prestation-input::placeholder {
    color: #9ca3af;
}

.prestation-input:hover {
    border-color: #d1d5db;
    background: #fff;
}

.prestation-input:focus {
    outline: 0;
    border-color: var(--color-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

.tags-prestation + .prestation-input {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.input-hint {
    margin-top: .25rem;
    font-size: .875rem;
    color: #6b7280;
}

.tags-prestation.is-scroll {
    max-height: 140px;
    overflow: auto;
    scrollbar-width: thin;
}

.outline_none {
    outline: none !important;
}

.sig {
    --sig-space: 16px;
    --sig-radius: 12px;
    --sig-card-bg: #fff;
    --sig-border: #e5e7eb;
    --sig-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    --sig-title: #0f172a;
    --sig-label: #374151;
    --sig-readonly-bg: #f9fafb;
    --sig-readonly-text: #111827;
    --sig-input-h: 40px;
}

.sig .form-card {
    background: var(--sig-card-bg);
    border: 1px solid var(--sig-border);
    border-radius: var(--sig-radius);
    padding: var(--sig-space);
    margin-bottom: var(--sig-space);
    box-shadow: var(--sig-shadow);
}

.sig .section-title {
    font-weight: 700;
    font-size: 14px;
    color: var(--sig-title);
    margin: 0 0 14px 0;
}

.sig .addon-row {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}

.sig .addon-row .addon-field {
    flex: 1 1 auto;
}

.sig .addon-row .addon-actions {
    flex: 0 0 auto;
}

.sig .small-input .form-control,
.sig .form-control {
    height: var(--sig-input-h);
    padding: 8px 12px;
    border-radius: 10px;
}

.sig .form-group .control-label {
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--sig-label);
}

.sig .btn-vert-generique {
    border-radius: 10px;
    padding: 10px 18px;
    white-space: nowrap;
}

.sig .readonly-field[readonly] {
    background: var(--sig-readonly-bg);
    border: 1px solid var(--sig-border);
    color: var(--sig-readonly-text);
}

@media (max-width: 767px) {
    .sig .addon-row {
        flex-direction: column;
        align-items: stretch;
    }

    .sig .addon-row .addon-actions {
        align-self: flex-end;
    }
}

/* CSS SPECIAL POUR FICHE PHIE EN BO COOPER */

.phie-invis-btn {
    display: none;
}

.phie-form-sp-padding {
    padding: 0 15px;
}

.yellow-informations {
    display: flex;
    margin: 5px 0px;
}

.phie-yellow-informations {
    display: inline-block;
    background: rgba(183, 14, 128, 0.06);
    padding: 3px 9px;
    border-radius: 5px;
    color: var(--color-primary);
    margin-right: 5px;
}

.phie-yellow-deco-infos {
    font-weight: 900;
}

.stim-phie-info .extra-actions {
    display: inline-block;
}

.stim-phie-info .grand-titre-row-containment {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.activ-phie {
    background: #FDFFEB;
    border: 0.5px solid #CDDC56;
    border-radius: 20px;
    font: normal normal normal 11px/12px Arial;
    letter-spacing: 0.82px;
    color: #CDDC56;
    padding: 4px 10px;
}

.inactiv-phie {
    background: #ffe5e5;
    border: 0.5px solid #FF5B5B;
    border-radius: 20px;
    font: normal normal normal 11px/12px Arial;
    letter-spacing: 0.82px;
    color: #FF5B5B;
    padding: 4px 10px;
}

/*.grand-titre-title > .menuSwitchDatatablePharmacieCommunication,*/
/*.grand-titre-title > .menuSwitchDatatablePharmacieEquipe {*/
/*    color: var(--color-secondary);*/
/*}*/

#switchDatatablebloc_equipe,
#switchDatatablebloc_communication {
    color: var(--color-primary);
}

.grandTitreSeparator {
    display: inline-block !important;
    padding: 0 7px;
    margin-bottom: 0px !important;
    color: var(--color-primary);
}

#containerBlocPharmacieCommunications .dt-filter-communications {
    display: flex;
    align-items: center;
}

#containerBlocPharmacieCommunications .phie-grid-spacement {
    padding-right: 0;
    display: flex;
    justify-content: flex-end;
}

#phie-container .phie-grid-spacement svg {
    font-size: 22px;
}

/* CSS SPECIAL POUR BO_DETAIL COMMUNICATION AFFICHAGE FILTRE SPECIAL + DATATABLE */

.select-filtre-containment {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    background-color: #FEE9F7;
    border: 6px solid #FEE9F7;
    border-right: 15px solid #FEE9F7;
    border-left: 10px solid #FEE9F7;
    padding-left: 4px;
    padding-right: 0;
    border-radius: 10px;
}

.select-filtre-containment label {
    margin-bottom: 0 !important;
    margin-right: 10px;
    font: normal normal normal 12px/24px Tahoma;
    letter-spacing: 0;
    color: var(--color-primary);
    text-transform: uppercase;
    opacity: 1;
    margin-top: 0 !important;

}

#blocCommunicationPharmacie .select2-selection {
    background-color: white !important;
    border: 1px solid #D6D6D6;
    border-radius: 5px;
}

#blocCommunicationPharmacie .select2.select2-container {
    margin-top: 0px !important;
}

/* CSS SPECIAL POUR BO_DETAIL COMMUNICATION AFFICHAGE FILTRE SPECIAL + DATATABLE COMMUNICATION */

.table-layout-phie {
    padding: 0 !important;
    border: 1px solid #D6D6D6;
    margin-top: 15px;
}

.table-layout-phie svg,
.table-layout-phie span {
    font-size: 16px;
    color: var(--color-primary);
}

.table-layout-phie tr .th-inner {
    background-color: #F2F2F2;
    /*border-bottom: 1px solid #D6D6D6;*/
}

.table-layout-phie > tbody > tr > td {
    border-top: 1px solid #D6D6D6;
    font: normal normal normal 12px/14px Arial;
    letter-spacing: 0.9px;
    color: #212121;
    opacity: 1;
}

.table-layout-phie th .th-inner {
    background-color: #F2F2F2;
    /*border-bottom: 1px solid #D6D6D6;*/
    color: black;
}

.table-layout-phie th {
    background-color: #F2F2F2 !important;
}

.table-layout-phie .table > thead:first-child > tr:first-child > th {
    border-top: 0;
    background-color: #F2F2F2;
}

.table-layout-phie tr:first-child td {
    border-top: 0 !important;
}

.table-layout-phie > tbody > tr:nth-of-type(odd) {
    background-color: #FFFFFF !important;
}

.table-layout-phie > tbody > tr:first-child {
    background-color: #FFFFFF !important;
    border-top: 1px solid #D6D6D6;
}

.table-layout-phie > tbody > tr:nth-of-type(even) {
    background-color: #FBFBFB !important;
}

.phie-datatable-icon-btn {
    background: #F2F2F2 0% 0% no-repeat padding-box;
    border: 1px solid #D6D6D6;
    border-radius: 10px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phie-datatable-icon-btn svg,
.phie-datatable-icon-btn i {
    color: #494949 !important;
}

.phie-datatable-icon-btn:hover {
    background-color: white;
}

/* CSS SPECIAL POUR BO_DETAIL COMMUNICATION COULEUR SPECIAL ELEMENT PAGINATION */

.pharmacie-content__table-layout-phie .page-list,
.pharmacie-content__table-layout-phie .pagination-info {
    color: #212121;
}

.pharmacie-content__table-layout-phie .btn-default {
    background-color: #F2F2F2;
    color: #212121;
    border: 0;
}

.pharmacie-content__table-layout-phie .caret,
.pharmacie-content__table-layout-phie .page-size {
    color: #212121;
}

.pharmacie-content__table-layout-phie .pagination > .active > a {
    font-weight: 900;
    color: #212121 !important;
    background-color: white !important;
    border-color: #f2f2f2 !important;
}

.pharmacie-content__table-layout-phie .pagination > li > a {
    font-weight: 900;
    color: #ADACAD;
    background-color: #F2F2F2;
    border-color: #f2f2f2;
}

.pharmacie-content__table-layout-phie .pagination > li > a:hover {
    font-weight: 900;
    color: #212121 !important;
    background-color: #E2E2E2FF;
    border-color: #E2E2E2FF;
}

.pharmacie-content__table-layout-phie .pagination .pagination-goto .goto-submit {
    color: black;
    background-color: #F2F2F2;
    border-color: #f2f2f2;
}

.pharmacie-content__table-layout-phie .pagination .pagination-goto .goto-submit:hover {
    background-color: #E2E2E2FF;
    border-color: #E2E2E2FF;
}

.pharmacie-content__table-layout-phie .pagination .pagination-goto .selector {
    color: black;
}

#containerBlocPharmacieEquipe .extra-actions {
    display: inline-block;
}

#containerBlocPharmacieEquipe .grand-titre-row-containment {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#containerBlocPharmacieEquipe a {
    padding-bottom: 0;
}

/* Alerte vigilance toggle block */

.phie-toggle-row {
    display: flex;
    align-items: center;
    gap: 2px;
}

.phie-toggle-label {
    padding: 4px 8px;
    background: #F7F7F7 0 0 no-repeat padding-box;
    border: 1px solid #D6D6D6;
    border-radius: 5px 0 0 5px;
    font: normal normal normal 14px/24px Tahoma;
    letter-spacing: 0;
    color: #919191;
}

/* Toggle switch */

.phie-toggle-switch-btn {
    padding: 4px 8px;
    border: 1px solid #D6D6D6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phie-toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.phie-toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.phie-toggle-slider {
    position: absolute;
    inset: 0;
    background-color: #d1d5db;
    border-radius: 24px;
    transition: background-color 0.2s ease;
}

.phie-toggle-slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    top: 3px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.phie-toggle-switch input:checked + .phie-toggle-slider {
    background-color: var(--color-primary);
}

.phie-toggle-switch input:checked + .phie-toggle-slider::before {
    transform: translateX(20px);
}

/* CSS SPECIAL POUR BO_DETAIL OPERATION */

.stim-phie-ope-info .grand-titre-title > a.phie-ope-tab {
    font: normal normal bold 14px / 13px Tahoma;
    letter-spacing: 0.85px;
    color: var(--color-primary);
    text-transform: uppercase;
    padding: 0;
    opacity: 0.5;
    text-decoration: none;
}

.stim-phie-ope-info .grand-titre-title > a.phie-ope-tab:hover {
    color: var(--color-primary) !important;
    opacity: 0.8;
}

.stim-phie-ope-info .grand-titre-title > a.phie-ope-tab.phie-ope-tab-active {
    opacity: 1;
}

/* Neutralize Bootstrap col padding inside flex filter bar */
.bloc-operation-phie .dt-filter-operations [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

/* Hide Select2 wrapper for the hidden etat select (toggle used instead) */
.phie-filter-toggle-container .select2-container,
.phie-filter-toggle-container .select2 {
    display: none !important;
}

/* ===== FILTRES BARRE OPÉRATIONS ===== */

.bloc-operation-phie .dt-filter-operations {
    margin-top: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    row-gap: 8px;
}

/* Conteneur = la boîte complète avec bordure et border-radius */
.bloc-operation-phie .select-filtre-container {
    display: inline-flex;
    align-items: stretch;
    height: 36px;
    box-sizing: border-box;
    /*border: 1px solid #D0D5DD;*/
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    padding: 0 !important;
    background: #fff;
}

/* Label gris — séparateur uniquement, pas de bordure extérieure */
.bloc-operation-phie .select-filtre-container .label-filtre {
    display: flex;
    align-items: center;
    align-self: stretch;
    padding: 0 10px;
    background: #F4F5F7;
    border-right: 1px solid #D0D5DD;
    font-size: 11px;
    font-weight: 600;
    color: #6B7280;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0;
    flex-shrink: 0;
}

/* Label toggle — même style mais pour phie-filter-toggle-container */
.phie-filter-toggle-container .label-filtre {
    display: flex;
    align-items: center;
    align-self: stretch;
    padding: 0 10px;
    background: #F4F5F7;
    border: 1px solid #D0D5DD;
    border-right: none;
    border-radius: 6px 0 0 6px;
    font-size: 11px;
    font-weight: 600;
    color: #6B7280;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0;
    flex-shrink: 0;
    height: 36px;
    box-sizing: border-box;
}

/* Native select */
.bloc-operation-phie .select-filtre-container .select-filtre {
    border: none;
    background-color: #fff;
    font-size: 13px;
    padding: 0 8px;
    color: #333;
    outline: none;
    cursor: pointer;
    height: 100%;
    box-sizing: border-box;
}

/*!* Select2 — pas de bordure propre, c'est le conteneur qui l'a. Hauteurs fixées via JS aussi *!*/
/*.bloc-operation-phie .select-filtre-container .select2-container {*/
/*    border: none !important;*/
/*    border-radius: 0 !important;*/
/*    display: block !important;*/
/*    flex: 1;*/
/*    min-width: 0;*/
/*    align-self: stretch;*/
/*}*/

.bloc-operation-phie .select-filtre-container .select2-container > .selection {
    display: block;
    height: 34px;
}

.bloc-operation-phie .select-filtre-container .select2-container .select2-selection--single {
    border: none !important;
    background: transparent;
    border-radius: 0 !important;
    outline: none;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
}

.bloc-operation-phie .select-filtre-container .select2-container .select2-selection__rendered {
    padding: 0 28px 0 10px !important;
    line-height: 34px !important;
    font-size: 13px;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bloc-operation-phie .select-filtre-container .select2-container .select2-selection__arrow {
    height: 34px !important;
    top: 0 !important;
    right: 4px !important;
}

/* Toggle "Contrats annulés" dans la barre filtre */
.phie-filter-toggle-container {
    display: inline-flex;
    align-items: stretch;
    height: 36px;
    box-sizing: border-box;
    flex-shrink: 0;
    padding: 0 !important;
}

.phie-filter-toggle-box {
    width: 56px;
    height: 36px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #D0D5DD;
    border-left: none;
    border-radius: 0 6px 6px 0;
    background: #fff;
    cursor: pointer;
}

/* Le toggle dans ce contexte a sa taille naturelle (24px) centré dans 34px */
.phie-filter-toggle-box .phie-toggle-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

/* Bouton "Inviter" aligné à droite */
.bloc-operation-phie .dt-filter-operations .phie-grid-spacement {
    margin-left: auto;
    display: flex;
    align-items: center;
    padding: 0 !important;
    flex-shrink: 0;
}

.bloc-operation-phie .btn-default {
    background-color: var(--color-secondary);
}

.bloc-operation-phie .page-list .btn-group .btn-default {
    background-color: #f2f2f2;
}

.bloc-operation-phie .form-group {
    background-color: #F7F7F7;
    border: 6px solid #F7F7F7;
    border-right: 15px solid #F7F7F7;
    border-left: 4px solid #F7F7F7;
    padding-left: 4px;
    padding-right: 0;
}

.bloc-operation-phie .form-group label {
    font: normal normal normal 12px / 24px Tahoma;
    letter-spacing: 0px;
    color: #212121;
    text-transform: uppercase;
    opacity: 1;
    margin-top: 0 !important;
}

.bloc-operation-phie .form-group .select2-selection__rendered {
    background: #FFFFFF 0 0 no-repeat padding-box;
    border: 1px solid #D6D6D6;
    border-radius: 5px;
    opacity: 1;
}

.bloc-operation-phie .form-group .btn {
    border-radius: 5px;
    opacity: 1;
    padding: 2px 5px;
    margin-left: 6px;
}

.bloc-operation-phie .form-group .btn:hover {
    background-color: var(--color-primary);
    color: var(--color-primary);
}

/* COULEUR POUR LES DIFFERENTS BADES DANS OPERATION FICHE PHIE */

.badge-etat-operation {
    border-radius: 20px;
    color: #000000;
    background-color: #FFFFFF;
    padding: 5px 8px;
    font: normal normal 11px/12px Arial;
}

.badge-etat-operation.en-cours {
    border: 1px solid #BEBEBE;
}

.badge-etat-operation.en-cours::after {
    content: 'En cours'
}

.badge-etat-operation.refuse {
    color: #E92346;
    background-color: #FFEBEB;
    border: 1px solid #E92346;
}

.badge-etat-operation.refuse::after {
    content: 'Refusé'
}

.badge-etat-operation.non-declare {
    color: #FF5B5B;
    border: 1px solid #FF5B5B;
}

.badge-etat-operation.non-declare::after {
    content: 'Non déclaré'
}

.badge-etat-operation.annule {
    color: #E92346;
    border: 1px solid #E92346;
}

.badge-etat-operation.annule::after {
    content: 'Annulé'
}

.badge-etat-operation.cloture {
    background-color: #F3F3F3;
    border: 1px solid #BEBEBE;
}

.badge-etat-operation.cloture::after {
    content: 'Clôturé'
}

.badge-etat-operation.sesame,
.badge-etat-operation.super-sesame {
    color: #0091DF;
    background-color: #EBF9FF;
    border: 1px solid #0091DF;
}

.badge-etat-operation.sesame::after {
    content: 'Sésame'
}

.badge-etat-operation.sesame-non-admin {
    color: #006EBF;
    background: linear-gradient(90deg, #21b7f4 0%, #dbeeff 50%, #21b7f4 100%);
    background-size: 300% 300%;
    animation: subtleMove 3s linear infinite;
    border: 1px solid #0091DF;
}

@keyframes subtleMove {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.badge-etat-operation.super-sesame::after {
    content: 'Super sésame'
}

.badge-etat-operation.valide {
    color: #74BD25;
    border: 1px solid #74BD25;
}

.badge-etat-operation.valide::after {
    content: 'Validé'
}

.badge-etat-operation.paye {
    color: #74BD25;
    background-color: #F2FFE5;
    border: 1px solid #74BD25;
}

.badge-etat-operation.paye::after {
    content: 'Payé'
}

.badge-etat-operation:nth-child(n + 1) {
    margin-top: 5px;
}

/* CSS SPECIAL POUR FICHE PHIE EN BO COOPER ----- RESPONSIVE */

@media (min-width: 300px) and (max-width: 1000px) {
    .bloc-operation-phie .dt-filter-operations {
        margin-top: 11px;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        flex-wrap: wrap;
    }
}

/* ============================================
   GLOBAL SELECT & NATIVE SELECT IMPROVEMENTS
   ============================================ */

/* Native <select> global reset & redesign */
select.form-control,
select:not(.select2-hidden-accessible):not([class*="stim"]):not([class*="datatable"]) {
    appearance: none;
    -webkit-appearance: none;
    background-color: #ffffff;
    border: 1px solid #D0D5DD;
    border-radius: 7px;
    padding: 6px 32px 6px 10px;
    font-size: 13.5px;
    color: #374151;
    height: 34px;
    line-height: 1.4;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239CA3AF' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

select.form-control:focus,
select:not(.select2-hidden-accessible):not([class*="stim"]):not([class*="datatable"]):focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.10);
    outline: none;
}

select.form-control:hover,
select:not(.select2-hidden-accessible):not([class*="stim"]):not([class*="datatable"]):hover {
    border-color: #B70E80;
}

.bo-filter-label,
.filter-label {
    font-size: 11.5px;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

/* select2 inside BO filter tables — full width, better height */
table .select2.select2-container,
.dataTables_wrapper .select2.select2-container {
    width: 100% !important;
    margin-top: 2px;
}

table .select2.select2-container .select2-selection,
.dataTables_wrapper .select2.select2-container .select2-selection {
    height: 32px;
    line-height: 32px;
    border-radius: 6px;
}

table .select2.select2-container .select2-selection span,
.dataTables_wrapper .select2.select2-container .select2-selection span {
    height: 32px;
    line-height: 32px;
    font-size: 13px;
    padding-left: 8px !important;
}

/* select2 placeholder color */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9CA3AF !important;
}

/* Scrollbar dans les dropdowns select2 */
.select2-results__options::-webkit-scrollbar {
    width: 5px;
}

.select2-results__options::-webkit-scrollbar-track {
    background: #F9FAFB;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: #D0D5DD;
    border-radius: 3px;
}

.select2-results__options::-webkit-scrollbar-thumb:hover {
    background: #B70E80;
}

/*
   BOOTSTRAP-TABLE DATATABLE — REDESIGN
   */

.bootstrap-table {
    background-color: transparent;
}

.fixed-table-container {
    border: none;
    border-radius: 10px;
    overflow: hidden;
    /*box-shadow: 0 1px 4px rgba(0,0,0,0.08), 0 0 0 1px #E5E7EB;*/
    background-color: #fff;
}

/* ---- Toolbar (search + buttons) ---- */
.fixed-table-toolbar {
    padding: 10px 14px;
    background-color: #fff;
    border-bottom: 1px solid #F3F4F6;
    display: flex;
    align-items: center;
    justify-content: flex-start;   /* barre d'outils à GAUCHE (maquette) : export puis recherche */
    gap: 8px;
}

.fixed-table-toolbar .search {
    position: relative;
}

.fixed-table-toolbar .search > .form-control {
    height: 36px;
    min-width: 220px;
    border: 1px solid #D0D5DD;
    border-radius: 8px;
    font-size: 13px;
    padding: 0 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    background-color: #fff;
    color: #374151;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    margin-top: 0;
}

.fixed-table-toolbar .search > .form-control:focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.10);
    outline: none;
}

.fixed-table-toolbar .search > .form-control::placeholder {
    color: #9CA3AF;
    font-style: normal;
}

/* Toolbar icon buttons */
.fixed-table-toolbar .btn-group > .btn-group > .btn,
.fixed-table-toolbar .btn {
    height: 36px;
    min-width: 36px;
    border: none;
    border-radius: 8px !important;
    background-color: #B70E80;
    color: #fff !important;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 4px;
    padding: 0 10px;
    box-shadow: 0 1px 3px rgba(183, 14, 128, 0.25);
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.fixed-table-toolbar .btn:hover {
    background-color: #9A0B6B !important;
    box-shadow: 0 2px 6px rgba(183, 14, 128, 0.30);
}

.fixed-table-toolbar .btn .glyphicon,
.fixed-table-toolbar .btn i {
    color: #fff !important;
    font-size: 14px;
}

.fixed-table-toolbar .caret {
    color: #fff !important;
}

.fixed-table-container thead {
    background-color: #F2F2F2;
}

/************************************************************************************************
                                  BO PHARMACIE BO BLOC TITLE - CONTAINER
**************************************************************************************************/

.bo-pharmacie__container {
    background: #FFFFFF 0 0 no-repeat padding-box;
    border: 1px solid #ECBFDD;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 15px 7px 25px;
    border-radius: 10px;
    z-index: 20;
    position: relative;
}

.bo-pharmacie__title {
    font: normal bold 18px/13px Tahoma;
    letter-spacing: 0;
    color: var(--color-primary);
    text-transform: uppercase;
    display: inline-block
}

.bo-pharmacie__btn-container {
    display: inline-block;
}

#special-btn-container-smaller {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    padding: 6px 8px !important;
    min-height: 35px;
    min-width: 35px;
    justify-content: center;
}

#special-btn-container-smaller i {
    flex-shrink: 0;
    font-size: 16px;
}

#special-btn-container-smaller .btn-text {
    max-width: 0;
    opacity: 0;
    margin-left: 0;
    white-space: nowrap;
    overflow: hidden;
    transition: all 0.35s ease;
}

#special-btn-container-smaller:hover .btn-text {
    max-width: 180px;
    opacity: 1;
    margin-left: 8px;
    font-size: 14px;
}

@media (max-width: 768px) {
    .bo-pharmacie__container {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
    }
}

/* ===== PAGE PHARMACIES — DESIGN COOPER (couleurs Biocodex) ===== */

.pharma-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
    padding-bottom: 14px;
    border-bottom: 2px solid #F0F0F0;
}

.pharma-page-title {
    font-size: 22px;
    font-weight: 700;
    color: #1C2B4A;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pharma-page-title .icon {
    color: var(--color-primary);
    font-size: 20px;
    flex-shrink: 0;
}

/* Carte de recherche — style Cooper */
.pharma-search-card {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 10px;
    padding: 16px 24px;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.pharma-search-form {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 6px 0 !important;
}

.pharma-field-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pharma-field-label {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
}

.pharma-input {
    height: 34px;
    border: 1px solid #D1D5DB;
    border-radius: 6px;
    padding: 0 10px;
    font-size: 13px;
    color: #374151;
    background: #F9FAFB;
    transition: border-color 0.15s, background 0.15s;
    min-width: 130px;
    max-width: 180px;
}

.pharma-input:focus {
    border-color: var(--color-primary);
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.1);
}

.pharma-stats-row {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 0 0 10px 10px;
    padding: 18px 24px;
    margin-bottom: 24px;
    box-shadow: 0 2px 3px #00000026;
    position: relative;
    top: -7px;
}

.pharma-stat-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 28px 10px 16px;
    border-radius: 8px;
    min-width: 160px;
    border: 1px solid #E9B5D8;
    margin-right: 10px;
}

.pharma-stat-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.pharma-stat-label {
    text-align: left;
    font: normal normal bold 12px/15px Tahoma;
    letter-spacing: 0px;
    color: #494949;
    opacity: 1;
    margin-bottom: 2px;
}

/* MODULE RECHERCHE PHARMACIE BO */

.rech-page-header {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1.5px solid #E8D0E8;
    border-radius: 8px;
    padding: 14px 20px;
    margin-bottom: 0;
}

.rech-page-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.rech-section {
    background: #fff;
    border: 1.5px solid #E8D0E8;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
}

.rech-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 16px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-primary);
    user-select: none;
    border-bottom: 1.5px solid #E8D0E8;
}

.rech-section-header.collapsed {
    border-bottom: none;
}

.rech-chevron {
    font-size: 11px;
    color: var(--color-primary);
    transition: transform 0.2s;
}

.rech-section-body {
    padding: 12px 14px;
}

.rech-field {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.rech-field:last-child {
    margin-bottom: 0;
}

.rech-label {
    flex: 0 0 38%;
    font-size: 12px;
    font-weight: 600;
    color: #6B7280;
    text-align: right;
    padding-right: 10px;
    white-space: nowrap;
}

.rech-input {
    flex: 1;
    height: 30px;
    font-size: 12px;
    padding: 4px 8px;
    border: 1px solid #D1D5DB;
    border-radius: 5px;
    color: #374151;
    background: #FAFAFA;
    outline: none;
    transition: border-color 0.15s;
}

.rech-input:focus {
    border-color: var(--color-primary);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.08);
}

.rech-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.rech-btn-reset {
    font-size: 13px;
    font-weight: 600;
    padding: 7px 18px;
    border: 1.5px solid var(--color-primary);
    color: var(--color-primary);
    background: #fff;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}

.rech-btn-reset:hover {
    background: rgba(183, 14, 128, 0.06) !important;
    color: var(--color-primary) !important;
}

.rech-btn-search {
    font-size: 13px;
    font-weight: 600;
    padding: 7px 20px;
    background: var(--color-primary);
    color: #fff;
    border: 1.5px solid var(--color-primary);
    border-radius: 6px;
    transition: opacity 0.15s;
}

.rech-btn-search:hover {
    opacity: 0.88;
    color: #fff !important;
    background: var(--color-primary) !important;
}

.rech-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1.5px solid #D1D5DB;
    border-radius: 6px;
    color: #6B7280;
    text-decoration: none !important;
    transition: border-color 0.15s, color 0.15s;
    font-size: 13px;
}

.rech-action-btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}


.pharma-search-sep {
    width: 1px;
    height: 38px;
    background: #E5E7EB;
    margin: 0 22px;
    flex-shrink: 0;
}

/* Bouton loupe action — style Cooper (carré arrondi gris) */
.btn-action-loupe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background-color: #EBEBEC;
    color: #374151;
    text-decoration: none !important;
    transition: background-color 0.15s, transform 0.1s;
    flex-shrink: 0;
}

.btn-action-loupe:hover {
    background-color: #D9D9DB;
    color: #111;
    transform: scale(1.05);
}

.btn-action-loupe .icon {
    font-size: 15px;
    color: #3D3D3D;
    line-height: 1;
}

/* Force border-collapse: separate → les bordures des cellules se rendent
   (comme dans l'artifact de référence) au lieu d'être fusionnées/masquées */
body.admin .pharmacie-content .fixed-table-container table,
.pharmacie-content .fixed-table-container table,
.pharmacie-content table.table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* Table pharmacies — aligné sur la maquette 2026-07 (gris, gauche, compact) */
body.admin .pharmacie-content .fixed-table-container thead tr th,
body.admin .pharmacie-content table thead tr th,
.pharmacie-content .fixed-table-container thead tr th,
.pharmacie-content table thead tr th {
    background-color: #F2F2F2 !important;
    box-shadow: none !important;
    border-top: 1px solid #E3E3E3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    font-family: Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0 !important;
    color: #212121 !important;
    text-align: left !important;
    white-space: nowrap;
    vertical-align: middle;
}

.pharmacie-content .fixed-table-container thead tr th:last-child,
.pharmacie-content table thead tr th:last-child {
    border-right: none !important;
}


/* Bandeau d'en-tête = rectangle #F2F2F2, bord 1px #E3E3E3, coins hauts arrondis 5px
   (spec maquette Xd). Bords latéraux sur 1ère/dernière colonne des 2 lignes. */
.pharmacie-content .fixed-table-container thead tr:first-child th:first-child,
.pharmacie-content table thead tr:first-child th:first-child {
    border-left: 1px solid #E3E3E3 !important;
    border-top-left-radius: 5px !important;
}
.pharmacie-content .fixed-table-container thead tr:first-child th:last-child,
.pharmacie-content table thead tr:first-child th:last-child {
    border-right: 1px solid #E3E3E3 !important;
    border-top-right-radius: 5px !important;
}
.pharmacie-content .fixed-table-container thead tr:last-child th:first-child,
.pharmacie-content table thead tr:last-child th:first-child {
    border-left: 1px solid #E3E3E3 !important;
}
.pharmacie-content .fixed-table-container thead tr:last-child th:last-child,
.pharmacie-content table thead tr:last-child th:last-child {
    border-right: 1px solid #E3E3E3 !important;
}

.bootstrap-table .table > thead > tr > th,
/* ===== EN-TÊTES DATATABLE — STANDARD COOPER GLOBAL ===== */
.fixed-table-container thead th {
    background-color: #F8FAFC !important;
    border-top: none !important;
    border-left: none !important;
    border-right: 1px solid #E9ECF0 !important;
    border-bottom: 2px solid #CBD5E1 !important;
    box-shadow: none !important;
    padding: 10px 10px !important;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #4B5563;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
}
.fixed-table-container thead th:last-child {
    border-right: none !important;
}

.fixed-table-container thead th .th-inner {
    position: relative;
    padding-right: 18px;
}

.fixed-table-container thead th .sortable .th-inner::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #9CA3AF;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.fixed-table-container thead th .both.asc,
.fixed-table-container thead th .both.desc {
    background-image: none !important;
}

/* Ligne des filtres colonnes */
.fixed-table-container thead tr.filter-row th,
.fixed-table-container thead tr.filter-control-row th,
.fixed-table-container thead tr:last-child th {
    background-color: #F8FAFC !important;
    border-top: none !important;
    border-left: none !important;
    border-right: 1px solid #E9ECF0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    box-shadow: none !important;
    padding: 5px 5px 7px 5px !important;
    vertical-align: middle;
}
.fixed-table-container thead tr.filter-row th:last-child,
.fixed-table-container thead tr.filter-control-row th:last-child,
.fixed-table-container thead tr:last-child th:last-child {
    border-right: none !important;
}

.fixed-table-container thead tr.filter-row select,
.fixed-table-container thead tr.filter-control-row select,
.fixed-table-container thead tr.filter-row input,
.fixed-table-container thead tr.filter-control-row input,
.fixed-table-container thead tr:last-child select,
.fixed-table-container thead tr:last-child input {
    height: 30px;
    font-size: 12px;
    border: 1px solid #D0D5DD;
    border-radius: 6px;
    background-color: #fff;
    color: #374151;
    padding: 0 8px;
    width: 100%;
    box-shadow: none;
    background-image: none;
    transition: border-color 0.15s ease;
}

.fixed-table-container thead tr.filter-row input,
.fixed-table-container thead tr.filter-control-row input,
.fixed-table-container thead tr:last-child input {
    background-image: none;
    padding: 0 8px;
}

.fixed-table-container thead tr.filter-row select:focus,
.fixed-table-container thead tr.filter-row input:focus,
.fixed-table-container thead tr:last-child select:focus,
.fixed-table-container thead tr:last-child input:focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.10);
    outline: none;
}

.fixed-table-container thead tr select.select2-hidden-accessible ~ .select2-container .select2-selection {
    height: 30px;
    border-radius: 6px;
    border: 1px solid #D0D5DD;
}

/*
   EN-TÊTES DATATABLE  STANDARD BO
   Design unifié appliqué à TOUS les datatables Bootstrap du back-office.
    */

body.admin     .fixed-table-container thead tr th,
body.backoffice .fixed-table-container thead tr th,
body.bayer-bo  .fixed-table-container thead tr th {
    background-color: #F2F2F2 !important;
    box-shadow: none !important;
    border-top: 1px solid #E3E3E3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    font-family: Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0 !important;
    color: #212121 !important;
    text-align: left !important;
    white-space: nowrap;
    vertical-align: top;   /* empile titre + filtre par le HAUT → séparateurs alignés sur toutes les colonnes */
}
body.admin     .fixed-table-container thead tr th:last-child,
body.backoffice .fixed-table-container thead tr th:last-child,
body.bayer-bo  .fixed-table-container thead tr th:last-child {
    border-right: none !important;
}


body.admin     .fixed-table-container thead tr:first-child th:first-child,
body.backoffice .fixed-table-container thead tr:first-child th:first-child,
body.bayer-bo  .fixed-table-container thead tr:first-child th:first-child {
    border-left: 1px solid #E3E3E3 !important;
    border-top-left-radius: 5px !important;
}
body.admin     .fixed-table-container thead tr:first-child th:last-child,
body.backoffice .fixed-table-container thead tr:first-child th:last-child,
body.bayer-bo  .fixed-table-container thead tr:first-child th:last-child {
    border-right: 1px solid #E3E3E3 !important;
    border-top-right-radius: 5px !important;
}
body.admin     .fixed-table-container thead tr:last-child th:first-child,
body.backoffice .fixed-table-container thead tr:last-child th:first-child,
body.bayer-bo  .fixed-table-container thead tr:last-child th:first-child {
    border-left: 1px solid #E3E3E3 !important;
}
body.admin     .fixed-table-container thead tr:last-child th:last-child,
body.backoffice .fixed-table-container thead tr:last-child th:last-child,
body.bayer-bo  .fixed-table-container thead tr:last-child th:last-child {
    border-right: 1px solid #E3E3E3 !important;
}


body.admin     .fixed-table-container thead th .th-inner,
body.backoffice .fixed-table-container thead th .th-inner,
body.bayer-bo  .fixed-table-container thead th .th-inner {
    position: relative;
    text-align: left;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 7px 12px 6px !important;
    margin: 0 !important;
    min-height: 18px;
    box-sizing: content-box;
}
body.admin     .fixed-table-container thead th .fht-cell,
body.backoffice .fixed-table-container thead th .fht-cell,
body.bayer-bo  .fixed-table-container thead th .fht-cell {
    display: block;
    background: #FFFFFF !important;
    border: none !important;
    border-top: 1px solid #C2C2C9 !important;
    box-shadow: none !important;
    padding: 7px 8px 9px !important;
    margin: 0 !important;
}

body.admin     .fixed-table-container thead th .fht-cell .no-filter-control,
body.backoffice .fixed-table-container thead th .fht-cell .no-filter-control,
body.bayer-bo  .fixed-table-container thead th .fht-cell .no-filter-control {
    display: block;
    height: 31px;
    min-height: 31px;
}
body.admin     .fixed-table-container thead th .th-inner.sortable,
body.backoffice .fixed-table-container thead th .th-inner.sortable,
body.bayer-bo  .fixed-table-container thead th .th-inner.sortable {
    display: inline-block;
    padding-right: 18px !important;
    background-image: none !important;
    background-position: initial !important;
    cursor: pointer;
}
/* neutralise le centrage forcé par sortable-center (padding 20px natif) :
   on garde l'alignement à gauche + la place du triangle à droite.
   Spécificité (0,6,3) pour battre le sélecteur natif (0,5,2). */
body.admin     .fixed-table-container .table thead th .th-inner.sortable.sortable-center,
body.backoffice .fixed-table-container .table thead th .th-inner.sortable.sortable-center,
body.bayer-bo  .fixed-table-container .table thead th .th-inner.sortable.sortable-center {
    padding-left: 0 !important;
    padding-right: 18px !important;
    text-align: left !important;
}
/* neutralise l'icône PNG native (both/asc/desc) au profit des chevrons CSS */
body.admin     .fixed-table-container thead th .th-inner.both,
body.admin     .fixed-table-container thead th .th-inner.asc,
body.admin     .fixed-table-container thead th .th-inner.desc,
body.backoffice .fixed-table-container thead th .th-inner.both,
body.backoffice .fixed-table-container thead th .th-inner.asc,
body.backoffice .fixed-table-container thead th .th-inner.desc,
body.bayer-bo  .fixed-table-container thead th .th-inner.both,
body.bayer-bo  .fixed-table-container thead th .th-inner.asc,
body.bayer-bo  .fixed-table-container thead th .th-inner.desc {
    background-image: none !important;
}
/* triangle haut (▲) plein — glyphe de tri maquette */
body.admin     .fixed-table-container thead th .th-inner.sortable::before,
body.backoffice .fixed-table-container thead th .th-inner.sortable::before,
body.bayer-bo  .fixed-table-container thead th .th-inner.sortable::before {
    content: '';
    position: absolute;
    right: 4px;
    top: calc(50% - 6px);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 5px solid #454550;
    box-sizing: border-box;
}
/* triangle bas (▼) plein */
body.admin     .fixed-table-container thead th .th-inner.sortable::after,
body.backoffice .fixed-table-container thead th .th-inner.sortable::after,
body.bayer-bo  .fixed-table-container thead th .th-inner.sortable::after {
    content: '';
    position: absolute;
    right: 4px;
    top: calc(50% + 1px);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #454550;
    box-sizing: border-box;
}
/* direction active en magenta (triangle plein) */
body.admin     .fixed-table-container thead th .th-inner.asc::before,
body.backoffice .fixed-table-container thead th .th-inner.asc::before,
body.bayer-bo  .fixed-table-container thead th .th-inner.asc::before {
    border-bottom-color: #B70E80;
}
body.admin     .fixed-table-container thead th .th-inner.desc::after,
body.backoffice .fixed-table-container thead th .th-inner.desc::after,
body.bayer-bo  .fixed-table-container thead th .th-inner.desc::after {
    border-top-color: #B70E80;
}

/* Ligne des filtres — fond blanc, séparateurs discrets */
body.admin     .fixed-table-container thead tr.filter-control-row th,
body.admin     .fixed-table-container thead tr.filter-row th,
body.backoffice .fixed-table-container thead tr.filter-control-row th,
body.backoffice .fixed-table-container thead tr.filter-row th,
body.bayer-bo  .fixed-table-container thead tr.filter-control-row th,
body.bayer-bo  .fixed-table-container thead tr.filter-row th {
    background-color: #FFFFFF !important;
    box-shadow: inset 0 1px 0 0 #8F8F97 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #E3E3E8 !important;
    padding: 3px 6px 5px 6px !important;
    vertical-align: middle;
}
body.admin     .fixed-table-container thead tr.filter-control-row th:last-child,
body.admin     .fixed-table-container thead tr.filter-row th:last-child,
body.backoffice .fixed-table-container thead tr.filter-control-row th:last-child,
body.backoffice .fixed-table-container thead tr.filter-row th:last-child,
body.bayer-bo  .fixed-table-container thead tr.filter-control-row th:last-child,
body.bayer-bo  .fixed-table-container thead tr.filter-row th:last-child {
    border-right: none !important;
}

/* Champs de filtre — inputs/selects blancs bordés + caret */
body.admin     .fixed-table-container thead tr.filter-control-row select,
body.admin     .fixed-table-container thead tr.filter-control-row input,
body.admin     .fixed-table-container thead tr.filter-row select,
body.admin     .fixed-table-container thead tr.filter-row input,
body.backoffice .fixed-table-container thead tr.filter-control-row select,
body.backoffice .fixed-table-container thead tr.filter-control-row input,
body.bayer-bo  .fixed-table-container thead tr.filter-control-row select,
body.bayer-bo  .fixed-table-container thead tr.filter-control-row input {
    height: 31px;
    font-size: 12px;
    border: 1px solid #CECECE;
    border-radius: 5px;
    background-color: #fff;
    color: #374151;
    padding: 0 8px;
    width: 100%;
    box-shadow: none;
    background-image: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
body.admin     .fixed-table-container thead tr.filter-control-row select:focus,
body.admin     .fixed-table-container thead tr.filter-control-row input:focus,
body.admin     .fixed-table-container thead tr.filter-row select:focus,
body.admin     .fixed-table-container thead tr.filter-row input:focus,
body.backoffice .fixed-table-container thead tr.filter-control-row select:focus,
body.backoffice .fixed-table-container thead tr.filter-control-row input:focus,
body.bayer-bo  .fixed-table-container thead tr.filter-control-row select:focus,
body.bayer-bo  .fixed-table-container thead tr.filter-control-row input:focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.10);
    outline: none;
}

/* === Champs de filtre — ciblage robuste via .filter-control (wrapper garanti
   par l'extension filter-control), avec !important pour battre le style natif.
   Couvre TOUTES les pages BO, y compris .pharmacie-content. === */
body.admin      .filter-control > select,

body.backoffice .filter-control > select,
body.bayer-bo   .filter-control > select
    {
    height: 31px !important;
    min-height: 31px !important;
    font-size: 13px !important;
    border: 1px solid #CECECE !important;
    border-radius: 5px !important;
    background-color: #FFFFFF !important;
    color: #333 !important;
    padding: 0 28px 0 11px !important;
    width: 100% !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1.5l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    transition: border-color .15s ease, box-shadow .15s ease !important;
}
/* les inputs texte gardent le MÊME caret que les selects (look uniforme maquette) :
   on ne réinitialise plus background-image ; padding-right pour laisser la place au caret */
body.admin      .filter-control > input,
body.backoffice .filter-control > input,
body.bayer-bo   .filter-control > input {
    height: 31px !important;
    min-height: 31px !important;
    padding: 0 0 0 8px !important;
}
body.admin      .filter-control > select:focus,
body.admin      .filter-control > input:focus,
body.backoffice .filter-control > select:focus,
body.backoffice .filter-control > input:focus,
body.bayer-bo   .filter-control > select:focus,
body.bayer-bo   .filter-control > input:focus {
    border-color: #B70E80 !important;
    box-shadow: 0 0 0 2px rgba(183, 14, 128, 0.10) !important;
    outline: none !important;
}
/* la cellule filtre ne doit pas ajouter de hauteur superflue */
body.admin      .filter-control,
body.backoffice .filter-control,
body.bayer-bo   .filter-control {
    margin: 0 !important;
}

/* Corps du tableau — cellules alignées à gauche (maquette),
   sauf colonnes case à cocher qui restent centrées */
body.admin     .fixed-table-container tbody td:not(.bs-checkbox),
body.backoffice .fixed-table-container tbody td:not(.bs-checkbox),
body.bayer-bo  .fixed-table-container tbody td:not(.bs-checkbox) {
    text-align: center !important;
    padding: 9px 12px !important;
}

.bootstrap-table .table > tbody > tr > td,
.fixed-table-container tbody td {
    border-top: none !important;
    border-bottom: 1px solid #D6D6D6;
    border-left: none !important;
    padding: 10px 12px;
    font-size: 13px;
    color: #374151;
    vertical-align: middle;
}

.bootstrap-table .fixed-table-container tbody tr:first-child td {
    border-top: none !important;
}

.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even) {
    background-color: #ffffff;
}

.bootstrap-table .table > tbody > tr:hover > td {
    background-color: rgba(183, 14, 128, 0.03) !important;
}

.table-striped > tbody > tr.sesame > td,
.table-striped > tbody > tr.sesame:hover > td {
    background-color: #fff3eb !important;
}

.table-striped > tbody > tr.desactive > td,
.table-striped > tbody > tr.desactive:hover > td {
    background-color: #fff0f0 !important;
}

.table-striped > tbody > tr.ope-cloture > td {
    background-color: #EBF9FF !important;
    color: #0091DF;
}

.badge-statut,
span.badge-statut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.badge-valide,
span.badge-valide {
    background-color: #DCFCE7;
    color: #15803D;
    border: 1px solid #86EFAC;
}

.badge-refuse,
span.badge-refuse {
    background-color: #FCE8F6;
    color: #B70E80;
    border: 1px solid #E8A4D4;
}

.badge-attente,
span.badge-attente {
    background-color: #FEF3C7;
    color: #92400E;
    border: 1px solid #FCD34D;
}

/* ---- Pagination ---- */
.fixed-table-pagination {
    padding: 12px 16px;
    background-color: #fff;
    border-top: 1px solid #F3F4F6;
    border-radius: 0 0 10px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fixed-table-pagination .pagination-detail {
    font-size: 12.5px;
    color: #6B7280;
}

.fixed-table-pagination div.pagination {
    color: #6B7280;
}

.pagination > li > a,
.pagination > li > span {
    color: #374151;
    border: 1px solid #E5E7EB;
    border-radius: 6px !important;
    margin: 0 2px;
    padding: 5px 10px;
    font-size: 13px;
    line-height: 1.4;
    min-width: 32px;
    text-align: center;
    background-color: #fff;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
    color: #B70E80 !important;
    border-color: #B70E80;
    background-color: #FCE8F6;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    color: #fff !important;
    background-color: #B70E80 !important;
    border-color: #B70E80 !important;
    box-shadow: 0 2px 6px rgba(183, 14, 128, 0.30);
}

.pagination > .disabled > a,
.pagination > .disabled > span {
    color: #D0D5DD !important;
    border-color: #F3F4F6 !important;
    background-color: #FAFAFA !important;
    cursor: not-allowed;
}

.pagination .pagination-goto .selector {
    height: 32px;
    width: 48px;
    padding: 4px;
    border: 1px solid #D0D5DD;
    border-radius: 6px;
    font-size: 13px;
    text-align: center;
}

.pagination .pagination-goto .goto-submit {
    height: 32px;
    border-radius: 6px;
    font-size: 13px;
    background-color: #B70E80;
    border-color: #B70E80;
    color: #fff;
}

.pagination-detail .btn {
    height: 32px;
    border-radius: 6px !important;
    background-color: #B70E80;
    border: none;
    color: #fff;
    font-size: 13px;
    padding: 0 10px;
    min-width: auto;
}

/* Input page-size : caché (uniquement l'input, pas le span interne du dropdown) */
.fixed-table-pagination .pagination-detail input.page-size,
.fixed-table-pagination input.page-size {
    display: none !important;
}

.fixed-table-pagination .pagination-detail .page-list .btn-group {
    border-radius: 6px;
    overflow: visible;
    box-shadow: 0 2px 6px rgba(183, 14, 128, 0.25);
}

.fixed-table-pagination .pagination-detail .page-list .btn-group > .btn {
    background-color: var(--color-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    height: 32px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 700;
    min-width: auto;
    line-height: 32px;
    margin: 0;
    transition: background-color 0.12s ease;
}

.fixed-table-pagination .pagination-detail .page-list .btn-group > .btn:hover,
.fixed-table-pagination .pagination-detail .page-list .btn-group > .btn:focus,
.fixed-table-pagination .pagination-detail .page-list .btn-group.open > .btn {
    background-color: #9a0c6a !important;
    outline: none;
    box-shadow: none;
}

.fixed-table-pagination .pagination-detail .page-list .btn-group > .btn .caret {
    border-top-color: #fff;
    margin-left: 6px;
}

.fixed-table-pagination .pagination-detail .page-list .dropdown-menu > li.active > a,
.fixed-table-pagination .pagination-detail .page-list .dropdown-menu > li.active > a:hover,
.fixed-table-pagination .pagination-detail .page-list .dropdown-menu > li.active > a:focus,
.fixed-table-pagination .pagination-detail .page-list .dropdown-menu > li > a:hover,
.fixed-table-pagination .pagination-detail .page-list .dropdown-menu > li > a:focus {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

h3.titre-datatable {
    font-size: 16px;
    font-weight: 700;
    color: #B70E80;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid #B70E80;
}

.page-detail-pharmacie .table-stim tr.selected td,
.bootstrap-table .table tr.selected td {
    background-color: rgba(183, 14, 128, 0.06) !important;
}

.fixed-table-container .no-records-found td {
    color: #9CA3AF;
    font-size: 13px;
    padding: 32px;
    text-align: center;
}

/* Loading overlay Bootstrap Table — texte modernisé */
.bootstrap-table .fixed-table-loading {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(2px);
}

.bootstrap-table .fixed-table-loading .loading-wrap {
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.bootstrap-table .fixed-table-loading .loading-text {
    font-size: 11px !important;
    font-weight: 400;
    color: #B0B8C4;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-right: 0;
}

.bootstrap-table .fixed-table-loading .animation-dot,
.bootstrap-table .fixed-table-loading .animation-wrap::before,
.bootstrap-table .fixed-table-loading .animation-wrap::after {
    background: var(--color-primary);
    width: 5px;
    height: 5px;
    border-radius: 50%;
}

.bootstrap-table .filter-control input,
.bootstrap-table .filter-control select {
    width: 100%;
    height: 30px;
    padding: 0 8px;
    background: #fff;
    border: 1px solid #D0D5DD;
    border-radius: 6px;
    font-size: 12px;
    color: #374151;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color .13s;
    box-sizing: border-box;
}

.bootstrap-table .filter-control input:focus,
.bootstrap-table .filter-control select:focus {
    border-color: #c0006a;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(192, 0, 106, .1);
    outline: none;
}

.bootstrap-table .filter-control input::placeholder {
    color: #c0b8d0;
    font-size: 11px;
}

.bootstrap-table tr.filter-control-row th {
    background: #F8FAFC !important;
    border-top: none !important;
    border-bottom: 2px solid #E5E7EB !important;
    padding: 5px 6px !important;
}

.bootstrap-table .no-filter-control {
    height: 30px;
}

.bootstrap-table .filter-control {
    margin: 0;
}

/* ===== PAGE OPÉRATIONS — DESIGN COOPER ===== */

/* En-tête page */
.ops-page {
    padding-top: 20px;
}

.ops-page-header {
    text-align: center;
    margin-bottom: 22px;
}

/* Titre en carte façon maquette */
.ops-title-card {
    background: #fff;
    border: 1.5px solid #f0c8e1;
    border-radius: 12px;
    padding: 18px 26px;
    margin-bottom: 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.ops-title-card-text {
    font-size: 20px;
    font-weight: 800;
    color: var(--color-primary);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

/* Carte filtre style Cooper — blanc + bordure gauche accent */
.ops-filter-card {
    position: relative;
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-left: 4px solid var(--color-primary);
    border-radius: 10px;
    padding: 14px 52px 14px 20px;
    margin-bottom: 22px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

/* Override fond rose du filters-container à l'intérieur */
.ops-filter-card .filters-container {
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.ops-filter-card .row {
    margin: 0;
}

/* Layout horizontal des filtres */
.ops-filter-card .col-md-12.select-filtre-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    padding: 0;
}

.ops-filter-card .col-md-2,
.ops-filter-card .col-md-4 {
    width: auto;
    flex: none;
    padding: 0;
}

/* Date filter: put chip inline next to the input */
.ops-filter-card .col-md-2 > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.ops-filter-card .select-date-container {
    min-width: 145px;
    flex-shrink: 0;
}

/* Type multi-select: give it enough width so the label doesn't wrap */
.ops-filter-card .new-input-filters.select-multiple {
    min-width: 175px;
}

/* ---- Datepicker year dropdown — Modern Cooper style ---- */
.datepicker.datepicker-dropdown {
    z-index: 9999 !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.13) !important;
    padding: 10px !important;
    background: #fff !important;
    min-width: 0 !important;
}

/* Navigation row (prev / range / next) */
.datepicker thead tr:first-child th {
    padding: 6px 2px;
}
.datepicker .prev,
.datepicker .next {
    color: #B70E80;
    width: 28px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s;
}
.datepicker .prev:hover,
.datepicker .next:hover {
    background: rgba(183,14,128,0.08) !important;
    color: #9a0c6c;
}
.datepicker .datepicker-switch {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    letter-spacing: 0.02em;
}
.datepicker .datepicker-switch:hover {
    background: rgba(183,14,128,0.06) !important;
}

/* Year spans — pill buttons */
.datepicker .datepicker-years table tr td span {
    display: block;
    float: left;
    width: 46px !important;
    height: 30px !important;
    line-height: 30px !important;
    text-align: center;
    margin: 2px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.13s, color 0.13s;
    color: #374151;
    background: transparent;
}
.datepicker .datepicker-years table tr td span:hover {
    background: rgba(183,14,128,0.08) !important;
    color: #B70E80 !important;
}
.datepicker .datepicker-years table tr td span.active,
.datepicker .datepicker-years table tr td span.active:hover {
    background: #B70E80 !important;
    background-image: none !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.datepicker .datepicker-years table tr td span.old,
.datepicker .datepicker-years table tr td span.new {
    color: #C4C9D4 !important;
}
.datepicker .datepicker-years table tr td span.disabled,
.datepicker .datepicker-years table tr td span.disabled:hover {
    color: #E0E0E0 !important;
    background: transparent !important;
    cursor: not-allowed;
}

/* Footer: Clear button */
.datepicker tfoot tr th.clear {
    color: #B70E80 !important;
    font-size: 11px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding-top: 6px !important;
    cursor: pointer;
    border-top: 1px solid #F0F0F0;
}
.datepicker tfoot tr th.clear:hover {
    background: rgba(183,14,128,0.06) !important;
    border-radius: 0 0 8px 8px;
}

/* Bouton reset — carré rose sur bord droit (style Cooper) */
.ops-filter-card #btn-reset-filters {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    height: 100% !important;
    width: 44px !important;
    background-color: var(--color-primary) !important;
    color: #fff !important;
    border-radius: 0 8px 8px 0;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s;
    z-index: 2;
}

.ops-filter-card #btn-reset-filters:hover {
    background-color: #9a0c6c !important;
}

.ops-filter-card #btn-reset-filters i {
    font-size: 15px;
}

/* Table opérations — Cooper */
body.admin .ops-table-content .fixed-table-container thead tr th,
.ops-table-content .fixed-table-container thead tr th {
    background-color: #F2F2F2 !important;
    box-shadow: none !important;
    border-top: 1px solid #E3E3E3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    font-family: Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0 !important;
    color: #212121 !important;
    text-align: left !important;
    white-space: nowrap;
    vertical-align: middle;
}

.ops-table-content .fixed-table-container thead tr th:last-child {
    border-right: none !important;
}

/* PAS de règle filter-row ici : un seul <tr>, tout est géré par le bloc global
   body.admin (.th-inner titre gris + .fht-cell filtre blanc + séparateur). */

/* Bouton action générique — même style que btn-action-loupe */
.btn-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background-color: #EBEBEC;
    color: #3D3D3D;
    text-decoration: none !important;
    transition: background-color 0.15s, transform 0.1s;
    flex-shrink: 0;
    margin: 0 2px;
    border: 1px solid #D6D6D6;
}

.btn-action-icon:hover {
    background-color: #D9D9DB;
    color: #111;
    transform: scale(1.05);
}

.btn-action-icon i {
    font-size: 14px;
    color: #3D3D3D;
    line-height: 1;
}

/* Export globaux wrap */
.export-globaux-wrap {
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 0 0 10px 10px;
    padding: 18px 22px 14px;
    margin-bottom: 26px;
    box-shadow: 0 2px 3px #00000026;
    position: relative;
    top: -8px;
}

.export-globaux-head {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}

.export-globaux-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: 0.01em;
}

.btn-export-global-all {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #c0006a;
    color: #fff;
    border-radius: 7px;
    padding: 7px 16px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .13s, box-shadow .13s;
}

.btn-export-global-all i {
    font-size: 12px;
}

.btn-export-global-all:hover,
.btn-export-global-all:focus {
    background: #8c0050;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(192, 0, 106, .3);
}

.export-cards-row {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.export-card {
    background: #fff;
    border: 1px solid #E9B5D8;
    border-radius: 8px;
    padding: 10px 12px 16px 12px;
}

.export-card-name {
    font-size: 13px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 12px;
}

.export-year-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.btn-year-chip {
    background: var(--color-primary);
    border: none;
    color: #fff;
    border-radius: 7px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background .13s, box-shadow .13s;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.btn-year-chip i {
    font-size: 14px;
}

.btn-year-chip:hover,
.btn-year-chip:focus {
    background: #8c0050;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 3px 8px rgba(192, 0, 106, .28);
}

.export-card-empty {
    font-size: 12px;
    color: #c5bdd4;
    font-style: italic;
}


.grand-titre-container {
    background: none !important;
}

.grand-titre-row-containment {
    background: none !important;
    border-bottom: 2px solid var(--color-primary);
}

.grand-titre-row-containment > .grand-titre-title {
    font: normal normal bold 14px/13px Tahoma;
    letter-spacing: 0.85px;
    color: var(--color-primary);
    text-transform: uppercase;
    opacity: 1;
    padding-bottom: 9px;
}

.disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.6;
}

@media (max-width: 768px) {
    .quick-nav li {
        display: inline-block;
    }

    .quick-nav {
        position: unset;
    }

    .quick-nav-container {
        margin-top: -15px;
    }

    .fixed-table-pagination {
        display: none !important;
    }

    /* bo_pharmacie.php — datatable + formulaires */
    .pharmacie-content,
    .pharmacie-content .bootstrap-table,
    .pharmacie-content .fixed-table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .pharmacie-content .fixed-table-body {
        overflow-x: auto !important;
    }

    /* Formulaires recherche pharmacie → stack vertical sur mobile */
    .pharma-search-card {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .pharma-search-form {
        flex-wrap: wrap !important;
    }
    .pharma-search-sep {
        display: none;
    }
    .pharma-input {
        min-width: 100px;
        max-width: none;
        flex: 1;
    }

    /* Formulaires inline → stack vertical */
    .admin .form-inline {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .admin .form-inline .form-group {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-bottom: 0;
        gap: 8px;
    }

    .admin .form-inline .form-control,
    .admin .form-inline .idOption {
        width: 100% !important;
        display: block;
    }

    .admin .form-inline .btn {
        width: 100%;
        margin-top: 0;
        margin-left: 0 !important;
    }
}

/* --- admin/bo_modale_detail_photo.php / admin/bo_detail_photo.php --- */
/*#modal-ope-sd .select2-container {*/
/*    position: fixed !important;*/
/*    width: 30% !important;*/
/*}*/

/* Pharmacy search forms — now using .pharma-search-form / .pharma-search-card */
#formFindByTelephone,
#formFindByCodeClient {
    margin: 0;
    padding: 0;
}

.login-admin .form-control {
    color: var(--color-primary) !important;
}

/* --- admin/bo_synthese_operationelle.php --- */

/* ─ Barre de dates */
.synth-op-dates-bar {
    display: flex;
    align-items: center;
    gap: 0;
    background: #faf4f8;
    border: 1px solid #e8d6e4;
    border-radius: 10px;
    padding: 10px 20px;
    margin: 10px 0 16px;
    flex-wrap: wrap;
}

#infoDateOperation {
    display: flex;
    gap: 9px;
    flex-direction: row;
}

.synth-op-date-item {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 180px;
    gap: 2px;
}

.synth-op-container {
    background: #FFFFFF 0 0 no-repeat padding-box;
    border: 1px solid #E9B5D8;
    border-radius: 5px;
    opacity: 1;
    padding: 10px;
}

.synth-op-date-label {
    text-align: left;
    font: normal bold 12px/15px Tahoma;
    letter-spacing: 0;
    color: #494949;
    opacity: 1;
}

.synth-op-date-value {
    text-align: left;
    font: normal bold 12px/15px Tahoma;
    letter-spacing: 0;
    color: var(--color-primary);
    opacity: 1;
}

.synth-op-date-sep {
    width: 1px;
    height: 36px;
    background: #e0cce0;
    flex-shrink: 0;
    margin: 0 10px;
}

/* Carte filtres  */
.synth-op-filter-card {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid #e8d6e4;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 16px;
}
.synth-op-filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 140px;
}
.synth-op-filter-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #7a2060;
    margin-bottom: 0;
}
.synth-op-select {
    height: 36px;
    border: 1px solid #ddd;
    border-radius: 7px;
    padding: 0 10px;
    font-size: 13px;
    color: #333;
    background: #fafafa;
    appearance: auto;
    transition: border-color .15s;
}
.synth-op-select:focus {
    border-color: #B70E80;
    outline: none;
}
.synth-op-filter-reset {
    flex: 0 0 auto;
    min-width: unset;
}

/* NAV RETOUR BACK ARROW LEFT */

.nav-back {
    text-align: left;
    font: normal bold 15px/18px Tahoma;
    letter-spacing: 0;
    color: var(--color-primary);
    text-transform: uppercase;
    opacity: 1;
    display: inline-block;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.nav-back:hover {
    opacity: 0.7;
    transform: translateX(-2px);
}

/*  #datatableBoFacturables*/
#datatableBoFacturables thead tr th {
    background: #faf4f8;
    color: #7a2060;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-right: 1px solid #e8d6e4 !important;
    border-bottom: 2px solid #B70E80 !important;
    border-top: none !important;
    white-space: nowrap;
    padding: 9px 10px;
}
#datatableBoFacturables thead tr th:last-child {
    border-right: none !important;
}
#datatableBoFacturables tbody tr:hover td {
    background: #fdf5fb !important;
}

/*  Supprimer margin-top excessif */
.declaratif-table {
    margin-top: 0 !important;
}
.btn.btn-informer > img {
    display: block;
    margin: auto auto 7px;
}

.btn.btn-informer {
    display: inline-block;
    width: 1.7em;
    padding: 0;
    border-radius: 100%;
    background-color: #fff;
    color: #0064a7;
    border-color: transparent;
}

.bo-succession .modal-dialog {
    width: 80vw;
}

/* --- admin/bo_generation_note_debit.php --- */
.tag {
    padding: 3px 9px;
    border-radius: 10px;
    display: inline-block;
    margin: 5px;
    background-color: #f2f2f2;
}

.tag > i {
    margin-left: 5px;
    cursor: pointer;
}

.select-fact-pour-ndd {
    width: 16px;
    height: 16px;
}

/* --- admin/stat_ud/bo_stat_ud.php --- */
.tooltip-cell {
    position: relative;
    padding: 0;
}

.tooltip-cell > .tooltip-wrapper {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px;
    box-sizing: border-box;
    cursor: help;
}

.stat-ud-date-display {
    box-sizing: border-box;
    width: 12rem !important;
    display: inline-block;
}

#date.flatpickr-input {
    display: none !important;
}

/* --- admin/bo_table_remuneration.php / admin/bo_table_payable.php --- */
.pagination-info {
    display: inline;
    font-size: 12.5px;
    color: #6B7280;
}

/* admin/bo_suivi_note_debit.php --- */
.input-info-container {
    position: relative;
}

.input-info-container .input-info {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #00a38c;
    color: white;
    font-size: 12px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    padding: 0 5px;
}

.datatable-note-debit-container {
    width: 90%;
    margin: 0 auto;
}

/* --- admin/service/formation/bo_parcours.php --- */
.bo-parcours .progress {
    width: 100%;
    background: #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    height: 20px;
}

.bo-parcours .progress-bar {
    height: 100%;
    width: 0;
    transition: width .3s ease;
    background: #9ca3af;
}

/* --- admin/tool/contrat/bo_reload_contrat.php --- */
.warning-box {
    border: 4px solid red;
    padding: 1rem;
    font-size: 1.5rem;
    font-weight: bold;
    color: red;
    background-color: #ffecec;
    text-align: center;
    animation: blink 1s infinite alternate;
    margin-bottom: 15px;
}

@keyframes blink {
    from {
        opacity: 1;
    }
    to {
        opacity: 0.5;
    }
}

/* --- partials/rgpd_modal.php --- */
.modal.stim-modal .modal-content .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--color-primary);
    color: #fff;
    font-size: 18px;
    position: relative;
    max-height: 45px !important;
}

.front .modal.stim-modal .modal-content .modal-header {
    background-color: #ffffff;
    border-bottom: none;
    padding: 8px 15px !important;
    min-height: 40px;
    max-height: 50px !important;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.front .modal.stim-modal .modal-header #modalHeader {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: static;
    max-height: none !important;
}

.front .modal.stim-modal .modal-header #modalHeader .extra-actions {
    position: static;
}

.front .modal.stim-modal .modal-header #modalHeader [data-dismiss="modal"] {
    color: #333333;
    font-size: 18px;
    cursor: pointer;
}

.front .modal.stim-modal .modal-content .modal-body {
    color: #333333;
}

.front #modalHeader {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    background-color: #ffffff;
    color: #333;
    font-size: 18px;
    position: relative;
    width: 100%;
    padding: 10px 15px 0;
    max-height: 40px !important;
}

.front #modalHeader .extra-actions a,
.front #modalHeader [data-dismiss="modal"] {
    color: #333;
    font-size: 18px;
}

.front #modalHeader .stim-modal-header-title {
    margin: auto;
    padding: 10px 0;
    text-transform: inherit;
}

.front #modalBody .stim-modal-header-title {
    color: var(--color-primary);
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 0 10px;
    width: 100%;
}

/* partials/style_modal.php / pages/formations/annee.php --- */
/*.modal-body {*/
/*    padding: 0 !important;*/
/*}*/

@media (min-width: 992px) {
    .modal-lg {
        width: 750px;
    }
}

/* --- pages/auth/password.php --- */
.page-password [class*="col-sm"] > input,
.page-password .select2-container {
    background-color: white !important;
    border-bottom: 1px solid black !important;
}

.page-password .select2-selection__arrow {
    border-bottom: 1px solid black !important;
}

.page-password .select2-selection__rendered {
    background-color: white !important;
}

/* --- pages/formations/details_formations.php --- */
@media screen and (min-width: 1400px) {
    .page-details-formations .col-md-9 {
        width: 950px !important;
    }
}

.login-page-tagline {
    text-align: center;
    font-size: 19px;
    color: #444;
    margin-bottom: 18px;
    line-height: 1.7;
}

.login-cards-wrapper {
    position: relative;
}

.login-waves-container {
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100vw;
    pointer-events: none;
    z-index: 0;
}


.login-wave {
    width: 100%;
    height: 140px;
    display: block;
}

.homepage .login-cards-wrapper .stim-bloc {
    background-color: #ffffff;
    position: relative;
    z-index: 2;
    border: 1px solid #d8dce6 !important;
    border-radius: 10px;
}

.homepage .login-cards-wrapper .stim-background-primary-light {
    background-color: #f5f5f8 !important;
}

.homepage .login-cards-wrapper .stim-bloc-title,
.homepage .login-cards-wrapper .stim-bloc-subtitle {
    color: var(--color-primary) !important;
}

.login-cards-wrapper .col-12 {
    position: relative;
}

/* --- Modal z-index fix : modal au-dessus de la navbar BO --- */
.modal.stim-modal,
.modal.fade {
    z-index: 1060 !important;
}

.modal-backdrop {
    z-index: 1059 !important;
}

/* CSS SPECIAL - BO_INTMAIL */

#intmail-filters {
    display: flex;
}



/* Titre du modal en rose dans tous les contextes */
#modalBody .stim-modal-header-title {
    color: var(--color-primary);
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 0 10px;
    width: 100%;
}

/* BO : × dans le header rose du modal */
.admin .modal.stim-modal .modal-content .modal-header #modalHeader {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding: 10px;
}

.admin .modal.stim-modal .modal-content .modal-header #modalHeader .extra-actions {
    position: static;
}

.admin .modal.stim-modal .modal-content .modal-header #modalHeader [data-dismiss="modal"] {
    color: #ffffff;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
    opacity: 0.9;
}

.admin .modal.stim-modal .modal-content .modal-header #modalHeader [data-dismiss="modal"]:hover {
    opacity: 1;
}

.import-progress-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 20px;
    gap: 14px;
}

.import-progress-ring-wrapper {
    position: relative;
    width: 120px;
    height: 120px;
}

.import-progress-ring {
    display: block;
}

.import-progress-bar {
    transition: stroke-dashoffset 0.6s ease;
}

.import-progress-percent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    font-weight: bold;
    color: var(--color-primary);
}

.import-progress-label {
    font-size: 14px;
    color: #666;
    text-align: center;
    max-width: 320px;
}

.import-result-msg {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 20px;
    gap: 12px;
    text-align: center;
}

.import-result-msg i {
    font-size: 48px;
}

.import-result-success i {
    color: #28a745;
}

.import-result-error i {
    color: #dc3545;
}

.import-result-warning i {
    color: #e67e22;
}

/*Recherche globale pharmacie BO*/
.bo-search-global-wrap {
    padding: 0 !important;
    position: relative;
}

.bo-search-global {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bo-search-global::before {
    display: none;
}

.bo-search-input {
    width: 0;
    max-width: 200px;
    padding: 0;
    border: none;
    border-bottom: 1.5px solid #B70E80;
    background: transparent;
    color: #374151;
    font-size: 13px;
    outline: none;
    transition: width .25s ease, padding .25s ease;
    overflow: hidden;
}

.bo-search-input.open {
    width: 180px;
    padding: 2px 4px;
}

.bo-search-input::placeholder {
    color: #adb5bd;
}

.bo-search-results {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 300px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
    z-index: 9999;
    display: none;
    overflow: hidden;
}

.bo-search-item {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid #f5f5f5;
    text-decoration: none;
    color: #333;
    transition: background .15s;
}

.bo-search-item:last-child {
    border-bottom: none;
}

.bo-search-item:hover {
    background: #fdf0f8;
    color: #B70E80;
}

.bo-search-item-code {
    font-weight: 700;
    color: #B70E80;
    font-size: 12px;
    min-width: 70px;
    margin-right: 10px;
}

.bo-search-item-info {
    flex: 1;
}

.bo-search-item-nom {
    font-size: 13px;
    font-weight: 600;
}

.bo-search-item-ville {
    font-size: 11px;
    color: #999;
}

.bo-search-empty {
    padding: 10px 14px;
    color: #999;
    font-size: 12px;
    text-align: center;
}

.bo-search-advanced {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    font-size: 12px;
    color: #B70E80;
    background: #fdf0f8;
    border-top: 1px solid #f0e0f0;
    text-decoration: none;
    font-weight: 600;
    transition: background .15s;
}

.bo-search-advanced:hover {
    background: #f5d8ef;
    color: #B70E80;
}

/*  Rapport validation déclaratifs  */
.rapport-declaratif-bloc {
    position: relative;
    background: #fff;
    border-radius: 6px;
    padding: 16px 40px 16px 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

.rapport-declaratif-titre {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
}

.rapport-declaratif-titre i {
    margin-right: 6px;
}

.rapport-declaratif-contenu {
    font-size: 13px;
    line-height: 1.9;
    color: #333;
}

.rapport-declaratif-close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: none;
    border: none;
    color: #aaa;
    font-size: 14px;
    cursor: pointer;
}

.rapport-declaratif-close:hover {
    color: #555;
}

/*  Timeline historique déclaratif  */
/* ===== bo_detail_photo — layout & design ===== */

/* Padding interne de la modale photo */
.modal-declaratif #modalBody form {
    padding: 20px 24px;
}

/* Bloc méta (opération / dates) */
.bo-photo-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 24px;
    background: #f8f8f8;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 13px;
    color: #333;
}

.bo-photo-meta-label {
    font-weight: 600;
    color: #B70E80;
    margin-right: 5px;
}

.bo-photo-meta-label::after {
    content: ' :';
}

/* Labels sections formulaire */
.modal-declaratif .form-horizontal label.col-sm-3 {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-align: left;
    padding-top: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Espacement sections formulaire */
.modal-declaratif .form-horizontal {
    margin-bottom: 4px;
}

/* Bouton télécharger */
.modal-declaratif .btn-stim-primary.icon-download {
    margin-bottom: 16px;
    font-size: 13px !important;
}

/* Pills checkboxes */
.bo-pill-group {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding-top: 4px;
}

.bo-pill-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.bo-pill-check label {
    display: inline-flex;
    align-items: center;
    padding: 4px 14px;
    border: 1.5px solid #ddd;
    border-radius: 20px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    color: #666;
    background: #fff;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    user-select: none;
    margin: 0;
}

.bo-pill-check label:hover {
    border-color: #B70E80;
    color: #B70E80;
}

.bo-pill-check input[type="checkbox"]:checked + label {
    background: #f3e0ef;
    color: #B70E80;
    border-color: #B70E80;
    font-weight: 700;
}

/* Historique horizontal (bo_detail_photo) */
.already-uploaded-container {
    overflow: hidden; /* contient les float:left des img-preview-stimdata */
}

.decl-histo-horizontal-wrapper {
    clear: both;
    margin-top: 16px;
    padding: 12px 16px;
    background: #fafafa;
    border-radius: 8px;
    border: 1px solid #ebebeb;
    overflow-x: auto;
}

.decl-histo-horizontal-wrapper .decl-historique-wrapper {
    margin: 0;
    border-top: none;
    padding-top: 0;
}

.decl-histo-horizontal-wrapper .decl-historique-titre {
    font-size: 11px;
    font-weight: 700;
    color: #B70E80;
    margin-bottom: 12px;
    letter-spacing: 0.3px;
}

.decl-histo-horizontal-wrapper .decl-historique-timeline {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    padding-left: 0;
    overflow-x: auto;
}

.decl-histo-horizontal-wrapper .decl-historique-timeline::before {
    display: none;
}

.decl-histo-horizontal-wrapper .decl-histo-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 0 0 auto;
    min-width: 90px;
    margin-bottom: 0;
    padding: 0 8px;
}

/* Ligne horizontale entre les items */
.decl-histo-horizontal-wrapper .decl-histo-item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10px;
    left: calc(50% + 11px);
    width: calc(100% - 22px);
    height: 2px;
    background: #e8e8e8;
    z-index: 0;
}

.decl-histo-horizontal-wrapper .decl-histo-dot {
    position: static;
    width: 22px;
    height: 22px;
    font-size: 9px;
    margin-bottom: 6px;
    z-index: 1;
    flex-shrink: 0;
    left: unset;
}

.decl-histo-horizontal-wrapper .decl-histo-content {
    align-items: center;
    text-align: center;
    gap: 1px;
    padding-top: 0;
}

.decl-histo-horizontal-wrapper .decl-histo-statut {
    font-size: 11px;
    font-weight: 700;
}

.decl-histo-horizontal-wrapper .decl-histo-meta {
    font-size: 9px;
    color: #aaa;
    line-height: 1.3;
}

.decl-photo-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 20px 0 8px;
    border-top: 1px solid #f0f0f0;
    margin-top: 16px;
}

.decl-historique-wrapper {
    margin: 24px 0 8px;
    border-top: 2px solid #f0f0f0;
    padding-top: 16px;
}

.decl-historique-titre {
    font-size: 14px;
    font-weight: 700;
    color: #B70E80;
    margin-bottom: 16px;
    letter-spacing: 0.3px;
}

.decl-historique-vide {
    color: #999;
    font-size: 13px;
    font-style: italic;
}

.decl-historique-timeline {
    position: relative;
    padding-left: 32px;
}

.decl-historique-timeline::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #e8e8e8;
}

.decl-histo-item {
    position: relative;
    margin-bottom: 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.decl-histo-item--last {
    margin-bottom: 0;
}

.decl-histo-dot {
    position: absolute;
    left: -32px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #fff;
    font-size: 11px;
}

.decl-histo-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 2px;
}

.decl-histo-statut {
    font-weight: 700;
    font-size: 13px;
}

.decl-histo-meta {
    font-size: 11px;
    color: #888;
}

/* Rapport factures sans prestation */
.rapport-facture-erreurs {
    border: 1px solid #f5c6cb;
    border-radius: 6px;
    background: #fff5f5;
    margin-bottom: 16px;
    overflow: hidden;
}

.rapport-facture-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: #fdecea;
    color: #c0392b;
    font-weight: 600;
    font-size: 13px;
    flex-wrap: wrap;
}

.rapport-facture-ok {
    color: #27ae60;
}

.rapport-facture-toggle {
    margin-left: auto;
    background: none;
    border: 1px solid #c0392b;
    border-radius: 4px;
    color: #c0392b;
    padding: 3px 10px;
    font-size: 12px;
    cursor: pointer;
}

.rapport-facture-body {
    padding: 12px 16px;
    max-height: 300px;
    overflow-y: auto;
}

.rapport-facture-body.hidden {
    display: none;
}

.rapport-facture-liste {
    margin: 0;
    padding-left: 18px;
    font-size: 12px;
    color: #555;
    line-height: 1.8;
}

/* Erreur chargement datatable */
.datatable-load-error {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 24px;
    color: #B70E80;
    font-size: 13px;
}

.datatable-load-error i {
    font-size: 16px;
}

.btn-datatable-retry {
    margin-left: 8px;
    padding: 4px 12px;
    border: 1px solid #B70E80;
    border-radius: 4px;
    background: #fff;
    color: #B70E80;
    font-size: 12px;
    cursor: pointer;
}

.btn-datatable-retry:hover {
    background: #B70E80;
    color: #fff;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.btn:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/*
   NOTIFICATIONS
   */
#stim-toast-container {
    position: fixed;
    bottom: 48px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 360px;
    pointer-events: none;
}

.stim-toast {
    pointer-events: all;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .14);
    padding: 14px 14px 14px 16px;
    position: relative;
    overflow: hidden;
    min-width: 280px;
    transform: translateX(120%);
    transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), opacity .3s ease;
    opacity: 0;
    border-left: 4px solid #ccc;
}

.stim-toast.stim-toast--in {
    transform: translateX(0);
    opacity: 1;
}

.stim-toast.stim-toast--out {
    transform: translateX(120%);
    opacity: 0;
}

.stim-toast--success {
    border-left-color: #27ae60;
}

.stim-toast--error {
    border-left-color: #e74c3c;
}

.stim-toast--warning {
    border-left-color: #f39c12;
}

.stim-toast--notice {
    border-left-color: #3498db;
}

.stim-toast-icon {
    font-size: 18px;
    margin-top: 1px;
    flex-shrink: 0;
}

.stim-toast--success .stim-toast-icon {
    color: #27ae60;
}

.stim-toast--error .stim-toast-icon {
    color: #e74c3c;
}

.stim-toast--warning .stim-toast-icon {
    color: #f39c12;
}

.stim-toast--notice .stim-toast-icon {
    color: #3498db;
}

.stim-toast-body {
    flex: 1;
    min-width: 0;
}

.stim-toast-title {
    font-weight: 700;
    font-size: 13px;
    color: #222;
    margin-bottom: 3px;
}

.stim-toast-msg {
    font-size: 12px;
    color: #555;
    line-height: 1.5;
    word-break: break-word;
}

.stim-toast-close {
    background: none;
    border: none;
    color: #aaa;
    font-size: 16px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
    margin-top: -2px;
}

.stim-toast-close:hover {
    color: #555;
}

.stim-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    transform-origin: left;
    border-radius: 0 0 0 8px;
}

.stim-toast--success .stim-toast-progress {
    background: #27ae60;
}

.stim-toast--error .stim-toast-progress {
    background: #e74c3c;
}

.stim-toast--warning .stim-toast-progress {
    background: #f39c12;
}

.stim-toast--notice .stim-toast-progress {
    background: #3498db;
}

.stim-skeleton-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: #fff;
    padding: 0;
}

.stim-skeleton-row {
    display: flex;
    align-items: center;
    height: 44px;
    border-bottom: 1px solid #f5f5f5;
    padding: 0 8px;
    gap: 12px;
}

.stim-skeleton-row:nth-child(even) {
    background: #fafafa;
}

.stim-skeleton-cell {
    flex: 1;
    height: 14px;
    border-radius: 4px;
    overflow: hidden;
    background: #ececec;
}

.stim-skeleton-row .stim-skeleton-cell:first-child {
    flex: 0 0 60px;
}

.stim-skeleton-row .stim-skeleton-cell:last-child {
    flex: 0 0 80px;
}

.stim-skeleton-cell::after {
    content: '';
    display: block;
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 255, 255, .7) 50%,
    transparent 100%);
    animation: stim-shimmer 1.4s infinite;
}

@keyframes stim-shimmer {
    0% {
        transform: translateX(-200%);
    }
    100% {
        transform: translateX(400%);
    }
}

.stim-skeleton-overlay.stim-skeleton--out {
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.fixed-table-body:has(.stim-skeleton-overlay) .no-records-found {
    visibility: hidden;
}

.stim-loading .no-records-found {
    visibility: hidden !important;
}

.stim-loading .fixed-table-body {
    min-height: 120px;
}

.table-stim.stim-loading tbody tr.no-records-found {
    visibility: hidden !important;
}

.table-stim.stim-loading tbody tr.no-records-found td {
    visibility: hidden !important;
}

/*
   GESTION DÉCLARATIFS
   */

.gestion-decl-page {
    padding-left: 30px !important;
    padding-right: 30px !important;
    padding-top: 18px;
}

/* Filter card — Cooper white with rose accent */
.gestion-decl-page .gd-filter-card {
    background: #fff !important;
    border: 1.5px solid #E2E8F0 !important;
    border-left: 4px solid var(--color-primary) !important;
    border-radius: 10px !important;
    padding: 12px 44px 12px 16px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
}

/* Action sections — card */
.gd-action-card {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    margin: 24px 0;
}

.gd-action-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 20px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
}
.gd-action-header i { font-size: 16px; }

.gd-header-valider  { background: linear-gradient(135deg, #B70E80 0%, #8f0b64 100%); }
.gd-header-cloturer { background: linear-gradient(135deg, #B70E80 0%, #8f0b64 100%); }

.gd-action-body { padding: 20px 24px 16px; }

.gd-desc {
    color: #4B5563;
    font-size: 13px;
    line-height: 1.65;
    margin-bottom: 14px;
}

/* Legend strip */
.gd-legend {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 18px;
    padding: 9px 14px;
    background: #F8FAFC;
    border-radius: 8px;
    border: 1px solid #E2E8F0;
    font-size: 12px;
    font-weight: 500;
}
.gd-legend-danger  { color: #DC2626; }
.gd-legend-danger::before,
.gd-legend-info::before,
.gd-legend-success::before { content: '— '; }
.gd-legend-info    { color: #2563EB; }
.gd-legend-success { color: #16A34A; }

/* Status mapping table */
.gd-status-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-bottom: 20px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}
.gd-status-table thead tr { background: #F8FAFC; }
.gd-status-table thead th {
    padding: 9px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6B7280;
    border-bottom: 1.5px solid #E2E8F0;
    text-align: left;
}
.gd-status-table tbody td {
    padding: 9px 16px;
    border-bottom: 1px solid #F0F4F8;
    color: #374151;
}
.gd-status-table tbody tr:last-child td { border-bottom: none; }
.gd-status-table tbody tr:hover { background: #FAFAFA; }

/* Status badges in table */
.gd-status-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.gd-badge-green  { background: #DCFCE7; color: #166534; }
.gd-badge-gray   { background: #F3F4F6; color: #4B5563; }
.gd-badge-red    { background: #FEE2E2; color: #991B1B; }

/* Etat info (nombre de valides) */
.gd-etat-info {
    font-size: 13px;
    color: #4B5563;
    margin: 10px 0;
    min-height: 20px;
}

/* Footer: submit button aligned right */
.gd-action-footer {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}
.gd-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}
.gd-submit-btn:hover  { background: #9a0c6c; }
.gd-submit-btn:active { transform: scale(0.98); }
.gd-submit-btn:disabled { background: #D1D5DB !important; cursor: not-allowed; }
.gd-submit-btn--cloturer { background: #B70E80; }
.gd-submit-btn--cloturer:hover { background: #9a0c6c; }
.gd-submit-btn--cloturer:disabled { background: #D1D5DB !important; }

/* ============================================================
   PAGES DÉCLARATIFS — DESIGN COOPER
   ============================================================ */

.container-declaratif-bo {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

/* Marges élargies pour la page déclaratifs photos uniquement */
#page-decl-photos {
    padding-left: 60px !important;
    padding-right: 60px !important;
    padding-top: 30px !important;
}

/* ===== DÉCLARATIFS PHOTOS — EN-TÊTE REDESIGN ===== */

.decl-photo-header-card {
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 0 0 10px 10px;
    padding: 24px 24px 20px;
    margin-bottom: 24px;
    box-shadow: 0 2px 3px #00000026;
    position: relative;
    top: -6px;
}

.decl-photo-header-card i {
    color: #FFFFFF;
    background-color: var(--color-primary);
    border-radius: 10px;
    width: 29px;
    height: 29px;
    line-height: 30px;
}

.decl-photo-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: 0.05em;
    margin-bottom: 14px;
}

.decl-photo-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.decl-photo-tabs {
    display: flex;
    align-items: center;
    gap: 22px;
}

.decl-photo-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 500;
    color: #6B7280;
    cursor: pointer;
    text-decoration: none !important;
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
    user-select: none;
}

.decl-photo-tab.active {
    color: var(--color-primary);
    font-weight: 700;
    font-size: 15px;
    border-bottom-color: var(--color-primary);
}

.decl-photo-tab:hover {
    color: var(--color-primary);
    text-decoration: none !important;
}

.decl-photo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    background: #FEE9F7;
    color: var(--color-primary);
    transition: background 0.15s, color 0.15s;
}

.decl-photo-tab.active .decl-photo-badge {
    background: var(--color-primary);
    color: #fff;
}

.decl-filter-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #F2F2F2;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
    height: 40px;

    border-radius: 10px;
    padding: 5px 15px;
    font: normal normal 14px/24px Tahoma;
    letter-spacing: 0;
    color: #494949;
    text-transform: uppercase;
}

#btn-decl-filter i {
    color: #FFFFFF;
    background-color: var(--color-primary);
    border-radius: 10px;
    width: 29px;
    height: 29px;
    line-height: 30px;
}

.decl-filter-btn:hover {
    background: #D9D9DB;
    color: #111 !important;
}

.decl-filter-badge {
    position: absolute;
    top: 0;
    right: 8px;
    background: #F59E0B;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    pointer-events: none;
}

.decl-statut-badge {
    font: normal normal 11px/12px Tahoma;
    letter-spacing: 0.82px;
    border-radius: 20px;
    opacity: 1;
    padding: 3px 10px;
}

.valid {
    color: #CDDC56;
    background-color: #FDFFEB;
    border: 1px solid #CDDC56;
}

.refuse {
    color: #E92346;
    background-color: #FFEBEB;
    border: 1px solid #E92346;
}

.nouveau {
    color: #BEBEBE;
    background-color: #ffffff;
    border: 1px solid #BEBEBE;
}

.a-traiter {
    color: #0091DF;
    background-color: #E3F6FF;
    border: 1px solid #0091DF;
}

/* ===== VOLET FILTRE BO (DÉCLARATIFS PHOTOS) ===== */

.decl-bo-side-panel {
    position: fixed;
    top: 0;
    right: -500px;
    width: 460px;
    height: 100vh;
    background: #fff;
    box-shadow: -4px 0 28px rgba(0, 0, 0, 0.13);
    z-index: 1051;
    display: flex;
    flex-direction: column;
    transition: right 0.28s cubic-bezier(.4, 0, .2, 1);
}

.decl-bo-side-panel.open {
    right: 0;
}

#decl-bo-overlay,
.decl-bo-overlay-el {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    z-index: 1050;
}

.decl-bo-panel-body {
    flex: 1;
    padding: 32px 28px 20px;
    overflow-y: auto;
}

.decl-bo-panel-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-primary);
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

.decl-bo-panel-sep {
    height: 1.5px;
    background: #E8D0E8;
    margin-bottom: 28px;
}

.decl-bo-panel-field {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.decl-bo-panel-label {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    background: #F3F4F6;
    border: 1px solid #E5E7EB;
    border-radius: 5px;
    padding: 5px 12px;
    white-space: nowrap;
    margin: 0;
}

.decl-bo-panel-input-wrap {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.decl-bo-panel-input {
    width: 100%;
    height: 34px;
    font-size: 13px;
    padding: 4px 34px 4px 10px;
    border: 1px solid #D1D5DB;
    border-radius: 5px;
    color: #374151;
    background: #fff;
    transition: border-color 0.15s;
}

.decl-bo-panel-input:focus {
    border-color: var(--color-primary);
    outline: none;
}

.decl-bo-input-icon {
    position: absolute;
    right: 10px;
    color: #9CA3AF;
    font-size: 13px;
    pointer-events: none;
}

.decl-bo-panel-select {
    flex: 1;
    height: 34px;
    font-size: 13px;
    padding: 4px 8px;
    border: 1px solid #D1D5DB;
    border-radius: 5px;
    color: #374151;
    background: #fff;
    transition: border-color 0.15s;
}

.decl-bo-panel-select:focus {
    border-color: var(--color-primary);
    outline: none;
}

.decl-bo-panel-field-full {
    margin-bottom: 16px;
}

.decl-bo-panel-select-full {
    width: 100%;
    height: 40px;
    font-size: 13px;
    padding: 4px 12px;
    border: 1px solid #D1D5DB;
    border-radius: 5px;
    color: #374151;
    background: #fff;
    transition: border-color 0.15s;
}

.decl-bo-panel-select-full:focus {
    border-color: var(--color-primary);
    outline: none;
}

.decl-bo-panel-footer {
    padding: 16px 28px;
    border-top: 1.5px solid #E8D0E8;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    background: #fff;
}

.decl-btn-fermer {
    font-size: 13px;
    font-weight: 600;
    padding: 8px 28px;
    border: 2px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
    background: #fff !important;
    border-radius: 6px;
}

.decl-btn-fermer:hover {
    background: rgba(183, 14, 128, 0.06) !important;
    color: var(--color-primary) !important;
}

.decl-btn-valider {
    font-size: 13px;
    font-weight: 600;
    padding: 8px 28px;
    background: #AFC215 !important;
    color: #fff !important;
    border: 2px solid #AFC215 !important;
    border-radius: 6px;
}

.decl-btn-valider:hover {
    opacity: 0.88;
    color: #fff !important;
}

.decl-page-title {
    font-size: 20px;
    font-weight: 700;
    color: #1C2B4A;
    margin: 0 0 16px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.decl-page-title .decl-title-icon {
    color: var(--color-primary);
    font-size: 18px;
    flex-shrink: 0;
}

/* Carte filtre */
.decl-filter-card {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-left: 4px solid var(--color-primary);
    border-radius: 10px;
    padding: 12px 18px;
    margin-bottom: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.decl-filter-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.decl-filter-item {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
}
.decl-filter-label {
    font-size: 12px;
    font-weight: 600;
    color: #6B7280;
    white-space: nowrap;
    margin: 0;
    letter-spacing: 0.02em;
}

/* Bootstrap Select button inside filter items */
.decl-filter-item .bootstrap-select > .dropdown-toggle {
    height: 34px !important;
    font-size: 12.5px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #374151 !important;
    padding: 4px 28px 4px 10px !important;
    line-height: 1.5 !important;
}
.decl-filter-item .bootstrap-select > .dropdown-toggle:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(183,14,128,0.10) !important;
    border-color: #B70E80 !important;
}
.decl-filter-item select:not(.selectpicker) {
    height: 34px;
    font-size: 12.5px;
    border: 1px solid #D1D5DB;
    border-radius: 7px;
    padding: 4px 10px;
    background: #fff;
    color: #374151;
    appearance: auto;
}
.decl-filter-item-sm .bootstrap-select { width: 90px !important; }
.decl-filter-item-lg .bootstrap-select { width: 230px !important; }
.decl-filter-item-md .bootstrap-select { width: 150px !important; }
.decl-filter-item-xs .bootstrap-select { width: 120px !important; }

/* Status tabs (nav-pills sous-menu override) */
.container-declaratif-bo .sous-menu {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    margin: 12px 0 16px !important;
    padding: 0 !important;
    list-style: none;
}
.container-declaratif-bo .sous-menu > li {
    min-width: 0 !important;
    margin: 0 !important;
}
.container-declaratif-bo .sous-menu > li > a {
    display: inline-block !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--color-primary) !important;
    border: 1.5px solid var(--color-primary) !important;
    background: transparent !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.13s;
    line-height: 1.5 !important;
}
.container-declaratif-bo .sous-menu > li > a:hover {
    background: rgba(183,14,128,0.07) !important;
    text-decoration: none !important;
}
.container-declaratif-bo .sous-menu > li.active > a,
.container-declaratif-bo .sous-menu.nav-pills > li.active > a,
.container-declaratif-bo .sous-menu.nav-pills > li.active > a:focus,
.container-declaratif-bo .sous-menu.nav-pills > li.active > a:hover {
    background: var(--color-primary) !important;
    color: #fff !important;
    border-color: var(--color-primary) !important;
}

/* Table headers — maquette 2026-07 */
body.admin .decl-table-content .fixed-table-container thead tr th,
.decl-table-content .fixed-table-container thead tr th {
    background-color: #F2F2F2 !important;
    box-shadow: none !important;
    border-top: 1px solid #E3E3E3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    font-family: Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0 !important;
    color: #212121 !important;
    text-align: left !important;
    white-space: nowrap;
    vertical-align: middle;
}
.decl-table-content .fixed-table-container thead tr th:last-child {
    border-right: none !important;
}
/* PAS de règle filter-row ici : un seul <tr>, tout est géré par le bloc global
   body.admin (.th-inner titre gris + .fht-cell filtre blanc + séparateur). */

/*
   ICÔNES D'ACTION DATATABLES — CHIP STYLE
   */
.table-stim td a:has(> i.fas:only-child),
.table-stim td a:has(> i.far:only-child),
.table-stim td a:has(> i.fab:only-child),
.bootstrap-table tbody td a:has(> i.fas:only-child),
.bootstrap-table tbody td a:has(> i.far:only-child) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: #EBEBEB;
    border-radius: 10px;
    text-decoration: none;
    transition: background 0.15s, transform 0.12s, box-shadow 0.15s;
    vertical-align: middle;
}

.table-stim td a:has(> i.fas:only-child):hover,
.table-stim td a:has(> i.far:only-child):hover,
.bootstrap-table tbody td a:has(> i.fas:only-child):hover,
.bootstrap-table tbody td a:has(> i.far:only-child):hover {
    background: #DCDCDC;
    transform: scale(1.08);
    box-shadow: 0 2px 6px rgba(0,0,0,0.10);
}

/* Icône à l'intérieur du chip */
.table-stim td a:has(> i.fas:only-child) > i.fas,
.table-stim td a:has(> i.far:only-child) > i.far,
.bootstrap-table tbody td a:has(> i.fas:only-child) > i.fas,
.bootstrap-table tbody td a:has(> i.far:only-child) > i.far {
    font-size: 15px;
    color: #1F2937;
    transition: color 0.15s;
    display: inline-block;
}

/* Corbeille : rouge */
.table-stim td a:has(> i.fa-trash:only-child),
.table-stim td a:has(> i.fa-trash-alt:only-child),
.bootstrap-table tbody td a:has(> i.fa-trash:only-child),
.bootstrap-table tbody td a:has(> i.fa-trash-alt:only-child) {
    background: #FEE2E2;
}
.table-stim td a:has(> i.fa-trash:only-child):hover,
.table-stim td a:has(> i.fa-trash-alt:only-child):hover,
.bootstrap-table tbody td a:has(> i.fa-trash:only-child):hover,
.bootstrap-table tbody td a:has(> i.fa-trash-alt:only-child):hover {
    background: #FECACA;
}
.table-stim td a > i.fa-trash,
.table-stim td a > i.fa-trash-alt,
.bootstrap-table tbody td a > i.fa-trash,
.bootstrap-table tbody td a > i.fa-trash-alt {
    color: #DC2626 !important;
}

/* Espacer les chips dans une cellule */
.table-stim td a + a,
.bootstrap-table tbody td a + a {
    margin-left: 6px;
}

/* Liens texte (non-icônes) : pas de chip, style lien standard */
.table-stim td a:not(:has(> i:only-child)),
.bootstrap-table tbody td a:not(:has(> i:only-child)) {
    text-decoration: none;
    color: var(--color-primary);
}
.table-stim td a:not(:has(> i:only-child)):hover,
.bootstrap-table tbody td a:not(:has(> i:only-child)):hover {
    text-decoration: underline;
}

/*
   COLONNE ACTIONS GROUPÉES
   */

.dt-actions-group {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: nowrap;
}
.dt-actions-group a + a { margin-left: 0 !important; }

th.dt-actions-th {
    text-align: center;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6B7280;
}

.fixed-table-body table th.dt-actions-th,
.fixed-table-body table td:last-child {
    position: sticky !important;
    right: 0 !important;
    z-index: 3 !important;
    background: inherit !important;
    box-shadow: -4px 0 8px -2px rgba(0,0,0,0.10) !important;
}
.fixed-table-header table th.dt-actions-th {
    position: sticky !important;
    right: 0 !important;
    z-index: 4 !important;
    background: #F8FAFC !important;
    box-shadow: -4px 0 8px -2px rgba(0,0,0,0.10) !important;
}
/* Fond blanc sur lignes alternées pour que le sticky ne soit pas transparent */
.table-striped tbody tr:nth-of-type(odd) td:last-child { background: #f9f9f9 !important; }
.table-striped tbody tr:nth-of-type(even) td:last-child { background: #ffffff !important; }
.table-striped tbody tr:hover td:last-child { background: #f0f4f8 !important; }

/*GESTION FACTURES maquette sophie */
.fact-section-card {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    padding: 22px 28px;
    margin-bottom: 24px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.fact-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1.5px solid #F0F0F0;
}
.fact-section-icon {
    color: var(--color-primary);
    font-size: 16px;
    width: 32px;
    height: 32px;
    background: rgba(183,14,128,0.08);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fact-section-title {
    font-size: 15px;
    font-weight: 700;
    color: #1C2B4A;
    margin: 0;
}
.fact-section-desc {
    font-size: 12.5px;
    color: #6B7280;
    margin: -12px 0 16px 0;
    line-height: 1.5;
}
.fact-section-desc em { color: var(--color-primary); font-style: normal; font-weight: 600; }
.fact-section-desc strong { color: #DC2626; font-weight: 600; }

.gestion-facture-container .fact-datatable-wrapper {
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
    margin-bottom: 28px;
}
/* Le fixed-table-container est la vraie "card" du tableau */
.gestion-facture-container .fact-datatable-wrapper .fixed-table-container {
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
}

body.admin .gestion-facture-container .fact-datatable-wrapper .fixed-table-container thead tr th,
.gestion-facture-container .fact-datatable-wrapper .fixed-table-container thead tr th {
    background-color: #F2F2F2 !important;
    box-shadow: none !important;
    border-top: 1px solid #E3E3E3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    font-family: Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0 !important;
    color: #212121 !important;
    text-align: left !important;
    white-space: nowrap;
    vertical-align: middle;
}
.gestion-facture-container .fact-datatable-wrapper .fixed-table-container thead tr th:last-child {
    border-right: none !important;
}
/* PAS de règle filter-row ici : un seul <tr>, tout est géré par le bloc global
   body.admin (.th-inner titre gris + .fht-cell filtre blanc + séparateur). */

/* Filter bar — Cooper card (même style que ops-filter-card) */
.gestion-facture-container .bo-filters-container {
    position: relative;
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-left: 4px solid var(--color-primary);
    border-radius: 10px;
    padding: 12px 52px 12px 8px;
    margin-bottom: 22px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.gestion-facture-container .bo-filters-container #btn-reset-filters {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    height: 100% !important;
    width: 44px !important;
    background-color: var(--color-primary) !important;
    color: #fff !important;
    border-radius: 0 8px 8px 0;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s;
    z-index: 2;
}
.gestion-facture-container .bo-filters-container #btn-reset-filters:hover {
    background-color: #9a0c6c !important;
}
.gestion-facture-container .bo-filters-container #btn-reset-filters i { font-size: 15px; }

/* FA icons in pharma-page-title get the rose color like .icon sprites */
.pharma-page-title i.fas,
.pharma-page-title i.far,
.pharma-page-title i.fab {
    color: var(--color-primary);
    font-size: 20px;
    flex-shrink: 0;
}

/* BO RELEASE NOTE  Cooper redesign */
.container-release-note {
    padding-bottom: 40px;
}

/* Form card */
.container-release-note .rn-form-card {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    margin-bottom: 28px;
    overflow: hidden;
}

.container-release-note .rn-form-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1.5px solid #F1F5F9;
    background: #FAFBFC;
}

.container-release-note .rn-form-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: linear-gradient(135deg, var(--color-primary) 0%, #9a0c6c 100%);
    border-radius: 8px;
    color: #fff;
    font-size: 15px;
    flex-shrink: 0;
}

.container-release-note .rn-form-title {
    font-size: 14px;
    font-weight: 700;
    color: #1E293B;
    margin: 0;
    letter-spacing: 0.01em;
}

.container-release-note .rn-form-card .form-section {
    padding: 20px 20px 4px;
}

.container-release-note .rn-form-card .confirm {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1.5px solid #F1F5F9;
    background: #FAFBFC;
}

/* Note list cards */
.container-release-note .rn-card {
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    margin-bottom: 16px;
    overflow: hidden;
    transition: box-shadow 0.18s, border-color 0.18s;
}

.container-release-note .rn-card:hover {
    box-shadow: 0 4px 16px rgba(183,14,128,0.08);
    border-color: #D1A7CC;
}

.container-release-note .rn-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px 12px;
    border-bottom: 1px solid #F1F5F9;
}

.container-release-note .rn-card-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.container-release-note .rn-card-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, var(--color-primary) 0%, #9a0c6c 100%);
    border-radius: 6px;
    color: #fff;
    font-size: 12px;
    flex-shrink: 0;
}

.container-release-note .rn-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #1E293B;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.01em;
}

.container-release-note .rn-edit-btn {
    flex-shrink: 0;
    font-size: 12px;
    padding: 4px 12px;
    height: 30px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.container-release-note .rn-card-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    font-size: 11px;
    color: #94A3B8;
    background: #FAFBFC;
    border-bottom: 1px solid #F1F5F9;
    letter-spacing: 0.01em;
}

.container-release-note .rn-card-meta i.fas {
    color: var(--color-primary);
    font-size: 10px;
}

.container-release-note .rn-card-body {
    padding: 14px 18px;
    font-size: 13px;
    color: #374151;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
}

.container-release-note .rn-card-files {
    padding: 10px 18px 14px;
    border-top: 1px solid #F1F5F9;
    background: #FAFBFC;
}

.container-release-note .rn-files-label {
    font-size: 11px;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.container-release-note .rn-files-label i.fas {
    color: var(--color-primary);
}

.container-release-note .rn-files-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.container-release-note .rn-file-chip {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.container-release-note .rn-file-chip:hover {
    border-color: var(--color-primary);
    box-shadow: 0 2px 6px rgba(183,14,128,0.1);
}

.container-release-note .rn-file-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px 5px 12px;
    font-size: 12px;
    color: #374151;
    text-decoration: none;
    transition: color 0.15s;
}

.container-release-note .rn-file-link:hover {
    color: var(--color-primary);
    text-decoration: none;
}

.container-release-note .rn-file-link i.fas {
    color: var(--color-primary);
    font-size: 12px;
}

.container-release-note .rn-file-delete {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 3px;
    color: #94A3B8;
    border-radius: 50%;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    font-size: 11px;
}

.container-release-note .rn-file-delete:hover {
    background: #FEE2E2;
    color: #DC2626;
    text-decoration: none;
}

.contrat-status-bar {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 14px 20px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    margin: 16px 0 20px;
}

.contrat-status-bar .toggle-label {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-right: 10px;
}

.contrat-status-sep {
    width: 1px;
    height: 28px;
    background: #E2E8F0;
}

.contrat-vars-card {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 20px 24px;
    margin: 24px 0 8px;
}

.contrat-vars-title {
    font-size: 13px;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 18px;
}

.contrat-vars-title i {
    color: #B70E80;
    margin-right: 6px;
}

.contrat-vars-cols {
    margin: 0;
}

.contrat-vars-group-label {
    font-size: 11px;
    font-weight: 700;
    color: #B70E80;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 2px solid #F3E8F9;
}

.contrat-vars-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.contrat-vars-list span {
    display: inline-block;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 12px;
    color: #0F172A;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 2px 8px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    user-select: all;
    width: fit-content;
}

.contrat-vars-list span:hover {
    background: #B70E80;
    border-color: #B70E80;
    color: #fff;
}

/* CONTACT BO  */

.contact-bo-page {
    max-width: 980px;
    margin: 0 auto;
    padding: 30px 20px;
}

.contact-bo-title-card {
    background: #fff;
    border: 1.5px solid #E8D0E8;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

.contact-bo-title {
    font-size: 20px;
    font-weight: 700;
    color: #B70E80;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.contact-bo-phone-card {
    background: #FDE8F5;
    border: 1.5px solid #F0C8E8;
    border-radius: 8px;
    padding: 14px 20px;
    margin-bottom: 20px;
}

.contact-bo-phone-title {
    font-size: 13px;
    font-weight: 700;
    color: #B70E80;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.contact-bo-phone-text {
    font-size: 13px;
    color: #374151;
    margin: 0;
}

.contact-bo-btn-new {
    display: inline-block;
    background: #B70E80;
    color: #fff !important;
    border: none;
    border-radius: 25px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
    margin-bottom: 18px;
    text-decoration: none;
}

.contact-bo-btn-new:hover {
    opacity: 0.88;
    color: #fff !important;
    text-decoration: none;
}

.contact-bo-sujet-link {
    color: #B70E80;
    text-decoration: underline;
    font-weight: 500;
    cursor: pointer;
}

.contact-bo-sujet-link:hover {
    color: #8a0a60;
}

.contact-bo-sujet-closed {
    color: #9CA3AF;
    font-weight: 400;
    cursor: pointer;
}

.contact-bo-sujet-closed:hover {
    color: #6B7280;
}

.contact-bo-del-btn {
    background: #B70E80;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.15s;
    padding: 0;
}

.contact-bo-del-btn:hover {
    opacity: 0.82;
}


.contact-bo-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #B70E80;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    margin-bottom: 16px;
    cursor: pointer;
}

.contact-bo-back:hover {
    color: #8a0a60;
    text-decoration: none;
}

.contact-bo-subject-card {
    background: #fff;
    border: 1.5px solid #E8D0E8;
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.contact-bo-subject-inner {
    min-width: 0;
}

.contact-bo-subject-label {
    font-size: 11px;
    color: #B70E80;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-bottom: 3px;
}

.contact-bo-subject-text {
    font-size: 18px;
    font-weight: 700;
    color: #B70E80;
    word-break: break-word;
}

.contact-bo-subject-close {
    background: #B70E80;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.15s;
}

.contact-bo-subject-close:hover {
    opacity: 0.82;
}

.contact-bo-form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #B70E80;
    margin-bottom: 8px;
}

.contact-bo-textarea {
    width: 100%;
    border: 1.5px solid #D1D5DB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 13px;
    color: #374151;
    resize: vertical;
    min-height: 110px;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.contact-bo-textarea:focus {
    outline: none;
    border-color: #B70E80;
}

.contact-bo-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 20px;
    margin-bottom: 32px;
}

.contact-bo-btn-annuler {
    background: #fff;
    border: 2px solid #B70E80;
    border-radius: 25px;
    color: #B70E80 !important;
    font-size: 14px;
    font-weight: 600;
    padding: 9px 24px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    display: inline-block;
}

.contact-bo-btn-annuler:hover {
    background: #FDE8F5;
    color: #B70E80 !important;
    text-decoration: none;
}

.contact-bo-btn-valider {
    background: #AFC215;
    border: 2px solid #AFC215;
    border-radius: 25px;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    padding: 9px 24px;
    cursor: pointer;
    transition: opacity 0.15s;
    display: inline-block;
}

.contact-bo-btn-valider:hover {
    opacity: 0.88;
    color: #fff !important;
}

.contact-bo-discussion-title {
    font-size: 20px;
    font-weight: 700;
    color: #D08AB0;
    margin-bottom: 16px;
}

.contact-bo-chat-card {
    background: #fff;
    border: 1.5px solid #E8D0E8;
    border-radius: 10px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-bo-msg {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.contact-bo-msg--sent {
}

.contact-bo-msg-spacer {
    flex: 1;
    min-width: 60px;
}

.contact-bo-msg-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #B70E80;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}

.contact-bo-msg-avatar--recv {
    background: #F0E0F0;
    color: #B70E80;
    border: 1.5px solid #E8D0E8;
}

.contact-bo-msg-bubble {
    flex: 0 1 auto;
    max-width: 70%;
    background: #fff;
    border: 1.5px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 16px;
}

.contact-bo-msg-date {
    font-size: 12px;
    color: #9CA3AF;
    margin-bottom: 6px;
    font-weight: 500;
}

.contact-bo-msg-text {
    font-size: 13px;
    color: #374151;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

.contact-bo-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.contact-bo-attachment {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #B70E80;
    color: #fff !important;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.15s;
}

.contact-bo-attachment:hover {
    opacity: 0.88;
    color: #fff !important;
    text-decoration: none;
}

.contact-bo-modal-title {
    font-size: 15px;
    font-weight: 700;
    color: #B70E80;
    text-align: center;
    text-transform: uppercase;
}

.contact-bo-modal-desc {
    font-size: 13px;
    color: #374151;
    text-align: center;
    margin-bottom: 16px;
}

.contact-bo-modal-textarea {
    width: 100%;
    border: 1.5px solid #D1D5DB;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 13px;
    color: #374151;
    resize: vertical;
    min-height: 90px;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.contact-bo-modal-textarea:focus {
    outline: none;
    border-color: #B70E80;
}

.contact-bo-empty {
    text-align: center;
    color: #9CA3AF;
    padding: 40px 20px;
    font-size: 14px;
}

/*
   bo_synthese.php
   */
.container-fluid.container-bo.container-synthese {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(24px, 8vw, 160px) !important;
    padding-right: clamp(24px, 8vw, 160px) !important;
    padding-bottom: 40px;
}

.syn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #B70E80 !important;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .4px;
    text-decoration: none !important;
    margin: 8px 0 16px;
}
.syn-back:hover { color: #8f0a64 !important; }

.syn-title-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
    border: 1px solid #EBD7E6;
    border-radius: 12px;
    padding: 18px 22px;
    margin-bottom: 22px;
    box-shadow: 0 1px 3px rgba(0,0,0,.03);
}
.syn-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #B70E80;
    text-transform: uppercase;
    letter-spacing: .3px;
    line-height: 1.3;
}
.syn-title-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}
.syn-icon-btn {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #B70E80;
    color: #fff !important;
    font-size: 16px;
    text-decoration: none !important;
    border: 1px solid #B70E80;
    box-shadow: 0 1px 3px rgba(183,14,128,.25);
    transition: background .15s, box-shadow .15s, color .15s;
}
.syn-icon-btn:hover { background: #8f0a64; border-color: #8f0a64; color: #fff !important; }
.syn-icon-btn--outline { background: #fff; color: #B70E80 !important; }
.syn-icon-btn--outline:hover { background: #FBE9F4; border-color: #B70E80; color: #B70E80 !important; }

@media (max-width: 767px) {
    .syn-title-card { flex-direction: column; align-items: flex-start; }
    .syn-title { font-size: 16px; }
}

/*
   bo_envoi_campagne.php
   */
.ec-page {
    padding-bottom: 40px;
}

.ec-form {
    max-width: 1120px;
    margin: 24px auto 0;
}

.ec-card {
    background: #fff;
    border: 1px solid #EBD7E6;
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 22px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.ec-title-card {
    padding: 20px 24px;
}

.ec-title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #B70E80;
    text-transform: uppercase;
}

.ec-title i {
    margin-right: 8px;
}

.ec-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #B70E80;
    margin-bottom: 18px;
}

.ec-field-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 12px;
    max-width: 640px;
}

.ec-field-label {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 0 180px;
    background: #F2F2F2;
    color: #6B7280;
    font-size: 14px;
    font-weight: 500;
    padding: 0 14px;
    border: 1px solid #E0DCE6;
    border-radius: 8px;
}

.ec-field-label--icon {
    justify-content: flex-start;
}

.ec-field-label--icon i {
    color: #fff;
    background: #B70E80;
    border-radius: 6px;
    width: 26px;
    height: 26px;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ec-field-control {
    flex: 1 1 auto;
}

.ec-select,
.ec-input {
    width: 100%;
    height: 44px;
    border: 1px solid #E0DCE6;
    border-radius: 8px;
    padding: 0 14px;
    font-size: 14px;
    color: #374151;
    background: #fff;
    box-shadow: none;
}

.ec-select:focus,
.ec-input:focus {
    border-color: #B70E80;
    box-shadow: 0 0 0 3px rgba(183, 14, 128, 0.10);
    outline: none;
}

.ec-input[readonly] {
    background: #FAFAFA;
    color: #6B7280;
}

.ec-required-note {
    font-size: 12px;
    color: #9CA3AF;
    margin-top: 6px;
}

.ec-info-banner {
    display: flex;
    align-items: stretch;
    gap: 14px;
    background: #FBE9F4;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 10px;
}

.ec-info-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: #B70E80;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    align-self: center;
}

.ec-info-banner p {
    margin: 0;
    font-size: 13px;
    color: #5B4A55;
    line-height: 1.5;
}

.ec-columns {
    display: flex;
    gap: 18px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.ec-col {
    flex: 1 1 190px;
    min-width: 190px;
}

.ec-col--wide {
    flex: 2 1 330px;
    min-width: 300px;
}

.ec-col-header {
    background: #F2F2F2;
    color: #6B6B72;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 10px;
}

.ec-col-body {
    border: 1px solid #E6E6EA;
    border-radius: 8px;
    padding: 16px 16px 18px;
    min-height: 120px;
}

.ec-col-body--split {
    display: flex;
    gap: 18px;
}

.ec-subcol {
    flex: 1 1 0;
    min-width: 0;
}

.ec-subcol-title {
    color: #B70E80;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
}

.ec-col-body .checkbox {
    margin: 0 0 8px;
    padding: 0;
    min-height: 0;
}

.ec-col-body .label-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 400;
    color: #374151;
    margin: 0;
    cursor: pointer;
}

.ec-col-body .label-checkbox input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #B70E80;
    flex-shrink: 0;
}

.ec-col-body .check-ignorer {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #E6E6EA;
}

/* Test d'envoi / Envoi */
.ec-btn-row {
    margin-top: 16px;
}

.ec-btn {
    font-size: 14px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 8px;
}

.ec-total-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ec-total-label {
    background: #FBE9F4;
    color: #B70E80;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .4px;
    padding: 8px 14px;
    border-radius: 8px 0 0 8px;
    border: 1px solid #EBD7E6;
    border-right: none;
}

.ec-total-box {
    min-width: 70px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    font-size: 16px;
    font-weight: 700;
    color: #B70E80;
    background: #fff;
    border: 1px solid #EBD7E6;
    border-radius: 0 8px 8px 0;
}

.ec-btn-export {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 8px;
    background: #B70E80;
    color: #fff;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(183, 14, 128, 0.25);
}

.ec-btn-export:hover {
    background: #9A0B6B;
    color: #fff;
}

.ec-results {
    margin-top: 14px;
    font-size: 13px;
    color: #374151;
}

.ec-results p {
    margin: 4px 0;
}

.ec-page .parsley-errors-list {
    list-style: none;
    padding: 0;
    margin: 6px 0 0;
    font-size: 12px;
    color: #e74c3c;
}

@media (max-width: 767px) {
    .ec-field-row {
        max-width: none;
    }

    .ec-field-label {
        flex-basis: 120px;
    }
}

/************************************************************************************************
                             FO - MESSAGERIE - MESSAGERIE INTMAIL
*************************************************************************************************/

.intmail-modal-title {
    text-align: center;
    font: normal normal 18px/22px Tahoma;
    letter-spacing: 0;
    color: var(--color-primary);
    opacity: 1;
}