#main-content table:not(.jour):not(.heures):not(.reportnav):not(.docsoccas):not(.docscans),
#pop-content table:not(.jour):not(.heures):not(.reportnav):not(.docsoccas):not(.docscans) {
    clear: both !important;
    width: 100% !important;
}

/* Classe pour gérer le hover sur les cellules (gérée par JavaScript pour les rowspan) */
#main-content table td.hover-active,
#pop-content table td.hover-active {
    background-color: rgba(48, 120, 166, 0.6) !important;
}

#main-content {
    margin-left: 220px;
    margin-top: -20px;
    padding: 0 15px 45px;
    transition: margin-left 0.3s ease-in-out,
    width 0.3s ease-in-out;
    width: calc(100% - 250px);
}

#main-content table,
#pop-content table {
    border: 1px solid #ccc !important;
    border-collapse: separate !important;
    border-radius: 4px !important;
    border-spacing: 1px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
    padding: 4px !important;
}

/* .keepborders : exclusion pour les spans dont la bordure inline est PORTEUSE DE SENS
   (badges de préparation VO en contour, boutons de bascule, chips de filtres…) —
   sans elle ce reset !important bat leur style inline et les rend invisibles */
#main-content span:not(span.agendasemaine):not(.keepborders),
#main-content table.heures,
#main-content table.jour,
#pop-content span:not(span.agendasemaine):not(.keepborders),
#pop-content table.heures,
#pop-content table.jour,
.noborders {
    border: 0 solid red !important;
}

#main-content button,
#main-content input[type='button'],
#main-content input[type='submit'],
#pop-content button,
#pop-content input[type='button'],
#pop-content input[type='submit'] {
    transition: background-color 0.2s ease,
    border-color 0.2s ease;
}

#main-content button:not(.tab-link-sales):not(.tab-link-offer):hover,
#main-content input[type='button']:hover,
#main-content input[type='submit']:hover,
#pop-content button:not(.tab-link-sales):not(.tab-link-offer):hover,
#pop-content input[type='button']:hover,
#pop-content input[type='submit']:hover {
    background-color: #a5d5f2 !important;
}

#main-content :not(#topdiv):not(#topdiv *):not(#podiumChart *):not(html i):not(.viewer-content *):not(.tab-link-offer):not(.tab-link-offer *),
#pop-content :not(#topdiv):not(#topdiv *):not(#podiumChart *):not(html i):not(.viewer-content *):not(.tab-link-offer):not(.tab-link-offer *) {
    color: #151515;
    font-size: 11px;
}

#main-content * > :not(#topdiv):not(#topdiv *):not(#podiumChart *):not(html i):not(.viewer-content *):not(.tab-link-offer):not(.tab-link-offer *),
#pop-content * > :not(#topdiv):not(#topdiv *):not(#podiumChart *):not(html i):not(.viewer-content *):not(.tab-link-offer):not(.tab-link-offer *) {
    color: #151515 !important;
}

#main-content th.titrebox,
#pop-content th.titrebox {
    color: #000 !important;
    font-weight: 700 !important;
}

#main-content tr:first-child th:first-child,
#pop-content tr:first-child th:first-child {
    border-top-left-radius: 3px;
}

#main-content tr:first-child th:last-child,
#pop-content tr:first-child th:last-child {
    border-top-right-radius: 3px;
}

#main-content tr:last-child td:first-child,
#pop-content tr:last-child td:first-child {
    border-bottom-left-radius: 3px;
}

#main-content tr:last-child td:last-child,
#pop-content tr:last-child td:last-child {
    border-bottom-right-radius: 3px;
}

#topdiv {
    border-bottom: 1px solid #ddd !important;
    height: 46px;
    margin-left: -15px;
    width: calc(100% + 30px);
}

.login-table {
    min-width: 400px;
    margin-top: 33vh;
}


