@import url("variable.css");

/* your styles go here */
.container-xxl{
  max-width: 1600px;
}

#notification_div {
  position: absolute;
  background-color: white;
  margin-left: -225px;
}

.notify {
  padding: 10px;
}

.bubble {
  animation: animateElement linear 0.3s;
  animation-iteration-count: 1;
}

@keyframes animateElement {
  0% {
    opacity: 0;
    transform: translate(0px, 10px);
  }
  100% {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}

#map {
  height: 500px;
}

.bx-shadow {
  box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24) !important;
}

.message-danger {
  color: red;
  border-color: #ebccd1;
  float: left;
}

.favicon_icon {
  width: inherit;
}

@media (max-width: 480px) {
  .favicon_icon {
    width: 100px;
  }
}

@media (min-width: 980px) {
  .of-h {
    margin: 0;
    height: 100%;
    overflow-x: hidden;
  }
}

.va-m {
  vertical-align: middle;
  margin-top: auto !important;
  margin-bottom: auto !important;
}

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

#sidenav-collapse-main li {
  list-style: none;
}

#sidenav-collapse-main ul {
  list-style-type: none;
}

#sidenav-collapse-main ul li ul li {
  background-position: 0px 5px;
  /* padding-left:14px; */
}

.ml-menu {
  padding-left: 20px;
}

.header-body a {
  background-color: white;
  border-color: black;
  color: #5e72e4;
  padding: 10px;
  border-radius: 5px;
}

.dt-buttons {
  float: left;
}

/* .card-profile img {
    margin-top: -25px;
} */

.mh-500 {
  min-height: 525px;
}

.img {
  max-height: 180px;
  max-width: 180px;
  object-fit: cover;
}

*/ .text-theme-color {
  color: #4fbcac;
}

.border-white {
  border: 1px solid white !important;
}

.bg_light_gray {
  background-color: #f6f6f6;
}

.bg_white {
  background-color: white;
}

.select2-container .select2-selection--single {
  width: 100% !important;
  height: 40px;
  border: 1px solid #cad1d7 !important;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  width: 100% !important;
  line-height: 40px;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background-color: var(--theme-color) !important;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 40px;
}

.clickable {
  cursor: pointer;
}

.va-c {
  vertical-align: middle;
}

.notification .count {
  position: absolute;
  top: -10px;
  right: -5px;
  padding: 0px 6px;
  border-radius: 50%;
  background: #f93232;
  color: white;
}

@media (max-width: 768px) {
  .ps {
    overflow: visible !important;
  }
}

.has-danger input {
  border-color: red !important;
  box-shadow: none;
}

.has-success input {
  border-color: green !important;
}

.has-danger textarea {
  border-color: red !important;
  box-shadow: none;
}

.has-success textarea {
  border-color: green !important;
}

.has-danger .select2 .selection .select2-selection {
  border-color: red !important;
  box-shadow: none;
}

.has-success .select2 .selection .select2-selection {
  border-color: green !important;
}

.has-success .form-control:focus,
.has-danger .form-control:focus,
.form-control:focus {
  box-shadow: none;
}

.has-danger label {
  color: red !important;
}

.has-success label {
  border-color: green !important;
}

/* .disabled {
    pointer-events: none;
} */

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 1500px !important;
  }
}
.mt-25 {
  margin-top: 25px;
}

.pic {
  /* Layout Properties */
  left: 80px !important;
  width: 180px;
  /* height: 50px; */
  margin-bottom: 60px;
  margin-top: 30px;
  /* UI Properties */
  opacity: 1;
}

.iti--separate-dial-code{
  z-index: 0;
}

/* custom css for new dashboard */
.border-tertiary-dark{
  border:1px solid var(--tertiary-dark);
}
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none !important;
}
.main-content-box{
    background-color: #FAFCFD;
}
.main-content-spacing{
    padding-top: 138px;
    width: 100%;
    background: linear-gradient(to right, #f0fdf4, #eff6ff);;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;   /* if you want it to cover screen height */
    height: auto;        /* allow content to define bottom */

}

.bg-soft-pink {
  background-color: #ffeeee;
}

.bg-soft-blue {
  background-color: #eef5ff;
}

.bg-soft-green {
  background-color: #eafff1;
}
.report-card{
  border: 0.5px solid #E5E7EB;
}
.bg-soft-yellow {
  background-color: #fff4dd;
}
.report-icon {
  font-size: 28px;
  padding: 8px;
  border-radius: 10px;
  background-color: white;
}
.report-title {
  font-size: 16px;
  color: #555;
  margin-bottom: 16px;
}

.report-value {
  font-weight: 600;
  font-size: 20px;
  color: #000;
}

.map-container .map-box iframe{
  height: 430px;
}

.tracking-popup {
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
  background: var(--white);
  padding:16px;
  max-width:335px;
  width:100%;
  border-radius:8px;
}
.btn-sm-custom:hover{
  background-color: var(--tertiary-dark);
  color: var(--white)!important;
} 
.btn-sm-custom{
  background-color: var(--white);
}

/* custom select2 css */
.custom-select-dropdown .selection{
  display: flex;
  width: 100%;
}
.custom-select-dropdown span.select2-selection.select2-selection--single {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%!important;
  border-color: #E5E7EB !important
}
.custom-select-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:50%;
  transform:translateY(-50%);
}
.custom-select-dropdown .select2.select2-container{
  width: unset!important;
  display: flex;
}
.select2-container{
  width: unset!important;
}
.custom-select-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:normal!important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  color:var(--tertiary-dark);
}
.select2-results__options li {
  font-size: 14px!important;
}
/* Custom Select2 dropdown arrow */
.custom-select-dropdown .select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none !important;
}

