@charset "UTF-8";
body {
  background-color: rgba(34, 48, 62, 0.3);
  font-family: "Roboto", Arial, Helvetica, sans-serif;
  font-optical-sizing: auto;
  overflow-x: hidden;
}
body ul {
  list-style: none;
  padding: 0;
}
body .margin-0-auto {
  margin: 0 auto;
}
body a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease-out;
}
body a:hover {
  color: #ffb901;
}
body.openned {
  overflow: hidden;
}

@media only screen and (max-width: 1200px) {
  body .col-12 {
    margin-bottom: 20px;
  }
  body #dashboard {
    position: relative;
  }
  body #main-menu-container .main-menu {
    padding: 75px 30px 0 30px;
    position: absolute;
    right: -100%;
    top: 0;
    width: 60vw;
    height: 100vh;
    flex-direction: column;
    z-index: 30;
    background-color: #fff;
    border-left: 1px solid #737985;
    transition: all ease 0.3s;
  }
  body #main-menu-container .main-menu li {
    padding: 10px;
  }
  body #main-menu-container .main-menu.openned {
    right: 0;
  }
}
h1, h2, h3, h4 {
  font-optical-sizing: auto;
  position: relative;
  margin-bottom: 15px;
}
h1:before, h2:before, h3:before, h4:before {
  width: 42px;
  height: 3px;
  background-color: #ffb901;
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "";
}
h1.left, h2.left, h3.left, h4.left {
  text-align: left;
}
h1.left:before, h2.left:before, h3.left:before, h4.left:before {
  right: auto;
  margin: 0;
}
h1 span, h2 span, h3 span, h4 span {
  position: absolute;
  top: -20px;
  left: 0;
  font-size: 18px;
  font-weight: 300;
}

h2 {
  font-size: 26px;
}

h3 {
  font-size: 22px;
}

h4 {
  font-size: 18px;
}

.tables {
  width: 100%;
  margin-bottom: 10px;
}
.tables tr {
  position: relative;
}
.tables tr .icon-client-state {
  display: none;
  position: absolute;
  left: -10px;
  top: calc(50% - 14px);
  width: 30px;
  height: 30px;
  font-size: 20px;
}
.tables tr.client_expired .icon-client-state, .tables tr.no_purchase_flag .icon-client-state {
  display: block;
}
.tables tr.client_expired {
  background-color: #ffbfcf;
}
.tables tr.client_expired .icon-client-state i {
  color: #ed174c;
}
.tables tr.no_purchase_flag {
  background-color: #ffe9b0;
}
.tables tr.no_purchase_flag .icon-client-state i {
  color: #ffb901;
}
.tables tr:nth-child(even) {
  background-color: #f2f2f2;
}
.tables tr.urgent {
  background-color: #ed174c;
  color: white;
}
.tables .actions-container {
  display: flex;
  justify-content: flex-end;
}
.tables td, .tables th {
  padding: 7px 0 7px 15px;
  text-align: left;
}
.tables td:last-child, .tables th:last-child {
  text-align: right;
}
.tables td {
  vertical-align: middle;
  min-width: 100px;
  max-width: 250px;
}
.tables td.address-cell {
  min-width: 400px;
}
.tables td.color-bad {
  font-weight: 700;
  color: #ed174c;
}
.tables td.color-moderate {
  font-weight: 700;
  color: #ffb901;
}
.tables td.color-normal {
  font-weight: 700;
  color: #5dc429;
}
.tables thead {
  vertical-align: bottom;
  border-bottom: 1px solid gray;
}
.tables + .btn-primary {
  display: flex;
  justify-self: flex-end;
}
.tables select, .tables input[type=text] {
  border: 1px solid gray;
}
.tables select:hover, .tables input[type=text]:hover {
  border: 1px solid #ffb901;
}

.header-table {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
}
.header-table > div {
  text-align: left;
  width: 33.3333333333%;
  padding: 7px 0 7px 15px;
  display: flex;
  justify-content: space-between;
}
.header-table > div span {
  font-weight: 300;
  font-size: 16px;
}

.fake-table-column {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.box {
  background-color: white;
  border-radius: 15px;
  padding: 20px 30px;
  height: 100%;
  text-align: center;
  box-shadow: 3px 3px 12px 0px rgb(143, 130, 143);
  position: relative;
}
.box + .box {
  margin-top: 20px;
}
.box.overflow-hidden {
  overflow: hidden;
}
.box.text-start h2:before {
  right: auto;
}
.box.login {
  padding: 40px;
}
.box.login .logo {
  max-height: 100px;
}
.box.login form {
  margin: 0 auto;
}
.box.login .form-floating {
  margin: 15px 0;
}
.box.login .form-floating input[type=text], .box.login .form-floating input[type=password] {
  border: 1px solid gray;
}
.box.login .form-floating input[type=text]:hover, .box.login .form-floating input[type=password]:hover {
  border: 1px solid #ffb901;
}
.box.login .form-floating input[type=text]:focus, .box.login .form-floating input[type=password]:focus {
  outline: 0;
  box-shadow: none;
}
.box .modify-values {
  margin-top: 10px;
}
.box .modify-values input[type=text] {
  text-align: center;
  border: 1px solid white;
  width: 60px;
  transition: all ease 0.3s;
  font-family: "Montserrat", serif;
}
.box .modify-values input[type=text]:focus {
  border: 1px solid #ffb901;
  outline: none;
}
.box #message-important {
  border: 0;
  height: 100px;
  width: 100%;
}
.box.alert {
  display: flex;
}
.box.alert i {
  margin-right: 10px;
  font-size: 32px;
  color: #ffb901;
  border: 3px solid #ffb901;
  align-self: flex-start;
  border-radius: 50%;
  padding: 8px 10px;
}
.box.left {
  text-align: left;
}
.box .header-years {
  display: flex;
  justify-content: space-between;
  font-family: "Montserrat", serif;
  font-size: 24px;
  font-weight: 800;
}
.box .header-years .present {
  color: #ffb901;
}
.box .sales {
  position: relative;
  min-height: 190px;
}
.box .sales .sales-number {
  position: absolute;
  font-family: "Montserrat", serif;
  text-align: center;
  font-size: 56px;
  font-weight: 800;
  line-height: 55px;
  top: 16%;
  right: 0;
  left: 0;
  border: 0;
  width: 180px;
}
.box .sales .sales-number span {
  text-align: left;
  font-size: 12px;
  line-height: 14px;
  text-transform: uppercase;
  display: block;
}
.box .sales .sales-number div {
  font-size: 30px;
  text-transform: uppercase;
}
.box .sales .sales-number.left {
  right: auto;
  left: -40px;
  color: #090f35;
  text-align: right;
}
.box .sales .sales-number.left span {
  text-align: right;
}
.box .sales .sales-number.right {
  text-align: left;
  right: -50px;
  left: auto;
  color: #33afb8;
}