.logout-button {
    align-items: center;
    background-color: #dddede;
    border: none;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    display: flex;
    float: right;
    font-size: 12px;
    height: 6px;
    margin-right: 7px;
    margin-top: 13px;
    padding: 6px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.logout-button:hover {
    background-color: #d32f2f;
    color: #fff;
    text-decoration: none;
}

.logout-button i {
    margin-right: 5px;
    color: #777;
}

.garagename {
    background-color: #e7e7e7;
    border-radius: 5px;
    color: #333 !important;
    display: block;
    float: left;
    font-size: 12px;
    height: 14px;
    margin-left: 40px;
    margin-top: 10px;
    padding: 5px 15px;
    text-align: center;
}

.modulename,
.username {
    background-color: #e7e7e7;
    border-radius: 5px;
    color: #333 !important;
    display: block;
    float: left;
    font-size: 12px;
    height: 14px;
    margin-left: 3px;
    margin-top: 10px;
    padding: 5px 15px;
    text-align: center;
}

.bleu {
    color: #4167d9;
}

.vert {
    color: #10ad19;
}

.gris-lisible {
    color: #646464;
}

span.agendasemaine {
    min-width: 980px !important;
}

.ds_box {
    background-color: #fff;
    border: 1px solid #777;
    border-radius: 4px;
    position: absolute;
    z-index: 32767;
}

.ds_head {
    background-color: #fff;
    letter-spacing: 2px;
}

.ds_head,
.ds_subhead {
    font-weight: 700;
    text-align: center;
}

.ds_subhead {
    width: 26px;
}

.ds_cell {
    cursor: pointer;
    text-align: center;
}

.ds_cell:hover {
    background-color: #f3f3f3;
}

.infobulle {
    position: absolute;
    visibility: hidden;
    opacity: 0 !important;
    z-index: 120;
    /* Transition pour disparition : opacity d'abord, puis visibility après le délai.
       Courte (200 ms) : à 400 ms l'infobulle traînait d'une cellule à l'autre et
       l'ensemble paraissait mou (PB 09/08/2026) */
    transition: opacity 200ms ease-out, visibility 0s linear 200ms !important;
    pointer-events: none;
}

.infobulle.visible {
    visibility: visible;
    opacity: 1 !important;
    /* Transition pour apparition : visibility immédiate, opacity animée — 120 ms, une
       bulle doit être lisible dès qu'elle se montre (PB 09/08/2026 : « lentes ») */
    transition: opacity 120ms ease-in, visibility 0s linear 0s !important;
}

.bullesimplegrise {
    background-color: hsla(0, 0%, 100%, 0.95);
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 7px;
    z-index: 120;
}

.bullesimplegrise {
    color: #000;
    max-width: 450px;
}

span.listeprixoptions {
    border: 1px solid #777;
    float: left;
    margin-top: 25px;
}

span.listeprixoptions {
    margin-bottom: 25px;
    margin-left: 15px;
    width: 625px;
}

span.listeprixcenter {
    margin-left: 80px;
    width: 400px;
}

span.listeprixcenter,
span.listeprixmodifier {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-top: 25px;
}

span.listeprixmodifier {
    margin-left: 25px;
    width: 800px;
}

span.listeprixinsertmod {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 19px;
    margin-top: 25px;
    width: 400px;
}

table.listeprixvn {
    border: 1px solid #77777766;
    border-radius: 4px;
    margin-top: 25px;
}

table.listeprixvn,
table.stockvn {
    float: left;
    margin-left: 10px;
    width: 1060px;
}

table.parchoice,
table.stockvn {
    border: 1px solid #777;
    margin-top: 10px;
}

/* Recentrage des cellules du tableau de stock : neutralise l'asymetrie du padding global "td" (5px gauche / 2px droite -> 2px/2px) */
table.stockvn td {
    padding-left: 2px;
}

table.parchoice {
    float: left;
    margin-left: 10px;
    width: 980px;
}

img.graphgestionventes {
    border: 1px solid #777;
    margin-left: 50px;
    margin-top: 10px;
    width: 900px;
}

.svggraphgestionpodiums {
    background: rgb(246, 246, 246);
    border: 1px solid #ccc;
    border-radius: 4px;
    border-spacing: 1px;
    box-sizing: border-box;
    height: 200px;
    margin-bottom: 10px;
    margin-left: 0;
    margin-top: 10px;
    overflow: hidden;
    padding: 5px;
    width: 100%;
}

#podiumChart {
    border-radius: 4px;
}

span.supercal {
    float: left;
    margin-left: 10px;
    margin-top: 0;
    width: 320px;
}

span.secretariatgauche {
    float: left;
    margin-left: 80px;
    margin-top: 0;
    width: 44%;
}

span.secretariatgauchelarge {
    float: left;
    margin-left: 25px;
    margin-top: 0;
    max-width: 500px;
    width: 44%;
}

span.securityplan {
    float: left;
    margin-left: 300px;
    margin-top: 55px;
    width: 400px;
}

span.resultats {
    float: left;
    margin-left: 80px;
    margin-top: 0;
    width: 700px;
}

span.resultatslarge {
    float: left;
    margin-left: 25px;
    margin-top: 0;
    width: 950px;
}

span.secretariataccessoires {
    float: left;
    margin-left: 49px;
    margin-top: 0;
    width: 500px;
}

span.secretariataccessoireslarge {
    float: left;
    margin-left: 24px;
    margin-top: 0;
    max-width: 500px;
    width: 44%;
}

span.gestionsncsbox {
    float: left;
    margin-left: 14px;
    margin-top: 0;
    width: 480px;
}

span.secretariatdates {
    float: left;
    margin-left: 1%;
    margin-top: 0;
    width: 48%;
}

span.agendasemaine {
    border: 1px solid #ccc;
    border-radius: 4px;
    border-spacing: 1px;
    float: left;
    margin-bottom: 15px;
    margin-left: 1%;
    margin-top: 0px;
    min-width: 900px;
    overflow: hidden;
    padding: 0px;
    width: 97%;
}

table.heures {
    float: left;
    width: 4.5%;
}

table.jour {
    float: left;
    width: 13.62%;
}

table.secretariat {
    border: 1px solid #777;
    border-left: 1px;
    float: left;
    margin-left: 25px;
    margin-top: 20px;
    width: 300px;
}

.secretariat-reprise-container {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-left: 25px;
    margin-top: 20px;
    width: calc(100% - 50px);
}

table.secretariat-reprise {
    align-self: flex-start;
    border: 1px solid #777;
    flex: 0 0 auto;
    margin: 0;
    max-width: 350px;
    width: 350px;
}

table.sysinfos {
    border: 1px solid #777;
    border-left: 1px;
    float: left;
    margin-left: 25px;
    margin-top: 20px;
    width: 300px;
}

span.gestioncouvertures {
    float: left;
    margin-left: 10px;
    margin-top: 0;
    width: 980px;
}