.custom-select-dropdown .select2-container--default .select2-selection--single {
    background-image: none !important;
    position: relative;
    padding-right: 30px !important;
    height: 36px!important;
}

.custom-select-dropdown .select2-container--default .select2-selection--single::after {
    content: 'ph ph-caret-down';
    font-family: 'Phosphor' !important;
    font-style: normal;
    font-weight: normal;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #6c757d;
    font-size: 16px;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ========================= table styles ========================= */
/* Custom Table Styles */
.custom-table-box {
  border-radius: 10px;
  border: 1px solid #e9ecef;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 1.5rem;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.custom-table-box .table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.custom-table-box .table thead th {
  background-color: #f8f9fa;
  color: #495057;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.6rem 1.5rem;
  border: 0.5px solid #e9ecef;
  border-top: none;
  border-bottom: 1px solid #e9ecef !important;
}

/* Remove left border from first th */
.custom-table-box .table thead th:first-child {
  border-left: none;
}

/* Remove right border from last th */
.custom-table-box .table thead th:last-child {
  border-right: none;
}

.custom-table-box .table tbody td {
  padding: 1.6rem 1.5rem;
  vertical-align: middle;
  border-top: 0px solid #e9ecef;
  color: #495057;
  font-size: 12px;
}

.custom-table-box .table tbody tr:first-child td {
  border-top: none;
}

.custom-table-box .table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.custom-table-box .table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

.custom-table-box .table tbody tr:hover {
  background-color: #f8f9fa;
}

.custom-table-box > .table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 600px; /* Ensures table doesn't shrink below this width */
}

/* Keep header fixed while scrolling */
.custom-table-box > .table thead {
  position: sticky;
  top: 0;
  z-index: 10;
}
/* ================= normal table =================== */
.custom-table-normal {
  border-radius: 10px;
  border: 1px solid #e9ecef;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 1.5rem;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.custom-table-normal .table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.custom-table-normal .table thead th {
  background-color: var(--primary-blue-light);
  color: var(--text-color);
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.6rem 1.5rem;
  border: 0.5px solid #e9ecef;
  border-top: none;
  border-bottom: 1px solid #e9ecef !important;
}

/* Remove left border from first th */
.custom-table-normal .table thead th:first-child {
  border-left: none;
}

/* Remove right border from last th */
.custom-table-normal .table thead th:last-child {
  border-right: none;
}

.custom-table-normal .table tbody td {
  padding: 0.5rem 1.5rem;
  vertical-align: middle;
  border-top: 1px solid #e9ecef;
  color: #495057;
  font-size: 12px;
}
.custom-table-normal tbody > tr{
    background: white!important;
}
.custom-table-normal table>:not(caption)>*>*{
    border-bottom: 0px;
}
.custom-table-normal .table tbody tr:first-child td {
  border-top: none;
}

.custom-table-normal .table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.custom-table-normal .table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

.custom-table-normal .table tbody tr:hover {
  background-color: #f8f9fa;
}

.custom-table-normal > .table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 600px; /* Ensures table doesn't shrink below this width */
}

/* Keep header fixed while scrolling */
.custom-table-normal > .table thead {
  position: sticky;
  top: 0;
  z-index: 10;
}


/* custom-table-box-green header */
.custom-table-green-normal {
  border-radius: 10px;
  border: 1px solid #e9ecef;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 1.5rem;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.custom-table-green-normal .table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.custom-table-green-normal .table thead th {
  background-color: var(--cyan);
  color: var(--tertiary-dark);
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.6rem 1.5rem;
  /* border: 0.5px solid #e9ecef; */
  border-top: none;
  border-bottom: 1px solid #e9ecef !important;
}

/* Remove left border from first th */
.custom-table-green-normal .table thead th:first-child {
  border-left: none;
}

/* Remove right border from last th */
.custom-table-green-normal .table thead th:last-child {
  border-right: none;
}

.custom-table-green-normal .table tbody td {
  padding: 0.5rem 1.5rem;
  vertical-align: middle;
  border-top: 1px solid #e9ecef;
  color: #495057;
  font-size: 12px;
}
.custom-table-green-normal tbody > tr{
    background: white!important;
}
.custom-table-green-normal table>:not(caption)>*>*{
    border-bottom: 0px;
}
.custom-table-green-normal .table tbody tr:first-child td {
  border-top: none;
}

