
.buy-credits-button {

  display: block;

  width: 100%;

  margin-top: 8px;

  padding: 8px 10px;

  border: 1px solid rgba(109, 93, 252, 0.35);

  border-radius: 8px;

  background: rgba(109, 93, 252, 0.08);

  color: #5b4ce0;

  font: inherit;

  font-size: 12px;

  font-weight: 700;

  cursor: pointer;

}



.billing-modal[hidden] {

  display: none;

}



.billing-modal {

  position: fixed;

  inset: 0;

  z-index: 4000;

  display: grid;

  place-items: center;

  padding: 20px;

}



.billing-backdrop {

  position: absolute;

  inset: 0;

  background: rgba(13, 14, 20, 0.68);

  backdrop-filter: blur(7px);

}



.billing-panel {

  position: relative;

  z-index: 1;

  width: min(1050px, 100%);

  max-height: 92vh;

  overflow-y: auto;

  border-radius: 20px;

  background: #fff;

  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.3);

}



.billing-header {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 20px;

  padding: 24px;

  border-bottom: 1px solid #ececf2;

}



.billing-header h2 {

  margin: 0;

  color: #181922;

}



.billing-header p {

  margin: 6px 0 0;

  color: #747784;

}



.billing-close {

  width: 40px;

  height: 40px;

  border: 0;

  border-radius: 10px;

  background: #f0f0f5;

  font-size: 24px;

  cursor: pointer;

}



.billing-plans-grid {

  display: grid;

  grid-template-columns:

    repeat(3, minmax(0, 1fr));

  gap: 16px;

  padding: 24px;

}



.billing-plan-card {

  position: relative;

  display: flex;

  flex-direction: column;

  padding: 22px;

  border: 1px solid #e2e3eb;

  border-radius: 16px;

  background: #fff;

}



.billing-plan-featured {

  border-color: #6d5dfc;

  box-shadow:

    0 14px 35px

    rgba(109, 93, 252, 0.15);

}



.billing-plan-badge {

  position: absolute;

  top: -10px;

  right: 16px;

  padding: 5px 10px;

  border-radius: 999px;

  background: #6d5dfc;

  color: white;

  font-size: 11px;

  font-weight: 700;

}



.billing-plan-card h3 {

  margin: 0;

  color: #20212a;

  font-size: 20px;

}



.billing-plan-description {

  min-height: 54px;

  margin: 9px 0 18px;

  color: #747784;

  font-size: 13px;

  line-height: 1.5;

}



.billing-plan-price {

  color: #20212a;

  font-size: 30px;

  font-weight: 800;

}



.billing-plan-credits {

  margin-top: 8px;

  color: #5c4ce0;

  font-size: 17px;

  font-weight: 700;

}



.billing-plan-value {

  margin: 4px 0 18px;

  color: #878995;

  font-size: 12px;

}



.billing-buy-button {

  width: 100%;

  margin-top: auto;

  padding: 11px 14px;

  border: 0;

  border-radius: 10px;

  background: #6d5dfc;

  color: #fff;

  font: inherit;

  font-weight: 700;

  cursor: pointer;

}



.billing-buy-button:disabled {

  cursor: wait;

  opacity: 0.65;

}



.billing-history-section {

  padding: 0 24px 24px;

}



.billing-history-section h3 {

  margin-bottom: 12px;

}



.billing-history {

  display: grid;

  gap: 8px;

}



.billing-history-row {

  display: flex;

  justify-content: space-between;

  gap: 16px;

  padding: 12px 14px;

  border: 1px solid #e5e6ed;

  border-radius: 10px;

  background: #fafafe;

}



.billing-history-info,

.billing-history-right {

  display: grid;

  gap: 3px;

}



.billing-history-info span,

.billing-history-right span {

  color: #777a86;

  font-size: 12px;

}



.billing-history-right {

  justify-items: end;

}



.billing-payment-status {

  text-transform: capitalize;

}



.billing-payment-paid {

  color: #187951 !important;

}



.billing-payment-failed {

  color: #b42a3c !important;

}



.billing-payment-created {

  color: #a66a00 !important;

}



.billing-empty {

  grid-column: 1 / -1;

  padding: 30px;

  color: #797c88;

  text-align: center;

}



.billing-footer {

  padding: 15px 24px;

  border-top: 1px solid #ececf2;

  color: #777a86;

  font-size: 12px;

  text-align: center;

}



body.billing-modal-open {

  overflow: hidden;

}



@media (max-width: 800px) {

  .billing-plans-grid {

    grid-template-columns:

      1fr;

  }

}



@media (max-width: 600px) {

  .billing-modal {

    padding: 0;

  }



  .billing-panel {

    width: 100%;

    height: 100%;

    max-height: none;

    border-radius: 0;

  }



  .billing-history-row {

    flex-direction: column;

  }



  .billing-history-right {

    justify-items: start;

  }

}