span.selvendgauche {
    float: left;
    margin-left: 1%;
    margin-top: 0;
    width: 48%;
}

span.selvenddroite {
    float: right;
    margin-right: 1%;
    margin-top: 0;
    width: 48%;
}

span.selvendvo {
    float: left;
    margin-left: 1%;
    margin-top: 0;
    width: 98%;
}

table.gestionoccasions {
    border: 1px solid #777;
    float: left;
    margin-left: 10px;
    margin-top: 10px;
    width: 1060px;
}

table.venteoccasions {
    border: 1px solid #ccc;
    border-radius: 4px;
    border-spacing: 1px;
    margin-top: 25px;
    overflow: hidden;
    width: 100%;
}

table.detailsoccasion {
    border: 1px solid #777;
    width: 100%;
}

table.recherchesav {
    width: 840px;
}

table.insertpics,
table.recherchesav {
    border: 1px solid #777;
    margin-top: 25px;
}

table.insertpics {
    width: 760px;
}

table.vente,
table.ventemens {
    border: 1px solid #7777778a;
    border-radius: 4px;
    margin-top: 25px;
    width: 100%;
}

table.ccborder,
table.ventese {
    border: 1px solid #777;
}

table.ventese {
    width: 100%;
}

#copyright {
    position: relative;
    text-align: right;
    text-decoration: underline;
}

#copyright {
    color: #888;
    font-size: 9px;
}

#stats {
    color: #2138b8;
    display: none;
    font-size: 12px;
    margin-left: 2px;
    margin-top: 1px;
    position: absolute;
    text-align: left;
}

a:link {
    color: #000;
    text-decoration: none;
}

div {
    border: 0 solid #ccc;
}

table {
    border: 1px solid #777 !important;
    border-collapse: collapse;
    padding: 1px;
}

table.listeventes {
    border: 1px solid #7777776b;
    border-radius: 4px;
    margin-bottom: 25px;
    margin-left: 50px;
    margin-top: 2px;
    width: 900px;
}

table.bwgestionliste {
    margin-left: 10px;
    margin-top: 2px;
    width: 1060px;
}

table.bwgestionliste,
table.plansrestes {
    border: 1px solid #777;
    margin-bottom: 25px;
}

table.plansrestes {
    float: right;
    margin-right: 10px;
    margin-top: -10px;
    width: 350px;
}

table.narrowlist {
    width: 305px;
}

table.mediumlist,
table.narrowlist {
    border: 1px solid #777;
    float: left;
    margin-left: 20px;
    margin-top: 40px;
}

table.mediumlist {
    width: 700px;
}

table.largelist {
    margin-top: 2px;
    width: 960px;
}

table.largelist,
table.sellargelist {
    border: 1px solid #777;
    margin-left: 20px;
}

table.sellargelist {
    margin-top: 15px;
}

table.ventesseldate {
    width: 900px;
}

table.ventesseldate {
    border: 1px solid #777;
    margin-left: 50px;
    margin-top: 15px;
}

table.reportingslist {
    border: 1px solid #777;
    margin-left: 50px;
    margin-top: 15px;
    width: 900px;
}

table.bwgestionsel,
table.comvendsel {
    border: 1px solid #777;
    margin-left: 10px;
    margin-top: 15px;
    width: 1060px;
}

th {
    background-color: #f1f1f1;
    border-style: none;
    border-width: 0;
    font-weight: 400;
    height: 26px;
    padding-left: 7px;
    padding-right: 2px;
    text-align: left;
}

th.thnormalbleu {
    background-color: #9dd3f6;
    border-radius: 4px;
}

th.thnormalmauve {
    background-color: #8a2be275;
    border-radius: 4px;
}

th.thnormalrouge {
    background-color: #dd3d3d91;
    border-radius: 4px;
}

th.thnormalvert {
    background-color: #00800091;
}

th.thnormalbrun,
th.thnormalvert {
    border-radius: 4px;
}

th.thnormalbrun {
    background-color: rgba(142, 73, 6, 0.62);
}

th.thnormaljaune {
    border-radius: 4px;
}

th.thnormaljaune {
    background-color: #ffff006e;
}

th.thnormalorange {
    background-color: #ffa50094;
    border-radius: 4px;
}

th.thnormalfuchsia,
th.thnormalfushia {
    background-color: rgba(246, 107, 204, 0.87);
    border-radius: 4px;
}

td.fuchsia,
td.fushia {
    background-color: rgba(246, 101, 205, 0.77);
}

td {
    background-color: #f1f1f1;
    border-style: none;
    border-width: 0;
    height: 24px;
    padding: 1px 2px 1px 5px;
}

td.brightleft {
    border-left: 1px solid #777;
    border-right: 1px solid #777;
}

.backfonce {
    background-color: transparent;
}

td.bleu {
    background-color: #87cefab3;
}

td.bleudesat {
    background-image: url(../pics/bgbleudesatpetit.jpg);
}

td.brun {
    background-color: rgba(138, 74, 10, 0.51);
}

td.brundesat {
    background-image: url(../pics/bgbrundesatpetit.jpg);
}

td.jaune {
    background-color: #ffff006e;
}

td.jaunedesat {
    background-color: hsla(60, 51%, 63%, 0.61);
}

td.orange {
    background-color: #ffa5009c;
}

td.mauve {
    background-color: #ba93dfd4;
}

td.rouge {
    background-color: #cb2a2a73;
}