.custom-table-green-normal .table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.custom-table-green-normal .table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

.custom-table-green-normal .table tbody tr:hover {
  background-color: #f0fdf4!important;
}

.custom-table-green-normal > .table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 900px; /* Ensures table doesn't shrink below this width */
}

/* Keep header fixed while scrolling */
.custom-table-green-normal > .table thead {
  position: sticky;
  top: 0;
  z-index: 10;
}

.custom-table-green-normal .ranking-number-box{
  border-radius:30px!important;
  height:30px;
  width:45px;
}
.custom-table-green-normal .common-color-class{
  background:#dcf9e5;
  border:1px solid green!important;
}

.custom-table-green-normal .common-color-class span{
  color:#166534!important;
}

.custom-table-green-normal .ranking-table-box .first-class .ranking-number-box {
  background:#fef9c3;
  border:1px solid#fde047;
}
.custom-table-green-normal .ranking-table-box .first-class .ranking-number-box span{
  color:#854d0e!important;
}
.custom-table-green-normal .ranking-table-box .second-class .ranking-number-box {
  background:#f3f4f6;
  border:1px solid#d1d5db;
}
.custom-table-green-normal .ranking-table-box .second-class .ranking-number-box span{
  color:#1f2937!important;
}
.custom-table-green-normal .ranking-table-box .third-class .ranking-number-box {
  background:#fef3c7;
  border:1px solid#fcd34d;
}
.custom-table-green-normal .ranking-table-box .third-class .ranking-number-box span{
  color:#854d0e!important;
}
/* Custom tooltip styling */
.impact-tooltip .tooltip-inner {
    max-width: 300px;
    padding: 12px;
    background-color: #fff;
    color: #333;
    border: 1px solid #ddd;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    text-align: left;
    max-height: 250px;
    overflow-y: auto;
}

.impact-tooltip .tooltip-arrow::before {
    border-bottom-color: #fff;
}

/* Custom scrollbar for tooltip */
.impact-tooltip .tooltip-inner::-webkit-scrollbar {
    width: 6px;
}

.impact-tooltip .tooltip-inner::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.impact-tooltip .tooltip-inner::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