.row {
  margin-top: 20px;
}
.row:last-child {
  margin-bottom: 20px;
}

.sales-table .category {
  display: flex;
  flex-direction: column;
}
.sales-table .line-space-between {
  display: flex;
  justify-content: space-between;
  flex: 1;
}
.sales-table .line-space-between > div {
  min-width: 70px;
  text-align: left;
}
.sales-table .first-column {
  text-align: left;
  min-width: 240px !important;
}

.boss-view .reps {
  display: flex;
}
.boss-view .reps .rep-box {
  width: 25%;
}

@keyframes growProgressBar {
  0%, 33% {
    --pgPercentage: 0;
  }
  100% {
    --pgPercentage: var(--value);
  }
}
@property --pgPercentage {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}
div[role=progressbar] {
  --size: 9rem;
  --fg: #ffb901;
  --bg: #e5e9ed;
  --pgPercentage: var(--value);
  animation: growProgressBar 3s 1 forwards;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 15px auto;
  background: radial-gradient(closest-side, white 80%, transparent 0 99.9%, white 0), conic-gradient(var(--fg) calc(var(--pgPercentage) * 1%), var(--bg) 0);
  font-family: "Montserrat", serif;
  font-weight: 600;
  font-size: calc(var(--size) / 5);
  color: var(--fg);
}

div[role=progressbar]::before {
  counter-reset: percentage var(--value);
  content: counter(percentage) "%";
}

.btn-primary,
.btn-secondary,
.btn-smallest,
select {
  background-color: #ffb901;
  padding: 12px 20px;
  border-radius: 35px;
  color: #090f35;
  text-transform: uppercase;
  font-weight: 600;
  font-family: "Montserrat", serif;
  border: 3px solid #ffb901;
  transition: 0.3s ease;
  cursor: pointer;
}
.btn-primary:hover,
.btn-secondary:hover,
.btn-smallest:hover,
select:hover {
  background-color: white;
  color: #ffb901;
  border: 3px solid #ffb901;
  cursor: pointer;
}
.btn-primary.active,
.btn-secondary.active,
.btn-smallest.active,
select.active {
  background-color: #090f35;
  border: 3px solid #090f35;
}
.btn-primary.reversed,
.btn-secondary.reversed,
.btn-smallest.reversed,
select.reversed {
  background-color: #090f35;
  color: #ffb901;
  border: 3px solid #090f35;
  cursor: pointer;
}
.btn-primary.reversed:hover,
.btn-secondary.reversed:hover,
.btn-smallest.reversed:hover,
select.reversed:hover {
  background-color: #ffb901;
  color: white;
  border: 3px solid #ffb901;
}
.btn-primary.warning,
.btn-secondary.warning,
.btn-smallest.warning,
select.warning {
  background-color: #ed174c;
  border: 3px solid #ed174c;
  color: white !important;
}
.btn-primary.warning:hover,
.btn-secondary.warning:hover,
.btn-smallest.warning:hover,
select.warning:hover {
  color: #ed174c;
  border: 3px solid #ed174c;
}
.btn-primary.smaller,
.btn-secondary.smaller,
.btn-smallest.smaller,
select.smaller {
  padding: 8px 14px;
}

.btn-smallest {
  padding: 4px 6px;
  font-size: 12px;
  background-color: #737985;
  border: 3px solid #737985;
  color: white;
}
.btn-smallest:hover {
  background-color: white;
  border: 3px solid #737985;
  color: #737985;
}

.btn-no-text {
  position: relative;
  z-index: 1;
  padding: 8px 12px;
  border-radius: 50%;
  background-color: #737985;
  color: white;
  transition: all ease 0.3s;
  font-size: 16px;
  margin-left: 7px;
}
.btn-no-text:first-child {
  margin: 0;
}
.btn-no-text:hover {
  color: #090f35;
  background-color: #ffb901;
  cursor: pointer;
}

.btn-mod {
  transition: 0.3s ease;
  background-color: #ffb901;
  padding: 6px;
  border-radius: 50%;
  border: 3px solid #ffb901;
}
.btn-mod:hover {
  background-color: white;
  color: #ffb901;
  border: 3px solid #ffb901;
  cursor: pointer;
}

.btn-secondary {
  padding: 6px 10px;
  font-size: 14px;
  background-color: #737985;
  border: 3px solid #737985;
  color: white;
}
.btn-secondary:hover {
  background-color: white;
  border: 3px solid #737985;
  color: #737985;
}
.btn-secondary.unavailable {
  opacity: 0.5;
}