td.rougedesat {
    background-image: url(../pics/bgrougedesatpetit.jpg);
}

td.vert {
    background-color: #0080006b;
}

td.vertpale {
    color: rgba(73, 150, 73, 0.55);
}

img {
    display: block;
}

input[type='file'] {
    opacity: 0;
    position: absolute;
    z-index: 0;
}

.custom-file-upload {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    font-size: 11px;
    padding: 3px 12px;
}

.custom-file-upload:before {
    margin-right: 5px;
}

button,
input,
select,
text {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 11px;
    height: 20px;
    padding-left: 3px;
    padding-right: 3px;
    vertical-align: middle;
}

input.text {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
    height: 16px;
    padding-left: 3px;
    padding-right: 3px;
}

input.checkbox {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
}

body {
    font-family: Roboto, sans-serif;
    font-size: 11px;
}

td.right {
    padding-right: 10px;
    text-align: right;
}

input.bouttonok20 {
    width: 63px;
}

input.bouttonok20,
input.bouttonok20vlarge {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #eeecdb;
    cursor: pointer;
    height: 20px;
    margin-bottom: 1px;
    margin-top: 1px;
    padding: 4px 10px;
}

input.bouttonok20vlarge {
    width: 104px;
}

input.bouttonok {
    background-color: #f0f0f0;
    background-repeat: no-repeat;
    height: 26px;
    width: 63px;
}

input.bouttonok,
input.bouttonokpetit {
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 1px;
    margin-top: 1px;
    padding: 4px 10px;
}

input.bouttonokpetit {
    background-color: transparent;
    background-color: #f0f0f0;
    height: 20px;
    width: 20px;
}

button.bouttonoklarge,
input.bouttonoklarge {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    height: 26px;
    margin-bottom: 1px;
    margin-top: 1px;
    padding: 4px 10px;
    width: 130px;
}

button.bouttonokverylarge,
input.bouttonokverylarge {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    height: 26px;
    margin-bottom: 1px;
    margin-top: 1px;
    padding: 4px 10px;
    width: 250px;
}

span.connexion {
    border: 1px solid #777;
    float: left;
    margin-left: 350px;
    margin-top: 75px;
    width: 300px;
}

th.backfonce {
    background-image: none;
    text-decoration: none;
}

#logocarcare {
    background-image: url(../pics/carcare.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 50%;
    clip-path: inset(0 0 38% 0);
    height: 59px;
    left: -50px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    overflow: hidden;
    top: -5px;
    width: 327px;
}

#logocarcare {
    display: none;
    position: absolute;
}

th.titrebox {
    background-color: #d0d0da;
    background-image: none;
    border-radius: 4px;
    color: #000;
    font-weight: 700;
    padding-left: 7px;
    text-align: left;
}

th.ligneth {
    border-color: #777;
    border-style: solid;
    border-width: 1px 0;
    height: 2px;
}

th.ligneth,
th.lignethinth {
    background-color: hsla(0, 0%, 94%, 0);
    background-image: none;
    padding-left: 7px;
    width: 100%;
}

th.lignethinth {
    border-bottom-color: #777;
    border-bottom-style: solid;
    border-left: 0 solid #777;
    border-right: 0 solid #777;
    border-top-color: #777;
    border-top-style: solid;
    height: 1px;
}

th.ligneverythinth {
    background-color: hsla(0, 0%, 94%, 0);
    border-left-width: 0;
    border-right-width: 0;
    border-style: solid;
    height: 1px;
    margin-bottom: 1px;
    margin-top: 5px;
    width: 100%;
}

#resume {
    position: absolute;
    text-align: center;
    top: 820px;
    width: 950px;
}

span.col1 {
    float: left;
    margin-left: 125px;
}

span.col1,
span.col2 {
    border: 1px solid #777;
    margin-bottom: 25px;
    margin-top: 25px;
    width: 350px;
}

span.col2 {
    float: right;
    margin-right: 125px;
}

span.boutonsoumettre {
    border: 0 solid #777;
    clear: right;
    float: right;
    margin-right: -5px;
    margin-top: 25px;
}

span.boutonsemaine {
    border: 0 solid #777;
    float: left;
    margin-left: 20%;
    width: 50%;
}

span.tiptops {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 15px;
}

span.admin {
    border: 0 solid #777;
    height: 625px;
    margin-top: 15px;
}

span.admin,
span.forbidden {
    float: left;
    margin-bottom: 25px;
    margin-left: 100px;
    width: 800px;
}

span.forbidden {
    border: 0 dotted red;
    margin-top: 25px;
    padding-bottom: 230px;
    padding-top: 240px;
    text-align: center;
}

span.showopts {
    float: right;
    margin-right: 25px;
    width: 645px;
}

span.addopts,
span.showopts {
    border: 1px solid #777;
    margin-top: 25px;
}

span.addopts {
    float: left;
    margin-left: 25px;
    width: 280px;
}

span.next {
    border: 1px #777;
    clear: both;
    float: right;
    height: 22px;
    margin-right: 35px;
    margin-top: 25px;
}

span.coef {
    float: left;
    margin-left: 25px;
}

span.coef {
    border: 1px solid #777;
    margin-bottom: 25px;
    margin-top: 25px;
}

span.client {
    text-align: center;
    width: 350px;
}

span.preferencesmodbanque {
    width: 275px;
}