.impact-tooltip .tooltip-inner::-webkit-scrollbar-thumb:hover {
    background: #555;
}
/* Responsive adjustments */
@media (max-width: 767.98px) {
  .custom-table-box {
    border-radius: 0;
    border-left: none;
    border-right: none;
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .custom-table-box > .table {
    width: 100%;
    min-width: 100%;
  }
  
  .custom-table-box .table thead th,
  .custom-table-box .table tbody td {
    white-space: nowrap;
    padding: 0.75rem 1rem;
  }
}

/* ========================
    Responsive CSS
======================== */
@media(max-width: 1200px){
  .main-content-spacing{
    padding-top: 120px;
  }
}
@media(max-width: 1024px){
  .main-content-spacing{
    padding-top: 100px;
  }
}
@media(max-width: 768px){
  .main-content-spacing{
    padding-top: 80px;
  }
  .tracking-popup {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 250px;
    width: 100%;
  }
}
@media (max-width: 576px) {
  .report-icon {
      align-self: flex-end;
  }
  .tracking-popup {
    max-width: 200px;
    width: 100%;
  }
}

.table-container {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  overflow: hidden;
}

.table-container .header-section {
  padding: 20px 25px;
  border-bottom: 1px solid #e9ecef;
  background: #fff;
}

.table-container .search-container {
  position: relative;
  max-width: 300px;
  background-color: #F9FAFB;
}

.table-container .search-container i {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
}

.table-container .search-container input {
  padding-left: 50px;
  border: 1px solid #E5E7EB;
  border-radius: 6px;
  font-size: 14px;
  background-color: #F9FAFB;
}

.table-container .btn-delete-all {
  background: transparent;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  color: #6c757d;
  font-size: 14px;
  text-decoration: none;
}

.table-container .btn-delete-all:hover {
  color: #dc3545;
  border-color: #dc3545;
}

.table-container .btn-export {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
}

.table-container .btn-export:hover {
  background: #0056b3;
}

.table-responsive {
  border: none;
}

.table-container .custom-table {
  margin: 0;
  font-size: 14px;
}

.table-container .custom-table thead th {
  background: #F3FAFF;
  padding: 18px 20px;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 0px;
  text-align: center;
}

.table-container .custom-table tbody td {
  padding: 16px 20px;
  border-top: 1px solid #e9ecef;
  vertical-align: middle;
  font-size: 12px;
  text-align: center;
}

.table-container .custom-table tbody tr:hover {
  background: #f8f9fa;
}

.table-container .checkbox-cell {
  width: 40px;
  text-align: center;
}

.table-container .action-buttons {
  display: flex;
  gap: 8px;
  justify-content: center;
}

.table-container .action-btn {
  width: 32px;
  height: 32px;
  border: none;
  background-color: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}

.table-container .action-btn:hover {
  background: #f8f9fa;
}

.table-container .action-btn.view:hover {
  border-color: #007bff;
  color: #007bff;
}

.table-container .action-btn.edit:hover {
  border-color: #28a745;
  color: #28a745;
}

.table-container .action-btn.delete:hover {
  border-color: #dc3545;
  color: #dc3545;
}

.table-container .pagination-section {
  padding: 20px 25px;
  background: white;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.table-container .entries-info {
  font-size: 14px;
  color: #6c757d;
}

.table-container .entries-dropdown {
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 8px;
  font-size: 14px;
  background: white;
}

.table-container .pagination {
  margin: 0;
}

.table-container .pagination .page-link {
  background-color:transparent;
  border:0;
  color: #6c757d;
  padding: 8px 12px;
  font-size: 14px;
}

.table-container .pagination .page-item.active .page-link {
  background: linear-gradient(to right, #16a34a, #2563eb);
  border: 0px;
  color: var(--white);
}
.table-container .pagination{
  background: #F9FAFB;
}
.table-container .pagination .page-link{
  background-color:transparent;
  border:0;
}

.table-container .pagination .page-item.active .page-link{
  border-radius:8px!important;
  color:#fff;
  box-shadow:none;
}
/* Responsive adjustments */
@media (max-width: 768px) {
   .table-container .header-section {
      flex-direction: column;
      gap: 15px;
  }
  
  .table-container .search-container {
      max-width: 100%;
  }
  
  .table-container .pagination-section {
      flex-direction: column;
      gap: 15px;
      text-align: center;
  }
  
  .table-container .custom-table {
      font-size: 12px;
  }
  
  .table-container .custom-table thead th,
  .table-container .custom-table tbody td {
      padding: 10px 8px;
  }
  
  .table-container .action-buttons {
      gap: 4px;
  }
}

@media (max-width: 576px) {
  .table-container {
      margin: 10px;
  }
  
  .table-container .header-section {
      padding: 15px 20px;
  }
  
  .table-container .pagination-section {
      padding: 15px 20px;
  }
}
.bg-dim-gray{
  background-color:var(--dim-gray);
}
.avatar-30{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}

.avatar-40{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-50{
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-60{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-70{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
}
.avatar-80{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
}
.dataTables_wrapper .top .row > .col-md-12 {
    display: none;
}
.badge-primary{
  background-color: var(--pink),0.2;
}
.badge-secondary{
  background-color: var(--pink),0.2;
}
.badge-tertiary{
  background-color: var(--pink),0.2;
}

.waste-generation-box .nav-item {
    flex: none;
}
.waste-generation-box .nav-item a{
    box-shadow:none;
}
.waste-generation-box .nav-item a:hover{
  background:linear-gradient(to right, #16a34a, #2563eb);
    color:#fff!important;
}
.waste-generation-box .nav-item a.active{
    background:linear-gradient(to right, #16a34a, #2563eb);
    color:#fff!important;
}
.modern-tab-container .modern-tab-buttons .modern-tab-btn {
  flex: 1;
}
/* bin collection cards */
.bin-collection-cards .bin-fill-container {
  position: relative;
  width: 100%;
  max-width: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bin-collection-cards .bin-fill-container img {
  position: relative;
  z-index: 2;
  max-width: 100%;
  height: auto;
}

.bin-collection-cards .bin-fill-bar {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 82%;
  max-height: 88%;
  /* height: 10%; */
  background-color: #a9ebba;
  border-radius: 5px;
  overflow: hidden;
  z-index: 1;
}
.bin-collection-cards .bin-fill-bar.change.paper-weight-paper {
  background-color: #a9ebba !important;
}

/* Target all paper-weight elements */
.bin-collection-cards .bin-fill-bar.change[class*="paper-weight-"] {
  background-color: #a9ebba !important;
}
.bin-collection-cards .bin-fill-bar.change[class*="paper-weight-paper"] {
  background-color: #a9ebba !important;
}

.bin-collection-cards .bin-fill-bar.change[class*="paper-weight-plastic"] {
  background-color: #a9ebba !important;
}




.bin-collection-cards .bin-fill-bar.change[class*="paper-weight-aluminum"] {
  background-color: #a9ebba !important;
}


.footer {
  background-color: #fff;
  /* margin: 0px -15px; */
  padding: 18px;
}




/* logo animation classes */
.eco-container {
  position: relative;
  display: inline-block;
  padding: 0px 40px;
}

.eco-text {
  font-size: 1rem;
  font-weight: bold;
  color: #2d8659;
  text-decoration: none;
  position: relative;
  display: inline-block;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

.eco-text:hover {
  transform: scale(1.05);
  text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
}

/* Underline animation */
.eco-text::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  background: #2d8659;
  transition: width 0.4s ease;
}

.eco-text:hover::after {
  width: 100%;
}

/* Recycle Icons */
.recycle-icon {
  position: absolute;
  font-size: 1.8rem;
  opacity: 0;
  pointer-events: none;
  transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Icon positions and varied initial transforms */
.icon-1 {
  top: -50px;
  left: -40px;
  color: #4285f4;
  transform: translateX(-200px) translateY(0px) scale(0) rotate(-180deg);
}

.icon-2 {
  top: -60px;
  left: 50%;
  color: #34a853;
  transform: translateX(-50%) translateY(-150px) scale(0) rotate(90deg);
}

.icon-3 {
  top: -50px;
  right: -40px;
  color: #6c757d;
  transform: translateX(200px) translateY(-50px) scale(0) rotate(180deg);
}

.icon-4 {
  bottom: -40px;
  left: -50px;
  color: #34a853;
  transform: translateX(-100px) translateY(150px) scale(0) rotate(-90deg);
}

.icon-5 {
  bottom: -40px;
  right: -50px;
  color: #ff9500;
  transform: translateX(150px) translateY(120px) scale(0) rotate(270deg);
}

.icon-6 {
  top: 50%;
  left: -60px;
  color: #e74c3c;
  transform: translateX(-180px) translateY(-50%) scale(0) rotate(-45deg);
}

/* Show icons on hover with entrance animations from different directions */
.eco-text:hover .icon-1 {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1) rotate(0deg);
  transition-delay: 0.1s;
}

.eco-text:hover .icon-2 {
  opacity: 1;
  transform: translateX(-50%) translateY(0) scale(1) rotate(0deg);
  transition-delay: 0.2s;
}

.eco-text:hover .icon-3 {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1) rotate(0deg);
  transition-delay: 0.3s;
}

.eco-text:hover .icon-4 {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1) rotate(0deg);
  transition-delay: 0.4s;
}

.eco-text:hover .icon-5 {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1) rotate(0deg);
  transition-delay: 0.5s;
}

.eco-text:hover .icon-6 {
  opacity: 1;
  transform: translateX(0) translateY(-50%) scale(1) rotate(0deg);
  transition-delay: 0.6s;
}

/* Different continuous animations for each icon */
.eco-text:hover .icon-1 {
  animation: rotate360 3s linear infinite;
  animation-delay: 0.9s;
}

.eco-text:hover .icon-2 {
  animation: floatVertical 2s ease-in-out infinite;
  animation-delay: 1.0s;
}

.eco-text:hover .icon-3 {
  animation: rotateReverse 2.5s linear infinite;
  animation-delay: 1.1s;
}

.eco-text:hover .icon-4 {
  animation: floatHorizontal 2.8s ease-in-out infinite;
  animation-delay: 1.2s;
}

.eco-text:hover .icon-5 {
  animation: wobble 2.2s ease-in-out infinite;
  animation-delay: 1.3s;
}

.eco-text:hover .icon-6 {
  animation: pulse 2.5s ease-in-out infinite;
  animation-delay: 1.4s;
}

/* Animation keyframes */
@keyframes rotate360 {
  from { transform: rotate(0deg) scale(1); }
  to { transform: rotate(360deg) scale(1); }
}

@keyframes rotateReverse {
  from { transform: rotate(0deg) scale(1); }
  to { transform: rotate(-360deg) scale(1); }
}

@keyframes floatVertical {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-15px) scale(1.1); }
}

@keyframes floatHorizontal {
  0%, 100% { transform: translateX(0px) scale(1); }
  50% { transform: translateX(10px) scale(1.05); }
}

@keyframes wobble {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(10deg) scale(1.1); }
  50% { transform: rotate(0deg) scale(1.05); }
  75% { transform: rotate(-10deg) scale(1.1); }
}

@keyframes pulse {
  0%, 100% { transform: translateY(-50%) scale(1); }
  50% { transform: translateY(-50%) scale(1.2); }
}

/* Floating circles with varied entrance effects */
.circle {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.circle-1 {
  top: 20px;
  left: 30%;
  background: rgba(66, 133, 244, 0.6);
  transform: translateY(-100px) scale(0);
}

.circle-2 {
  top: 60%;
  right: 20%;
  background: rgba(52, 168, 83, 0.6);
  transform: translateX(100px) scale(0);
}

.circle-3 {
  bottom: 30px;
  left: 20%;
  background: rgba(255, 149, 0, 0.6);
  transform: translateY(100px) scale(0);
}

.circle-4 {
  top: 40%;
  left: 10%;
  background: rgba(108, 117, 125, 0.6);
  transform: translateX(-100px) scale(0);
}

.circle-5 {
  top: 30%;
  right: 30%;
  background: rgba(52, 168, 83, 0.6);
  transform: scale(0) rotate(180deg);
}

.circle-6 {
  bottom: 60%;
  right: 10%;
  background: rgba(66, 133, 244, 0.6);
  transform: translateX(80px) translateY(80px) scale(0);
}

/* Circle animations on hover with varied entrance */
.eco-text:hover .circle-1 {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition-delay: 0.1s;
}

.eco-text:hover .circle-2 {
  opacity: 1;
  transform: translateX(0) scale(1);
  transition-delay: 0.2s;
}

.eco-text:hover .circle-3 {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition-delay: 0.3s;
}

.eco-text:hover .circle-4 {
  opacity: 1;
  transform: translateX(0) scale(1);
  transition-delay: 0.4s;
}

.eco-text:hover .circle-5 {
  opacity: 1;
  transform: scale(1) rotate(0deg);
  transition-delay: 0.5s;
}

.eco-text:hover .circle-6 {
  opacity: 1;
  transform: translateX(0) translateY(0) scale(1);
  transition-delay: 0.6s;
}

/* Continuous floating animations for circles */
.eco-text:hover .circle-1 {
  animation: gentleFloat1 3s ease-in-out infinite;
  animation-delay: 0.7s;
}

.eco-text:hover .circle-2 {
  animation: gentleFloat2 2.5s ease-in-out infinite;
  animation-delay: 0.8s;
}

.eco-text:hover .circle-3 {
  animation: gentleFloat3 3.5s ease-in-out infinite;
  animation-delay: 0.9s;
}

.eco-text:hover .circle-4 {
  animation: gentleFloat4 2.8s ease-in-out infinite;
  animation-delay: 1.0s;
}

.eco-text:hover .circle-5 {
  animation: gentleFloat5 3.2s ease-in-out infinite;
  animation-delay: 1.1s;
}

.eco-text:hover .circle-6 {
  animation: gentleFloat6 2.7s ease-in-out infinite;
  animation-delay: 1.2s;
}

@keyframes gentleFloat1 {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-8px) scale(1.1); }
}

@keyframes gentleFloat2 {
  0%, 100% { transform: translateX(0px) scale(1); }
  50% { transform: translateX(6px) scale(1.1); }
}

@keyframes gentleFloat3 {
  0%, 100% { transform: translateY(0px) translateX(0px) scale(1); }
  50% { transform: translateY(5px) translateX(-4px) scale(1.1); }
}

@keyframes gentleFloat4 {
  0%, 100% { transform: translateX(0px) scale(1); }
  50% { transform: translateX(-5px) scale(1.1); }
}

@keyframes gentleFloat5 {
  0%, 100% { transform: translateY(0px) translateX(0px) scale(1) rotate(0deg); }
  50% { transform: translateY(-6px) translateX(4px) scale(1.1) rotate(10deg); }
}

@keyframes gentleFloat6 {
  0%, 100% { transform: translateY(0px) translateX(0px) scale(1); }
  50% { transform: translateY(7px) translateX(-3px) scale(1.1); }
}

/* Add some sparkle effects */
.sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #ffd700;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.sparkle-1 {
  top: 10%;
  left: 80%;
  transform: scale(0) rotate(0deg);
}

.sparkle-2 {
  bottom: 20%;
  left: 15%;
  transform: scale(0) rotate(0deg);
}

.sparkle-3 {
  top: 70%;
  right: 85%;
  transform: scale(0) rotate(0deg);
}

.eco-text:hover .sparkle {
  animation: sparkleAnimation 1.5s ease-in-out infinite;
}

.sparkle-1 { animation-delay: 0.3s; }
.sparkle-2 { animation-delay: 0.7s; }
.sparkle-3 { animation-delay: 1.1s; }

@keyframes sparkleAnimation {
  0%, 100% {
      opacity: 0;
      transform: scale(0) rotate(0deg);
  }
  50% {
      opacity: 1;
      transform: scale(1.5) rotate(180deg);
  }
}
@media (max-width: 400px) {
.eco-container {
  padding:0 5px;
}
}

.modal.show .modal-dialog
 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  height: 100px;
}