.toggle {
  display: flex;
  align-items: center;
}
.toggle:hover {
  cursor: pointer;
}
.toggle i {
  margin-left: 20px;
  font-size: 24px;
}
.toggle.active i {
  color: #ffb901;
}

.form-check {
  width: 100px;
  text-align: left;
}

.form-check-input {
  border-color: #737985;
}
.form-check-input:checked {
  background-color: #ffb901;
  border-color: #ffb901;
}

.timeline-button {
  margin: 0 auto;
  display: flex;
  padding: 5px 0;
  background-color: #090f35;
  border-radius: 50px;
  justify-content: space-around;
  color: white;
}
.timeline-button .timeframe {
  margin: 0 5px;
  border-radius: 50px;
  width: 100%;
  text-align: center;
  padding: 10px 20px;
  font-size: 18px;
  transition: all 0.3s ease;
}
.timeline-button .timeframe.active {
  color: #090f35;
  background-color: #ffb901;
}
.timeline-button .timeframe:hover {
  cursor: pointer;
  background-color: #324cb1;
}

#additionnal-filters-container .selected-filters {
  margin-top: 10px;
}
#additionnal-filters-container .selected-filters .rep-item:hover {
  color: #ed174c;
  border-color: #ed174c;
}

.custom-selector {
  position: relative;
  margin-right: 15px;
}
.custom-selector input[type=text] {
  padding: 12px 20px;
  border: 3px solid #737985;
  width: 120px;
  border-radius: 35px;
}
.custom-selector #product-input {
  width: 160px;
}
.custom-selector #category-input {
  width: 70px;
}

.simple_link {
  position: relative;
  transition: all ease 0.3s;
}
.simple_link:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #737985;
  transition: all ease 0.3s;
}
.simple_link:hover {
  color: #ffb901;
  cursor: pointer;
}
.simple_link:hover:after {
  background-color: #ffb901;
}

#menu-burger {
  display: none;
  width: 100px;
  flex-direction: column;
  align-self: center;
  position: relative;
  z-index: 31;
  transition: all ease 0.3s;
}
#menu-burger .line {
  width: 100%;
  height: 3px;
  background-color: #737985;
  transition: all ease 0.3s;
}
#menu-burger .line:first-child {
  margin-bottom: 5px;
}
#menu-burger:after {
  width: 100px;
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: white;
  z-index: -1;
}
#menu-burger:hover {
  cursor: pointer;
}
#menu-burger:hover .line {
  background-color: #ffb901;
}
#menu-burger.openned {
  width: 50px;
}
#menu-burger.openned .line {
  width: 50px;
  margin: -1px;
}
#menu-burger.openned .line:first-child {
  rotate: 45deg;
}
#menu-burger.openned .line:last-child {
  rotate: -45deg;
}
#menu-burger.openned:after {
  top: -25px;
  width: 50px;
  height: 50px;
}

@media only screen and (max-width: 1200px) {
  body #menu-burger {
    display: flex;
  }
  body .btn-primary,
  body .btn-secondary {
    margin: 10px 0;
  }
}
.switch-container input[type=checkbox] {
  height: 0;
  width: 0;
  visibility: hidden;
}
.switch-container label {
  cursor: pointer;
  text-indent: -9999px;
  width: 42px;
  height: 26px;
  background: grey;
  display: block;
  border-radius: 100px;
  position: relative;
}
.switch-container label:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 90px;
  transition: 0.3s;
}
.switch-container.warning input:checked + label {
  background: #ed174c;
}
.switch-container input:checked + label {
  background: #bada55;
}
.switch-container input:checked + label:after {
  left: calc(100% - 3px);
  transform: translateX(-100%);
}
.switch-container label:active:after {
  width: 30px;
}

.box .rep {
  margin-bottom: 10px;
  position: relative;
  flex-basis: 25%;
  position: relative;
}
.box .rep img {
  max-width: 100px;
  transition: all ease 0.3s;
}
.box .rep:after {
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: -7px;
  right: -70px;
  left: 0;
  content: "";
  border-radius: 50%;
  border: 3px solid white;
  z-index: 2;
  margin: 0 auto;
}
.box .rep img.rep-avatar {
  position: relative;
  z-index: 1;
}
.box .rep img.img_avatar_hover {
  position: absolute;
  top: 0;
  left: 18px;
  z-index: 0;
  opacity: 0;
}
.box .rep.road:after {
  background-color: #8cb13f;
}
.box .rep.office:after {
  background-color: #33afb8;
}
.box .rep.home:after {
  background-color: #e7014e;
}
.box .rep .hidden {
  display: none;
}
.box .rep .visible {
  display: block;
}
.box .rep select {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  margin-left: -70px;
  width: 140px;
  z-index: 4;
}
.box .rep:hover {
  cursor: pointer;
}
.box .rep:hover .rep-avatar {
  opacity: 0;
}
.box .rep:hover .img_avatar_hover {
  opacity: 1;
}
.box .rep:hover .chat-icon-container {
  opacity: 1;
}
.box .rep .chat-icon-container {
  opacity: 0;
  width: 40px;
  height: 40px;
  position: absolute;
  top: -7px;
  right: -70px;
  left: 0;
  content: "";
  border-radius: 50%;
  border: 3px solid white;
  z-index: 2;
  margin: 0 auto;
  background-color: #ffb901;
  transition: all 0.3s ease;
}
.box .rep .chat-icon-container:hover {
  cursor: pointer;
  background-color: #090f35;
}
.box .rep .chat-icon-container img {
  width: 26px;
  position: absolute;
  z-index: 3;
  top: 6px;
  left: 5px;
}
.box .status-icon {
  position: absolute;
  bottom: 2px;
  right: -70px;
  left: 0;
  z-index: 3;
  width: 25px;
  margin: 0 auto;
}
.box .rep-avatar {
  transition: opacity 0.3s ease, transform 0.3s ease; /* Adjust duration and easing as needed */
}
.box .rep-avatar.hover {
  transform: scale(1.05); /* Optional: Slight zoom effect */
}

