:root {
  --color-white: #ffffff;
  --color-light: #f0eff5;
  --color-gray-light: #86848c;
  --color-gray-dark: #56555e;
  --color-dark: #27282f;
  --color-primary: rgb(71, 7, 234);
  --color-success: rgb(34, 202, 75);
  --color-danger: rgb(255, 67, 54);
  --color-warning: rgb(234, 181, 7);
  --color-warning-light: rgb(255, 229, 145);
  --color-purple: rgb(168, 99, 245);

  --color-smart: rgb(76, 175, 80);
  --color-cellcard: rgb(255, 152, 0);
  --color-metfone: rgb(220, 53, 69);
  --color-seatel: rgb(156, 39, 176);
  --color-unknown: rgb(108, 117, 125);
  --color-highlight: rgb(255, 229, 54);

  --color-primary-light: rgba(71, 7, 234, 0.2);
  --color-success-light: rgba(34, 202, 75, 0.2);
  --color-danger-light: rgba(255, 67, 54, 0.2);
  --color-purple-light: rgba(160, 99, 245, 0.2);
  --card-padding: 1.6rem;
  --padding-1: Iren;
  --padding-2: 8px;
  --card-border-radius: 1.6rem;
  --border-radius-1: 1rem;
  --border-radius-2: 6px;
}



* {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  appearance: none;
  text-decoration: none;
  list-style: none;
  box-sizing: border-box;
}

html {
  font-size: 12px;
}

body {
    font-family: "Poppins", serif;
    font-weight: 400;
    font-style: normal;
    padding: 20px;
    background: var(--color-light);
    min-height: 100vh;
    color: var(--color-dark);
}

main {
  grid-template-columns: 16rem auto 30rem;
  gap: 2rem;
  width: 100%;
  margin: 1rem auto 4rem;
}


.mains {
  display: grid
}

h1 {
    text-align: center;
    margin-bottom: 20px;
}

h4 {
  font-size: 1.2rem;
}

h5 {
  font-size: 1rem;
  font-weight: 500;
}


.noac {
  visibility: hidden;
}
.upload-form {
    text-align: center;
    margin-bottom: 30px;
}

.btn {
    background-color: #0468aa; /* Green */
    border: none;
    color: white;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    border-radius: 8px;
    cursor: pointer;
  }

.dashboard {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px;
    justify-content: center;
}

/* Style Card dashboard */
.card-counter{
  box-shadow: 2px 2px 10px #DADADA;
  margin: 5px;
  padding: 20px 10px;
  background-color: #fff;
  height: 100px;
  border-radius: 5px;
  transition: .3s linear all;
}

.card-counter:hover{
  box-shadow: 4px 4px 20px #DADADA;
  transition: .3s linear all;
}

.card-counter.primary{
  background-color: #007bff;
  color: #FFF;
}

.card-counter.danger{
  background-color: #ef5350;
  color: #FFF;
}  

.card-counter.other{
  background-color: #a250ef;
  color: #FFF;
} 

.card-counter.success{
  background-color: #66bb6a;
  color: #FFF;
}  

.card-counter.info{
  background-color: #26c6da;
  color: #FFF;
}  

.card-counter i{
  font-size: 3em;
  opacity: 0.3;
}

.card-counter .count-numbers{
  position: absolute;
  right: 35px;
  top: 20px;
  font-size: 32px;
  display: block;
}

.card-counter .count-name{
  position: absolute;
  right: 35px;
  top: 65px;
  font-style: italic;
  text-transform: capitalize;
  opacity: 0.7;
  display: block;
  font-size: 14px;
}

.fa {
  width: 18px;
  height: 18px;
}

.card-counter2{
  box-shadow: 2px 2px 10px #DADADA;
  margin: 5px;
  padding: 2px 10px;
  background-color: #fff;
  height: 50px;
  border-radius: 5px;
  transition: .3s linear all;
}

.card-counter2.primary{
  background-color: #007bff;
  color: #FFF;
}
/* End Style Card dashboard  */


.card {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    flex: 1 1 calc(25% - 20px);
    max-width: 200px;
}

.card h2 {
    font-size: 18px;
    margin-bottom: 10px;
}

.card p {
    font-size: 24px;
    font-weight: bold;
    color: #333;
}

.summary {
    margin: 20px 4px;
    padding: 20px;
    /* background-color: #f9f9f9; */
    border: 1px solid #ccc;
    border-radius: 8px;
}

/* .summary-user {
  margin: 20px 4px;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 8px;
} */

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 14px;
}

thead th {
    background-color: #f4f4f4;
    border: 1px solid #ddd;
    padding: 6px;
    text-align: left;
}

tbody td {
    border: 1px solid #ddd;
    padding: 6px;
}


.operator-cell {
    color: #fff;
    text-align: center;
}

.operator-cell img {
  width: 20px;
}

/* 2196f3 */