.collector-form input,.collector-form .custom-file-label,.collector-form textarea{
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  color: var(--text-color);
  padding: 14px;
  border-radius: 4px;
  font-size: 12px;
  height: auto;
}
.collector-form .iti--allow-dropdown{
  background-color: #F9FAFB;
  color: var(--text-color);
  font-size: 12px;
  width:100%;
}
.collector-form .focused .form-control{
  border-color: #E5E7EB;
}
.collector-form .colorpicker:after, .collector-form .colorpicker:before{
  display: none;
}
.custom-file-label::after{
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #F9FAFB;
    width: 11 0px;
}
.collector-form .custom-select-dropdown span.select2-selection.select2-selection--single{
  background-color:#F9FAFB;
  border: 1px solid #E5E7EB;
}
.collector-form .custom-select-dropdown .select2-container--default .select2-selection--single {
  height: 48px!important;
}
.collector-form .custom-select-dropdown .select2-container--default .select2-selection--single .select2-selection__rendered{
  font-size: 12px;
  color: var(--text-color);
}
.collector-form .custom-select-dropdown .select2-selection__rendered{
  font-size: 12px;
  line-height: 32px!important;
}
.collector-form .custom-select-dropdown .select2-container--default .select2-selection--multiple{
  width: 100%;
  background-color: #F9FAFB;
  border: 1px solid #E5E7EB;
  font-size: 12px;
  color: var(--text-color);
}
.collector-form .select2-container--default .select2-selection--multiple .select2-selection__choice{
  color: var(--white);
  background-color: var(--tertiary-dark);
}
.collector-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
  color: var(--white);
}
.preview-container{
  max-height: 220px;
  width: 100%;
  height: 220px;
  opacity: 1;
  border-radius: 4px;
  background-color: #E5E7EB;
  object-fit: cover;
  overflow: hidden;
}
.image-card-box{
    overflow: hidden;
    border-radius: 8px;
    max-width: 390px;
    margin: auto;
}
.image-card-box .rank-badge,.table-box-item .rank-badge {
  position: absolute;
  width: 80px;
  height: 90px;
  margin-left: auto;
  right:0;
  top:0;
}