#main-menu-container {
  padding: 20px;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#main-container {
  padding: 0 20px;
  max-width: 1920px;
}

.main-menu {
  margin: 0px;
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
}
.main-menu li {
  margin-right: 20px;
}
.main-menu li:last-child {
  flex-grow: 1;
  justify-content: flex-end;
}
.main-menu i {
  font-size: 18px;
  margin-right: 10px;
}

.logo-container {
  display: flex;
  align-items: center;
  font-size: 26px;
  font-weight: 400;
  margin-right: 15px;
}
.logo-container img {
  margin-right: 15px;
  max-height: 40px;
}

.icon-user {
  max-width: 40px;
  margin-right: 15px;
}
.icon-user img {
  width: 100%;
}

@media only screen and (max-width: 1200px) {
  body .main-menu {
    align-items: flex-start;
  }
  body .main-menu li:last-child {
    flex-grow: 0;
    justify-content: flex-start;
  }
}
.page-404 .box {
  padding: 100px;
}
.page-404 .box img {
  max-width: 360px;
  margin-right: 50px;
}

.header-clients {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

@media only screen and (max-width: 1200px) {
  .header-clients {
    flex-direction: column;
    align-items: flex-start;
  }
  #additionnal-filters-container {
    flex-direction: column;
  }
  table, thead, tbody, th, td, tr {
    display: block;
  }
  .tables td:before {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top: 5px;
    left: 6px;
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
  }
  .tables td:nth-of-type(1):before {
    content: "# de Client";
  }
  .tables td:nth-of-type(2):before {
    content: "Nom du client";
  }
  .tables td:nth-of-type(3):before {
    content: "Contact";
  }
  .tables td:nth-of-type(4):before {
    content: "Adresse";
  }
  .tables td:nth-of-type(5):before {
    content: "Téléphone";
  }
  .tables td:nth-of-type(6):before {
    content: "Actions";
  }
  .tables thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .tables tr {
    border-bottom: 1px solid #555555;
  }
  .tables tr:first-child {
    border-top: 0;
  }
  .tables td {
    padding: 5px 0 5px 40%;
    border: none;
    border-bottom: 1px solid #cfcfcf;
    position: relative;
  }
  .tables td:last-child {
    border-bottom: 0;
  }
}
.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center;
}

h1.align-left:before, h2.align-left:before, h3.align-left:before {
  right: inherit;
  margin: 0;
  left: 0;
}

.to-mask {
  opacity: 0;
}

.no-fixed-width {
  width: unset !important;
}

.w-10 {
  width: 10%;
}

.w-20 {
  width: 20%;
}

.w-30 {
  width: 30%;
}

.w-40 {
  width: 40%;
}

.w-50 {
  width: 50%;
}

.w-60 {
  width: 60%;
}

.w-70 {
  width: 70%;
}

.w-80 {
  width: 80%;
}

.w-90 {
  width: 90%;
}

.w-100 {
  width: 100%;
}

.hidden {
  display: none;
}

#visites .btn-primary {
  margin-right: 0;
}

.cart-analysis .diagram-container {
  display: flex;
  align-items: center;
}
.cart-analysis .products-container {
  display: flex;
  flex-wrap: wrap;
}
.cart-analysis .products-container .product {
  display: flex;
  align-items: center;
  flex-basis: calc(20% - 5px);
  margin-bottom: 5px;
  text-align: left;
}
.cart-analysis .products-container .product:nth-child(odd) {
  margin-right: 5px;
}
.cart-analysis .products-container .product.smaller {
  flex-basis: calc(50% - 5px);
  margin-bottom: 20px;
}
.cart-analysis .products-container .product.smaller .title {
  font-size: 28px;
  min-width: 40px;
}
.cart-analysis .products-container .product.smaller .infos {
  margin-left: 10px;
}
.cart-analysis .products-container .product .infos {
  margin-left: 20px;
  color: #090f35;
  line-height: 16px;
  font-weight: 600;
  display: block;
}
.cart-analysis .products-container .product .infos span {
  font-size: 16px;
  color: #777c91;
  font-weight: 400;
}
.cart-analysis .rapport-container .container-visites {
  display: flex;
  margin: 40px auto;
  max-width: 100%;
  justify-content: space-between;
}
.cart-analysis .rapport-container .container-visites .nb_clients:nth-child(2) {
  margin-left: -40px;
}
.cart-analysis .rapport-container .nb_clients {
  font-size: 14px;
  text-align: left;
  max-width: 50%;
}
.cart-analysis .rapport-container .nb_clients span {
  font-size: 85px;
  color: #ffb901;
  display: block;
  line-height: 60px;
  font-weight: 800;
}
.cart-analysis .rapport-container .nb_clients:nth-child(2) {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
}
.cart-analysis .rapport-container .nb_clients:nth-child(2) span {
  font-size: 40px;
  margin-right: 8px;
  line-height: 28px;
}
.cart-analysis .rapport-container .container-clients {
  text-align: left;
  font-size: 14px;
  line-height: 30px;
}
.cart-analysis .title {
  font-family: "Montserrat", serif;
  line-height: 1.2em;
  font-size: 44px;
  color: #ffb901;
  font-weight: 800;
  min-width: 60px;
  text-align: right;
}
.cart-analysis div[role=progressbar] {
  --size:8rem;
}
.cart-analysis .simple-line-container .vendeur {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid white;
  transition: all ease 0.7s;
}
.cart-analysis .simple-line-container .vendeur:hover {
  border-bottom: 1px solid #ffb901;
}
.cart-analysis .simple-line-container .vendeur .name {
  font-size: 20px;
  color: #ffb901;
  margin-right: 20px;
}
.cart-analysis.client-analysis {
  display: flex;
}
.cart-analysis.client-analysis #rep-space {
  min-width: 200px;
}
.cart-analysis.client-analysis .fraction {
  flex-direction: column;
  display: flex;
  max-width: 75px;
}
.cart-analysis.client-analysis .fraction span {
  font-size: 16px;
  font-weight: 400;
  text-align: right;
}
.cart-analysis.client-analysis .fraction span:nth-child(1) {
  text-align: left;
  font-weight: 700;
  font-size: 24px;
}
.cart-analysis.client-analysis .fraction span:nth-child(2) {
  font-size: 36px;
  font-weight: 300;
  text-align: center;
  margin: -35px 0;
}
.cart-analysis.client-analysis .tables th {
  padding-top: 0;
}