.operator-smart { 
  color: #4caf50;
  /* background-color: #4caf50; */
} 
.operator-cellcard { 
  color: #ff9800;
  /* background-color: #ff9800; */
 }
.operator-metfone { 
  color: #dc3545; 
  /* background-color: #dc3545;  */
}
.operator-seatel { 
  color: #9c27b0; 
  /* background-color: #9c27b0;  */
}
.operator-unknown { 
  color: #6c757d; 
  /* background-color: #6c757d;  */
}



.bg-green { background-color: #28a745; }
.bg-orange { background-color: #fd7e14; }
.bg-red { background-color: #dc3545; }
.bg-blue { background-color: #9c27b0; }
.bg-blue2 { background-color: #007bff; }
.bg-gray { background-color: #6c757d; }
.bg-default { background-color: #f8f9fa; }

.bg-smart { background-color: #28a745; }
.bg-cellcard { background-color: #fd7e14; }
.bg-metfone { background-color: #dc3545; }
.bg-seatel { background-color: #9c27b0; }
.bg-unknown { background-color: #6c757d; }



.single-line {
    white-space: nowrap; 
    overflow: hidden;  
    text-overflow: ellipsis;
    max-width: 200px; 
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}


.single-lines {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 200px;
} 




/* CSS */
.button-3 {
  appearance: none;
  background-color: #2ea44f;
  border: 1px solid rgba(27, 31, 35, .15);
  border-radius: 6px;
  box-shadow: rgba(27, 31, 35, .1) 0 1px 0;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: -apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  padding: 6px 16px;
  position: relative;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: middle;
  white-space: nowrap;
}

.button-3:focus:not(:focus-visible):not(.focus-visible) {
  box-shadow: none;
  outline: none;
}

.button-3:hover {
  background-color: #2c974b;
}

.button-3:focus {
  box-shadow: rgba(46, 164, 79, .4) 0 0 0 3px;
  outline: none;
}

.button-3:disabled {
  background-color: #94d3a2;
  border-color: rgba(27, 31, 35, .1);
  color: rgba(255, 255, 255, .8);
  cursor: default;
}

.button-3:active {
  background-color: #298e46;
  box-shadow: rgba(20, 70, 32, .2) 0 1px 0 inset;
}


/* CSS */
.button-70 {
  background-image: linear-gradient(#0dccea, #0d70ea);
  border: 0;
  border-radius: 4px;
  box-shadow: rgba(0, 0, 0, .3) 0 5px 15px;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  font-family: Montserrat,sans-serif;
  font-size: .9em;
  margin: 5px;
  padding: 10px 15px;
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}



/* CSS */
.button-4 {
  appearance: none;
  background-color: #FAFBFC;
  border: 1px solid rgba(27, 31, 35, 0.15);
  border-radius: 6px;
  box-shadow: rgba(27, 31, 35, 0.04) 0 1px 0, rgba(255, 255, 255, 0.25) 0 1px 0 inset;
  box-sizing: border-box;
  color: #24292E;
  cursor: pointer;
  display: inline-block;
  font-family: -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  list-style: none;
  padding: 6px 16px;
  position: relative;
  transition: background-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: middle;
  white-space: nowrap;
  word-wrap: break-word;
}

.button-4:hover {
  background-color: #F3F4F6;
  text-decoration: none;
  transition-duration: 0.1s;
}

.button-4:disabled {
  background-color: #FAFBFC;
  border-color: rgba(27, 31, 35, 0.15);
  color: #959DA5;
  cursor: default;
}

.button-4:active {
  background-color: #EDEFF2;
  box-shadow: rgba(225, 228, 232, 0.2) 0 1px 0 inset;
  transition: none 0s;
}

.button-4:focus {
  outline: 1px transparent;
}

.button-4:before {
  display: none;
}

.button-4:-webkit-details-marker {
  display: none;
}

/* === Start Pagination === */
.pagination {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 20px;
}

.pagination a {
  text-decoration: none;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: #007BFF;
  transition: background-color 0.3s, color 0.3s;
}

.pagination a:hover {
  background-color: #007BFF;
  color: #fff;
}

.pagination .active {
  background-color: #007BFF;
  color: #fff;
  pointer-events: none;
}
/* === End Pagination === */


/* === Date filter ===*/
.dates {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
}
.dates input[type="date"] {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.dates button {
  background-color: #007BFF;
  color: #fff;
  border: none;
  padding: 10px 15px;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.dates button:hover {
  background-color: #0056b3;
}
/* === End Date filter ===*/

/* Username Summary styles */
.mains .fast-payment .badges {
  display: flex;
  gap: 1rem;
  align-self: center;
  flex-wrap: wrap;
  max-width: 100%;
}


/* =============== FAST PAYMENT =============== */
.mains .fast-payment {
  margin-bottom: 2rem;
  display: flex;
  align-self: center;
  gap: 2rem;
}

.mains .fast-payment .badges {
  display: flex;
  justify-content: space-between; 
  align-items: center;
  gap: 1rem;
  align-self: center;
  flex-wrap: wrap;
  max-width: 100%;
  
}


/* .mains .fast-payment .badge .bg-smart {
  width: 20px;
  height: 20px;
  border-radius: 50%;
} */


.mains .fast-payment .badge {
  flex: 1;
  padding: 0.5rem var(--card-padding);
  background: var(--color-white);
  border-radius: var(--border-radius-2);
  display: flex;
  align-items: center;
  text-align: center; 
  gap: 1rem;
  /* transition: all 300ms ease; */
}

.mains .fast-payment .badge:hover {
  box-shadow: 0 0 1.5rem var(--color-primary-light);
  cursor: pointer;
}

.mains .fast-payment .badge:first-child span {
  display: flex;
  align-self: center;
  justify-content: center;
  height: fit-content;
  font-size: 1.5rem;
}

.mains .fast-payment .badge div {
  display: flex;
  padding-top: 6px;
  gap: 1rem;
  align-self: center;
}

.mains .fast-payment .badge h5 {
  align-self: center;
}

.mains .fast-payment .badge span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}


.mains .fast-payment .bg-smart {
  background: var(--color-smart);
}

.mains .fast-payment .bg-cellcard {
  background: var(--color-cellcard);
}

.mains .fast-payment .bg-metfone {
  background: var(--color-metfone);
}

.mains .fast-payment .bg-seatel{
  background: var(--color-seatel);
}

.mains .fast-payment .bg-unknown {
  background: var(--color-unknown);
}


.mains .fast-payment .badge .bg-smart {
  width: 20px;
  height: 20px;
  background-image: url('https://app.tollfreetc.com/sms_analysis/imgs/smart.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* border-radius: 8px; */
  border-radius: 50%;
}

.mains .fast-payment .badge .bg-cellcard {
  width: 20px;
  height: 20px;
  background-image: url('https://app.tollfreetc.com/sms_analysis/imgs/cellcard.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* border-radius: 8px; */
  border-radius: 50%;
}

.mains .fast-payment .badge .bg-metfone {
  width: 20px;
  height: 20px;
  background-image: url('https://app.tollfreetc.com/sms_analysis/imgs/metfone.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* border-radius: 8px; */
  border-radius: 50%;
}

.mains .fast-payment .badge .bg-seatel {
  width: 20px;
  height: 20px;
  background-image: url('https://app.tollfreetc.com/sms_analysis/imgs/seatel.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* border-radius: 8px; */
  border-radius: 50%;
}


.mains .fast-payment .total {
  padding: 0.5rem var(--card-padding);
  background: var(--color-highlight);
  border-radius: var(--border-radius-2);
  color: var(--color-dark);
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 300ms ease;
}

@media screen and (max-width: 1670px) {

  .card-counter .count-numbers{
    padding-top: 10px;
    font-size: 22px;
  }

}

@media screen and (max-width: 1350px) {

  .card-counter i {
    font-size: 2rem;
  }

  .card-counter .count-numbers{
    padding-top: 6px;
    font-size: 18px;
  }

  .card-counter .count-name{
    font-size: 12px;
  }
  
}

@media screen and (max-width: 1168px) {

  .dashborads{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
  }
}

@media screen and (max-width: 900px) {

  .card-counter .count-numbers{
    font-size: 22px;
  }
  
  .card-counter .count-name{
    font-size: 12px;
  }

}


/* ================== MEDIA QUERIES FOR MOBILE PHONES ================== */
@media screen and (max-width: 600px) {

  nav .profile-area {
      gap: 2.6rem;
  }

  nav .profile h5, 
  nav .profile span {
      display: none;
  }




  .mains section.middle .cards {
      grid-template-columns: 1fr;
  }

  .mains section.middle .cards .card {
      max-width: 100%;
  }

  .mains .fast-payment {
      flex-direction: column;
      align-items: flex-start;
      margin-top: 3rem;
      gap: 1.4rem;
  }

  
}

  /* Add this CSS to your stylesheet */
  .table-container {
    width: 100%;
    overflow-x: auto; /* Enables horizontal scrolling if needed */
  }
  
  .table-container table {
    width: 100%; /* Ensures the table adjusts to the container */
    border-collapse: collapse; /* Combines table borders for a clean look */
  }
  
  .table-container th,
  .table-container td {
    border: 1px solid #ddd; /* Adds a border around cells */
    padding: 8px; /* Padding for better spacing */
    text-align: center; /* Align text to the left */
  }
  
  .table-container th {
    background-color: #f4f4f4; /* Slight background for headers */
    font-weight: bold;
  }
  
  /* Add responsive styles for smaller screens */
  @media (max-width: 768px) {
    .table-container table {
      font-size: 14px; /* Adjust font size for smaller screens */
    }
  }
  
  @media (max-width: 480px) {
    .table-container table {
      font-size: 12px; /* Further reduce font size on very small screens */
    }
  }