span.paramatresentetes,
span.preferencesmodbanque {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 25px;
    margin-top: 25px;
}

span.paramatresentetes {
    width: 700px;
}

span.startmodeboutons {
    border: 1px solid #777;
    float: left;
    margin-bottom: 0;
    margin-left: 25px;
    margin-top: 25px;
}

span.startmodeboutons {
    width: 170px;
}

span.startchecklist {
    width: 590px;
}

span.startchecklist,
span.startnotes {
    border: 1px solid #777;
    float: right;
    margin-right: 25px;
    margin-top: 25px;
}

span.startnotes {
    margin-bottom: 0;
    width: 330px;
}

span.starttechplan {
    float: left;
    margin-bottom: 0;
    margin-left: 25px;
    width: 750px;
}

span.startnewpcs,
span.starttechplan {
    border: 1px solid #777;
    margin-top: 25px;
}

span.startnewpcs {
    float: right;
    margin-right: 25px;
    width: 700px;
}

span.startcorr {
    width: 600px;
}

span.startcorr,
span.startlistpcs {
    border: 1px solid #777;
    float: left;
    margin-left: 25px;
    margin-top: 25px;
}

span.startlistpcs {
    clear: both;
    width: 950px;
}

span.simplecentermiscmidmid {
    margin-left: 200px;
    width: 600px;
}

span.choixsimulprint,
span.simplecentermiscmidmid {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-top: 100px;
}

span.choixsimulprint {
    margin-left: 50px;
    width: 900px;
}

/* datasfin, boutonsstatutfin, statutfin, choixsimulwithbc : spans des fiches
   financement, morts avec la refonte visuelle FIN (V1-V3, 14/08/2026). */

span.selectarchivage {
    border: 1px solid #777;
    display: block;
    margin: 50px auto 5px;
    width: 60%;
}

span.selectconfdossier {
    margin-left: 100px;
    width: 800px;
}

span.secbctelstart,
span.selectconfdossier {
    border: 1px solid #777;
    float: left;
    margin-bottom: 5px;
    margin-top: 50px;
}

span.secbctelstart {
    margin-left: 300px;
    width: 400px;
}

/* secbctelwithbc : coin client des fiches financement, mort avec la refonte
   visuelle FIN (V2.5, 14/08/2026). */

span.bwfindata {
    border: 1px solid #777;
    float: right;
    margin-bottom: 10px;
    margin-right: 75px;
    margin-top: 0;
    width: 600px;
}

span.bwnav {
    float: left;
    margin-left: 35px;
    margin-top: -25px;
    width: 150px;
}

/* bwresfin : resultats/attente des fiches financement, mort avec la refonte
   visuelle FIN (V3, 14/08/2026). */

span.selectfacturecc {
    border: 1px solid #777;
    float: left;
    margin-bottom: 5px;
    margin-left: 190px;
    margin-top: 50px;
    width: 650px;
}

span.simplecentermwoborder {
    border: 0 solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 200px;
    margin-top: 0;
    width: 600px;
}

span.simplecentermisclittle {
    margin-left: 300px;
    width: 400px;
}

span.simplecentermisclittle,
span.simplecentermiscmid {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-top: 25px;
}

span.simplecentermiscmid {
    margin-left: 200px;
    width: 600px;
}

span.simplecentermiscmoremid {
    margin-bottom: 25px;
    margin-left: 150px;
    margin-top: 50px;
    width: 100%;
}

span.simplecentermisclarge {
    margin-bottom: 0;
    margin-left: 50px;
    width: 900px;
}

span.simplecentermisclarge {
    border: 1px solid #777;
    float: left;
    margin-top: 25px;
}

span.colreportcenterlarger {
    border: 1px solid #777;
    margin: 25px auto;
    max-width: 900px;
    width: 80%;
}

span.colreportacc {
    border: 1px solid #777;
    display: block;
    margin: 25px auto;
    max-width: 800px;
    width: 90% !important;
}

span.colreportcenterbutton {
    border: 0 solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 0;
    margin-top: 5px;
    width: 1000px;
}

span.blockinnergauche {
    float: left;
}

span.blockinnerdroite,
span.blockinnergauche {
    border: 1px solid #777;
    margin-bottom: 0;
    margin-right: 0;
    margin-top: 0;
    width: 350px;
}

span.blockinnerdroite {
    float: right;
}

span.blockcenterreportgauche {
    border: 0 solid #777;
    float: right;
    margin-bottom: 0;
    margin-right: 55px;
    margin-top: 25px;
    width: 730px;
}

span.blockcenterdetailoccasphotos {
    border: 0 solid #777;
    float: left;
    margin-bottom: 0;
    margin-left: 120px;
    margin-top: 15px;
}

span.viewfpicsreprises {
    border: 1px #777;
    float: left;
    margin-bottom: 0;
    margin-left: 120px;
    margin-top: 40px;
    width: 760px;
}

table.photooccas {
    border: 1px solid #777;
    float: left;
    margin-left: 0;
    margin-top: 0;
    width: 190px;
}

table.docscans,
table.docsoccas {
    border: none;
    float: left;
    margin-left: 5px;
    margin-top: 0;
    width: 200px;
}

table.simpleborders {
    border: 1px solid #777;
}

span.photoreprise {
    border: 0 solid #777;
    float: left;
    margin-bottom: 3px;
    margin-right: 3px;
    margin-top: 0;
}

