:root{
  --prism-primary:#e11d2e;
  --prism-accent:#ff6a00;
  --prism-dark:#0b1220;
  --prism-purple:#7c3aed;
  --prism-cyan:#06b6d4;
  --prism-table-header-bg:
    linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,0) 32%),
    linear-gradient(135deg, #fffaf2 0%, #f8f0df 58%, #f4e7cb 100%);
  --prism-table-header-border:rgba(210,190,158,.68);
  --prism-table-header-bottom:rgba(192,168,128,.72);
  --prism-table-header-highlight:linear-gradient(90deg, rgba(255,255,255,.98) 0%, #f7d8a6 45%, rgba(255,255,255,.98) 100%);

  --gold-bg:#F8F3E7;
  --gold-soft:#EFE6D3;
  --border:#E2D8C3;
  --site-max-width:1540px;
  --site-edge-gap:16px;
}

html,body{height:100%;}

body{
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  background: var(--gold-bg);
  color: #2B2B2B;
}

.select2-container{
  width: 100% !important;
}

.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple{
  min-height: 46px;
  border: 1px solid #d8cdb6 !important;
  border-radius: 12px !important;
  background: #fffdf9 !important;
  box-shadow: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
  color: #2B2B2B;
  line-height: 44px;
  padding-left: 14px;
  padding-right: 38px;
  font-size: 14px;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder{
  color: #7b8090;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 44px;
  right: 10px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color: #7b8090 transparent transparent transparent;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple{
  border-color: #d9b06c !important;
  box-shadow: 0 0 0 .18rem rgba(217,176,108,.16) !important;
}

select.is-invalid + .select2-container .select2-selection--single,
select.is-invalid + .select2-container .select2-selection--multiple{
  border-color: #dc3545 !important;
}

select:disabled + .select2-container .select2-selection--single,
select:disabled + .select2-container .select2-selection--multiple{
  background: #f5f5f5 !important;
  opacity: .9;
}

select.form-select-sm + .select2-container .select2-selection--single,
select.form-select-sm + .select2-container .select2-selection--multiple{
  min-height: 38px;
  border-radius: 10px !important;
}

select.form-select-sm + .select2-container .select2-selection--single .select2-selection__rendered{
  line-height: 36px;
  font-size: 13px;
}

select.form-select-sm + .select2-container .select2-selection--single .select2-selection__arrow{
  height: 36px;
}

.select2-dropdown{
  border: 1px solid #e4d3bf !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(15,23,42,.12);
  background: #fffdfa;
}

.select2-search--dropdown{
  padding: 10px;
  background: linear-gradient(180deg, #fffaf2 0%, #fffdf9 100%);
}

.select2-container--default .select2-search--dropdown .select2-search__field{
  border: 1px solid #d8cdb6;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
}

.select2-results__option{
  padding: 10px 14px;
  font-size: 14px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background: linear-gradient(135deg, #f8f0df 0%, #f4e7cb 100%);
  color: #4b3a24;
}

.select2-container--default .select2-results__option--selected{
  background: #fff6e8;
  color: #8b5e34;
  font-weight: 600;
}

.top-strip{
  background: var(--gold-soft);
  padding: 12px max(var(--site-edge-gap), calc((100vw - var(--site-max-width)) / 2));
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
}

.public-mainbar{
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: max(var(--site-edge-gap), calc((100vw - var(--site-max-width)) / 2));
  padding-right: max(var(--site-edge-gap), calc((100vw - var(--site-max-width)) / 2));
}

.site-container{
  width: min(var(--site-max-width), calc(100% - (var(--site-edge-gap) * 2)));
  margin-left: auto;
  margin-right: auto;
}

.public-mainbar-inner{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}

.public-mainbar-left,
.public-mainbar-right{
  flex: 0 0 auto;
}

.public-mainbar-mobile-logo{
  display: none;
}

.public-mainbar-right{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.public-header-links{
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}

.public-ext-btn{
  background: linear-gradient(135deg, var(--prism-primary) 0%, var(--prism-accent) 100%);
  border-color: transparent;
  color: #fff;
  font-weight: 600;
  border-radius: 8px;
  padding-left: 12px;
  padding-right: 12px;
  min-width: 170px;
  text-align: center;
}

.public-ext-btn:hover,
.public-ext-btn:focus{
  background: linear-gradient(135deg, #b10f1d 0%, #ff6a00 100%);
  border-color: transparent;
  color: #fff;
}

.modal-content{
  border: 1px solid #eadfcd;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 38px rgba(15,23,42,.12);
}

.card.shadow-sm:has(.prism-data-table),
.card.shadow-sm:has(.points-summary-table),
.card.shadow-sm:has(.reward-checkout-table){
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.card.shadow-sm:has(.prism-data-table) .card-body.border-bottom,
.card.shadow-sm:has(.points-summary-table) .card-body.border-bottom,
.card.shadow-sm:has(.reward-checkout-table) .card-body.border-bottom{
  background: transparent !important;
  border-bottom: 1px solid rgba(234, 220, 198, .72) !important;
}

.card.shadow-sm:has(.prism-data-table) .card-footer,
.card.shadow-sm:has(.points-summary-table) .card-footer,
.card.shadow-sm:has(.reward-checkout-table) .card-footer{
  background: transparent !important;
  border-top: 1px solid rgba(234, 220, 198, .72) !important;
}

.modal-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #e6dac7;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,0) 36%),
    linear-gradient(135deg, #fffaf2 0%, #f8f0df 58%, #f4e7cb 100%);
  color: #243042;
}

.modal-header .modal-title,
.modal-header .fw-semibold{
  margin: 0;
  color: #243042;
  font-weight: 700;
}

.modal-header .btn-close{
  opacity: 1;
  border-radius: 50%;
  background-color: rgba(255,255,255,.82);
  box-shadow: 0 8px 16px rgba(15,23,42,.08);
}

.modal-header .btn-close:hover,
.modal-header .btn-close:focus{
  background-color: #fff;
}

.update-profile-modal-dialog{
  max-width: 620px;
}

.update-profile-modal-content{
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(225, 214, 198, 0.8);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.16);
}

.update-profile-modal-body{
  position: relative;
  padding: 22px 22px 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf5 100%);
}

.update-profile-modal-close{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  opacity: 1;
  width: 36px;
  height: 36px;
  border: 1px solid #e6d7c7;
  border-radius: 50%;
  background: #fff;
  color: #4b5563;
  box-shadow: 0 10px 18px rgba(15,23,42,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: all .2s ease;
}

.update-profile-modal-close:hover,
.update-profile-modal-close:focus{
  color: #991b1b;
  background: #fff7f4;
  border-color: #f2b7a7;
}

.update-profile-modal-header{
  margin-bottom: 12px;
}

.update-profile-modal-header-main{
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.update-profile-modal-accent{
  min-height: 100%;
  border-radius: 999px;
  background: linear-gradient(180deg, #f2d8b6 0%, #d8b06b 100%);
}

.update-profile-modal-header-copy{
  padding-right: 42px;
}

.update-profile-modal-eyebrow{
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(191, 155, 92, 0.14);
  color: #8a6428;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.update-profile-modal-heading-row{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.update-profile-modal-title-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #fff8ef 0%, #f8ead2 100%);
  color: #9b6b2e;
  border: 1px solid #ebd8ba;
  font-size: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.update-profile-modal-title{
  margin: 0 0 4px;
  font-size: 21px;
  line-height: 1.18;
  font-weight: 700;
  color: #243042;
}

.update-profile-modal-subcopy{
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #5b6473;
}

.update-profile-modal-alert{
  border-radius: 12px;
  margin-top: 8px;
  margin-bottom: 12px;
  border: 1px solid rgba(203, 213, 225, 0.8);
  box-shadow: none;
  padding: 10px 12px;
  font-size: 13px;
}

.update-profile-modal-form{
  margin-top: 8px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid #ead6bf;
  background: #fff;
}

.update-profile-modal-input-row{
  margin-bottom: 10px;
}

.update-profile-modal-input-label{
  display: inline-flex;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #7a6133;
}

.update-profile-modal-otp-input{
  max-width: 100%;
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #eed8c0;
  background: #fffdf9;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .12em;
  text-align: center;
  box-shadow: none;
  color: #1f2937;
}

.update-profile-modal-otp-input:focus{
  border-color: #d9b06c;
  box-shadow: 0 0 0 .18rem rgba(217, 176, 108, .16);
}

.update-profile-modal-actions{
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
}

.update-profile-modal-action-form{
  display: inline-flex;
  margin: 0;
}

.update-profile-modal-btn{
  min-width: 132px;
  min-height: 40px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  box-shadow: none;
}

.update-profile-modal-btn.btn-danger{
  background: linear-gradient(135deg, var(--prism-primary) 0%, var(--prism-accent) 100%);
  border-color: transparent;
}

.update-profile-modal-btn.btn-danger:hover,
.update-profile-modal-btn.btn-danger:focus{
  background: linear-gradient(135deg, #b10f1d 0%, #ef6c11 100%);
  border-color: transparent;
}

.update-profile-modal-btn-secondary{
  background: #fff;
}

.update-profile-modal-btn-secondary:hover,
.update-profile-modal-btn-secondary:focus{
  background: #fff5f3;
}

.update-profile-modal-help{
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12px;
  line-height: 1.55;
  color: #5b554b;
  background: #fffaf5;
  border: 1px solid #efdfcc;
}

.update-profile-modal-help-icon{
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(191,155,92,.14);
  color: #9b6b2e;
  font-size: 11px;
}

.footer-update-profile-link{
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
  text-decoration: none;
}

.footer-update-profile-link:hover,
.footer-update-profile-link:focus{
  color: var(--prism-primary);
  text-decoration: underline;
}

@media (max-width: 767.98px){
  .update-profile-modal-body{
    padding: 18px 14px 14px;
  }

  .update-profile-modal-header-main{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .update-profile-modal-accent{
    height: 4px;
    min-height: 4px;
    width: 100%;
  }

  .update-profile-modal-header-copy{
    padding-right: 32px;
  }

  .update-profile-modal-heading-row{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .update-profile-modal-title-icon{
    width: 40px;
    height: 40px;
    border-radius: 14px;
    font-size: 16px;
  }

  .update-profile-modal-title{
    font-size: 18px;
  }

  .update-profile-modal-subcopy{
    font-size: 12px;
  }

  .update-profile-modal-form{
    padding: 14px 12px;
  }

  .update-profile-modal-otp-input{
    max-width: 100%;
    min-height: 42px;
    font-size: 14px;
    letter-spacing: .10em;
  }

  .update-profile-modal-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .update-profile-modal-action-form,
  .update-profile-modal-btn{
    width: 100%;
  }
}

.profile-update-page{
  padding: 18px 0 42px;
}

.prism-form-ui .form-label{
  margin-bottom: 6px;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.prism-form-ui .form-control,
.prism-form-ui .form-select{
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #dccab1;
  background: #fffdf9;
  box-shadow: none;
  font-size: 14px;
  padding: 0 14px;
}

.prism-form-ui textarea.form-control{
  min-height: 96px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.prism-form-ui .form-control:focus,
.prism-form-ui .form-select:focus{
  border-color: #f36d33;
  box-shadow: 0 0 0 .2rem rgba(243,109,51,.12);
}

.prism-form-ui select.form-select + .select2-container .select2-selection--single,
.prism-form-ui select.form-select + .select2-container .select2-selection--multiple{
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #dccab1;
  background: #fffdf9;
}

.prism-form-ui select.form-select + .select2-container .select2-selection--single .select2-selection__rendered{
  min-height: 42px;
  line-height: 42px;
  padding-left: 14px;
  padding-right: 34px;
  color: #374151;
  font-size: 14px;
}

.prism-form-ui select.form-select + .select2-container .select2-selection--single .select2-selection__arrow{
  height: 42px;
  right: 8px;
}

.prism-form-ui .btn{
  min-height: 44px;
  border-radius: 12px;
  font-weight: 600;
}

.prism-form-card .card-body{
  padding: 1.5rem;
}

.prism-form-inline .btn{
  min-width: 110px;
}

.profile-update-page-card{
  width: 100%;
  margin: 0;
  background: #fff;
  border: 1px solid #ead7be;
  border-radius: 24px;
  padding: 24px 24px 28px;
  box-shadow: 0 28px 52px rgba(143, 75, 12, .10);
  position: relative;
  overflow: hidden;
}

.profile-update-page-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(255, 141, 55, .10), transparent 34%),
    linear-gradient(180deg, rgba(255, 247, 238, .88), rgba(255, 255, 255, .98) 32%);
  pointer-events: none;
}

.profile-update-page-hero,
.profile-update-form{
  position: relative;
  z-index: 1;
}

.profile-update-page-hero{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff6ec 0%, #fff 58%, #fffaf3 100%);
  border: 1px solid rgba(229, 114, 43, .18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.profile-update-page-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(225, 29, 46, .08);
  color: #c6222b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.profile-update-page-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 0;
}

.profile-update-page-title{
  margin: 0;
  font-size: clamp(24px, 2.3vw, 32px);
  line-height: 1.2;
  font-weight: 800;
  color: #3f3f46;
  text-transform: uppercase;
}

.profile-update-page-subtitle{
  margin: 8px 0 0;
  max-width: 760px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.6;
}

.profile-update-page-note{
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(225, 29, 46, .12);
  font-size: 12px;
  color: #ef4444;
  text-align: right;
  white-space: nowrap;
}

.profile-update-page-hero-panel{
  min-width: 190px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff, #fff5ed);
  border: 1px solid rgba(225, 29, 46, .14);
  box-shadow: 0 16px 28px rgba(225, 29, 46, .08);
}

.profile-update-page-hero-label{
  color: #9a3412;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.profile-update-page-hero-value{
  margin-top: 6px;
  color: #1f2937;
  font-size: 15px;
  font-weight: 700;
}

.profile-update-page-note span,
.profile-update-form .form-label span{
  color: #ef4444;
}

.profile-update-form-section{
  padding: 16px 18px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid #efe0cb;
  box-shadow: 0 16px 32px rgba(143, 75, 12, .05);
}

.profile-update-form-section + .profile-update-form-section{
  margin-top: 14px;
}

.profile-update-form-section-title{
  margin-bottom: 14px;
  color: #4b5563;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.profile-update-form-actions{
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

.profile-update-submit-btn{
  min-width: 160px;
  min-height: 44px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow: 0 12px 22px rgba(225, 29, 46, .18);
}

.datepicker-dropdown{
  border-radius: 18px;
  border: 1px solid rgba(225, 29, 46, .12);
  box-shadow: 0 22px 42px rgba(17, 24, 39, .14);
  padding: 10px 12px;
}

.datepicker table tr td,
.datepicker table tr th{
  border-radius: 10px;
}

.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td span.active.active{
  background: linear-gradient(135deg, #ef4444, #d61821);
  border-color: #d61821;
}

.datepicker table tr td.today,
.datepicker table tr td.today:hover{
  background: rgba(244, 114, 38, .16);
  border-color: rgba(244, 114, 38, .18);
  color: #9a3412;
}

.public-userbox{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}

.public-user-meta{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
  font-size: 13px;
  color: #4b5563;
}

.public-user-meta-item{
  color: var(--prism-primary);
  font-weight: 600;
}

.public-user-meta-link{
  color: var(--prism-primary);
  font-weight: 500;
  text-decoration: none;
}

.public-user-meta-link:hover,
.public-user-meta-link:focus{
  color: #b10f1d;
}

@media (max-width: 991.98px){
  .profile-update-page-card{
    padding: 18px;
    border-radius: 20px;
  }

  .profile-update-page-hero{
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .profile-update-page-note{
    white-space: normal;
    text-align: left;
  }
}

@media (max-width: 767.98px){
  .profile-update-page{
    padding: 12px 0 26px;
  }

  .profile-update-page-header{
    flex-direction: column;
  }

  .profile-update-form-section{
    padding: 18px;
  }
}

.public-welcome{
  font-size: 12px;
  color: #6b7280;
}

.public-username{
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.public-logout-form{
  margin: 0;
}

.public-logout-btn{
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--prism-primary);
}

.public-logout-btn:hover,
.public-logout-btn:focus{
  background: var(--gold-soft);
  color: var(--prism-primary);
}

.public-login-btn{
  background: #fff;
  border: 1px solid var(--prism-primary);
  color: var(--prism-primary);
  font-weight: 600;
  border-radius: 10px;
  padding-left: 16px;
  padding-right: 16px;
  min-width: 92px;
}

.public-login-btn:hover,
.public-login-btn:focus{
  background: var(--prism-primary);
  border-color: var(--prism-primary);
  color: #fff;
}

.admin-home-image{
  width: 100%;
}

.admin-home-image img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.public-mainbar-center{
  min-width: 0;
  display: flex;
  justify-content: center;
  position: relative;
}

.public-links-shell{
  width: 100%;
}

.public-links{
  display: flex;
  gap: 30px;
  font-weight: 500;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 12px;
}

.public-links-retailer{
  gap: 22px;
}

.public-links-retailer a,
.public-links-retailer .public-link-disabled{
  font-weight: 600;
}

.points-summary-page{
  width: 100%;
  max-width: none;
  margin: 18px 0 0;
}

.points-summary-header{
  margin-bottom: 18px;
}

.points-summary-header h1{
  margin: 0;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: .02em;
  color: #1f2937;
}

.points-summary-header h1 span{
  color: var(--prism-primary);
}

.points-summary-header p{
  margin: 6px 0 0;
  color: #6b7280;
  font-size: 14px;
}

.points-summary-table-wrap{
  overflow-x: auto;
  padding: 10px 6px 6px;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

.points-summary-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 6px;
  min-width: 860px;
  margin: 0;
}

.points-summary-table-transposed{
  min-width: 1220px;
}

.points-summary-table > thead > tr > th{
  text-align: center !important;
}

.points-summary-table > thead > tr > th:first-child{
  text-align: left !important;
}

.points-summary-table tbody td{
  padding: 16px 18px;
  font-size: 13px;
  text-align: center;
  white-space: nowrap;
  background: rgba(255,255,255,.96);
  border-top: 1px solid rgba(226, 213, 190, .82);
  border-bottom: 1px solid rgba(226, 213, 190, .82);
  border-right: 1px solid rgba(239, 229, 212, .9);
  color: #253043;
  box-shadow: 0 8px 18px rgba(15,23,42,.028);
}

.points-summary-table tbody td:first-child{
  border-left: 1px solid rgba(226, 213, 190, .82);
  border-top-left-radius: 18px;
  border-bottom-left-radius: 18px;
}

.points-summary-table tbody td:last-child{
  border-right: 1px solid rgba(226, 213, 190, .82);
  border-top-right-radius: 18px;
  border-bottom-right-radius: 18px;
}

.points-summary-sticky,
.points-summary-row-label{
  text-align: left !important;
  min-width: 180px;
}

.points-summary-month span{
  display: block;
  line-height: 1.15;
}

.points-summary-total{
  font-weight: 700;
}

.points-summary-balance td{
  background: #fff7ea;
  font-weight: 600;
}

.points-summary-date-label{
  white-space: pre-line !important;
  font-weight: 700;
  color: #8b5e34;
}

.points-summary-balance-cell{
  background: #fff4de;
  font-weight: 700;
}

.prism-data-table{
  width: 100%;
}

.prism-data-table:not(.points-summary-table){
  border-collapse: separate;
  border-spacing: 0 6px;
}

.prism-data-table > thead{
  position: relative;
  background: var(--prism-table-header-bg);
}

.prism-data-table > thead::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: var(--prism-table-header-highlight);
  opacity: .95;
  z-index: 1;
}

.prism-data-table > thead > tr > th{
  padding: 15px 18px !important;
  background: transparent !important;
  color: #2b2b2b !important;
  font-size: 12px;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  vertical-align: middle !important;
  border-right: 1px solid rgba(185, 158, 108, .22) !important;
  border-bottom: 2px solid var(--prism-table-header-bottom) !important;
  white-space: nowrap;
  text-align: left;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.prism-data-table > thead > tr > th:first-child{
  border-top-left-radius: 20px;
}

.prism-data-table > thead > tr > th:last-child{
  border-right: none !important;
  border-top-right-radius: 20px;
}

.prism-data-table.table-sm > thead > tr > th{
  padding: 15px 16px !important;
  font-size: 11px;
}

.prism-data-table.table-bordered > :not(caption) > * > *{
  border-width: 0;
}

.prism-data-table.table-striped > tbody > tr:nth-of-type(odd) > *,
.prism-data-table.table-striped > tbody > tr:nth-of-type(even) > *{
  --bs-table-accent-bg: transparent;
  color: inherit;
}

.prism-data-table tbody td{
  padding: 16px 18px;
  vertical-align: middle;
  background: rgba(255,255,255,.96);
  border-top: 1px solid rgba(226, 213, 190, .82) !important;
  border-bottom: 1px solid rgba(226, 213, 190, .82) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  color: #253043;
  box-shadow: 0 6px 12px rgba(15,23,42,.02);
  transition: box-shadow .18s ease, background-color .18s ease;
}

.prism-data-table tbody tr td:first-child{
  border-left: 1px solid rgba(226, 213, 190, .82) !important;
  border-top-left-radius: 18px;
  border-bottom-left-radius: 18px;
}

.prism-data-table tbody tr td:last-child{
  border-right: 1px solid rgba(226, 213, 190, .82) !important;
  border-top-right-radius: 18px;
  border-bottom-right-radius: 18px;
}

.prism-data-table tbody tr:nth-child(even) td{
  background: rgba(255,252,247,.96);
}

.prism-data-table tbody tr:hover td{
  background: #fffdf9;
  box-shadow: 0 8px 16px rgba(15,23,42,.028);
}

.prism-data-table td .fw-semibold,
.prism-data-table td strong{
  color: #101828;
}

.prism-data-table td .small,
.prism-data-table td .text-muted{
  color: #7b8797 !important;
}

.prism-data-table td.text-end{
  text-align: right !important;
}

.prism-data-table td.text-center,
.prism-data-table th.text-center{
  text-align: center !important;
}

.prism-data-table .badge{
  border-radius: 999px;
  padding: .4rem .72rem;
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .01em;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32);
}

.prism-data-table .text-bg-success{
  color: #0f5132 !important;
  background: #e8f8ef !important;
  border-color: #b8e7ca !important;
}

.prism-data-table .text-bg-danger{
  color: #9f1239 !important;
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
}

.prism-data-table .text-bg-warning{
  color: #92400e !important;
  background: #fff7db !important;
  border-color: #f6de9c !important;
}

.prism-data-table .text-bg-secondary{
  color: #475467 !important;
  background: #f4f6f8 !important;
  border-color: #d5dce4 !important;
}

.prism-data-table .btn.btn-sm{
  min-height: 38px;
  padding: .44rem .88rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .01em;
}

.prism-data-table .btn-outline-secondary{
  color: #475467;
  border-color: #d8dee8;
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  box-shadow: 0 4px 10px rgba(15,23,42,.04);
}

.prism-data-table .btn-outline-secondary:hover,
.prism-data-table .btn-outline-secondary:focus{
  color: #111827;
  border-color: #c3ccd7;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15,23,42,.08);
}

.prism-data-table .btn-outline-danger{
  color: #b42318;
  border-color: #f2b8af;
  background: linear-gradient(180deg, #fff8f7 0%, #fff3f1 100%);
}

.prism-data-table .btn-outline-danger:hover,
.prism-data-table .btn-outline-danger:focus{
  color: #fff;
  border-color: #cf1f2e;
  background: linear-gradient(135deg, #cf1f2e 0%, #ec5b2b 100%);
}

.prism-data-table tbody td[colspan]{
  text-align: center;
  color: #6b7280;
}

.prism-data-table tbody td[colspan]::before{
  display: none;
}

.point-statement-page{
  width: 100%;
  max-width: none;
  margin: 18px 0 0;
}

.point-statement-header{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.point-statement-balance{
  min-width: 240px;
  padding: 14px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(240,73,59,.08), rgba(255,178,90,.18));
  border: 1px solid rgba(240,73,59,.18);
  text-align: right;
}

.point-statement-balance span{
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9f1239;
}

.point-statement-balance strong{
  display: block;
  margin-top: 6px;
  font-size: 28px;
  line-height: 1;
  color: #111827;
}

.point-statement-table-wrap{
  overflow-x: auto;
  padding: 10px 6px 6px;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

.point-statement-table{
  width: 100%;
  min-width: 1220px;
  border-collapse: separate;
  border-spacing: 0 6px;
  margin: 0;
}

.point-statement-table tbody td{
  padding: 16px 18px;
  color: #334155;
  font-size: 13px;
  vertical-align: top;
}

.point-statement-campaign,
.point-statement-product{
  min-width: 220px;
  white-space: normal;
}

.point-statement-num{
  text-align: right !important;
  min-width: 110px;
  font-variant-numeric: tabular-nums;
}

.point-statement-credit{
  font-weight: 700;
}

.point-statement-debit{
  font-weight: 700;
}

.point-statement-amount{
  font-weight: 700;
}

.point-statement-amount-credit{
  color: #15803d;
}

.point-statement-amount-debit{
  color: #dc2626;
}

.point-statement-amount-empty{
  color: #94a3b8;
  font-weight: 500;
}

.point-statement-balance-cell{
  color: #1d4ed8;
  font-weight: 800;
}

.point-statement-empty{
  text-align: center !important;
  padding: 28px 18px !important;
  color: #6b7280 !important;
}

.public-links a{
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.public-links a:hover,
.public-links a.active{
  color: var(--prism-primary);
}

.public-link-disabled{
  display: inline-flex;
  align-items: center;
  color: #9ca3af;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: default;
  opacity: .88;
  user-select: none;
}

.public-links .dropdown-toggle{
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 500;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.public-links .dropdown-toggle::after{
  margin-left: 8px;
  vertical-align: middle;
}

.public-links .dropdown-toggle:hover,
.public-links .dropdown-toggle:focus,
.public-links .dropdown-toggle.active{
  color: var(--prism-primary);
}

.public-nav-toggle{
  display: none;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--prism-primary);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  padding: 0;
}

.public-nav-toggle:hover,
.public-nav-toggle:focus{
  background: var(--gold-soft);
  border-color: var(--prism-primary);
}

.public-nav-toggle-bar{
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.public-links .dropdown-menu{
  border-radius: 16px;
  border: 1px solid #eadcc6;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(135deg, #fffaf2 0%, #f8f0df 58%, #f4e7cb 100%);
  padding: 8px;
  box-shadow: 0 18px 36px rgba(15,23,42,.12);
}

.public-links .dropdown-item{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #2B2B2B;
  border-radius: 10px;
  padding: .55rem .8rem;
}

.public-links .dropdown-item:hover,
.public-links .dropdown-item:focus{
  background: #fff4de;
  color: #8b5e34;
}

.public-links .dropdown-item.active,
.public-links .dropdown-item:active{
  background: linear-gradient(135deg, #f6e5c7 0%, #efd8a8 100%);
  color: #6b4a1f;
  font-weight: 700;
}

.member-status-tier-wrap{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.member-status-tier-block{
  border:1px solid #eadfcd;
  background:#fff;
  border-radius:14px;
  padding:16px 18px;
}

.member-status-tier-title{
  color:var(--prism-primary);
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:14px;
}

.member-status-tier-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.member-status-tier-row{
  display:grid;
  grid-template-columns:auto minmax(240px,420px) auto;
  align-items:center;
  gap:16px;
}

.member-status-tier-label{
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  color:#2b2b2b;
  margin-bottom:0;
  letter-spacing:.03em;
}

.member-status-tier-input{
  min-height:42px;
  border:1px solid var(--border);
}

.member-status-tier-btn{
  min-width:112px;
  min-height:42px;
  font-size:14px;
  font-weight:600;
  border-radius:8px;
  padding:8px 16px;
}

.member-status-tier-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.member-status-tier-footer-single{
  justify-content:flex-start;
}

.member-status-tier-note,
.member-status-tier-link{
  color:var(--prism-primary);
  font-size:12px;
}

.member-status-tier-link{
  text-decoration:none;
  font-weight:500;
}

.member-status-tier-link:hover{
  text-decoration:underline;
}

@media (max-width: 991.98px){
  .member-status-tier-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .member-status-tier-label{
    font-size:12px;
  }

  .member-status-tier-btn{
    width:100%;
    min-width:0;
    font-size:14px;
  }

  .member-status-tier-block{
    padding:14px;
  }
}

.reports-nav-item{
  gap: 0;
}

.reports-nav-link{
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 500;
}

.reports-nav-link:hover,
.reports-nav-link:focus,
.reports-nav-link.active{
  color: var(--prism-primary);
}

.reports-nav-toggle{
  color: inherit;
  text-decoration: none;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0 2px;
}

.reports-nav-toggle::after{
  margin-left: 0;
  vertical-align: middle;
}

.reports-nav-toggle:hover,
.reports-nav-toggle:focus{
  color: var(--prism-primary);
}

.reports-dashboard{
  display: flex;
  flex-direction: column;
  gap: 44px;
  width: 100%;
}

.reports-group-title{
  margin: 0 0 18px;
  font-size: 31px;
  font-weight: 600;
  color: #252525;
  position: relative;
  line-height: 1.2;
}

.reports-group-title::after{
  content: "";
  display: block;
  width: 52px;
  height: 3px;
  border-radius: 10px;
  background: var(--prism-primary);
  margin-top: 10px;
}

.reports-group-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.report-card-lite{
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(30, 30, 30, 0.08);
  padding: 22px 20px;
  min-height: 154px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}

.report-card-icon{
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 2px;
}

.report-icon-simple{
  width: 74px;
  height: 74px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #efdfd5;
  background: #fff9f7;
  color: #555;
  font-size: 24px;
  line-height: 1;
  padding: 10px;
}

.report-icon-image{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.report-card-title{
  margin: 12px 0 14px;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 600;
  color: #2b2b2b;
}

.report-card-actions{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.report-card-actions .btn{
  min-width: 88px;
}

.report-card-actions form{
  margin: 0;
}

.module-page-shell{
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
}

.module-page-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.module-page-card{
  border-radius: 18px;
  border: 1px solid #eadbc5 !important;
  overflow: hidden;
}

.module-page-card .card-body{
  padding: 20px;
  background: linear-gradient(180deg, #fffdf9 0%, #fff 100%);
}

.order-cancellation-sections{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-bottom:10px;
}

.order-cancellation-section-card{
  border:1px solid #eadfcd;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  padding:18px 20px;
}

.order-cancellation-section-head{
  margin-bottom:14px;
}

.order-cancellation-section-title{
  margin:0;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#dc2626;
}

.earning-points-form{
  border: 1px solid #eadfcd;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(17, 24, 39, 0.06);
  padding: 14px;
}

.earning-points-head{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
  padding: 8px 10px;
  border: 1px solid #f3e5d3;
  border-radius: 10px;
  background: #fff8f0;
}

.earning-points-head-title{
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #b01b26;
}

.earning-points-head-subtitle{
  font-size: 12px;
  color: #6b7280;
}

.earning-points-form .form-label{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #374151;
}

.earning-points-form .form-control,
.earning-points-form .form-select{
  min-height: 46px;
  border-color: #e4d8c4;
  background: #fff;
  border-radius: 11px;
}

.earning-points-form .form-control:focus,
.earning-points-form .form-select:focus{
  border-color: #d7303f;
  box-shadow: 0 0 0 .2rem rgba(225, 29, 46, 0.12);
}

.earning-upload-block,
.earning-after-upload{
  border: 1px solid #f0e3d1;
  border-radius: 12px;
  background: #fffaf5;
  padding: 12px;
}

.earning-upload-block{
  margin-top: 4px;
}

.earning-after-upload{
  margin-top: 10px;
}

.earning-points-form .btn{
  min-height: 44px;
  border-radius: 10px;
  font-weight: 600;
}

.earning-points-form .upload-actions-label{
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: #374151;
}

.earning-points-form .disabled{
  pointer-events: none;
  opacity: .5;
}

.point-upload-files-card{
  border: 1px solid #eadfcd;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
}

.point-upload-files-heading{
  min-width: 0;
}

.point-upload-per-page-form{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  flex-wrap: wrap;
}

.point-upload-per-page-label{
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}

.point-upload-per-page-select{
  min-width: 92px;
  border-color: #e4d8c4;
  border-radius: 10px;
  font-weight: 600;
  color: #1f2937;
}

.project-per-page-form{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  flex-wrap: wrap;
}

.project-per-page-label{
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}

.project-per-page-select{
  min-width: 92px;
  border-color: #e4d8c4;
  border-radius: 10px;
  font-weight: 600;
  color: #1f2937;
}

.point-upload-file-list{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.point-upload-file-card{
  border: 1px solid #f0e3d1;
  border-radius: 16px;
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
  box-shadow: 0 10px 20px rgba(17, 24, 39, 0.05);
  overflow: hidden;
}

.point-upload-file-card-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.45fr) 280px;
  gap: 0;
  align-items: stretch;
}

.point-upload-file-card-panel{
  padding: 16px 18px;
  min-width: 0;
}

.point-upload-file-card-panel + .point-upload-file-card-panel{
  border-left: 1px solid #efe3d0;
}

.point-upload-file-card-panel-left{
  background: rgba(255, 255, 255, 0.65);
}

.point-upload-file-card-panel-center{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.point-upload-file-card-panel-actions{
  background: #fff8f0;
}

.point-upload-file-link{
  color: #b01b26;
  font-weight: 700;
  text-decoration: none;
}

.point-upload-file-link:hover{
  color: #87151e;
  text-decoration: underline;
}

.point-upload-status-badge{
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}

.point-upload-card-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.point-upload-card-item{
  border: 1px solid #f1e5d5;
  border-radius: 14px;
  background: #fff;
  padding: 12px;
  min-width: 0;
}

.point-upload-card-item-wide{
  grid-column: 1 / -1;
}

.point-upload-card-label{
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}

.point-upload-card-value{
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  word-break: break-word;
  line-height: 1.45;
}

.point-upload-card-value-file{
  font-size: 15px;
}

.point-upload-metric-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.point-upload-metric-card{
  border: 1px solid #f3e8da;
  border-radius: 14px;
  background: #fffaf5;
  padding: 12px 10px;
  text-align: center;
}

.point-upload-metric-label{
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}

.point-upload-metric-value{
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
}

.point-upload-action-stack{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  height: 100%;
}

.point-upload-action-form{
  margin: 0;
}

.point-upload-action-btn{
  width: 100%;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.25;
  padding: 9px 12px;
  white-space: normal;
}

.point-upload-modal-dialog{
  --bs-modal-width: 960px;
}

.point-upload-modal-content{
  border: 1px solid #eadfcd;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(17, 24, 39, 0.16);
}

.point-upload-modal-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.point-upload-modal-title{
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: #1f2937;
  word-break: break-word;
}

.point-upload-modal-header-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.point-upload-modal-body{
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
}

.point-upload-modal-section{
  border: 1px solid #f0e3d1;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
}

.point-upload-modal-section-title{
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #b01b26;
}

.point-upload-meta-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.point-upload-meta-item{
  border: 1px solid #f3e8da;
  border-radius: 14px;
  background: #fffaf5;
  padding: 12px;
  min-width: 0;
}

.point-upload-meta-item-wide{
  grid-column: 1 / -1;
}

.point-upload-meta-label{
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}

.point-upload-meta-value{
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  word-break: break-word;
}

.point-upload-meta-note{
  font-size: 12px;
  color: #6b7280;
}

.point-upload-summary-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.point-upload-summary-card{
  border: 1px solid #f3e8da;
  border-radius: 14px;
  background: #fffaf5;
  padding: 14px 12px;
  text-align: center;
}

.point-upload-summary-label{
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b7280;
}

.point-upload-summary-value{
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
}

.point-upload-pagination-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  flex-wrap: wrap;
}

.point-upload-pagination-summary{
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
}

.point-upload-pagination{
  display: flex;
  justify-content: flex-end;
  margin-top: 0;
  margin-left: auto;
}

.point-upload-pagination nav{
  display: flex;
  justify-content: center;
}

.point-upload-pagination .pagination{
  margin-bottom: 0;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.point-upload-pagination .page-link{
  border-radius: 10px;
  border: 1px solid #e6d2b7;
  background: #fffaf5;
  color: #8d1b25;
  min-width: 42px;
  min-height: 42px;
  text-align: center;
  box-shadow: none;
  font-weight: 700;
  padding: 9px 14px;
}

.point-upload-pagination .page-item.active .page-link{
  background: #c62835;
  border-color: #c62835;
  color: #fff;
  box-shadow: 0 10px 18px rgba(198, 40, 53, 0.18);
}

.point-upload-pagination .page-item.disabled .page-link{
  color: #b8a48d;
  border-color: #efe3d0;
  background: #fffaf5;
}

.point-upload-pagination .page-link:hover{
  color: #fff;
  background: #b01b26;
  border-color: #b01b26;
}

.point-upload-pagination .page-link:focus{
  color: #fff;
  background: #b01b26;
  border-color: #b01b26;
  box-shadow: 0 0 0 0.2rem rgba(176, 27, 38, 0.14);
}

.project-pagination-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.project-pagination-summary{
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
}

.project-pagination-links{
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
}

.project-pagination-links nav{
  display: flex;
  justify-content: center;
}

.project-pagination-links .pagination{
  margin-bottom: 0;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.project-pagination-links .page-link{
  border-radius: 10px;
  border: 1px solid #e6d2b7;
  background: #fffaf5;
  color: #8d1b25;
  min-width: 42px;
  min-height: 42px;
  text-align: center;
  box-shadow: none;
  font-weight: 700;
  padding: 9px 14px;
}

.project-pagination-links .page-item.active .page-link{
  background: #c62835;
  border-color: #c62835;
  color: #fff;
  box-shadow: 0 10px 18px rgba(198, 40, 53, 0.18);
}

.project-pagination-links .page-item.disabled .page-link{
  color: #b8a48d;
  border-color: #efe3d0;
  background: #fffaf5;
}

.project-pagination-links .page-link:hover{
  color: #fff;
  background: #b01b26;
  border-color: #b01b26;
}

.project-pagination-links .page-link:focus{
  color: #fff;
  background: #b01b26;
  border-color: #b01b26;
  box-shadow: 0 0 0 0.2rem rgba(176, 27, 38, 0.14);
}

@media (min-width: 768px){
  .point-upload-file-card-panel-actions{
    display: flex;
  }
}

@media (max-width: 991.98px){
  .point-upload-file-card-layout{
    grid-template-columns: minmax(0, 1fr);
  }

  .point-upload-file-card-panel + .point-upload-file-card-panel{
    border-left: 0;
    border-top: 1px solid #efe3d0;
  }

  .point-upload-modal-dialog{
    --bs-modal-width: 92vw;
  }

  .point-upload-modal-header{
    align-items: flex-start;
  }

  .point-upload-metric-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .point-upload-summary-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px){
  .point-upload-card-grid{
    grid-template-columns: 1fr;
  }

  .point-upload-card-item-wide{
    grid-column: auto;
  }

  .point-upload-metric-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .point-upload-summary-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px){
  .point-upload-pagination-bar{
    flex-direction: column;
    align-items: flex-start;
  }

  .point-upload-pagination{
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  .project-pagination-bar{
    flex-direction: column;
    align-items: flex-start;
  }

  .project-pagination-links{
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  .point-upload-per-page-form{
    width: 100%;
    justify-content: space-between;
  }

  .project-per-page-form{
    width: 100%;
    justify-content: space-between;
  }

  .point-upload-per-page-select{
    min-width: 110px;
  }

  .project-per-page-select{
    min-width: 110px;
  }

  .point-upload-file-card-panel{
    padding: 12px;
  }

  .point-upload-metric-grid{
    grid-template-columns: 1fr;
  }

  .point-upload-modal-section{
    padding: 12px;
  }

  .point-upload-modal-title{
    font-size: 17px;
  }

  .point-upload-modal-header{
    flex-wrap: wrap;
  }

  .point-upload-modal-header-actions{
    width: 100%;
    justify-content: space-between;
  }

  .point-upload-summary-grid{
    grid-template-columns: 1fr;
  }
}

.home-hero{
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: min(var(--site-max-width), calc(100% - (var(--site-edge-gap) * 2)));
  margin-left: auto;
  margin-right: auto;
  padding: 58px 0;
  gap: 28px;
}

.home-hero-left{
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}

.home-hero-right{
  flex: 0 0 350px;
  display: flex;
  justify-content: flex-end;
}

.home-hero-wrap{
  width: 100%;
}

.home-banner{
  height: 480px;
}

.home-banner .carousel-inner,
.home-banner .carousel-item,
.home-banner .carousel-item img{
  height: 100%;
}

.home-banner .carousel-item img{
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.banner-frame{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.banner-frame .banner-bg{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  filter: blur(16px);
  transform: scale(1.08);
  opacity: .6;
}

.banner-frame .banner-fg{
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  object-position: center;
}

.login-card{
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.06);
  width: 350px;
  min-height: 480px;
  height: auto;
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.login-card h2{
  margin-bottom: 25px;
  text-align: center;
}

.contact-page .hero{
  display:grid !important;
  grid-template-columns: minmax(0, 1fr) 380px;
  align-items:stretch !important;
  padding:80px;
  gap:60px;
}

.contact-page .contact-section{
  width:auto;
  min-width: 0;
}

.contact-page .contact-card{
  background:#fff;
  padding:40px;
  border-radius:16px;
  box-shadow:0 15px 35px rgba(0,0,0,0.06);
  border:1px solid var(--border);
  height:100% !important;
}

.contact-page .contact-card h2{
  font-size:22px;
  margin-bottom:10px;
}

.contact-page .contact-subtext{
  font-size:14px;
  margin-bottom:30px;
  color:#555;
}

.contact-page .contact-row{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:22px;
}

.contact-page .icon-circle{
  width:48px;
  height:48px;
  background:var(--gold-soft);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--prism-primary);
  font-size:18px;
  flex-shrink:0;
}

.contact-page .contact-text strong{
  font-size:15px;
}

.contact-page .contact-text{
  font-size:14px;
  line-height:1.7;
}

.contact-page .info-card{
  background:#fff;
  padding:40px;
  border-radius:16px;
  box-shadow:0 15px 35px rgba(0,0,0,0.06);
  width:380px !important;
  flex: 0 0 380px !important;
  border:1px solid var(--border);
  height:100% !important;
}

.contact-page .info-card h3{
  margin-bottom:15px;
}

.contact-page .info-card p{
  font-size:14px;
  line-height:1.7;
  color:#555;
}

.contact-page .info-highlight{
  margin-top:20px;
  padding:15px;
  background:var(--gold-soft);
  border-radius:10px;
  font-size:13px;
}

@media (max-width: 1200px){
  .contact-page .hero{
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 36px 20px !important;
    gap: 18px !important;
  }

  .contact-page .info-card{
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}

@media (max-width: 767.98px){
  .contact-page .hero{
    padding: 20px 10px !important;
  }

  .contact-page .contact-card,
  .contact-page .info-card{
    padding: 18px !important;
    border-radius: 12px;
  }
}

.faq-page,
.tnc-page{
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
  padding-bottom: 50px;
}

.faq-title,
.tnc-title{
  font-weight: 700;
  letter-spacing: -0.02em;
}

.faq-title span,
.tnc-title span{
  color: var(--prism-primary);
}

.faq-card,
.tnc-card{
  border-radius: 18px;
  box-shadow: 0 15px 35px rgba(0,0,0,0.06);
  border: 1px solid var(--border);
}

.faq-accordion .accordion-item{
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.faq-accordion .accordion-item:last-child{
  border-bottom: 0;
}

.faq-accordion .accordion-button{
  background: transparent;
  box-shadow: none;
  font-weight: 600;
  padding: 20px 24px;
}

.faq-accordion .accordion-button:focus{
  box-shadow: none;
}

.faq-accordion .accordion-button::after{
  background-image: none;
  content: '+';
  font-size: 20px;
  font-weight: 700;
  width: auto;
  height: auto;
  transform: none;
  color: #2B2B2B;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
  content: '−';
}

.faq-accordion .accordion-body{
  padding: 0 24px 20px;
  color: #555;
  font-size: 14px;
  line-height: 1.8;
}

.tnc-body{
  color: #555;
  font-size: 14px;
  line-height: 1.9;
}

.tnc-body h2,
.tnc-body h3{
  color: var(--prism-primary);
  margin-top: 22px;
}

.tnc-body ol{
  padding-left: 20px;
}

.login-card input{
  width: 100%;
  padding: 14px;
  margin-bottom: 15px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 15px;
}

.login-card input:focus{
  outline: none;
  border-color: var(--prism-primary);
}

.primary-btn{
  width: 100%;
  background: var(--prism-primary);
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
}

.login-links{
  margin-top: 15px;
  font-size: 13px;
  text-align: center;
}

.login-links span{
  display: block;
  margin-top: 5px;
  cursor: pointer;
  color: var(--prism-primary);
}

.login-links a{
  display: block;
  margin-top: 5px;
  color: var(--prism-primary);
  text-decoration: none;
}

.login-links a:hover{
  text-decoration: underline;
}

@media (max-width: 1400px){
  :root{
    --site-edge-gap:24px;
  }

  .home-hero{
    padding: 50px 0;
  }
}

@media (max-width: 1200px){
  :root{
    --site-edge-gap:18px;
  }

  .public-mainbar-inner{
    gap: 18px;
  }

  .public-links{
    gap: 18px;
  }

  .public-ext-btn{
    min-width: 150px;
  }

  .public-left-logo{
    height: 96px;
  }

  .public-right-logo{
    height: 82px;
  }

  .home-hero{
    padding: 36px 0;
    gap: 20px;
  }

  .home-hero-right{
    flex-basis: 320px;
  }

  .home-banner{
    height: 420px;
  }

  .login-card{
    width: 320px;
    min-height: 430px;
    padding: 30px;
  }
}

@media (max-width: 992px){
  :root{
    --site-edge-gap:12px;
  }

  .home-hero{
    flex-direction: column;
    padding: 24px 0;
    gap: 16px;
  }

  .home-hero-left{
    max-width: 100%;
    width: 100%;
  }

  .home-hero-right{
    flex: 1 1 auto;
    width: 100%;
    justify-content: center;
  }

  .home-banner{
    height: 360px;
  }

  .login-card{
    width: min(100%, 480px);
    min-height: 0;
    padding: 24px;
    margin-left: auto;
    margin-right: auto;
  }
}

.public-navbar{
  background: #fff;
  border-bottom: 1px solid var(--border);
}

.public-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px circle at 8% 12%, rgba(255,106,0,.35), transparent 55%),
    radial-gradient(900px circle at 92% 10%, rgba(124,58,237,.30), transparent 55%),
    radial-gradient(900px circle at 50% 110%, rgba(6,182,212,.18), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
  border: 1px solid rgba(15,23,42,.10);
}

.public-hero:before,
.public-hero:after{
  content:"";
  position:absolute;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  filter: blur(40px);
  opacity: .55;
  pointer-events:none;
}

.public-hero:before{
  top: -160px;
  left: -160px;
  background: radial-gradient(circle at 30% 30%, rgba(255,106,0,.95), rgba(255,106,0,0) 60%);
}

.public-hero:after{
  top: -180px;
  right: -180px;
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,.85), rgba(124,58,237,0) 60%);
}

.public-navbar{
  backdrop-filter: saturate(140%) blur(8px);
}

.navbar .nav-link{
  font-weight: 600;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color: var(--prism-primary);
}

.public-badge{
  background: linear-gradient(135deg, rgba(225,29,46,.16), rgba(255,106,0,.14));
  color: #9a1b24;
  border: 1px solid rgba(225,29,46,.22);
}

.icon-pill{
  width:44px;
  height:44px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(225,29,46,.14), rgba(255,106,0,.12));
  color: #b91c1c;
}

.card-hover{
  transition: transform .15s ease, box-shadow .15s ease;
}

.card-hover:hover{
  transform: translateY(-2px);
  box-shadow: 0 1.25rem 2.5rem rgba(2,6,23,.10);
}

.cta-band{
  background: linear-gradient(135deg, rgba(225,29,46,.12), rgba(255,106,0,.12), rgba(11,18,32,.04));
  border: 1px solid rgba(15,23,42,.10);
}

.btn-outlook{
  --bs-btn-color: #1f2937;
  --bs-btn-bg: #f3f6fb;
  --bs-btn-border-color: rgba(15, 23, 42, .20);
  --bs-btn-hover-color: #111827;
  --bs-btn-hover-bg: #e8eef8;
  --bs-btn-hover-border-color: rgba(15, 23, 42, .28);
  --bs-btn-focus-shadow-rgb: 13,110,253;
  --bs-btn-active-color: #111827;
  --bs-btn-active-bg: #e2eaf7;
  --bs-btn-active-border-color: rgba(15, 23, 42, .30);

  font-weight: 600;
  border-radius: 10px;
}

.home-carousel{
  border-bottom: 1px solid rgba(15,23,42,.08);
  background: #fff;
}

.public-topbar{
  align-items: flex-start;
}

.public-support{
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.1;
  color: rgba(15,23,42,.68);
}

.public-support svg{
  color: #f59e0b;
}

.public-support .text-muted{
  opacity: .55;
}

.public-support-row{
  overflow-x: auto;
}

.public-support-row .public-support{
  flex-wrap: nowrap !important;
}

.public-support svg{
  color: #f59e0b;
}

.public-welcome{
  font-size: 11px;
  line-height: 1.1;
  color: rgba(15,23,42,.80);
}

.public-login,
.public-welcome{
  margin-top: 2px;
}

.public-navbar .container.py-2{
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.public-signout{
  background: #e31b23;
  border-color: #e31b23;
  font-weight: 600;
  padding-left: 12px;
  padding-right: 12px;
}

.public-left-logo{
  height: 110px;
  width: auto;
}

.public-right-logo{
  height: 92px;
  width: auto;
  margin-left: .25rem;
}


.public-login .input-group-text{
  background: #e31b23;
  color: #fff;
  border-color: #e31b23;
  font-size: 14px;
}

.public-login .form-control{
  border-color: #e31b23;
  font-size: 14px;
}

.public-login .btn-danger{
  background: #e31b23;
  border-color: #e31b23;
  font-weight: 600;
  font-size: 14px;
}

.public-login-link{
  font-size: 13px;
  color: #e31b23;
  text-decoration: none;
}

.public-login-link:hover{
  text-decoration: underline;
}


.public-nav{
  background: #fff;
  border-top: 1px solid var(--border);
}

.public-nav .nav-link{
  color: #2B2B2B;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: .02em;
}

.public-nav .nav-link:hover,
.public-nav .nav-link:focus{
  color: #8b5e34;
}

.public-nav .navbar-nav .nav-link.active{
  color: #8b5e34;
}

.public-nav .dropdown-menu{
  border-radius: 16px;
  border: 1px solid #eadcc6;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(135deg, #fffaf2 0%, #f8f0df 58%, #f4e7cb 100%);
  padding: 8px;
  box-shadow: 0 18px 36px rgba(15,23,42,.12);
}

.public-nav .dropdown-item{
  font-size: 13px;
  color: rgba(15,23,42,.92);
  border-radius: 10px;
  padding: .58rem .85rem;
}

.public-nav .dropdown-item:hover,
.public-nav .dropdown-item:focus,
.public-nav .dropdown-item.active,
.public-nav .dropdown-item:active{
  background: #fff4de;
  color: #8b5e34;
}

.public-nav .dropdown-item.active,
.public-nav .dropdown-item:active{
  background: linear-gradient(135deg, #f6e5c7 0%, #efd8a8 100%);
  color: #6b4a1f;
  font-weight: 700;
}

.public-nav .dropdown-divider{
  border-top-color: rgba(15,23,42,.12);
}

.home-banner{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 1.25rem 2.5rem rgba(2,6,23,.06);
}

.home-carousel .carousel-item img{
  height: 360px;
  object-fit: cover;
}

@media (min-width: 992px){
  .home-carousel .carousel-item img{
    height: 420px;
  }
}

.home-carousel .carousel-caption{
  background: rgba(11,18,32,.55);
  backdrop-filter: blur(6px);
  border-radius: 14px;
  padding: 10px 14px;
}

.home-carousel .carousel-indicators [data-bs-target]{
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.about-title{
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.about-title span{
  color: var(--prism-primary);
}

.about-body{
  color: #374151;
  line-height: 1.8;
}

.about-section{
  overflow: hidden;
}

.about-left{
  background: #f6f8fb;
}

.about-image-wrap{
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 12px;
  padding: 18px;
}

.about-body p{
  margin-bottom: 12px;
}

.about-media-img{
  width: 100%;
  height: auto;
  object-fit: contain;
}

.footer-mini a{color:inherit; text-decoration:none;}
.footer-mini a:hover{text-decoration:underline;}
.footer-mini .d-flex{flex-wrap:wrap;}

.scheme-page{
  color:#202636;
}

.scheme-shell{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.scheme-title{
  margin-bottom:4px;
  font-size:clamp(22px, 2.3vw, 34px);
  font-weight:800;
  letter-spacing:.015em;
  text-transform:uppercase;
  color:#161b28;
  line-height:1.1;
}

.scheme-title::after{
  content:"";
  color:#ef3a3a;
}

.scheme-subtitle{
  margin-top:-2px;
  margin-bottom:4px;
  color:#6b7280;
  font-size:14px;
  font-weight:600;
}

.scheme-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(220px, 320px) repeat(3, minmax(160px, 1fr));
  gap:20px;
  align-items:center;
}

.scheme-retailer-card{
  display:grid;
  grid-template-columns:88px 1fr;
  background:linear-gradient(135deg, #fff6ec 0%, #fff 100%);
  border:1px solid #ecd9bc;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(17,24,39,.06);
}

.scheme-retailer-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #ef5a2a 0%, #cf1f2e 100%);
  color:#fff3b0;
  font-size:34px;
  min-height:112px;
}

.scheme-retailer-card-copy{
  display:flex;
  min-height:112px;
  padding:14px 16px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  color:#1b2334;
}

.scheme-retailer-card-label{
  font-size:14px;
  line-height:1.25;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#7c5b2e;
}

.scheme-retailer-card-value{
  margin-top:6px;
  font-size:36px;
  font-weight:800;
  line-height:1;
}

.scheme-stat-circle-wrap{
  text-align:center;
}

.scheme-stat-circle{
  width:min(100%, 190px);
  aspect-ratio:1/1;
  margin:0 auto 10px;
  border-radius:50%;
  border:4px solid rgba(244,170,42,.9);
  background:radial-gradient(circle at 30% 28%, rgba(255,255,255,.95), rgba(255,247,232,.94) 48%, rgba(248,240,225,.98) 100%);
  box-shadow:0 10px 22px rgba(17,24,39,.05);
  color:#c97810;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  font-size:clamp(24px, 2vw, 38px);
  font-weight:700;
  line-height:1.15;
}

.scheme-stat-label{
  font-size:clamp(16px, 1.4vw, 22px);
  font-weight:700;
  color:#2a3042;
}

.scheme-dashboard-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:8px;
  flex-wrap:wrap;
}

.scheme-action-btn{
  min-width:122px;
  min-height:44px;
  padding:10px 22px;
  border-radius:14px;
  font-size:18px;
  font-weight:700;
  box-shadow:0 10px 18px rgba(207,31,46,.12);
}

.scheme-view-details,
.scheme-back-link,
.scheme-inline-link{
  color:#ef3a3a;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.scheme-view-details:hover,
.scheme-back-link:hover,
.scheme-inline-link:hover{
  color:#cc2327;
}

.scheme-matrix-head,
.scheme-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
}

.scheme-matrix-heading{
  font-size:clamp(18px, 1.8vw, 24px);
  font-weight:800;
  color:#373737;
  text-transform:uppercase;
}

.scheme-list-tools{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

.scheme-search-form{
  display:flex;
  align-items:center;
  gap:10px;
}

.scheme-search-form .form-control{
  min-width:250px;
  min-height:44px;
  border-radius:14px;
  border-color:#ecd9bc;
  background:#fffdfa;
  font-size:15px;
}

.scheme-search-btn{
  min-height:44px;
  min-width:92px;
  padding:10px 18px;
  border-radius:14px;
  font-size:15px;
  font-weight:700;
}

.scheme-table-wrap{
  overflow:auto;
  padding:2px 0 4px;
}

.scheme-table{
  margin-bottom:0;
  min-width:100%;
}

.scheme-table.prism-data-table{
  border-spacing:0 6px;
}

.scheme-table.prism-data-table > thead > tr > th{
  padding:14px 16px;
  font-size:12px;
  white-space:nowrap;
}

.scheme-table.prism-data-table > tbody > tr > td{
  padding:14px 16px;
  font-size:14px;
  color:#24324b;
  vertical-align:top;
  white-space:nowrap;
}

.scheme-table.prism-data-table > tbody > tr > td:first-child{
  color:#1f2937;
  font-weight:600;
}

.scheme-summary-table.prism-data-table > tbody > tr > td:nth-child(n+3),
.scheme-panel-table.prism-data-table > tbody > tr > td:nth-child(n+4){
  text-align:center;
}

.scheme-matrix-table.prism-data-table > tbody > tr > td{
  text-align:center;
}

.scheme-matrix-table.prism-data-table > tbody > tr > td:first-child,
.scheme-matrix-table.prism-data-table > thead > tr > th:first-child{
  position:sticky;
  left:0;
}

.scheme-matrix-table.prism-data-table > thead > tr > th:first-child{
  z-index:3;
}

.scheme-matrix-table.prism-data-table > tbody > tr > td:first-child{
  z-index:2;
  background:#fffdfa;
}

.scheme-panel-action-cell{
  text-align:center;
}

.scheme-inline-link{
  padding:6px 12px;
  border:1px solid rgba(207,31,46,.22);
  border-radius:999px;
  background:#fff8f5;
}

.scheme-table-total td{
  font-weight:700 !important;
  color:#1b2a42 !important;
}

.scheme-table-total td:first-child,
.scheme-table-total td:nth-child(2){
  color:#7c5b2e !important;
}

@media (max-width: 1199.98px){
  .scheme-dashboard-grid{
    grid-template-columns:repeat(2, minmax(180px, 1fr));
  }

  .scheme-retailer-card{
    grid-column:1 / -1;
  }
}

@media (max-width: 767.98px){
  .scheme-dashboard-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .scheme-retailer-card{
    grid-template-columns:72px 1fr;
  }

  .scheme-retailer-card-icon,
  .scheme-retailer-card-copy{
    min-height:92px;
  }

  .scheme-retailer-card-label{
    font-size:13px;
  }

  .scheme-retailer-card-value{
    font-size:30px;
  }

  .scheme-dashboard-actions,
  .scheme-matrix-head,
  .scheme-list-head,
  .scheme-list-tools,
  .scheme-search-form{
    flex-direction:column;
    align-items:flex-start;
  }

  .scheme-search-form{
    width:100%;
  }

  .scheme-search-form .form-control{
    min-width:0;
    width:100%;
  }

  .scheme-search-btn{
    width:100%;
  }

  .scheme-view-details,
  .scheme-back-link,
  .scheme-inline-link{
    font-size:14px;
  }

  .scheme-stat-circle{
    width:min(100%, 170px);
  }

  .scheme-table.prism-data-table > thead > tr > th,
  .scheme-table.prism-data-table > tbody > tr > td{
    font-size:13px;
    padding:12px 12px;
  }
}

/* CRUD Theme */
:root{
  --crud-bg-1:#fff9ed;
  --crud-bg-2:#fff5f7;
  --crud-surface:#ffffff;
  --crud-border:#eddcc2;
  --crud-muted:#6b7280;
  --crud-ink:#141a2b;
  --crud-danger:#cf1f2e;
  --crud-danger-2:#ef5a2a;
  --crud-info:#2563eb;
}

.crud-ui .crud-main{
  background:
    radial-gradient(800px circle at 6% 10%, rgba(239,90,42,.14), transparent 58%),
    radial-gradient(720px circle at 96% 0%, rgba(207,31,46,.12), transparent 56%),
    linear-gradient(180deg, var(--crud-bg-1) 0%, var(--crud-bg-2) 100%);
}

.crud-ui .crud-container{
  max-width: none;
}

.crud-ui .py-3{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3{
  background: linear-gradient(120deg, rgba(255,255,255,.96), rgba(255,247,234,.95));
  border: 1px solid var(--crud-border);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 10px 30px rgba(17,24,39,.05);
}

.crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3 h1{
  color: var(--crud-ink);
  letter-spacing: .01em;
}

.crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3 .text-muted{
  color: var(--crud-muted) !important;
}

.crud-ui .alert{
  border-radius: 14px;
  border-width: 1px;
}

.crud-ui .alert-info{
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.crud-ui .alert-success{
  background: #ecfdf3;
  border-color: #bbf7d0;
  color: #15803d;
}

.crud-ui .card.shadow-sm{
  border: 1px solid var(--crud-border) !important;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,250,242,.96) 100%);
  box-shadow: 0 18px 40px rgba(15,23,42,.08) !important;
  overflow: hidden;
}

.crud-ui .card.shadow-sm:has(.prism-data-table),
.crud-ui .card.shadow-sm:has(.points-summary-table),
.crud-ui .card.shadow-sm:has(.reward-checkout-table){
  border-color: rgba(234, 220, 198, .9) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,250,242,.96) 100%) !important;
  box-shadow: 0 20px 42px rgba(15,23,42,.08) !important;
}

.crud-ui .card .card-body{
  padding: 1.2rem 1.25rem;
}

.crud-ui .card .card-body.border-bottom{
  border-bottom: 1px solid #f2e6d3 !important;
  background: linear-gradient(180deg, #fffaf2 0%, #fff 100%);
}

.crud-ui .card.shadow-sm:has(.prism-data-table) .card-body.border-bottom,
.crud-ui .card.shadow-sm:has(.points-summary-table) .card-body.border-bottom,
.crud-ui .card.shadow-sm:has(.reward-checkout-table) .card-body.border-bottom{
  padding: 1rem 1.25rem 1rem;
  background: linear-gradient(180deg, #fffaf2 0%, #fff7ec 100%);
  border-bottom: 1px solid rgba(234, 220, 198, .8) !important;
}

.crud-ui .card .card-footer{
  border-top: 1px solid #f2e6d3 !important;
  background: #fffbf4 !important;
  padding: 1rem 1.25rem;
}

.crud-ui .card.shadow-sm:has(.prism-data-table) .card-footer,
.crud-ui .card.shadow-sm:has(.points-summary-table) .card-footer,
.crud-ui .card.shadow-sm:has(.reward-checkout-table) .card-footer{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  background: linear-gradient(180deg, rgba(255,255,255,.5) 0%, #fffaf2 100%) !important;
  border-top: 1px solid rgba(234, 220, 198, .8) !important;
}

.crud-ui .card-header{
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(234, 220, 198, .84);
  background: linear-gradient(180deg, #fffaf2 0%, #fff6ea 100%);
  color: #2f3a4c;
  font-size: 1.02rem;
  font-weight: 700;
}

.crud-ui .card:not(:has(.prism-data-table)):not(:has(.points-summary-table)):not(:has(.reward-checkout-table)) .card-body{
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,250,242,.94) 100%);
}

.crud-ui .form-label{
  font-weight: 600;
  color: #1f2937;
  font-size: .9rem;
}

.crud-ui .form-control,
.crud-ui .form-select{
  border-radius: 12px;
  border: 1px solid #dccab1;
  min-height: 42px;
  font-size: .92rem;
  box-shadow: none;
}

.crud-ui textarea.form-control{
  min-height: 100px;
}

.crud-ui .form-control:focus,
.crud-ui .form-select:focus{
  border-color: #f36d33;
  box-shadow: 0 0 0 .2rem rgba(243,109,51,.14);
}

.crud-ui .form-check-input{
  width: 1.05rem;
  height: 1.05rem;
  border-color: #c4b198;
}

.crud-ui .form-check-input:checked{
  background-color: var(--crud-danger);
  border-color: var(--crud-danger);
}

.crud-ui .btn{
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  padding: .58rem 1rem;
}

.crud-ui .btn-primary,
.crud-ui .btn-danger{
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--crud-danger) 0%, var(--crud-danger-2) 100%);
}

.crud-ui .btn-primary:hover,
.crud-ui .btn-primary:focus,
.crud-ui .btn-danger:hover,
.crud-ui .btn-danger:focus{
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(207,31,46,.2);
}

.crud-ui .btn-outline-primary{
  color: var(--crud-info);
  border-color: rgba(37,99,235,.4);
  background: #f8fbff;
}

.crud-ui .btn-outline-primary:hover,
.crud-ui .btn-outline-primary:focus{
  color: #fff;
  background: #2563eb;
  border-color: #2563eb;
}

.crud-ui .btn-outline-secondary{
  color: #475569;
  border-color: #d8dee8;
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  box-shadow: 0 6px 14px rgba(15,23,42,.04);
}

.crud-ui .btn-outline-secondary:hover,
.crud-ui .btn-outline-secondary:focus{
  color: #111827;
  background: #ffffff;
}

.crud-ui .btn-outline-danger{
  color: #b91c1c;
  border-color: rgba(185,28,28,.36);
  background: #fff5f5;
}

.crud-ui .btn-outline-danger:hover,
.crud-ui .btn-outline-danger:focus{
  color: #fff;
  background: #dc2626;
  border-color: #dc2626;
}

.crud-ui .table-responsive{
  padding: 12px 0 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.crud-ui .card.shadow-sm:has(.prism-data-table) .table-responsive,
.crud-ui .card.shadow-sm:has(.points-summary-table) .table-responsive,
.crud-ui .card.shadow-sm:has(.reward-checkout-table) .table-responsive{
  padding-left: 0;
  padding-right: 0;
}

.crud-ui .table{
  --bs-table-bg: transparent;
  margin-bottom: 0;
}

.crud-ui .table thead th{
  font-size: .76rem;
}

.crud-ui .table:not(.prism-data-table) thead th{
  border-bottom: 1px solid #ecdcc6;
  color: #374151;
  background: #fffaf2;
  font-size: .8rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  vertical-align: middle;
}

.crud-ui .table tbody td{
  border-color: #f3e8d8;
  vertical-align: top;
  padding-top: .85rem;
  padding-bottom: .85rem;
}

.crud-ui .table tbody tr:hover{
  background: #fffcf7;
}

.crud-ui .badge{
  border-radius: 999px;
  padding: .38rem .62rem;
  font-size: .72rem;
  font-weight: 600;
}

.crud-ui .text-danger{
  color: #d92b2b !important;
}

.crud-ui .pagination{
  margin-bottom: 0;
}

.crud-ui .page-link{
  border-radius: 9px;
  margin: 0 2px;
  border-color: #e5d8c3;
  color: #374151;
}

.crud-ui .page-item.active .page-link{
  background: linear-gradient(135deg, var(--crud-danger) 0%, var(--crud-danger-2) 100%);
  border-color: transparent;
}

.crud-ui .invalid-feedback{
  font-size: .79rem;
}

.crud-ui .card,
.crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3{
  animation: crudFadeUp .32s ease-out;
}

@keyframes crudFadeUp{
  from{
    transform: translateY(6px);
    opacity: 0;
  }
  to{
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 992px){
  .crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3{
    padding: 14px;
  }

  .crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3 .d-flex.gap-2{
    width: 100%;
  }

  .crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3 .d-flex.gap-2 .btn{
    flex: 1 1 auto;
  }
}

@media (max-width: 767.98px){
  .crud-ui .crud-container{
    padding-left: .65rem;
    padding-right: .65rem;
  }

  .crud-ui .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mb-3 h1{
    font-size: 1.12rem;
  }

  .crud-ui .card .card-body{
    padding: .9rem;
  }

  .crud-ui .table-responsive{
    overflow: visible;
  }

  .crud-ui .table{
    min-width: 0 !important;
  }

  .crud-ui .table thead{
    display: none;
  }

  .crud-ui .table tbody tr{
    display: block;
    border: 1px solid #efdeca;
    border-radius: 14px;
    margin: 0 0 .75rem;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15,23,42,.05);
    padding: .25rem;
  }

  .crud-ui .table tbody tr:last-child{
    margin-bottom: 0;
  }

  .crud-ui .table tbody td{
    display: block;
    border: 0 !important;
    border-bottom: 1px dashed #f0e3d1 !important;
    padding: .55rem .55rem;
    width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .crud-ui .table tbody td:last-child{
    border-bottom: 0 !important;
  }

  .crud-ui .table tbody td::before{
    content: attr(data-label);
    display: block;
    color: #8b5e34;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: .35rem;
  }

  .crud-ui .table tbody td[colspan]{
    display: block;
    text-align: center;
    border-bottom: 0 !important;
  }

  .crud-ui .table tbody td[colspan]::before{
    display: none;
  }

  .crud-ui .table tbody td.text-end{
    display: flex;
    justify-content: flex-start;
    gap: .5rem;
    flex-wrap: wrap;
    align-items: center;
  }

  .crud-ui .table tbody td.text-end::before{
    width: 100%;
    margin-bottom: .25rem;
  }

  .crud-ui .table tbody td.text-end form{
    margin: 0;
  }

  .crud-ui .table tbody td.text-center{
    justify-content: flex-start;
  }

  .crud-ui .table tbody td .text-muted,
  .crud-ui .table tbody td .small{
    white-space: normal;
  }
}

/* Header/Nav responsive fixes */
@media (max-width: 992px){
  .top-strip{
    padding: 8px 14px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
    font-size: 12px;
    line-height: 1.35;
  }

  .public-mainbar{
    padding: 14px 14px 16px;
  }

  .public-mainbar-inner{
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 14px;
    justify-items: stretch;
    align-items: center;
    text-align: left;
  }

  .public-mainbar-left,
  .public-mainbar-center,
  .public-mainbar-mobile-logo,
  .public-mainbar-right{
    width: auto;
    grid-column: auto;
  }

  .public-mainbar-left{
    order: 1;
    justify-self: start;
  }

  .public-mainbar-center{
    order: 2;
    justify-self: center;
    position: relative;
    width: 48px;
    display: flex;
    justify-content: center;
  }

  .public-mainbar-mobile-logo{
    order: 3;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    justify-self: end;
  }

  .public-mainbar-right{
    order: 4;
    width: 100%;
    max-width: 420px;
    justify-self: center;
    grid-column: 1 / -1;
  }

  .public-mainbar-right{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .public-userbox{
    align-items: center;
    text-align: center;
    max-width: 100%;
  }

  .public-user-meta{
    justify-content: center;
    text-align: center;
    gap: 8px;
  }

  .public-nav-toggle{
    display: inline-flex;
    margin: 0;
  }

  .public-mainbar-center{
    justify-content: center;
  }

  .public-username{
    max-width: 100%;
  }

  .public-header-links{
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: 100%;
  }

  .public-ext-btn{
    min-width: 145px;
    font-size: 12px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .public-left-logo{
    height: 82px;
  }

  .public-right-logo{
    height: 74px;
    margin-left: 0;
  }

  .public-mainbar-mobile-logo .public-right-logo{
    display: block;
    height: 74px;
  }

  .public-mainbar-right > .public-right-logo{
    display: none;
  }

  .public-links-shell{
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    z-index: 25;
    width: min(100vw - 28px, 420px);
  }

  .public-links-shell.collapse:not(.show){
    display: none;
  }

  .public-links-shell.show{
    display: block;
  }

  .public-links{
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    font-size: 13px;
    background: #fff;
    border: 1px solid #e9d8c4;
    border-radius: 14px;
    box-shadow: 0 20px 44px rgba(15,23,42,.14);
    overflow: hidden;
  }

  .public-links > a,
  .public-links > .dropdown,
  .public-links > .reports-nav-item{
    width: 100%;
  }

  .public-links > .reports-nav-item{
    display: none !important;
  }

  .public-links a,
  .public-link-disabled,
  .public-links .dropdown-toggle,
  .reports-nav-item .reports-nav-link,
  .reports-nav-item .reports-nav-toggle{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    border: 0;
    border-bottom: 1px solid #efe3d1;
    border-radius: 0;
    background: #fff;
    font-size: 13px;
    line-height: 1.2;
  }

  .public-links a.active,
  .public-links .dropdown-toggle.active,
  .reports-nav-link.active{
    background: rgba(225,29,46,.08);
    color: var(--prism-primary);
  }

  .public-link-disabled{
    border-bottom: 1px solid #efe3d1;
    padding: 10px 14px;
  }

  .public-links > :last-child > a,
  .public-links > a:last-child{
    border-bottom: 0;
  }

  .public-links .dropdown:not(.reports-nav-item){
    display: block !important;
  }

  .public-links .dropdown-menu{
    position: static !important;
    transform: none !important;
    max-width: none;
    margin: 0;
    border: 0;
    border-top: 1px solid #efe3d1;
    border-radius: 0;
    box-shadow: none;
    background: #fdfaf2;
  }

  .public-links .dropdown-item{
    white-space: normal;
    line-height: 1.3;
    padding: 10px 18px;
  }

  .public-links-retailer{
    gap: 0;
  }

  .points-summary-page{
    margin-top: 10px;
  }

  .points-summary-header h1{
    font-size: 30px;
  }

  .reports-nav-item .reports-nav-link{
    flex: 1 1 auto;
    border-right: 1px solid #efe3d1;
  }

  .reports-nav-item .reports-nav-toggle{
    width: 46px;
    justify-content: center;
    padding: 10px 0;
  }

  .public-mainbar-left .text-decoration-none,
  .public-mainbar-mobile-logo{
    display: flex;
    align-items: center;
  }

  .reports-group-title{
    font-size: 24px;
    margin-bottom: 14px;
  }

  .report-card-title{
    font-size: 17px;
  }

  .module-page-header{
    margin-bottom: 10px;
  }

  .module-page-card .card-body{
    padding: 14px;
  }

  .earning-points-form{
    padding: 11px;
    border-radius: 12px;
  }

  .earning-points-head{
    margin-bottom: 10px;
    padding: 8px;
  }

  .earning-upload-block,
  .earning-after-upload{
    padding: 10px;
  }

  .earning-points-form .upload-actions-label{
    min-height: 36px;
  }
}

@media (max-width: 575.98px){
  :root{
    --site-edge-gap:8px;
  }

  .top-strip{
    padding: 7px 10px;
    font-size: 11px;
  }

  .public-mainbar{
    padding: 10px 10px 14px;
  }

  .public-mainbar-inner{
    gap: 10px;
  }

  .public-left-logo{
    height: 68px;
  }

  .public-right-logo{
    height: 58px;
  }

  .public-mainbar-mobile-logo .public-right-logo{
    height: 58px;
  }

  .public-ext-btn{
    min-width: 128px;
    font-size: 11px;
    border-radius: 9px;
  }

  .public-logout-btn{
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }

  .public-user-meta{
    font-size: 12px;
  }

  .point-statement-header{
    align-items: stretch;
  }

  .point-statement-balance{
    min-width: 0;
    text-align: left;
  }

  .point-statement-balance strong{
    font-size: 22px;
  }

  .points-summary-header h1{
    font-size: 24px;
  }

  .point-statement-table tbody td{
    padding: 10px 12px;
    font-size: 12px;
  }

  .points-summary-header h1{
    font-size: 24px;
  }

  .points-summary-table th,
  .points-summary-table td{
    padding: 8px 10px;
    font-size: 12px;
  }

  .public-links a,
  .public-links .dropdown-toggle,
  .reports-nav-item .reports-nav-link,
  .reports-nav-item .reports-nav-toggle{
    font-size: 12px;
    padding: 10px 12px;
  }

  .public-links-shell{
    width: min(100vw - 20px, 392px);
  }

  .module-page-card{
    border-radius: 12px;
  }

  .module-page-card .card-body{
    padding: 10px;
  }

  .earning-points-form{
    padding: 10px;
    border-radius: 10px;
  }

  .earning-points-head-title{
    font-size: 12px;
  }

  .earning-points-head-subtitle{
    font-size: 11px;
  }

  .earning-points-form .btn{
    min-height: 40px;
  }

  .home-hero{
    padding: 16px 0;
  }

  .home-banner{
    height: 240px;
  }

  .reports-dashboard{
    gap: 30px;
  }

  .reports-group-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .login-card{
    width: 100%;
    padding: 18px;
  }

  .login-card h2{
    margin-bottom: 16px;
    font-size: 1.4rem;
  }

  .login-card input{
    padding: 12px;
    margin-bottom: 12px;
  }
}

.rewards-page{
  padding-top: 10px;
}

.rewards-toolbar{
  background:
    radial-gradient(circle at top left, rgba(245, 208, 122, .22), transparent 30%),
    linear-gradient(180deg, #fffdf8 0%, #ffffff 26%);
  border: 1px solid #ead6bf;
  border-radius: 22px;
  padding: 18px;
  margin-bottom: 24px;
  box-shadow: 0 20px 44px rgba(15,23,42,.10);
}

.rewards-toolbar-form{
  margin: 0;
}

.rewards-toolbar-grid{
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) minmax(320px, 1.55fr) minmax(190px, .9fr) auto auto;
  gap: 14px;
  align-items: center;
}

.rewards-toolbar-field{
  min-width: 0;
}

.rewards-toolbar .form-control,
.rewards-toolbar .form-select{
  min-height: 48px;
  border: 1px solid #dccab1;
  border-radius: 12px;
  padding-left: 16px;
  padding-right: 16px;
  font-weight: 500;
  background: #fffdf9;
  box-shadow: none;
}

.rewards-toolbar-cart{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 12px;
  font-weight: 600;
  background: linear-gradient(135deg, #f6e5c7 0%, #efd8a8 100%);
  color: #6b4a1f;
  border: 1px solid #e5c48c;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 12px 24px rgba(143, 75, 12, 0.12);
}

.rewards-toolbar-cart strong{
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.rewards-toolbar-cart.is-empty strong{
  background: rgba(255,255,255,.58);
}

.rewards-sort{
  min-width: 0;
}

.rewards-note{
  margin: 0 0 24px;
  text-align: right;
  font-size: 18px;
  font-weight: 700;
  color: #202124;
}

.rewards-note span{
  color: #f73030;
}

.rewards-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.rewards-toolbar-actions{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-self: start;
}

.rewards-toolbar-actions .btn{
  min-height: 48px;
  border-radius: 12px;
  font-weight: 600;
  padding-inline: 20px;
  min-width: 88px;
}

.rewards-toolbar-clear{
  text-align:center;
}

.rewards-toolbar-filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dccab1;
  background:#fffdf9;
  color:#6b4a1f;
  box-shadow:0 10px 18px rgba(15,23,42,.05);
}

.rewards-toolbar-filter-btn:hover,
.rewards-toolbar-filter-btn:focus{
  background:#fff4de;
  border-color:#d9b06c;
  color:#6b4a1f;
}

.rewards-toolbar-cart-slot{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.rewards-toolbar-meta{
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  color: #5b4a34;
  font-size: 14px;
  font-weight: 600;
}

.rewards-toolbar-warning{
  color: #8b5e34;
}

.reward-card{
  position:relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-bottom: 3px solid #f7a700;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(17,24,39,.08);
}

.reward-card-info{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:3;
  display:flex;
  justify-content:flex-end;
}

.reward-card-info-trigger{
  width:34px;
  height:34px;
  border:1px solid #ead6bf;
  border-radius:999px;
  background:linear-gradient(180deg, #fffaf2 0%, #f7ead3 100%);
  color:#9b6b2e;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(143, 75, 12, .12);
}

.reward-card-info-trigger:hover{
  background:#fff4de;
}

.reward-card-info-popover{
  position:absolute;
  top:46px;
  right:0;
  width:100%;
  padding:0;
  background:#fffdfa;
  border:1px solid #ead6bf;
  border-radius:16px;
  box-shadow:0 18px 38px rgba(17,24,39,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  pointer-events:none;
}

.reward-card-info:hover .reward-card-info-popover,
.reward-card-info.is-open .reward-card-info-popover{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.reward-card-info-split{
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
}

.reward-card-info-pane{
  min-height:118px;
  display:flex;
}

.reward-card-info-pane-note{
  background:linear-gradient(180deg, #fff8ef 0%, #f8ead2 100%);
  color:#4b3a24;
  border-right:1px solid #ead6bf;
}

.reward-card-info-pane-description{
  background:#fffdfa;
  color:#374151;
}

.reward-card-info-copy{
  padding:16px;
  font-size:15px;
  line-height:1.55;
  white-space:pre-line;
  width:100%;
}

.reward-card-info-copy-note{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:600;
}

.reward-card-info-copy-description{
  display:flex;
  align-items:center;
}

.reward-card-media{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 20px;
}

.reward-card-image{
  max-width: 100%;
  max-height: 180px;
  object-fit: contain;
}

.reward-card-placeholder{
  color: #8b8f97;
  font-size: 14px;
}

.reward-card-body{
  padding: 0 16px 18px;
  text-align: center;
}

.reward-card-name{
  color: #31343a;
  font-size: 14px;
  line-height: 1.6;
  min-height: 68px;
}

.reward-card-category{
  color: #787d86;
  font-size: 12px;
  margin-top: 8px;
}

.reward-card-footer{
  margin-top: auto;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 2px solid #cfcfcf;
}

.reward-card-points{
  font-size: 16px;
  font-weight: 700;
  color: #2b2d31;
}

.reward-card-cart-form{
  margin: 0;
}

.reward-card-cart-btn{
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #f7a700 0%, #ff8c00 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 24px rgba(247, 167, 0, 0.28);
}

.reward-card-cart-btn:hover{
  transform: translateY(-1px);
}

.reward-card-cart-btn.is-disabled,
.reward-card-cart-btn:disabled{
  background: #d5d8de;
  box-shadow: none;
  cursor: not-allowed;
}

.rewards-cart-page{
  width: 100%;
}

.rewards-cart-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.rewards-cart-title{
  margin: 0;
  font-size: 32px;
  font-weight: 800;
  color: #1f2937;
}

.rewards-cart-subtitle{
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 14px;
}

.rewards-cart-points{
  padding: 14px 18px;
  border-radius: 14px;
  background: #fff8ec;
  border: 1px solid #f3dec2;
  font-weight: 700;
  color: #8d1b25;
  white-space: nowrap;
}

.rewards-cart-card{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 20px;
  box-shadow: 0 18px 36px rgba(17,24,39,.08);
  padding: 24px;
}

.rewards-cart-media{
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fffaf5;
  border-radius: 16px;
  border: 1px solid #f3e7d5;
  padding: 18px;
}

.rewards-cart-image{
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
}

.rewards-cart-placeholder{
  color: #8b8f97;
  text-align: center;
}

.rewards-cart-name{
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
}

.rewards-cart-category{
  margin-top: 8px;
  color: #6b7280;
  font-size: 14px;
}

.rewards-cart-meta{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 18px;
  font-weight: 600;
  color: #8d1b25;
}

.rewards-cart-actions{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 1199.98px){
  .rewards-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .rewards-toolbar-grid{
    grid-template-columns: 1fr 1fr;
  }

  .rewards-note{
    text-align: left;
    font-size: 16px;
  }

  .rewards-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rewards-toolbar-actions{
    justify-content: flex-start;
  }

  .rewards-toolbar-cart-slot{
    justify-content:flex-start;
  }

  .rewards-cart-card{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px){
  .rewards-toolbar{
    padding: 12px;
  }

  .rewards-toolbar-grid{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .rewards-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .reward-card-media{
    min-height: 180px;
  }

  .reward-card-info-popover{
    top:54px;
    right:0;
    width:100%;
  }

  .reward-card-info-split{
    grid-template-columns:1fr;
  }

  .reward-card-info-pane-note{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.55);
  }

  .reward-card-footer{
    align-items: center;
  }

  .rewards-cart-head{
    flex-direction: column;
    align-items: flex-start;
  }
}

.cmo-dashboard-shell{
  display:grid;
  grid-template-columns: 250px minmax(0, 1fr) 290px;
  gap: 22px;
  align-items:start;
}

.cmo-sidebar-card,
.cmo-toolbar-card,
.cmo-panel-card,
.cmo-rank-card{
  background:#fff;
  border:1px solid #ecd8c3;
  border-radius:18px;
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}

.cmo-sidebar-card{
  overflow:hidden;
  position:sticky;
  top:140px;
}

.cmo-sidebar-title,
.cmo-rank-head{
  margin:0;
  padding:14px 16px;
  background:linear-gradient(135deg, var(--prism-primary) 0%, #ff6a00 100%);
  color:#fff;
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.cmo-sidebar-links{
  display:flex;
  flex-direction:column;
}

.cmo-sidebar-link{
  display:block;
  padding:12px 16px;
  border-top:1px solid rgba(255,255,255,.18);
  background:#ffab14;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  line-height:1.3;
  transition:background-color .18s ease, transform .18s ease;
}

.cmo-sidebar-link:hover{
  background:#ff9800;
  color:#fff;
}

.cmo-sidebar-link.is-active{
  background:var(--prism-primary);
}

.cmo-sidebar-link.is-disabled{
  background:#ffb83b;
  color:rgba(255,255,255,.88);
  cursor:not-allowed;
}

.cmo-main-column,
.cmo-aside-column{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.cmo-toolbar-card{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
}

.cmo-page-eyebrow{
  color:var(--prism-primary);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}

.cmo-page-title{
  margin:0;
  font-size:30px;
  font-weight:700;
  color:#1f2937;
}

.cmo-page-subtitle{
  margin:8px 0 0;
  color:#6b7280;
}

.cmo-fy-form{
  width:min(280px, 100%);
}

.cmo-summary-grid,
.cmo-bottom-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.cmo-panel-card{
  padding:18px;
}

.cmo-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.cmo-panel-title{
  margin:0;
  font-size:24px;
  font-weight:700;
  color:#1f2937;
}

.cmo-panel-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:#fbe8dc;
  color:#b54308;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}

.cmo-metric-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.cmo-metric-grid-tight{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.cmo-metric-card{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:108px;
  padding:18px;
  border-radius:16px;
  color:#fff;
  box-shadow:0 12px 24px rgba(225,29,46,.18);
}

.cmo-metric-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(255,255,255,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}

.cmo-metric-label{
  font-size:13px;
  font-weight:600;
  opacity:.95;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.cmo-metric-value{
  font-size:38px;
  font-weight:700;
  line-height:1;
}

.tier-platinum,.status-active{ background:linear-gradient(135deg, #ef4444 0%, #dc2626 100%); }
.tier-gold,.status-registered{ background:linear-gradient(135deg, #fb923c 0%, #ea580c 100%); }
.tier-silver{ background:linear-gradient(135deg, #f97316 0%, #fb7185 100%); }
.tier-bronze{ background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%); }
.tier-diamond{ background:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); }
.tier-default{ background:linear-gradient(135deg, #ef4444 0%, #f97316 100%); }

.cmo-bar-chart{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:14px;
  align-items:end;
  min-height:270px;
}

.cmo-bar-chart-logins{
  min-height:230px;
}

.cmo-bar-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}

.cmo-bar-value{
  font-size:12px;
  font-weight:600;
  color:#374151;
}

.cmo-bar-track{
  width:100%;
  height:180px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 4px;
  border-radius:14px 14px 8px 8px;
  background:linear-gradient(180deg, rgba(255,255,255,.4) 0%, rgba(244,232,216,.75) 100%);
  border:1px solid #efe0cf;
}

.cmo-bar-chart-logins .cmo-bar-track{
  height:150px;
}

.cmo-bar-fill{
  width:100%;
  border-radius:12px 12px 4px 4px;
  opacity:.78;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 12px 20px rgba(15,23,42,.08);
}

.cmo-bar-label{
  font-size:11px;
  text-align:center;
  color:#6b7280;
}

.cmo-pie-layout{
  display:grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap:24px;
  align-items:center;
}

.cmo-pie-chart{
  width:220px;
  height:220px;
  border-radius:999px;
  margin:0 auto;
  border:10px solid #fff;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.05), 0 16px 30px rgba(15,23,42,.10);
}

.cmo-legend-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.cmo-legend-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.cmo-legend-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  margin-top:5px;
  flex:0 0 auto;
}

.cmo-legend-label{
  font-size:14px;
  font-weight:600;
  color:#1f2937;
}

.cmo-legend-value{
  font-size:13px;
  color:#6b7280;
}

.cmo-rank-card{
  overflow:hidden;
}

.cmo-rank-list{
  display:flex;
  flex-direction:column;
}

.cmo-rank-item{
  display:flex;
  gap:12px;
  padding:14px 16px;
  background:#ffab14;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.16);
}

.cmo-rank-item:nth-child(even){
  background:#ff9b00;
}

.cmo-rank-index{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#fff;
  color:#ff9800;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  flex:0 0 auto;
}

.cmo-rank-name{
  font-size:14px;
  font-weight:700;
  line-height:1.3;
}

.cmo-rank-meta{
  font-size:12px;
  line-height:1.35;
  opacity:.96;
}

.cmo-empty-note{
  padding:18px 16px;
  color:#fff;
  background:#ffab14;
}

@media (max-width: 1300px){
  .cmo-dashboard-shell{
    grid-template-columns: 220px minmax(0, 1fr) 260px;
  }

  .cmo-bar-chart{
    grid-template-columns:repeat(6, minmax(0, 1fr));
    row-gap:20px;
  }
}

@media (max-width: 992px){
  .cmo-dashboard-shell{
    grid-template-columns:1fr;
  }

  .cmo-sidebar-card,
  .cmo-aside-column{
    position:static;
  }

  .cmo-toolbar-card,
  .cmo-pie-layout{
    grid-template-columns:1fr;
    display:grid;
  }

  .cmo-summary-grid,
  .cmo-bottom-grid,
  .cmo-metric-grid,
  .cmo-metric-grid-tight{
    grid-template-columns:1fr;
  }

  .cmo-bar-chart{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }

  .cmo-page-title{
    font-size:26px;
  }
}

@media (max-width: 575.98px){
  .cmo-dashboard{
    padding-top:10px;
  }

  .cmo-toolbar-card,
  .cmo-panel-card{
    padding:14px;
  }

  .cmo-page-title{
    font-size:22px;
  }

  .cmo-panel-title{
    font-size:18px;
  }

  .cmo-bar-chart{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
  }

  .cmo-bar-track{
    height:130px;
  }

  .cmo-bar-chart-logins .cmo-bar-track{
    height:110px;
  }

  .cmo-pie-chart{
    width:180px;
    height:180px;
  }

.cmo-rank-item,
.cmo-sidebar-link{
  padding:12px 14px;
}
}

.dashboard-mode-dealer .cmo-toolbar-card{
  border-top:4px solid #ef4444;
}

.dashboard-mode-retailer .cmo-toolbar-card{
  border-top:4px solid #f97316;
}

.dashboard-mode-dealer-channel .cmo-toolbar-card{
  border-top:4px solid #dc2626;
  background:linear-gradient(180deg, #fff7ed 0%, #fff 100%);
}

.dashboard-mode-retailer-channel .cmo-toolbar-card{
  border-top:4px solid #ea580c;
  background:linear-gradient(180deg, #fff7ed 0%, #fff 100%);
}

.dashboard-mode-retailer .status-earned{
  background:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.dashboard-mode-retailer .status-redeemed{
  background:linear-gradient(135deg, #fb923c 0%, #f97316 100%);
}

.dashboard-mode-retailer-channel .status-earned,
.dashboard-mode-dealer-channel .status-active{
  background:linear-gradient(135deg, #dc2626 0%, #ea580c 100%);
}

.dashboard-mode-retailer-channel .status-redeemed,
.dashboard-mode-dealer-channel .status-registered{
  background:linear-gradient(135deg, #f97316 0%, #f59e0b 100%);
}

.dashboard-mode-retailer .cmo-sidebar-title,
.dashboard-mode-retailer .cmo-rank-head{
  background:linear-gradient(135deg, #f97316 0%, #fb923c 100%);
}

.dashboard-mode-retailer-channel .cmo-sidebar-title,
.dashboard-mode-retailer-channel .cmo-rank-head{
  background:linear-gradient(135deg, #ea580c 0%, #fb923c 100%);
}

.dashboard-mode-dealer-channel .cmo-sidebar-title,
.dashboard-mode-dealer-channel .cmo-rank-head{
  background:linear-gradient(135deg, #dc2626 0%, #f97316 100%);
}

.reward-checkout-page{
  width:100%;
}

.reward-checkout-shell{
  width:100%;
  max-width:none;
  padding:0 18px;
}

.reward-checkout-shell-narrow{
  max-width:720px;
  margin:0 auto;
}

.reward-checkout-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.reward-checkout-head-center{
  justify-content:center;
  text-align:center;
}

.reward-checkout-kicker{
  margin:0 0 4px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ef4444;
}

.reward-checkout-title{
  margin:0;
  font-size:34px;
  font-weight:700;
  color:#1f2937;
}

.reward-checkout-points{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:16px;
  background:linear-gradient(135deg, #fff7ed 0%, #ffffff 100%);
  border:1px solid rgba(239,68,68,.16);
  color:#b91c1c;
  font-weight:700;
}

.reward-checkout-alert{
  border-radius:18px;
  margin-bottom:18px;
}

.reward-checkout-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  box-shadow:0 20px 45px rgba(15,23,42,.06);
  padding:26px;
}

.reward-checkout-section-title{
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#374151;
  margin-bottom:12px;
}

.reward-checkout-table-wrap{
  overflow:auto;
  padding:10px 6px 6px;
  border:0;
  border-radius:0;
  background: transparent;
  box-shadow:none;
}

.reward-checkout-table{
  width:100%;
  min-width:640px;
  border-collapse:separate;
  border-spacing:0 6px;
  margin:0;
}

.reward-checkout-table tbody td{
  padding:16px 18px;
  color:#374151;
  font-size:14px;
  vertical-align:middle;
}

.reward-table-product{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:280px;
}

.reward-table-product-media{
  width:72px;
  height:72px;
  flex:0 0 72px;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(180deg, #fff 0%, #fff7ed 100%);
  border:1px solid rgba(249,115,22,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
}

.reward-table-product-media img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.reward-table-product-placeholder{
  font-size:11px;
  font-weight:600;
  color:#9ca3af;
  text-align:center;
}

.reward-table-product-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.reward-table-product-name{
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  color:#111827;
}

.reward-table-product-meta{
  display:inline-flex;
  flex-wrap:wrap;
  gap:4px;
  font-size:12px;
  font-weight:600;
  color:#b45309;
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.14);
  border-radius:999px;
  padding:6px 10px;
}

.reward-checkout-summary{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:22px 0;
}

.reward-summary-chip{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-radius:18px;
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.18);
  color:#7c2d12;
}

.reward-summary-chip span{
  font-size:13px;
  font-weight:600;
}

.reward-summary-chip strong{
  font-size:18px;
}

.reward-checkout-actions{
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.reward-checkout-actions-center{
  justify-content:center;
}


.my-orders-shell{
  padding:0 18px 24px;
}

.my-orders-head{
  margin-bottom:18px;
}

.my-orders-card{
  padding:24px;
}

.my-orders-table{
  min-width:1500px;
}

.my-orders-table tbody td{
  vertical-align:middle;
}

.my-orders-product-name{
  min-width:260px;
  white-space:normal;
  line-height:1.5;
}

.my-orders-status{
  font-weight:700;
  color:#334155;
}

.my-orders-status-meta{
  margin-top:4px;
  font-size:12px;
  color:#6b7280;
  line-height:1.45;
}

.my-orders-image-cell{
  width:92px;
  height:92px;
  margin:0 auto;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg, #fff 0%, #fff7ed 100%);
  border:1px solid rgba(249,115,22,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}

.my-orders-image-cell img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.my-orders-ack{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.16);
  color:#9a3412;
  font-weight:600;
  text-align:center;
  line-height:1.4;
}


.tse-approval-shell{
  padding:0 18px 24px;
}

.tse-approval-card{
  padding:24px;
}

.tse-approval-table{
  min-width:1280px;
}

.tse-approval-product{
  min-width:260px;
  white-space:normal;
  line-height:1.45;
}

.tse-approval-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:160px;
}

.tse-approval-actions form{
  margin:0;
}

.reward-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 20px;
}

.reward-form-field-wide{
  grid-column:1 / -1;
}

.reward-address-choice-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  border:1px solid rgba(239,68,68,.18);
  border-radius:18px;
  overflow:hidden;
}

.reward-address-choice{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 14px;
  background:#fff;
  border-right:1px solid rgba(239,68,68,.14);
  cursor:pointer;
  font-weight:600;
  color:#374151;
}

.reward-address-choice:last-child{
  border-right:none;
}

.reward-address-choice input{
  margin:0;
}

.reward-otp-card{
  background:#fff;
  border:1px solid #ead6bf;
  border-radius:20px;
  box-shadow:0 18px 38px rgba(15,23,42,.08);
  padding:22px;
}

.reward-otp-header{
  display:grid;
  grid-template-columns:4px minmax(0, 1fr);
  gap:14px;
  margin-bottom:14px;
}

.reward-otp-accent{
  border-radius:999px;
  background:linear-gradient(180deg, #f2d8b6 0%, #d8b06b 100%);
}

.reward-otp-eyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:10px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(191,155,92,.14);
  color:#8a6428;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.reward-otp-heading-row{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  gap:12px;
  align-items:start;
}

.reward-otp-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #fff8ef 0%, #f8ead2 100%);
  color:#9b6b2e;
  border:1px solid #ebd8ba;
  font-size:18px;
}

.reward-otp-heading{
  font-size:21px;
  font-weight:700;
  color:#243042;
  margin-bottom:4px;
}

.reward-otp-copy{
  margin:0;
  color:#5b6473;
  font-size:13px;
  line-height:1.6;
}

.reward-otp-form{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
  border-radius:16px;
  border:1px solid #ead6bf;
  background:#fff;
  margin-bottom:12px;
}

.reward-otp-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.reward-otp-label{
  display:inline-flex;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a6133;
}

.reward-otp-input{
  min-height:44px;
  border-radius:12px;
  border:1px solid #eed8c0;
  background:#fffdf9;
  font-size:15px;
  font-weight:600;
  letter-spacing:.12em;
  color:#1f2937;
}

.reward-otp-input:focus{
  border-color:#d9b06c;
  box-shadow:0 0 0 .18rem rgba(217,176,108,.16);
}

.reward-otp-actions{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}

.reward-otp-btn{
  min-width:132px;
  min-height:40px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
}

.reward-otp-btn-secondary{
  background:#fff;
}

.reward-otp-help{
  padding:10px 12px;
  border-radius:12px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:12px;
  line-height:1.55;
  color:#5b554b;
  background:#fffaf5;
  border:1px solid #efdfcc;
}

.reward-otp-help-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  flex:0 0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(191,155,92,.14);
  color:#9b6b2e;
  font-size:11px;
}

.reward-review-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.reward-review-panel{
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  padding:20px;
  background:#fffdfa;
}

.reward-review-stat{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(15,23,42,.08);
  color:#374151;
}

.reward-review-stat:last-child{
  border-bottom:none;
}

.reward-review-address{
  color:#374151;
  line-height:1.65;
}

.reward-review-proof{
  margin-top:14px;
}

.reward-review-proof a{
  color:#dc2626;
  font-weight:600;
  text-decoration:none;
}

.reward-icon-btn{
  width:40px;
  height:40px;
  border:none;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f3f4f6;
  color:#111827;
  transition:all .2s ease;
}

.reward-icon-btn:hover{
  transform:translateY(-1px);
}

.reward-icon-btn-danger{
  background:#fee2e2;
  color:#dc2626;
}

.order-cancellation-report-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  width:100%;
}

.order-cancellation-report-item{
  width:100%;
  height:100%;
}

.order-cancellation-report-link{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  border:1px solid #eadfcd;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 22px rgba(30,30,30,.06);
  color:#1f2937;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  min-height:148px;
}

.order-cancellation-report-link:hover{
  color:#111827;
  border-color:#f2b3a4;
  box-shadow:0 16px 28px rgba(30,30,30,.1);
  transform:translateY(-1px);
}

.order-cancellation-report-list-icon{
  width:auto;
  flex:0 0 auto;
  margin-bottom:0;
}

.order-cancellation-report-link-copy{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.order-cancellation-report-link-title{
  font-size:18px;
  font-weight:600;
  line-height:1.35;
  color:#2b2b2b;
}

.order-cancellation-report-link-meta{
  font-size:13px;
  line-height:1.4;
  color:#6b7280;
}

.order-cancellation-report-link-arrow{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff4f1;
  color:#ef4444;
  font-size:14px;
}

.order-cancellation-report-page{
  width:100%;
  padding-left:18px;
  padding-right:18px;
}

.order-cancellation-report-shell{
  width:100%;
  max-width:none;
  margin:0 auto;
}

.order-cancellation-report-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:6px 2px 20px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.order-cancellation-report-heading{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}

.order-cancellation-report-card-icon{
  width:auto;
  flex:0 0 auto;
  margin-bottom:0;
}

.order-cancellation-report-heading-copy{
  min-width:0;
}

.order-cancellation-report-header-actions{
  flex:0 0 auto;
}

.order-cancellation-report-title{
  margin:0;
  font-size:28px;
  line-height:1.15;
  font-weight:800;
  color:#111827;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.order-cancellation-report-title span{
  color:#ef4444;
}

.order-cancellation-report-subtitle{
  margin-top:8px;
  color:#6b7280;
  font-size:14px;
  line-height:1.5;
}

.order-cancellation-report-card{
  border:1px solid rgba(15,23,42,.12);
  border-radius:18px;
  box-shadow:0 14px 28px rgba(15,23,42,.08) !important;
  background:#fff;
  overflow:hidden;
}

.order-cancellation-report-card .card-body{
  padding:24px;
}

.order-cancellation-report-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.order-cancellation-report-filters{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px 16px;
  align-items:center;
}

.order-cancellation-report-form-summary .order-cancellation-report-filters{
  grid-template-columns:repeat(6, minmax(0, 1fr));
}

.order-cancellation-report-field{
  min-width:0;
}

.order-cancellation-report-order-field{
  min-width:140px;
}

.order-cancellation-report-actions,
.order-cancellation-report-summary-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.order-cancellation-report-summary-actions{
  justify-self:start;
}

.order-cancellation-report-btn-primary,
.order-cancellation-report-btn-secondary,
.order-cancellation-report-back-btn{
  min-width:108px;
  border-radius:12px;
  font-weight:600;
  padding:.65rem 1rem;
}

.order-cancellation-report-btn-secondary{
  background:#fff;
}

.order-cancellation-report-empty-state{
  min-height:64px;
  border-top:1px solid rgba(15,23,42,.12);
}

@media (max-width: 1199.98px){
  .order-cancellation-report-filters,
  .order-cancellation-report-form-summary .order-cancellation-report-filters{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 992px){
  .reward-checkout-head,
  .reward-review-grid,
  .reward-form-grid,
  .reward-checkout-summary{
    grid-template-columns:1fr;
    display:grid;
  }

  .reward-checkout-head{
    align-items:flex-start;
  }

  .reward-address-choice-grid{
    grid-template-columns:1fr;
  }

  .reward-address-choice{
    border-right:none;
    border-bottom:1px solid rgba(239,68,68,.14);
  }

  .reward-address-choice:last-child{
    border-bottom:none;
  }

  .order-cancellation-report-filters,
  .order-cancellation-report-form-summary .order-cancellation-report-filters{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .order-cancellation-report-header{
    flex-direction:column;
    align-items:stretch;
  }

  .order-cancellation-report-header-actions{
    display:flex;
    justify-content:flex-end;
  }

  .order-cancellation-report-links{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .order-cancellation-report-link{
    padding:16px 18px;
  }
}

@media (max-width: 575.98px){
  .reward-checkout-shell{
    padding:0 10px;
  }

  .reward-checkout-card,
  .reward-otp-card{
    padding:18px;
    border-radius:18px;
  }

  .reward-checkout-title{
    font-size:28px;
  }

  .reward-otp-header{
    grid-template-columns:1fr;
    gap:10px;
  }

  .reward-otp-accent{
    height:4px;
    min-height:4px;
    width:100%;
  }

  .reward-otp-heading-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .reward-otp-icon{
    width:40px;
    height:40px;
    font-size:16px;
  }

  .reward-otp-heading{
    font-size:18px;
  }

  .reward-otp-copy{
    font-size:12px;
  }

  .reward-otp-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .reward-otp-btn{
    width:100%;
  }

  .reward-checkout-table{
    min-width:560px;
  }

  .reward-table-product{
    min-width:240px;
  }

  .reward-table-product-media{
    width:60px;
    height:60px;
    flex-basis:60px;
    border-radius:14px;
  }

  .order-cancellation-report-page{
    padding-left:12px;
    padding-right:12px;
  }

  .order-cancellation-report-title{
    font-size:24px;
  }

  .order-cancellation-report-card .card-body{
    padding:18px;
  }

  .order-cancellation-report-heading{
    align-items:flex-start;
  }

  .order-cancellation-report-filters,
  .order-cancellation-report-form-summary .order-cancellation-report-filters{
    grid-template-columns:1fr;
  }

  .order-cancellation-report-actions,
  .order-cancellation-report-summary-actions{
    flex-wrap:wrap;
    gap:10px;
  }

  .order-cancellation-report-header-actions{
    justify-content:flex-start;
  }

  .order-cancellation-report-links{
    grid-template-columns:1fr;
  }

  .order-cancellation-report-link{
    align-items:flex-start;
    gap:14px;
    padding:14px;
  }

  .order-cancellation-report-link-title{
    font-size:16px;
  }

  .order-cancellation-report-link-arrow{
    width:36px;
    height:36px;
  }
}