.timeframe-row {
  display: none;
}
.timeframe-row.active {
  display: block;
}

.container-documents .container-document-type {
  display: flex;
  align-items: center;
  text-align: left;
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 300;
  transition: all ease 0.3s;
  position: relative;
}
.container-documents .container-document-type:after {
  content: "";
  width: calc(100% - 60px);
  height: 3px;
  background-color: #ffb901;
  position: absolute;
  bottom: 0;
  left: 60px;
  opacity: 0;
  transition: all ease 0.3s;
}
.container-documents .container-document-type i {
  font-size: 40px;
  margin-right: 20px;
  transition: all ease 0.3s;
}
.container-documents .container-document-type:hover {
  cursor: pointer;
}
.container-documents .container-document-type:hover:after {
  opacity: 1;
}
.container-documents .container-document-type:hover i {
  color: #ffb901;
}

#folder-content #previous-button {
  position: absolute;
  top: 20px;
  left: 20px;
}
#folder-content.container-documents ul {
  display: flex;
}
#folder-content.container-documents ul .file-item {
  margin-right: 50px;
}

#dashboard .timeline-button {
  position: relative;
}
#dashboard .territory-locked {
  pointer-events: none; /* blocks typing/clicks */
}
#dashboard .modal-dialog {
  width: 96%;
  max-width: none;
}
#dashboard .modal-dialog .modal-header {
  align-items: center;
  justify-content: space-between;
  border: 0;
}
#dashboard .modal-dialog .key-informations {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
#dashboard .modal-dialog .key-informations li {
  margin-right: 15px;
}
#dashboard .modal-dialog .key-informations li span,
#dashboard .modal-dialog .key-informations li input {
  display: block;
}
#dashboard .modal-dialog .key-informations li input {
  max-width: 100px;
  border: 0;
}
#dashboard .modal-dialog h4 {
  margin-top: 15px;
}
#dashboard .modal-dialog #informations > div {
  padding: 15px;
}
#dashboard .modal-dialog .modalSection {
  width: 100%;
  margin: 15px;
  display: flex;
  flex-wrap: wrap;
  display: none;
}
#dashboard .modal-dialog .modalSection.active {
  display: flex;
}
#dashboard .modal-dialog .modalSection .modalInnerSection {
  width: 50%;
}
#dashboard .modal-dialog .modalSection .main-informations-container h4 {
  display: flex;
  justify-content: space-between;
}
#dashboard .modal-dialog .modalSection .main-informations-container h4 span {
  position: relative;
  top: auto;
}
#dashboard .modal-dialog .modalSection .main-informations-container input {
  padding: 7px;
  border: 1px solid #d5d5d5;
  font-size: 14px;
  border-radius: 5px;
  margin: 7px;
}
#dashboard .modal-dialog .modalSection .main-informations-container #addressInfo {
  flex: 1 1 60%;
}
#dashboard .modal-dialog .modal-body {
  display: flex;
  padding: 0;
  align-items: flex-start;
  transition: all ease 0.3s;
  max-height: 200vh;
}
#dashboard .modal-dialog .modal-body.clientClosed {
  position: relative;
  max-height: 300px;
  overflow: hidden;
}
#dashboard .modal-dialog .modal-body.clientClosed:after {
  width: 100%;
  height: 100%;
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.95);
}
#dashboard .modal-dialog .modal-body.clientClosed .client-status {
  left: 0;
}
#dashboard .modal-dialog .modal-body.clientClosed .main-informations-container {
  position: absolute;
  top: 100px;
  width: 50%;
  left: 0;
  margin: 0 auto;
  right: 0;
}
#dashboard .modal-dialog .modal-body:after {
  width: 0;
  height: 0;
  transition: all ease 0.3s;
}
#dashboard .modal-dialog .modal-footer {
  justify-content: space-between;
}
#dashboard .modal-dialog .modal-footer .switch-container label {
  margin-left: 15px;
}
#dashboard .modal-dialog .form-check {
  margin-right: 15px;
  width: calc(33% - 30px);
}
#dashboard .modal-dialog.generated-maps .modalSection {
  max-width: 50%;
  margin: 50px auto;
  text-align: center;
}
#dashboard .modal-dialog.generated-maps .modalSection img {
  margin: 20px auto;
  max-width: 250px;
  display: block;
}

#dashboard #routeModal .modalSection {
  display: flex;
  flex-direction: column;
}