span.photoreprisedetailocc {
    border: 0 solid #777;
    float: left;
    margin-bottom: 2px;
    margin-right: 2px;
}

span.docreprisedetailocc {
    border: 0 solid #777;
    float: left;
    margin-bottom: 2px;
    margin-right: 1px;
}

span.blockcenterreportgauchebords {
    border: 1px solid #777;
    float: right;
    margin-bottom: 0;
    margin-right: 55px;
    margin-top: 25px;
    width: 730px;
}

span.insertstockleft {
    border: 1px solid #777;
    float: left;
    margin-bottom: 15px;
    margin-left: 25px;
    margin-top: 0;
    width: 625px;
}

span.insertstockright {
    border: 1px solid #777;
    float: right;
    margin-bottom: 1px;
    margin-right: 25px;
    margin-top: 0;
    width: 375px;
}

span.colfraisoccasionscenter {
    margin-left: 230px;
    margin-top: 25px;
    width: 560px;
}

span.colfraisoccasionscenter,
span.infosdeviscarro {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
}

span.infosdeviscarro {
    margin-left: 0;
    width: 330px;
}

span.colgauchecarro {
    float: left;
    margin-bottom: 25px;
    margin-left: 40px;
    margin-top: 25px;
    width: 330px;
}

span.tboxsuivisplans {
    float: right;
    margin-bottom: 5px;
    margin-right: 10px;
    width: 280px;
}

span.showpcs,
span.tboxsuivisplans {
    border: 1px solid #777;
    margin-top: 10px;
}

span.showpcs {
    float: left;
    margin-left: 10px;
    width: 773px;
}

span.detailscarro {
    border: 1px solid #777;
    float: right;
    margin-bottom: 25px;
    margin-right: 40px;
    margin-top: 25px;
    width: 560px;
}

span.colreportcenterdommages {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-top: 25px;
}

span.colreportcenterdommages {
    margin-left: 342px;
    width: 317px;
}

span.agendaeditevent {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 300px;
    margin-top: 50px;
    width: 400px;
}

span.colreportcenterverylarger {
    margin-bottom: 25px;
    margin-top: 25px;
}

span.colreportcenterverylarger,
span.infosaccsap {
    border: 1px solid #777;
    float: left;
    margin-left: 5px;
    width: 990px;
}

span.infosaccsap {
    margin-bottom: 0;
    margin-top: 5px;
}

span.accsap {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 5px;
    margin-top: 5px;
    width: 990px;
}

table.reportnav {
    border: 1px solid #777;
    font-weight: 400 !important;
    margin: 10px auto;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
}

table.reportnav td {
    padding: 8px 12px;
    transition: background-color 0.15s ease;
}

table.reportnav td:hover {
    background-color: rgba(48, 120, 166, 0.15) !important;
}

table.reportnav td > div {
    transition: transform 0.15s ease;
}

table.reportnav td:hover > div {
    transform: scale(1.08);
}

span.seluserlist {
    margin-bottom: 10px;
    margin-left: 50px;
    margin-top: 25px;
    width: 900px;
}

span.seluserlist,
span.userslist {
    border: 1px solid #777;
    float: left;
}

span.userslist {
    margin-bottom: 25px;
    margin-left: 20px;
    margin-top: 10px;
    width: calc(100% - 40px);
}

span.createdb {
    border: 1px solid #777;
    float: left;
    margin-bottom: 25px;
    margin-left: 50px;
    margin-top: 25px;
    width: 400px;
}

.submitLink {
    background-color: transparent;
    border: none;
    cursor: pointer;
    cursor: hand;
    text-decoration: underline;
}

table.createmodenv {
    float: left;
    margin-left: 15px;
    width: 285px;
}

table.createmodenv,
table.listeenv {
    border: 1px solid #777;
    margin-top: 15px;
}

table.listeenv {
    float: right;
    margin-right: 15px;
    width: 745px;
}

table.detailsenv {
    border: 1px solid #777;
    float: left;
    margin-left: 15px;
    margin-top: 15px;
    width: 250px;
}

#blockingdiv {
    height: 100%;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1500000;
}

#blockingdiv,
div.calcauto {
    position: absolute;
    visibility: hidden;
}

div.calcauto {
    background: none repeat scroll 0 0 #333335;
    border: 1px solid #3383dd;
    border-radius: 8px 8px 8px 8px;
    color: #fff;
    font-weight: 700;
    left: 50%;
    margin-left: -100px;
    opacity: 0.9;
    padding: 10px;
    text-align: center;
    top: 48%;
    width: 200px;
}

td.ccl_times {
    width: 65px;
}

td.ccl_mens,
td.ccl_times {
    text-align: center;
}

/* Table des mensualités : largeurs de colonnes FIGÉES par la 1re ligne (en-tête),
   indépendantes du contenu => la note « (Plan de x mois) » peut apparaître/migrer
   au gré de sel_duree_plan sans jamais bouger les colonnes (zéro glitch entre deux
   soumissions), sans réserver de place. Les widths d'en-tête sont posés par PHP
   (box_mens : cols 1-2 = width%, col 3 = 3%, durées sans width = partage égal). */
#ccl_box_mens {
    table-layout: fixed;
}

/* Sous fixed, le width:65px générique de td.ccl_times (suggestion en layout auto)
   serait pris au pied de la lettre => on rend la main au partage égal du reste. */
#ccl_box_mens td.ccl_times {
    width: auto;
}