.image-card-box .rank-circle,.table-box-item .rank-circle {
  /* position: absolute; */
  top: 0;
  right: 0;
  background: linear-gradient(120.94deg, #16A34A 2.4%, #2563EB 103.96%);
  width: 80px;
  height: 82px;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  z-index: 10;
  border-top-right-radius: 8px;
}

.image-card-box .rank-number,.table-box-item .rank-number {
  position: absolute;
  top: 30%;
  left: 68%;
  color: white;
  font-weight: bold;
  font-size: 16px;
  z-index: 11;
  transform: translate(-50%, -50%);
  border-top-right-radius:8px;
}
.custom-table-normal .table-box-item .rank-badge {
  position: absolute;
  width: auto;
  height: auto;
  margin-left: auto;
  right:0;
  top:0;
}

.custom-table-normal .table-box-item .rank-circle {
  /* position: absolute; */
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-left: 48px solid transparent;
  border-top: 48px solid #22c55e;
  z-index: 10;
}

.custom-table-normal .table-box-item .rank-number {
  position: absolute;
  top: 30%;
  right: 5px;
  color: white;
  font-weight: bold;
  font-size: 10px;
  z-index: 11;
  transform: translateY(-50%);
}

.bin-collection-cards .bin-percent {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  font-weight: bold;
  color: #333;
  font-size: 14px;
}

.bin-collection-cards #main {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}

.bin-collection-cards .bin-fill-bar.change.paper-weight-paper {
  background-color: #a9ebba !important;
}


nav.header {
  background-color:rgb(255, 255, 255)!important;
  box-shadow: rgba(17, 17, 26, 0.1) 0px 1px 0px;
}

.pointer-events-none{
  pointer-events: none;
  color: #000!important;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background-color: #f8f9fa;
  /* padding: 20px; */
  color: #333;
  line-height: 1.6;
}

/* Panel body styling */
.panel-body {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0;
  margin: 0 auto;
  /* max-width: 1200px; */
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Table styling */
.panel-body table {
  width: 100%;
  border-collapse: collapse;
  background: white;
}

/* Table header */
.panel-body table thead {
  background-color: #f8f9fa;
}

.panel-body table thead tr {
  border-bottom: 2px solid #e5e7eb;
}

.panel-body table th {
  padding: 16px 20px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
  letter-spacing: 0.5px;
}

.panel-body table th.uppercase {
  text-transform: uppercase;
}

.panel-body table th.font-thin {
  font-weight: 500;
}

.panel-body table th.w-1\/5 {
  width: 20%;
}

/* Table body */
.panel-body table .trans-body {
  background: white;
}

.panel-body table .trans-body tr {
  border-bottom: 1px solid #f1f5f9;
  transition: background-color 0.2s ease;
}

.panel-body table .trans-body tr:hover {
  background-color: #f8fafc;
}

.panel-body table .trans-body tr:last-child {
  border-bottom: none;
}

.panel-body table .trans-body td {
  padding: 14px 20px;
  vertical-align: middle;
  color: #374151;
}

/* First column (key) styling */
.panel-body table .trans-body td:first-child {
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  font-size: 13px;
  color: #6366f1;
  background-color: #fafbff;
  font-weight: 500;
  border-right: 1px solid #f1f5f9;
}

/* Translation input component styling */
.panel-body table translation-input {
  display: block;
  width: 100%;
}

/* Style for any input elements within translation-input */
.panel-body table translation-input input,
.panel-body table input[type="text"],
.panel-body table textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 14px;
  background-color: white;
  transition: all 0.2s ease;
  font-family: inherit;
}

.panel-body table translation-input input:focus,
.panel-body table input[type="text"]:focus,
.panel-body table textarea:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.panel-body table translation-input input:hover,
.panel-body table input[type="text"]:hover,
.panel-body table textarea:hover {
  border-color: #9ca3af;
}

/* Empty state when no translations */
.panel-body:empty::after {
  content: 'No translations found';
  display: block;
  text-align: center;
  padding: 60px 20px;
  color: #9ca3af;
  font-size: 16px;
}

/* Responsive design */
@media (max-width: 768px) {
  body {
      padding: 15px;
  }

  .panel-body table th,
  .panel-body table td {
      padding: 12px 16px;
  }

  .panel-body table th {
      font-size: 12px;
  }

  .panel-body table .trans-body td:first-child {
      font-size: 12px;
  }

  .panel-body table translation-input input,
  .panel-body table input[type="text"],
  .panel-body table textarea {
      padding: 8px 10px;
      font-size: 13px;
  }

  /* Stack columns on very small screens */
  @media (max-width: 480px) {
      .panel-body {
          overflow-x: auto;
      }

      .panel-body table {
          min-width: 500px;
      }
  }
}

/* Utility classes to match your existing classes */
.w-1\/5 {
  width: 20%;
}

.uppercase {
  text-transform: uppercase;
}

.font-thin {
  font-weight: 500;
}

/* Loading state for translation inputs */
.panel-body table translation-input[loading] {
  opacity: 0.7;
}

.panel-body table translation-input[loading] input {
  background-color: #f9fafb;
}


.panel-header {
  background: #0080001f;
  color: #2d8659;
  padding: 32px 24px;
  border-radius: 12px 12px 0 0;
  margin-bottom: 20px;
  /* box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3); */
  position: relative;
  overflow: hidden;
  text-align: center;
  font-size: x-large;
  font-weight: 500;
  display: flex
;
  /* flex-direction: column; */
  /* align-items: center; */
  justify-content: space-between;
  min-height: 120px;
}
.button {
  background-color: #2d8659;
  color: white;
  padding: .5rem 1rem;
  border-width: 1px;
  border-color: #b8c2cc;
  border-radius: .25rem;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
}

.panel {
  background-color: #fff;
  border-radius: 12px;
  margin: 1.5rem;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);
  color: #8795a1;
}