@media only screen and (max-width: 1200px) {
  #dashboard .modal-dialog .modal-header {
    flex-direction: column;
    align-items: flex-start;
  }
  #dashboard .modal-dialog .modal-header .key-informations {
    padding-left: 0;
    flex-wrap: wrap;
    margin: 15px 0;
  }
  #dashboard .modal-dialog .modal-header .key-informations li {
    width: 50%;
    margin: 0;
  }
  #dashboard .modal-dialog .modal-body {
    flex-direction: column;
  }
  #dashboard .modal-dialog .modal-body .modalSection:first-child {
    max-width: unset;
  }
  #dashboard .modal-dialog .modal-body .modalInnerSection {
    width: 100%;
  }
  #dashboard .modal-dialog .form-check {
    width: calc(50% - 30px);
  }
}
.toast.bg-success {
  background-color: white !important;
  border: 3px solid #96e739 !important;
  color: #737985 !important;
}
.toast .btn-close-reborn {
  background-color: #96e739;
  border: 0;
  color: white;
  font-size: 24px;
}

.client-status {
  font-size: 20px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  transition: all ease 0.3s;
}
.client-status.clientClosed {
  padding-right: 260px;
}
.client-status .switch-container {
  position: relative;
  z-index: 2;
  top: auto;
  background-color: white;
  padding: 8px;
}
.client-status select {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  font-size: 14px;
}

.territory-filter-grid {
  display: flex;
  flex-wrap: wrap;
}

#map .leaflet-marker-icon.filter-hidden {
  opacity: 0.12 !important;
}

.map-with-filters {
  display: flex;
  gap: 18px;
  position: relative;
}

.map-canvas {
  flex: 1 1 auto;
  position: relative;
}

.map-filters {
  width: 320px;
  max-height: calc(100% - 114px);
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  padding: 16px 18px;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1000;
  font-family: "Montserrat", serif;
}

.map-filters-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.map-filters-title {
  font-weight: 700;
  font-size: 18px;
}

.map-filters-reset {
  font-size: 12px;
  text-decoration: underline;
}

.map-filter-block {
  border-top: 1px solid #eee;
  padding-top: 10px;
  margin-top: 10px;
}

.map-filter-block:first-of-type {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

.map-filter-block-title {
  font-weight: 600;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.map-filter-section {
  margin: 10px 0;
}

.map-filter-title {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 4px;
  text-align: left;
}

.map-filter-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}

.map-filter-section .form-check {
  margin-bottom: 4px;
  width: 100%;
}
.map-filter-section .form-check .form-check-input {
  width: 16px;
  height: 16px;
  margin-right: 5px;
}

#mapFilters .form-check-label {
  font-size: 16px;
  font-weight: 300;
}

#map {
  height: 0;
}
#map .btn-primary {
  position: absolute;
  right: 20px;
  bottom: 30px;
  z-index: 1000;
}
#map .leaflet-marker-icon.territory-hidden {
  opacity: 0.15 !important;
}
#map .leaflet-popup-content-wrapper,
#map .leaflet-popup-tip {
  border: 1px solid gray;
}
#map .leaflet-popup-content-wrapper .title,
#map .leaflet-popup-tip .title {
  font-size: 18px;
  text-transform: uppercase;
  font-family: "Montserrat", serif;
  font-weight: 700;
  position: relative;
}
#map .leaflet-popup-content-wrapper .title span,
#map .leaflet-popup-tip .title span {
  font-size: 14px;
  font-weight: 300;
}
#map .leaflet-popup-content-wrapper .beauty-line,
#map .leaflet-popup-tip .beauty-line {
  width: 42px;
  height: 3px;
  background-color: #ffb901;
  content: "";
  display: block;
  margin: 7px 0;
}
#map .leaflet-popup-content-wrapper .btn-primary,
#map .leaflet-popup-tip .btn-primary {
  position: relative;
  display: block;
  font-size: 14px;
  font-weight: 300;
  right: auto;
  bottom: auto;
}
#map .leaflet-popup-content-wrapper .infos-container,
#map .leaflet-popup-tip .infos-container {
  display: flex;
  align-items: center;
  margin: 15px 0;
  justify-content: space-between;
}
#map .leaflet-popup-content-wrapper .infos-container .btn-no-text,
#map .leaflet-popup-tip .infos-container .btn-no-text {
  margin-right: 10px;
}

#route {
  margin-top: 15px;
  position: relative;
  text-align: left;
  display: flex;
}
#route img {
  height: 45px;
  width: 60px;
}
#route .stops {
  margin-left: 15px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#route .stops .stop {
  margin: 4px 8px 4px 0;
  display: flex;
  align-self: flex-start;
  align-items: center;
}
#route .stops .stop i {
  margin-left: 20px;
  font-size: 16px;
}

.bi_central .btn {
  margin-right: 15px;
}
.bi_central #switchGlobalCompare {
  display: inline-block;
}
.bi_central #periods-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.bi_central #periods-container .btn-secondary {
  margin-top: 10px;
}
.bi_central .container-filter-category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 15px;
}
.bi_central .container-filter-category .dollars-last-year, .bi_central .container-filter-category .percentage-last-year {
  font-size: 14px;
  color: rgba(9, 18, 53, 0.7);
  word-spacing: 3px;
  letter-spacing: 0.7px;
}
.bi_central .container-filter-category .dollars-this-year, .bi_central .container-filter-category .percentage-this-year {
  font-size: 16px;
  font-weight: 700;
  color: rgb(255, 185, 1);
  word-spacing: 3px;
  letter-spacing: 0.7px;
}
.bi_central #filters-container {
  overflow: hidden;
  transition: all ease 0.9s;
  max-height: 300px;
}
.bi_central #filters-container #result-container {
  opacity: 0;
  position: absolute;
  left: 25px;
  top: 18px;
  transition: all ease 0.9s;
}
.bi_central #filters-container #minimize-view {
  position: absolute;
  top: 18px;
  right: 25px;
  z-index: 1;
}
.bi_central #filters-container #minimize-view i {
  font-size: 24px;
}
.bi_central #filters-container #minimize-view:hover {
  cursor: pointer;
}
.bi_central #filters-container .filters-container {
  opacity: 1;
  transition: all ease 0.9s;
}
.bi_central #filters-container.minified {
  max-height: 60px;
}
.bi_central #filters-container.minified #minimize-view i {
  rotate: 180deg;
}
.bi_central #filters-container.minified .filters-container {
  opacity: 0;
}
.bi_central #filters-container.minified #result-container {
  opacity: 1;
}