/* Vue étendue (10 durées, colonnes étroites) : couper proprement plutôt que déborder */
td.ccl_mens {
    overflow: hidden;
}

/* Table Financement (CCLM) : colonnes figées 35/65 par <col> (comofferhelp.php) —
   le texte « → x mois disponibles » (longueur variable selon la durée) ne fait
   plus bouger les colonnes entre deux soumissions.
   max-width : en fixed + width:100% (table.vente) elle s'étirait sur TOUTE la
   place et volait l'espace de croissance de la preview PDF (flex 0.5 0 320px) —
   bornée à ~sa largeur naturelle d'avant (auto ≈ 620px). */
table.ccl_finfixed {
    table-layout: fixed;
    max-width: 640px;
}

/* Pastille mensualité : géométrie PERMANENTE, rendue par PHP (box_mens) dans chaque
   cellule non vide, COMPACTE autour du nombre (inline => la note se place À CÔTÉ).
   La sélection (.clicked) ne change que fond/gras => zéro reflow au clic. */
td.ccl_mens .mens-pill {
    box-sizing: border-box;
    text-align: center;
    padding: 4px 6px;
    border-radius: 4px;
    min-width: 65px;
    max-width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    vertical-align: middle;
}

td.ccl_mens.clicked .mens-pill {
    background-color: rgb(245, 245, 141);
    font-weight: bold;
}

/* Note « (Plan de x mois) » : inline À CÔTÉ de la pastille (jamais dedans : la
   pastille fit-content s'étirerait), émise seulement quand durée plan != colonne. */
td.ccl_mens .mens-plan-note {
    font-size: 10px;
    font-weight: normal;
    font-style: italic;
    color: #6c757d;
    white-space: nowrap;
    margin-left: 6px;
    vertical-align: middle;
}

td.ccl_mensfict {
    font-style: italic;
}

span.ccl_blockcenter {
    border: 0 solid #777;
}

span.ccl_blockcenter,
span.ccl_blockcenter_wborder {
    float: right;
    margin-bottom: 0;
    margin-right: 0;
    margin-top: 12px;
    width: 100%;
}

span.ccl_blockcenter_wborder {
    border: 1px solid #777;
}

span.sub_rev_anal_gauche {
    border: 1px solid #777;
    float: right;
    margin-bottom: 0;
    margin-right: 0;
    margin-top: 0;
    width: 100%;
}

div.rev_anal_gauche {
    float: left;
    margin-left: 22px;
    margin-top: 20px;
    width: 468px;
}

@keyframes toggle {
    0% {
        visibility: visible;
    }

    50% {
        visibility: hidden;
    }

    60% {
        visibility: hidden;
    }

    to {
        visibility: visible;
    }

}

div.cca_offer_back_unselect {
    background: #333335;
}

div.cca_offer_back_selected {
    background: #297cd8;
}

/* Override le display:block de .tab-content-offer.active */
#tabs-3.active {
    display: flex !important;
}

#tabs-3-content {
    flex: 1 1 auto !important; /* Taille naturelle, peut grandir */
    padding-right: 10px;
}

/* L'aperçu de l'offre (#pdf-container, #pdf-html, .pdf-cache-preview et le toggle
   .hide-pdf) vivait ici alors qu'il ne sert QUE dans COM_offer.php : déplacé dans
   styles/parts/comoffer.css le 17/08/2026, avec le reste du module d'offre. */

/* Sticky bottom pour la box mensualités */
#ccl_box_mens {
    position: sticky;
    bottom: 0;
    background-color: white;
    z-index: 10;
}

/* Le radius générique « tr:last-child td:first-child » (coin bas-gauche) tombe ici
   sur la colonne 3 (icône plan) : les cols 1-2 sont en rowspan=2, la « première
   cellule » de la dernière ligne n'est PAS le vrai coin de la table => annulé. */
#ccl_box_mens tr:last-child td:first-child {
    border-bottom-left-radius: 0 !important;
}

input[type='range']::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background-color: #f3f3f3;
    border: 1px solid #878787;
    border-radius: 3px;
    cursor: pointer;
    height: 26px;
    width: 14px;
}

/* Curseurs des filtres VO (ccl_vo.php) : pouce carré élargi qui porte la valeur
   courante (bulle .vo-range-bub superposée par voRangeBub, largeur 100px synchronisée
   en JS) — vert léger = prix, orange = kms (teintes td.vert/td.orange aplaties) */

/* Base de la piste, rapatriée le 18/08/2026 : elle était répétée en style inline sur
   chaque <input type=range> émis par cclhelpvo.php, alors que les règles du pouce
   vivaient déjà ici. Les deux moitiés de la même chose sont désormais au même endroit.
   PAS de width ici, volontairement : la largeur est le SEUL point où les deux écrans
   divergent (360px dans le sélecteur de l'offre, 280px dans les filtres du Stock VO).
   Elle reste donc portée par chaque appelant. */
input[type='range'].vo-range {
    height: 12px;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 5px;
    outline: none;
}

input[type='range'].vo-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    border: 1px solid #878787;
    border-radius: 3px;
    cursor: pointer;
    height: 20px;
    width: 100px;
}

input[type='range'].vo-range::-moz-range-thumb {
    background-color: #ffffff;
    border: 1px solid #878787;
    border-radius: 3px;
    cursor: pointer;
    height: 20px;
    width: 100px;
}