.panel-header a.button .svg-fill {
  fill: #d7e5dd;
}
.flex {
  display: flex;
  align-items: center;
}

/* Ranking cards layout */
.ranking-cards-container {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 1000px;
  margin: auto;
}
.border-gradient {
  background: linear-gradient(120.94deg, #16A34A 2.4%, #2563EB 103.96%);
  height:1px;
}
.border-graident {
  background: linear-gradient(120.94deg, #16A34A 2.4%, #2563EB 103.96%);
  border-radius: 8px;
  padding: 5px 1px 1px 1px;
  width: 95%!important;
  margin: auto;
}
.ranking-card-first {
  order: 2; /* Center */
}

.ranking-card-second {
  order: 1; /* Left */
}

.ranking-card-third {
  order: 3; /* Right */
}

.ranking-cards-container{
  margin-top: 50px;
  margin-bottom: 50px;
}
/* .ranking-cards-container .ranking-card-first {
  transform: translateY(-40px);
} */
.ranking-cards-container .ranking-card-first > div,.ranking-card-second > div,.ranking-card-third > div {
  width:100%;
}
/* .ranking-cards-container .ranking-card-second,.ranking-card-third {
  transform: translateY(40px);
} */
.rank-badge{
  display: none;
}
@media (max-width: 1199px) {
  .rank-badge{
    display: flex;
   
  }
  .ranking-cards-container {
    flex-direction: column;
    align-items: center;
    gap:30px!important;
  }
  .ranking-cards-container .ranking-card-second, .ranking-card-third,.ranking-cards-container .ranking-card-first {
    transform: translate(0px);
  }
  
  .ranking-card-first,
  .ranking-card-second,
  .ranking-card-third {
    order: unset;
    width: 100%;
  }
}
.highcharts-point{
  filter: brightness(1)!important;
}
.graident-bg-box{
  background: linear-gradient(to right, #16a34a, #2563eb);
}
.ranking-stands{
  background-color: var(--tertiary-color);
} 
.ranking-stands {
  background: linear-gradient(120.94deg, #16A34A 2.4%, #2563EB 103.96%);
  border-top-right-radius: 8px;
  border-top-left-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 4rem;
  font-weight: 500;
  color: #fff;
  text-transform: capitalize;
  padding: 1rem;
}
.ranking-third {
  height:120px;
  
}
.ranking-second {
  height: 160px;
}
.ranking-first{
  height:220px;
}
.support-stage-box{
  max-width: 1000px;
  height: 10px;
  background: #e6e7eb;
}
.logo-stage{
  width: 100%;
  max-width: 1050px;
  height: 50px;
  background:#e6e7eb;
}
.support-stage{
  width: 100%;
  height: 80px;
  background: #f1f2f6;
}

/* Text ellipsis for DataTable message column */
.text-wrap {
    text-wrap: wrap;
}

@media screen and (max-width: 1200px) {
  .ranking-third,.ranking-second,.ranking-first,.support-stage-box,.logo-stage, .support-stage{
    display: none!important;
  }
  .image-card-box{
    max-width: 100%;
  }
}

.ranking-icons{
  left:60px;
  top: 50%;
  transform: translate(-50%, -50%);
}

.m-w-400px{
  min-width: 400px;
}