#main-filters {
  display: flex;
  align-items: center;
  margin: 0 0 15px 0;
  justify-content: space-between;
}
#main-filters input {
  margin: 0 15px 0 0;
}

/* Hide the default checkbox */
.category-filters {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.category-filters input[type=checkbox] {
  display: none;
}
.category-filters label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  padding: 8px 12px;
  border-radius: 6px;
  background: white;
  color: #091235;
  transition: all 0.3s ease;
}
.category-filters label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  border: 2px solid #091235; /* Border matches the theme */
  border-radius: 4px;
  background-color: white;
  transition: all 0.3s ease;
}
.category-filters input[type=checkbox]:checked + label {
  color: #091235;
  border-color: #ffb901;
}
.category-filters input[type=checkbox]:checked + label::before {
  background-color: #091235;
  border-color: #091235;
  content: "✔";
  font-size: 14px;
  color: white;
  text-align: center;
  line-height: 18px;
}
.category-filters label:hover {
  background-color: #ffb901; /* Light yellow */
  border-color: #ffb901;
}

.roadmap {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.roadmap #add-stop-btn {
  position: absolute;
  right: 20px;
  top: 20px;
}
.roadmap .road {
  width: 50%;
  /* Remove number input arrows (for compatibility, in case input types change) */
}
.roadmap .road #roadmap-stops {
  display: flex;
  flex-direction: column;
}
.roadmap .road .task-textarea {
  resize: none; /* Disable manual resizing */
  overflow-y: hidden; /* Hide vertical scrollbar */
  overflow-x: hidden; /* Hide horizontal scrollbar */
  border: none; /* Remove default borders */
  outline: none; /* Remove focus outline */
}
.roadmap .road .task-textarea::-webkit-inner-spin-button,
.roadmap .road .task-textarea::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.roadmap .road h1 {
  margin-bottom: 50px;
}
.roadmap .road .date {
  width: 200px;
  font-size: 24px;
  font-weight: 700;
}
.roadmap .road .date input {
  border: 0;
  width: 100%;
}
.roadmap .road .date:before {
  width: 42px;
  height: 1px;
  content: "";
  background-color: #dadbdd;
  position: absolute;
  left: 150px;
  top: 20px;
}
.roadmap .road .stop {
  flex: 0 0 100%; /* Let it fill the entire space horizontally */
  padding-bottom: 30px;
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-left: 5%;
  text-align: left;
}
.roadmap .road .stop:before {
  width: 1px;
  height: 100%;
  content: "";
  background-color: #dadbdd;
  position: absolute;
  left: 150px;
  top: 0;
}
.roadmap .road .stop .content-stop {
  width: calc(100% - 200px);
}
.roadmap .road h2 input {
  border: 0;
  width: 100%;
}
.roadmap ul li {
  text-align: left;
  position: relative;
  margin-bottom: 10px;
}
.roadmap ul li textarea {
  border: 0;
  height: 30px;
  width: 100%;
}
.roadmap ul li::before {
  content: "\f058";
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  position: absolute;
  left: -27px;
  top: 12px;
  transform: translateY(-50%);
  font-size: 16px;
}
.roadmap ul.done li::before {
  color: green;
}
.roadmap ul.to-do li::before {
  color: #ffb901;
}
.roadmap ul.undone li::before {
  color: #737985;
}

.bobsworkshop {
  width: 40%;
  position: relative;
}
.bobsworkshop ul {
  max-width: 90%;
  margin: 20px auto 0;
}
.bobsworkshop:before {
  height: 70%;
  width: 1px;
  content: "";
  left: 0;
  top: 15%;
  background-color: #dadbdd;
  position: absolute;
}

.notification-badge {
  display: none;
  position: absolute;
  top: 20px;
  right: 10px;
  background-color: #fd3a29;
  width: 25px;
  height: 25px;
  font-size: 16px;
  border-radius: 50%;
  color: white;
  z-index: 40;
}

.chatBox {
  width: 300px;
  position: fixed;
  bottom: 0px;
  background-color: white;
  z-index: 1000;
  border: 1px solid #737985;
  border-radius: 15px;
  overflow: hidden;
  /* Styling for received messages */
}
.chatBox .messageList {
  padding: 10px 10px 0 10px;
  min-height: 200px;
  max-height: 200px;
  overflow-y: scroll;
  overflow-x: hidden;
}
.chatBox .textinputarea {
  padding: 10px 10px 0 10px;
  border-top: 1px solid #737985;
  position: relative;
}
.chatBox .textinputarea .sendMessageBtn {
  position: absolute;
  top: 15px;
  right: 20px;
  border: 0;
  background-color: transparent;
  color: #090f35;
  transition: all ease 0.3s;
}
.chatBox .textinputarea .sendMessageBtn:hover {
  color: #ffb901;
}
.chatBox .timestamp {
  font-size: 9px;
  color: #737985;
  position: absolute;
  top: 100%;
  right: 0;
  display: none;
}
.chatBox .message {
  position: relative;
  padding: 8px 16px;
  border-radius: 28px;
  margin-bottom: 10px;
  max-width: 80%;
}
.chatBox .messageInput {
  background-color: #dadbdd;
  font-family: "Montserrat", sans-serif;
  padding: 7px 16px;
  border-radius: 20px;
  color: #090f35;
  transition: all ease 1s;
}
.chatBox .messageInput:focus {
  outline: 0;
  background-color: #dae4f7;
}
.chatBox .message.sent {
  background-color: #ffb901; /* Light blue background for sent messages */
  text-align: right; /* Align to the right */
  color: #090f35; /* Black text color */
  display: flex;
  justify-self: flex-end;
}
.chatBox .message.received {
  background-color: #f1f1f1; /* Light gray background for received messages */
  text-align: left; /* Align to the left */
  color: #333; /* Darker text color */
  display: flex;
  justify-self: flex-start;
  margin-bottom: 10px;
}
.chatBox .header-chat-box {
  width: 100%;
  padding: 10px;
  background-color: white;
  border-bottom: 1px solid #737985;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.chatBox .header-chat-box img {
  max-width: 40px;
}
.chatBox .header-chat-box .closeChatBtn {
  background: none;
  border: 0;
  font-size: 20px;
  color: #ed174c;
}