input[type='range'].vo-range-prix::-webkit-slider-thumb {
    background-color: #b5dcb5;
}

input[type='range'].vo-range-prix::-moz-range-thumb {
    background-color: #b5dcb5;
}

input[type='range'].vo-range-kms::-webkit-slider-thumb {
    background-color: #ffd894;
}

input[type='range'].vo-range-kms::-moz-range-thumb {
    background-color: #ffd894;
}

/* Filtre NON actif (neutre ou « tous les prix/kms ») : curseur entier grisé + pouce
   gris + bulle « Tous » (.vo-range-bub-off) — déclaré APRÈS -prix/-kms (cascade) */
input[type='range'].vo-range-inactive {
    opacity: 0.55;
}

input[type='range'].vo-range-inactive::-webkit-slider-thumb {
    background-color: #ececec;
    border-color: #adadad;
}

input[type='range'].vo-range-inactive::-moz-range-thumb {
    background-color: #ececec;
    border-color: #adadad;
}

.vo-range-bub-off {
    color: #8a8a8a !important;
    font-style: italic;
    font-weight: normal !important;
}

/* Véhicule sélectionné hors filtres (ccl_vo.php) : vague rouge sur les cellules
   fautives de sa ligne (les filtres eux-mêmes portent des triangles FA rouges) */
td.vo-field-off,
td.vo-field-off a,
td.vo-field-off b {
    text-decoration: underline wavy #dc3545 !important;
    text-underline-offset: 3px;
}

.vo-range-bub {
    color: #333333;
    font-size: 9px;
    font-weight: bold;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.blink-background {
    background-color: #d99 !important;
    transition: background-color 0.3s;
}

a,
a:active,
a:hover,
a:visited {
    color: inherit !important;
    text-decoration: none;
}

#main-content a,
#main-content a:active,
#main-content a:hover,
#main-content a:visited,
#pop-content a,
#pop-content a:active,
#pop-content a:hover,
#pop-content a:visited {
    color: inherit !important;
}

@keyframes blink {
    0%,
    45% {
        opacity: 1;
    }

    50%,
    95% {
        opacity: 0.5;
    }

    to {
        opacity: 1;
    }

}

.blink-text {
    animation: blink 1.2s ease-in-out infinite;
}

#response_table_quick_tools {
    table-layout: auto;
    width: 100%;
}

#response_table_quick_tools tr:first-child {
    border-bottom: 1px solid #ccc;
    position: sticky;
    text-decoration: underline;
    text-decoration-color: #1458c7;
    top: 2px;
    z-index: 10;
}

span.blockcenterreportreprisegauche {
    margin-top: 9px;
}

span.blockinnerreprisegauche {
    float: left;
    width: 430px;
}

span.blockinnerreprisedroite,
span.blockinnerreprisegauche {
    border: 1px solid #777;
    margin-bottom: 0;
    margin-right: 0;
    margin-top: 0;
}

span.blockinnerreprisedroite {
    float: right;
    width: 450px;
}

span.blockcenterreportreprisegauchebords {
    border: 1px solid #777;
    float: right;
    margin-bottom: 0;
    margin-top: 25px;
    width: 930px;
}

span.blockcenterreportreprisegauche {
    border: 0 solid #777;
    float: right;
    margin-bottom: 0;
    width: 930px;
}

span.cadrecentral {
    background-repeat: repeat-x;
    border-color: #777799;
    border-radius: 0 0 6px 6px;
    border-style: none;
    border-width: 0;
    float: left;
    margin-left: 10px;
    margin-top: 0;
    min-height: 280px;
    padding-bottom: 30px;
    width: 1080px;
}

span.colreportcenterlarger,
span.selectclient {
    display: block;
    margin: auto;
    width: 80%;

}
/* ---------------------------------------------------------------------------
   Icones d'action (V3 19/08/2026)
   Remplacent pics/print.png et pics/excel.png (16x16) ainsi que les « X »
   textuels de suppression en fin de ligne de listing.

   La couleur est portee par le <i> et JAMAIS par le <a> : la regle
   « a, a:active, a:hover, a:visited { color: inherit !important } » plus haut
   dans ce meme fichier ecraserait toute couleur posee sur le lien.

   Le survol est declare DEUX fois (sur l'icone et sur le lien parent) : les
   icones font 16px, viser le lien entier est plus confortable en listing.

   Usage : <i class='fas fa-print       ico_act ico_print'></i>
           <i class='fas fa-file-excel  ico_act ico_excel'></i>
           <i class='fas fa-xmark       ico_act ico_del'></i>
   Ajouter ico_right pour l'ancien align=right des <img>.
   --------------------------------------------------------------------------- */
.ico_act {
    color: #555;
    cursor: pointer;
    font-size: 16px;
    text-decoration: none;
    transition: color 0.15s ease;
    vertical-align: middle;
}

.ico_print:hover,
a:hover .ico_print {
    color: #1565c0;
}

.ico_excel:hover,
a:hover .ico_excel {
    color: #2e7d32;
}

.ico_del:hover,
a:hover .ico_del {
    color: #c62828;
}

.ico_right {
    float: right;
}

/* Reduction ponctuelle : en-tete de colonne ou listing dense ou 16px ecrase la
   mise en page. Declaree APRES .ico_act, donc elle l'emporte a specificite egale. */
.ico_sm {
    font-size: 11px;
}