.chat-launcher {
  position: fixed;
  bottom: 14px;
  right: 14px;
  z-index: 1200;
}
.chat-launcher .chat-launcher-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 24px;
  border: 0;
  background: linear-gradient(135deg, #ffb901, rgb(205, 148.5039370079, 0));
  color: #090f35;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.chat-launcher .chat-launcher-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.chat-launcher .chat-roster {
  position: absolute;
  bottom: 60px;
  right: 0;
  width: 260px;
  max-height: 360px;
  background: white;
  border: 1px solid #737985;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  display: none;
  flex-direction: column;
}
.chat-launcher .chat-roster .closeChatBtn {
  position: absolute;
  top: 10px;
  right: 10px;
  transition: all 0.3s ease;
  color: #090f35;
}
.chat-launcher .chat-roster .closeChatBtn:hover {
  color: white;
  cursor: pointer;
}
.chat-launcher .chat-roster.open {
  display: flex;
}
.chat-launcher .chat-roster .chat-roster-header {
  padding: 10px 12px;
  font-weight: 700;
  border-bottom: 1px solid #ffb901;
  background: #ffb901;
}
.chat-launcher .chat-roster ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
}
.chat-launcher .chat-roster .chat-roster-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.chat-launcher .chat-roster .chat-roster-item:hover {
  background: #dadbdd;
}
.chat-launcher .chat-roster .chat-roster-item .chat-roster-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.chat-launcher .chat-roster .chat-roster-item .chat-roster-name {
  font-weight: 600;
  color: #090f35;
  line-height: 1.2;
}
.chat-launcher .chat-roster .chat-roster-item .chat-roster-last {
  font-size: 12px;
  color: #737985;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-launcher .chat-roster .chat-roster-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #737985;
}
.chat-launcher .chat-roster .chat-roster-empty {
  padding: 12px;
  color: #737985;
}

/* Customize the scrollbar container */
::-webkit-scrollbar {
  width: 12px; /* Width of the vertical scrollbar */
  height: 12px; /* Height of the horizontal scrollbar */
}

/* Customize the track (part of the scrollbar not filled by the thumb) */
::-webkit-scrollbar-track {
  background: #f1f1f1; /* Light gray track */
  border-radius: 10px;
}

/* Customize the thumb (the draggable part of the scrollbar) */
::-webkit-scrollbar-thumb {
  background: #888; /* Dark gray thumb */
  border-radius: 10px;
}

/* Hover effect for the thumb */
::-webkit-scrollbar-thumb:hover {
  background: #555; /* Lighter gray when hovering over the thumb */
}

/* Optional: Customize the corner where horizontal and vertical scrollbars meet */
::-webkit-scrollbar-corner {
  background: #f1f1f1;
}

.pathfinder .planner {
  display: flex;
  flex-direction: column;
}
.pathfinder .planner .day {
  position: relative;
  border-top: 5px solid rgba(34, 48, 62, 0.3);
  margin-right: 20px;
  width: 20%;
  transition: all ease 0.5s;
}
.pathfinder .planner .day .number {
  font-size: 50px;
  font-weight: 700;
}
.pathfinder .planner .day .number .month {
  font-size: 18px;
  font-weight: 200;
  text-transform: uppercase;
}
.pathfinder .planner .day:hover {
  border-top: 5px solid #ffb901;
}
.pathfinder .planner .day.today {
  border-top: 10px solid #ffb901;
}
.pathfinder .planner .day.past-day {
  opacity: 0.6;
}
.pathfinder .planner .day .generate-route-btn {
  border: 0;
  position: absolute;
  top: 20px;
  right: 20px;
}
.pathfinder .planner .client-list {
  padding: 0;
  margin: 0;
}
.pathfinder .to-visit {
  margin: 20px -30px;
  background-color: #e9f0f9;
  padding: 20px;
}
.pathfinder .clients-container {
  text-align: left;
}
.pathfinder .clients-container .clients-unassigned {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.pathfinder .client-assigned {
  border: 1px solid #d0dcf5;
  padding: 10px;
}
.pathfinder .client-assigned .client {
  background-color: #ffb901;
  color: #090f35;
}
.pathfinder .client-assigned .client:hover {
  color: white;
}
.pathfinder .client-assigned .client .edit-client-icon {
  background-color: #090f35;
  color: #ffb901;
}
.pathfinder .client {
  margin: 5px;
  background-color: #86909b;
  padding: 5px 15px;
  border-radius: 25px;
  transition: all ease 0.5s;
  color: white;
}
.pathfinder .client:hover {
  cursor: grab;
  background-color: #464c57;
}
.pathfinder .client:hover .remove-stop {
  cursor: pointer;
}
.pathfinder .client .edit-client-icon {
  background-color: #ffb901;
  color: #090f35;
}

body {
  font-family: "Montserrat", sans-serif; /* Corrected fallback to sans-serif */
}
body #dashboard {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}/*# sourceMappingURL=style.css.map */